使用ceph/daemon镜像手动部署ceph集群

本文详细介绍了如何使用ceph/daemon镜像手动部署一个三台机器的ceph集群,包括启动mon集群、部署mgr、osd和rgw,以及调整pg_num和pgp_num等关键步骤。
摘要由CSDN通过智能技术生成

使用ceph/daemon镜像手动部署ceph集群

三台机器的基本信息

IP

  • node1 10.1.135.180
  • node2 10.1.135.181
  • node3 10.1.135.182

磁盘

  • /dev/sda 8T HDD (osd1)
  • /dev/sdb 240G SSD (os)
  • /dev/sdc 240G SSD (block.wal和block.db)
  • /dev/sdd 2T HDD (osd2)
  • /dev/sde 240G SSD (osd3)

每个节点机器上启动的服务和数量:

  • mon 1
  • mgr 1
  • osd 3
  • rgw 1

启动mon集群

在node1上启动mon

docker run -d --net=host \
--name mon \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph/:/var/lib/ceph/ \
-e MON_IP=10.1.135.180 \
-e CEPH_PUBLIC_NETWORK=10.1.135.0/24 \
ceph/daemon mon

在node2上创建文件夹

mkdir /var/lib/ceph

将必要的文件从node1上拷贝到node2

scp -r /etc/ceph root@node2:/etc
scp -r /var/lib/ceph/bootstrap* root@node2:/var/lib/ceph

修改node2上/etc/ceph/ceph.conf文件中的2项

mon initial members = node1,node2
mon host = 10.1.135.180,10.1.135.181

在node2上启动mon

docker run -d --net=host \
--name mon \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph/:/var/lib/ceph/ \
-e MON_IP=10.1.135.181 \
-e CEPH_PUBLIC_NETWORK=10.1.135.0/24 \
ceph/daemon mon

在node3上创建文件夹

mkdir /var/lib/ceph

将必要的文件从node2上拷贝到node3机器上

scp -r /etc/ceph root@node3:/etc
scp -r /var/lib/ceph/bootstrap* root@node3:/var/lib/ceph

修改node3上/etc/ceph/ceph.conf文件中的2项

mon initial members = node1,node2,node3
mon host = 10.1.135.180,10.1.135.181,10.1.135.182

在node3上启动mon

docker run -d --net=host \
--name mon \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph/:/var/lib/ceph/ \
-e MON_IP=10.1.135.182 \
-e CEPH_PUBLIC_NETWORK=10.1.135.0/24 \
ceph/daemon mon

将node3上的/etc/ceph/ceph.conf文件拷贝到node1和node2上

scp /etc/ceph/ceph.conf root@node1:/etc/ceph/ceph.conf
scp /etc/ceph/ceph.conf root@node2:/etc/ceph/ceph.conf

检查集群状态

[root@node1 ~]# docker exec mon ceph -s
  cluster:
    id:     47d6ebed-d923-4b1b-9d93-530913a016b3
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum node1,node2,node3
    mgr: no daemons active
    osd: 0 
您好!要基于Docker部署Ceph集群,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了DockerDocker Compose。您可以从官方网站上下载并安装最新版本Docker。 2. 创建一个用于存储Ceph配置文件和数据的目录。例如,您可以在主机上创建一个名为"/data/ceph"的目录。 3. 创建一个用于存储Ceph监视器数据的目录。例如,您可以在主机上创建一个名为"/data/ceph/mon"的目录。 4. 创建一个Docker Compose文件,用于定义Ceph集群的各个组件。以下是一个简单的示例: ``` version: '3' services: mon: image: ceph/daemon:latest-luminous volumes: - /data/ceph/mon:/var/lib/ceph/mon entrypoint: ceph-mon --foreground --cluster ceph -i ${HOSTNAME} --public-addr ${HOSTNAME} osd: image: ceph/daemon:latest-luminous privileged: true volumes: - /data/ceph:/var/lib/ceph - /dev:/dev entrypoint: ceph-osd --foreground --cluster ceph mgr: image: ceph/daemon:latest-luminous volumes: - /data/ceph:/var/lib/ceph entrypoint: ceph-mgr --foreground --cluster ceph mds: image: ceph/daemon:latest-luminous volumes: - /data/ceph:/var/lib/ceph entrypoint: ceph-mds --foreground --cluster ceph ``` 在上述示例中,我们使用Ceph的官方Docker镜像,并创建了mon、osd、mgr和mds服务。 5. 在命令行中,导航到包含Docker Compose文件的目录,并执行以下命令来启动Ceph集群: ``` docker-compose up -d ``` 此命令将启动Ceph集群的各个组件,并将它们放在后台运行。 6. 等待一段时间,直到所有的服务都启动并运行。您可以使用以下命令来检查Ceph集群的状态: ``` docker exec -it <mon_container_id> ceph -s ``` 在上述命令中,将"mon_container_id"替换为您mon服务的容器ID。 7. 您现在已经成功地使用Docker部署Ceph集群!您可以使用Ceph客户端工具(如rados、ceph、rbd等)来管理和操作集群。 请注意,这只是一个简单的示例,您可能需要根据您的实际需求对Docker Compose文件进行调整。此外,还需要考虑网络配置、安全性等因素来确保Ceph集群的稳定和安全运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值