一 基础准备

参考《002.Ceph安装部署》文档部署一个基础集群。

二 扩展集群

2.1 扩展架构

需求:添加Ceph元数据服务器node1。然后添加Ceph Monitor和Ceph Manager node2,node3以提高可靠性和可用性。

2.2 添加元数据(metadata)服务器

 [manager@deploy my-cluster]$ ceph-deploy mds create node1
提示:要使用CephFS,您至少需要一个元数据服务器。

2.3 添加监视(Monitor)服务器

 [manager@deploy my-cluster]$ ceph-deploy mon add node2
[manager@deploy my-cluster]$ ceph-deploy mon add node3
[root@node1 ~]# ceph quorum_status --format json-pretty #查看仲裁(quorum)状态信息
 
提示:若出现如图所示报错,需要在ceph.conf中添加Public_network,并重新推相关配置文件,操作如下:
 [manager@deploy my-cluster]$ vi ceph.conf
[global]
#……
public_network = 172.24.8.0/24
[manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node2
[manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node3
 
提示:Ceph存储集群需要至少运行一个Ceph Monitor和Ceph Manager。为了实现高可用性,Ceph存储集群通常运行多个Ceph监视器,因此单个Ceph监视器的故障不会导致Ceph存储集群崩溃。Ceph使用Paxos算法,该算法需要大多数监视器(即,大于N/2,其中N是监视器的数量)才能形成法定人数。虽然这不是必需的,但监视器的数量往往更好。

2.4 添加管理员

 [manager@deploy my-cluster]$ ceph-deploy mgr create node2 node3
[manager@deploy my-cluster]$ ssh node1 sudo ceph -s #查看验证
 
提示:Ceph Manager守护进程以active/standby模式运行。部署其他管理器守护程序可确保在一个守护程序或主机发生故障时,另一个守护程序或主机可以在不中断服务的情况下接管。

2.5 添加RGW

 [manager@deploy my-cluster]$ ceph-deploy rgw create node1
提示:要使用Ceph的Ceph对象网关组件,必须部署RGW实例;
默认情况下,RGW实例将侦听端口7480.可以通过在运行RGW的节点上编辑ceph.conf来更改此设置。

三 客户端存储示例

3.1 创建pool

 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create mytest 64
[manager@deploy my-cluster]$ ssh node1 sudo rados lspools
[manager@deploy my-cluster]$ ssh node1 sudo ceph osd lspools
[manager@deploy my-cluster]$ ssh node1 sudo ceph osd dump | grep pool
 
提示:以上三种可以查看已经存在的pool信息,第三种方式查看的结果最为详细。

3.2 客户端模拟

 [root@node3 ~]# echo 'This is my test file!' >> test.txt	#创建模拟文件
[root@node3 ~]# rados put test-object-1 test.txt --pool=mytest
 

3.3 查看确认

 [manager@deploy my-cluster]$ ssh node1 sudo rados -p mytest ls	#查看存储的对
test-object-1
 

3.4 定位对象

 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd map mytest test-object-1	#定位对象到相应的归置组
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 删除对象

 [manager@deploy my-cluster]$ ssh node1 sudo rados rm test-object-1 --pool=mytest

3.6 删除pool

 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest
[manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest mytest --yes-i-really-really-mean-it
pool 'mytest' removed
 
提示:若出现以下报错:由于删除pool时,pool名字要输入两次同时要加入--yes-i-really-really-mean-it参数,且需要在ceph.conf配置中开启允许删除,操作如下:
 [manager@deploy my-cluster]$ vi ceph.conf
[global]
#……
[mon]
mon allow pool delete = true #添加此行
[manager@deploy my-cluster]$ ceph-deploy --overwrite-conf config push node1 node2 node3 #重推一次配置文件
[root@node1 ~]# systemctl restart ceph-mon.target #所有节点均需要重启一次该服务
 

最新文章

  1. 由position属性引申的关于css的进阶讨论(包含块、BFC、margin collapse)
  2. [HTTP Protocol] 200 OK (from cache)和304 Not Modified
  3. strom的使用01
  4. golang实现随机数
  5. 【HDU 5399】Too Simple
  6. UVa 10780 (质因数分解) Again Prime? No Time.
  7. Linux内核Radix Tree(二)
  8. CentOS7配置Nodejs环境安装记录
  9. sql 中的 indexOf 与 lastIndexOf
  10. <一年成为Emacs高手>更新到20130706版
  11. iOS动画编程
  12. Linux cat /proc/meminfo 输出分析
  13. 文件首行为空白行,为什么该行字符串长度为1(line.length()=1)
  14. 邮箱学堂:SPF详解
  15. mac上录制无声mp3
  16. screen 命令安装使用
  17. Win7 共享打印机 “错误:共享无法保存设置”
  18. Unity利用UI的Mask实现对精灵Sprite的遮挡
  19. 如何查看非自己提交的请求的结果 - 深入浅出Oracle EBS之杂项技术荟萃
  20. JavaScript的DOM_操作内容

热门文章

  1. Confluence 6 SQL Server 输入你的数据库细节
  2. 【Java】SpringBoot配置文件读取中文乱码
  3. BeautifulSoup的基本操作
  4. <a>之间怎么放值</a> 挺简单的,第一次遇到···
  5. poj3254 炮兵阵地弱化版,记数类dp
  6. css+js杂记
  7. Python实现switch效果
  8. linux安装MongoDB
  9. Python生成随机验证码,大乐透号码
  10. Spring 整合 Quartz 实现动态定时任务