标签:ceph
IP | hostname | 描述 |
192.168.40.106 | dataprovider | 部署管理节点 |
192.168.40.107
|
mdsnode | MON节点 |
192.168.40.108
|
osdnode1 | OSD节点 |
192.168.40.148
|
osdnode2 |
OSD节点
|
IP | hostname | 描述 |
192.168.40.106 | dataprovider | 部署管理节点 |
192.168.40.107
|
mdsnode | MDS,MON节点,OSD节点 |
192.168.40.108
|
osdnode1 | OSD节点,MON节点 |
192.168.40.148
|
osdnode2 |
OSD节点,MON节点
|
192.168.40.125
|
osdnode3 |
OSD节点
|
ssh node1 sudo mkdir /var/local/osd2 exit
ceph-deploy --overwrite-conf osd prepare mdsnode:/var/local/osd2
ceph-deploy osd activate mdsnode:/var/local/osd2
当执行完上面的命令后,Ceph会重新调整整个集群,并且会将PG迁移到新的OSD上,可以通过ceph -w发现集群的状态发生了变化
在已有的MON节点上添加完OSD功能后,接下来将在一个全新的osdnode3上增加OSD的功能
添加192.168.40.125 osdnode3到其/etc/hosts文件中
yum install -y ntp ntpdate ntp-doc yum install -y openssh-server sudo useradd -d /home/leadorceph -m leadorceph sudo passwd leadorceph echo "leadorceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/leadorceph sudo chmod 0440 /etc/sudoers.d/leadorceph
使用leadorceph用户的身份执行sudo visudo命令,然后修改Defaults requiretty 为Defaults:ceph !requiretty
ssh-copy-id leadorceph@osdnode3
ceph-deploy install osdnode3<br style="background-color: inherit;" />
ceph-deploy osd prepare osdnode3:/var/local/osd3 ceph-deploy osd activate osdnode3:/var/local/osd3
从上图可以看出,此时pg的数量太少了,每个OSD平均只有16个,所以此时需要添加一些pg
ceph osd pool set rbd pg_num 100 ceph osd pool set rbd pgp_num 100
如果想要使用CephFS,则必须要包含一个metadata server,通过下面的方式来创建metadata 服务:
ceph-deploy mds create mdsnode
Mon的扩展比较复杂,搞不好会导致整个集群出错,所以建议开始的时候对MON做好规划,尽量不要对其进行修改。
ceph monitor的个数是2n+1(n>=0)个(为奇数),在线上至少3个,只要正常的节点数>=n+1,ceph的paxos算法能保证系统的正常运行。所以,对于3个节点,同时只能挂掉一个。
[global] auth_service_required = cephx osd_pool_default_size = 2 filestore_xattr_use_omap = true auth_client_required = cephx auth_cluster_required = cephx public_network = 192.168.40.0/24 mon_initial_members = mdsnode,osdnode1,osdnode2 fsid = 1fffdcba-538f-4f0d-b077-b916203ff698 [mon] mon_addr = 192.168.40.107:6789,192.168.40.108:6789,192.168.40.148:6789 mon_host = mdsnode,osdnode1,osdnode2 debug_mon = 20 [mon.a] host = mdsnode addr = 192.168.40.107:6789 [mon.b] host = osdnode1 addr = 192.168.40.108:6789 [mon.c] host = osdnode2 addr = 192.168.40.148:6789
当添加完新的节点后,可以通过下面的方式来查询结果
ceph quorum_status --format json-pretty
Ceph客户端通过最新的cluster map以及CRUSH算法决定怎么把一个对象映射到PG中,然后决定如何把该PG映射到OSD上
echo {Test-data} > testfile.txt rados put test-object-1 testfile.txt --pool=data
rados -p data ls
ceph osd map data test-object-1
输出的信息可能如下:
osdmap e537 pool ‘data‘ (0) object ‘test-object-1‘ -> pg 0.d1743484 (0.4) -> up [1,0] acting [1,0]
rados rm test-object-1 --pool=data
由于集群节点的变化,位置的信息可能会动态的发生变化
标签:ceph
原文地址:http://blog.csdn.net/eric_sunah/article/details/41248889