Docker安装部署Ceph

刺骨的言语ヽ痛彻心扉 2024-04-03 10:21 148阅读 0赞

参考 :使用Docker单机部署Ceph

Centos7系统Docker Ceph 集群的安装配置

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


























主机名称 主机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:/et

发表评论

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

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

相关阅读