003.Ceph扩展集群
一 基础准备
参考《002.Ceph安装部署》文档部署一个基础集群。二 扩展集群
2.1 扩展架构

2.2 添加元数据(metadata)服务器
1 [manager@deploy my-cluster]$ ceph-deploy mds create node1
提示:要使用CephFS,您至少需要一个元数据服务器。
2.3 添加监视(Monitor)服务器
1 [manager@deploy my-cluster]$ ceph-deploy mon add node2 2 [manager@deploy my-cluster]$ ceph-deploy mon add node3 3 [root@node1 ~]# ceph quorum_status --format json-pretty #查看仲裁(quorum)状态信息

1 [manager@deploy my-cluster]$ vi ceph.conf 2 [global] 3 #…… 4 public_network = 172.24.8.0/24 5 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node2 6 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node3

2.4 添加管理员
1 [manager@deploy my-cluster]$ ceph-deploy mgr create node2 node3 2 [manager@deploy my-cluster]$ ssh node1 sudo ceph -s #查看验证

2.5 添加RGW
1 [manager@deploy my-cluster]$ ceph-deploy rgw create node1
提示:要使用Ceph的Ceph对象网关组件,必须部署RGW实例;
默认情况下,RGW实例将侦听端口7480.可以通过在运行RGW的节点上编辑ceph.conf来更改此设置。
三 客户端存储示例
3.1 创建pool
1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create mytest 64 2 [manager@deploy my-cluster]$ ssh node1 sudo rados lspools 3 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd lspools 4 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd dump | grep pool提示:以上三种可以查看已经存在的pool信息,第三种方式查看的结果最为详细。
3.2 客户端模拟
1 [root@node3 ~]# echo 'This is my test file!' >> test.txt #创建模拟文件 2 [root@node3 ~]# rados put test-object-1 test.txt --pool=mytest
3.3 查看确认
1 [manager@deploy my-cluster]$ ssh node1 sudo rados -p mytest ls #查看存储的对 2 test-object-1
3.4 定位对象
1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd map mytest test-object-1 #定位对象到相应的归置组 2 osdmap e30 pool 'mytest' (5) object 'test-object-1' -> pg 5.74dc35e2 (5.22) -> up ([2,1,0], p2) acting ([2,1,0], p2)提示:Ceph 客户端检出最新集群运行图,用 CRUSH 算法计算出如何把对象映射到归置组,然后动态地计算如何把归置组分配到 OSD 。要定位对象,只需要对象名和存储池名字即可。
3.5 删除对象
1 [manager@deploy my-cluster]$ ssh node1 sudo rados rm test-object-1 --pool=mytest
3.6 删除pool
1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest 2 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest mytest --yes-i-really-really-mean-it 3 pool 'mytest' removed提示:若出现以下报错:由于删除pool时,pool名字要输入两次同时要加入--yes-i-really-really-mean-it参数,且需要在ceph.conf配置中开启允许删除,操作如下:

1 [manager@deploy my-cluster]$ vi ceph.conf 2 [global] 3 #…… 4 [mon] 5 mon allow pool delete = true #添加此行 6 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf config push node1 node2 node3 #重推一次配置文件 8 [root@node1 ~]# systemctl restart ceph-mon.target #所有节点均需要重启一次该服务

更多精彩