Docker安装部署Ceph

梦里梦外; 2024-03-27 09:39 135阅读 0赞

参考 :
使用Docker单机部署Ceph

  1. [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.清理现有环境:所有机器都执行:

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

1.创建Ceph专用网络

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

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

  1. docker pull ceph/daemon:latest-luminous
  2. 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保持一致。
  1. #首先启动主节点mon(master节点)
  2. docker run -d --name ceph-mon \
  3. --restart unless-stopped \
  4. --network host \
  5. -e CLUSTER=ceph -e WEIGHT=1.0 \
  6. -e MON_IP=202.205.161.81,202.205.161.82,202.205.161.83 \
  7. -e MON_NAME=ceph-mon \
  8. -e CEPH_PUBLIC_NETWORK=202.205.161.0/23 \
  9. -v /etc/ceph:/etc/ceph \
  10. -v /var/lib/ceph/:/var/lib/ceph/ \
  11. -v /var/log/ceph/:/var/log/ceph/ \
  12. -v /etc/localtime:/etc/localtime:ro \
  13. ceph/daemon:latest-luminous mon

image.png

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

image.png

  1. #####修改配置文件
  2. # 修改配置文件以兼容etx4硬盘
  3. vim /etc/ceph/ceph.conf
  4. #在文件最后添加:
  5. osd max object name len = 256
  6. osd max object namespace len = 64
  7. # 容忍更多的时钟误差
  8. mon clock drift allowed = 2
  9. mon clock drift warn backoff = 30
  10. # 允许删除pool
  11. mon_allow_pool_delete = true
  12. [mgr]
  13. # 开启WEB仪表盘
  14. mgr modules = dashboard
  15. [client.rgw.ceph1]
  16. # 设置rgw网关的web访问端口
  17. rgw_frontends = "civetweb port=20003"

4.拷贝配置文件

  1. scp -pr /etc/ceph/ ceph2:/etc/
  2. scp -pr /etc/ceph/ ceph3:/etc/
  3. scp -pr /var/lib/ceph ceph2:/var/lib/
  4. 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

报错:

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

发表评论

表情:
评论列表 (有 0 条评论,135人围观)

还没有评论,来说两句吧...

相关阅读