本文共 3456 字,大约阅读时间需要 11 分钟。
后来在原来的mon节点上安装了mds(还是三个节点)变成下面:
ip | hostname | 节点描述 |
---|---|---|
192.168.1.220 | node1 | mon,mds,osd |
192.168.1.221 | node2 | mon,osd |
192.168.1.222 | node3 | mon,osd |
192.168.1.84 | node4 | osd |
修改/etc/selinux/config, 将值设为disabled, reboot
sudo useradd -d /home/cent -m cent sudo passwd cent echo “cent ALL = (root) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/cent sudo chmod 0440 /etc/sudoers.d/cent su cent (切换到cent用户,不能用root或sudo执行ceph-deploy命令,重要:如果你是用不同的用户登录的,就不要用sudo或者root权限运行ceph-deploy,因为在远程的主机上不能发出sudo命令 ) sudo visudo (修改其中Defaults requiretty为Defaults:cent !requiretty)sudo yum install ntp ntpdate ntp-doc
sudo yum install openssh-server sudo mkdir /var/local/osd3 sudo chmod -R 777 /var/local/osd3vim /etc/hosts 追加下面内容
192.168.1.84 node4 然后在执行下面命令,完成node1和node4的ssh配置 ssh-copy-id cent@node4在/etc/yum.repos.d/ 下创建一个ceph.repo文件,写入以下内容
[Ceph]
name=Ceph packages for $basearch baseurl= enabled=1 gpgcheck=0 type=rpm-md gpgkey= priority=1 [Ceph-noarch] name=Ceph noarch packages baseurl= enabled=1 gpgcheck=0 type=rpm-md gpgkey= priority=1 [ceph-source] name=Ceph source packages baseurl= enabled=1 gpgcheck=0 type=rpm-md gpgkey= priority=1在node1节点上切换到lcent用户,并进入my-cluster目录下
添加non节点(node1)的OSD服务:sudo mkdir /var/local/osd2 sudo chmod -R 777 /var/local/os2 sudo ceph-deploy --overwrite-conf osd prepare node1:/var/local/osd2 sudo ceph-deploy osd activate node1:/var/local/osd2
当执行完上面的命令后,Ceph会重新调整整个集群,并且会将PG迁移到新的OSD上,可以通过ceph -w发现集群的状态发生了变化
由于前面把准备工作做了,所以直接在node1上为node4完成配置osd
在node1上执行(我们一直是把mon节点作为管理节点来使用,因为没有安装管理节点):sudo ceph-deploy install node4sudo ceph-deploy osd prepare node4:/var/local/osd3sudo ceph-deploy osd activate node4:/var/local/osd3
在这里就可以使用ceph -s查看了,就会可以看到有4个osd
我们这里是将node2和node3作为mon节点,完成后一共就变成3个mon节点了:
Mon的扩展比较复杂,搞不好会导致整个集群出错,所以建议开始的时候对MON做好规划,尽量不要对其进行修改。ceph monitor的个数是2n+1(n>=0)个(为奇数),在线上至少3个,只要正常的节点数>=n+1,ceph的paxos算法能保证系统的正常运行。所以,对于3个节点,同时只能挂掉一个。
[global]fsid = f2891898-aa3b-4bce-8bf1-668b8cf5b45apublic_network = 192.168.1.0/24mon_initial_members = node1,node2,node3auth_cluster_required = cephxauth_service_required = cephxauth_client_required = cephxosd pool default size = 2[mon]mon_addr = 192.168.1.220:6789,192.168.1.221:6789,192.168.1.222:6789mon_host = node1,node2,node3debug_mon = 20[mon.a]host = node1addr = 192.168.1.220:6789[mon.b]host = node2addr = 192.168.1.221:6789[mon.c]host = node3addr = 192.168.1.222:6789
当添加完新的节点后:
node2上:ceph-mon -i node2 –public-addr 192.168.1.221:6789
node3上:ceph-mon -i node3 –public-addr 192.168.1.222:6789 然后在node1上通过命令ceph quorum_status –format json-pret查看[cent@node1 ~]$ ceph quorum_status –format json-pretty
{
“election_epoch”: 14, “quorum”: [ 0, 1, 2 ], “quorum_names”: [ “node1”, “node2”, “node3” ], “quorum_leader_name”: “node1”, “monmap”: { “epoch”: 3, “fsid”: “f2891898-aa3b-4bce-8bf1-668b8cf5b45a”, “modified”: “2018-03-13 16:27:45.184093”, “created”: “2017-11-27 10:57:00.018670”, “mons”: [ { “rank”: 0, “name”: “node1”, “addr”: “192.168.1.220:6789\/0” }, { “rank”: 1, “name”: “node2”, “addr”: “192.168.1.221:6789\/0” }, { “rank”: 2, “name”: “node3”, “addr”: “192.168.1.222:6789\/0” } ] } }到此就完成了文章开始所示的集群环境扩展。
转载地址:http://grvmb.baihongyu.com/