作者:【吴业亮】
博客:https://wuyeliang.blog.csdn.net/
1、节点规划
192.168.8.11 node1 admin(启动mon、osd、mgr)
192.168.8.12 node2 node2(启动mon、osd)
192.168.8.13 node3 node3(启动mon、osd)
2、配置/etc/hosts(各个节点)
192.168.8.11 node1
192.168.8.12 node2
192.168.8.13 node3
3、关闭防火墙和selinux(各个节点)
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
禁用 SELINUX:修改配置文件(重启生效)+ 手动设定(立即生效)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
4、配置互信(各个节点)
ssh-keygen
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
3、镜像下载(各个节点)
docker pull ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64
4、首先启动主节点mon(node1节点)
docker run -d --net=host --name=mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph:/var/lib/ceph -e MON_IP=192.168.8.11 -e CEPH_PUBLIC_NETWORK=192.168.8.0/24 ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64 mon
5、拷贝配置文件和系统文件到其他两个节点
这一步非常重要。如果没有拷贝admin节点安装mon后生产的配置文件和系统文件到其他节点,就开始在其他节点启动mon则三个节点会单独启动3个ceph集群,而不是一个集群的三个mon节点(因为已设置过节点名称和无密码访问,故scp可直接使用)
若直接使用非xfs文件系统的硬盘,需要在配置文件中加以下配置:
vim /etc/ceph/ceph.conf
osd max object name len = 256
osd max object namespace len = 64
然后将配置文件推送到其他各节点
scp -r /etc/ceph node2:/etc/
scp -r /etc/ceph node3:/etc/
scp -r /var/lib/ceph node2:/var/lib/
scp -r /var/lib/ceph node3:/var/lib/
6、再用4中的命令启动其他节点mon,对应IP做相应修改
docker run -d --net=host --name=mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph:/var/lib/ceph -e MON_IP=192.168.8.12 -e CEPH_PUBLIC_NETWORK=192.168.8.0/24 ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64 mon
docker run -d --net=host --name=mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph:/var/lib/ceph -e MON_IP=192.168.8.13 -e CEPH_PUBLIC_NETWORK=192.168.8.0/24 ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64 mon
7、挂载osd
mkfs.xfs /dev/sdb
mount /dev/sdb /osd0
8、启动OSD服务
docker run -d --net=host --name=osd1 -v /etc/ceph:/etc/ceph -v /var/lib/ceph:/var/lib/ceph -v /dev:/dev -v /osd0:/var/lib/ceph/osd --privileged=true ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64 osd_directory (osd1做对应修改)
9、其他OSD参照步骤7和8
……
10、在node1启动mgr:
docker run -d --net=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph/:/var/lib/ceph/ \
ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64 mgr
11、在ceph中创建一个pool
docker exec mon ceph osd pool create rbd 64
12、配置crushmap,根据osd数目,0.15做相应调整,整体之和不大于1
docker exec mon ceph osd crush add osd.0 0.15 host=admin
docker exec mon ceph osd crush add osd.1 0.15 host=admin
检查osd tree
docker exec mon ceph osd tree
13、更新crushmap使得节点都归属于root default
docker exec mon ceph osd crush move node0 root=default
docker exec mon ceph osd crush move node1 root=default
14、检查ceph运行情况
docker exec mon ceph -s
15、测试ceph集群
测试ceph集群在块存储下镜像的创建和文件的上传,如果成功才能说明ceph集群安装成功
docker exec mon rbd create rbd/test-image --size 100M
docker exec mon rbd info rbd/test-image
docker exec mon rados -p rbd ls
参考:
https://www.twblogs.net/a/5c1f4166bd9eee16b3da855f/zh-cn/