编辑Crush map

编辑Crush map

1、获取 Crush map
大部分情况下创建集群成功后,对应的Crush map已经由系统自动生成,可以通过如下命令获取:
ceph osd getcrushmap -o {compiled-crushmap-filename}

2、反编译Crush map
执行命令:
crushtool -d {compiled-crushmap-filename} -o {decompiled-crushmap-filename}
即可将步骤1中输出的Crush map转换为可编辑的文本,例如:
crushtool -d mycrushmap -o mycrushmap.txt

3、编辑Crush map
通过vim命令可以直接进入文本,根据需求进行编辑

4、编译Crush map
以文本形式修改后的Crush map,还需要经过编译,才能被Ceph识别,执行命令如下:
crushtool -c {decompiled-crush-map-filename} -o {compiled-crush-map-filename}

5、模拟测试
在新的Crush map生效之前,可以先进行模拟,以验证对应的修改是否符合预期,例如:可以使用如下命令打印输出范围为【0,9】、副本数为3、采用编号为0的ruleset的映射结果:
crushtool -i mycrushmap --test --min-x 0 --max-x 9 --num-rep 3 --ruleset 0 --show_mappings
在这里插入图片描述6、注入集群
新的Crush map验证充分之后,可以重新注入集群,使之生效,命令如下:
ceph osd setcrushmap -i {compiled-crush-map-filename}

Ceph扩容流程包含新增服务器实现扩容、新增硬盘实现扩容以及调整CRUSH Map等步骤,以下是详细介绍: ### 新增服务器实现扩容 1. **服务器准备**:关闭防火墙和selinux(扩容节点执行);配置hosts文件(集群所有节点都需执行);创建部署用户及配置sudo权限;配置无密码访问(在主节点node1执行);配置ntp同步(新增节点执行);新增节点配置yum源,包括添加阿里云的base源和epel源,以及添加ceph的yum源 [^2]。 2. **开始扩容**:安装Ceph包至新增节点(在主节点node1操作);使用ceph - deploy添加OSD [^2]。 ### 新增硬盘实现扩容 1. **添加硬盘**:在相应节点添加硬盘 [^2]。 2. **添加OSD至集群**:完成硬盘添加后,将OSD添加到集群中 [^2]。 ### OSD手动添加 1. **创建OSD - ID**:手动创建OSD的ID [^2]。 2. **创建数据存储目录及挂载**:为OSD创建数据存储目录并进行挂载 [^2]。 3. **初始化osd存储数据**:对OSD存储数据进行初始化操作 [^2]。 4. **注册验证密钥,配置其他组件访问osd的权限**:注册验证密钥,确保其他组件能够正常访问OSD [^2]。 5. **将新增osd添加至crush图中**:把新添加的OSD添加到CRUSH图里 [^2]。 6. **启动OSD**:完成上述步骤后,启动OSD [^2]。 ### CrushMap调整 1. **手动编辑或命令行编辑**:可以手动编辑CrushMap,也能通过命令行进行编辑 [^3]。 2. **导出运行图**:使用命令`ceph osd getcrushmap -o /data/ceph/crushmap - v2.txt`导出运行图 [^1]。 3. **编译并应用**:完成编辑后,将crushmap.txt文件编译回二进制格式,并将其应用到Ceph集群中,命令为`crushtool -c crushmap.txt -o newcrushmap`和`ceph osd setcrushmap -i newcrushmap` [^4]。 ### 添加OSD命令示例 - **bluestore**: ```bash ceph - deploy --overwrite - conf osd create node66 --data /dev/sdb --block - db /dev/sdd2 --block - wal /dev/sdd1 ceph - deploy --overwrite - conf osd create node66 --data /dev/sdc --block - db /dev/sde2 --block - wal /dev/sde1 ``` - **filestore**: ```bash ceph - deploy osd create --filestore --fs - type xfs --data /dev/sdb1 --journal /dev/sde1 node66 ceph - deploy osd create --filestore --fs - type xfs --data /dev/sdc1 --journal /dev/sde2 node66 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值