003.Ceph扩展集群
2024-08-20 08:37:17
一 基础准备
参考《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实例;
三 客户端存储示例
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 #所有节点均需要重启一次该服务
最新文章
- 由position属性引申的关于css的进阶讨论(包含块、BFC、margin collapse)
- [HTTP Protocol] 200 OK (from cache)和304 Not Modified
- strom的使用01
- golang实现随机数
- 【HDU 5399】Too Simple
- UVa 10780 (质因数分解) Again Prime? No Time.
- Linux内核Radix Tree(二)
- CentOS7配置Nodejs环境安装记录
- sql 中的 indexOf 与 lastIndexOf
- <;一年成为Emacs高手>;更新到20130706版
- iOS动画编程
- Linux cat /proc/meminfo 输出分析
- 文件首行为空白行,为什么该行字符串长度为1(line.length()=1)
- 邮箱学堂:SPF详解
- mac上录制无声mp3
- screen 命令安装使用
- Win7 共享打印机 “错误:共享无法保存设置”
- Unity利用UI的Mask实现对精灵Sprite的遮挡
- 如何查看非自己提交的请求的结果 - 深入浅出Oracle EBS之杂项技术荟萃
- JavaScript的DOM_操作内容
热门文章
- Confluence 6 SQL Server 输入你的数据库细节
- 【Java】SpringBoot配置文件读取中文乱码
- BeautifulSoup的基本操作
- <;a>;之间怎么放值<;/a>; 挺简单的,第一次遇到&#183;&#183;&#183;
- poj3254 炮兵阵地弱化版,记数类dp
- css+js杂记
- Python实现switch效果
- linux安装MongoDB
- Python生成随机验证码,大乐透号码
- Spring 整合 Quartz 实现动态定时任务