Docker安装部署Ceph

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。Docker安装部署Ceph,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

参考 :
使用Docker单机部署Ceph

[Centos7系统Docker Ceph 集群的安装配置](https://blog.csdn.net/hxx688/article/details/103440967)

三台虚拟机的部署情况如下表所示

主机名称 主机IP 说明
Ceph1 202.205.161.81 容器主节点(Dashboard、mon、rgw、mgr、osd)
Ceph2 202.205.161.82 容器子节点(mon、rgw、mgr、osd)
Ceph3 202.205.161.83 容器子节点(mon、rgw、mgr、osd)

0.清理现有环境:所有机器都执行:

rm -rf etc/ceph /var/lib/ceph /var/log/ceph

1.创建Ceph专用网络

docker network create --driver bridge --subnet 172.20.0.0/16 ceph-network

2.拉取搭建用镜像(All)

docker pull ceph/daemon:latest-luminous

ctr image pull docker.io/ceph/daemon:latest-luminous

3.搭建mon节点—Master

这个脚本是为了启动监视器,监视器的作用是维护整个Ceph集群的全局状态。一个集群至少要有一个监视器,最好要有奇数个监视器。方便当一个监视器挂了之后可以选举出其他可用的监视器。

启动脚本说明:

  1. name参数,指定节点名称,这里设为ceph-mon

  2. -v xxx:xxx 是建立宿主机与容器的目录映射关系,包含 etc、lib、logs目录。

  3. MON_IP是Docker运行的IP地址(通过ifconfig来查询,取ens33里的inet那个IP),这里我们有3台服务器,那么MAN_IP需要写上3个IP,如果IP是跨网段的CEPH_PUBLIC_NETWORK必须写上所有网段。

  4. CEPH_PUBLIC_NETWORK配置了运行Docker主机所有网段 这里必须指定nautilus版本,不然会默认操作最新版本ceph,mon必须与前面定义的name保持一致。

#首先启动主节点mon(master节点)
docker run -d --name ceph-mon \
     --restart unless-stopped \
     --network host \
     -e CLUSTER=ceph -e WEIGHT=1.0 \
     -e MON_IP=202.205.161.81,202.205.161.82,202.205.161.83 \
     -e MON_NAME=ceph-mon \
     -e CEPH_PUBLIC_NETWORK=202.205.161.0/23 \
     -v /etc/ceph:/etc/ceph \
     -v /var/lib/ceph/:/var/lib/ceph/ \
     -v /var/log/ceph/:/var/log/ceph/ \
     -v /etc/localtime:/etc/localtime:ro \
     ceph/daemon:latest-luminous mon

image.png

#生成文件
docker exec ceph-mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring			#在mon节点生成osd的密钥信息
docker exec ceph-mon ceph auth get client.bootstrap-rgw -o /var/lib/ceph/bootstrap-rgw/ceph.keyring			#在mon节点生成rgw的密钥信息

image.png

#####修改配置文件

# 修改配置文件以兼容etx4硬盘
vim /etc/ceph/ceph.conf
#在文件最后添加:
osd max object name len = 256
osd max object namespace len = 64

# 容忍更多的时钟误差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允许删除pool
mon_allow_pool_delete = true

[mgr]
# 开启WEB仪表盘
mgr modules = dashboard
[client.rgw.ceph1]
# 设置rgw网关的web访问端口
rgw_frontends = "civetweb port=20003"

4.拷贝配置文件

scp -pr  /etc/ceph/    ceph2:/etc/
scp -pr  /etc/ceph/    ceph3:/etc/
scp -pr /var/lib/ceph ceph2:/var/lib/
scp -pr /var/lib/ceph ceph3:/var/lib/

image.png

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TIPl8Gdp-1674877991314)(https://img.winjay.cn/md/image-20210122112338587.png)]image-20210221004551668

5.Node节点启动mon

报错:

[root@ceph1 ceph]# docker logs ceph-mon 
2021-01-22 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/160270.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!