暂未分类 暂未分类 已配置好的osd增加opencas配置 zphj1987 2021-03-17 2024-01-05 前言 环境已经配置好了osd,想增加opencas的缓存加速,因为opencas支持在lvm之上部署,也支持在opencas上面创建lvm,而已经部署好osd的场景是属于前面的一种情况,也就是已经有lvm 的情况再加缓存加速
因为ceph有自己的挂载逻辑,所以这里需要梳理一下,把整个启动路径给屏蔽掉,然后加入自己的启动逻辑
本篇是讲的没有单独的db wal的部署缓存加速的方式
操作方法 创建一个缓存设备 1 casadm -S -i 1 -d /dev/disk/by-id/nvme-A6F1600_SW20B27P7040007-part2 -c wb
opencas的配置逻辑是创建缓存设备,然后把需要加速的设备加入到缓存设备里面,然后生成新的路径,使用新的路径即可,上面就是创建了编号为1的wb模式的缓存设备
创建好了以后写配置文件/etc/opencas/opencas.conf
1 2 3 4 [caches] 1 /dev/disk/by-id/nvme-A6F1600_SW20B27P7040007-part2 WB
默认ceph启动逻辑 正常的启动是lvm设备形成以后通过ceph-volume进行启动,然后进行挂载,ceph-volume实际上就是去挂载目录的操作,这两步我们需要屏蔽掉
禁用自启动部分 我们举例osd编号为3
1 2 3 4 5 6 7 8 9 10 [root@node153 ~] [root@node153 ~] 获取osd uuid [root@node153 ~] [root@node153 ~] Removed symlink /etc/systemd/system/multi-user.target.wants/[email protected] . [root@node153 ~] [root@node153 ~]
上面的操作以后,osd.3 的自挂载,自启动就去掉了
添加缓存设备 获取到osd.3 的lvm的路径(取osd uuid前几位grep)
1 ls /dev/mapper/ceph--|grep de370e9a
添加后端设备到缓存设备
1 casadm -A -d /dev/mapper/ceph--81296ca1--c3f9--403c--974d--0058f9eba49a-osd--block--de370e9a--6f2c--4584--9d3d--0b6e4c891ae2 -i 1 -j 3
注意后面的-j是后端设备的id,这个可以设置为osd的id,方便后面查找
添加配置文件到/etc/opencas/opencas.conf
1 2 3 4 [cores] 1 3 /dev/mapper/ceph--81296ca1--c3f9--403c--974d--0058f9eba49a-osd--block--de370e9a--6f2c--4584--9d3d--0b6e4c891ae2
手动启动缓存加速之后的设备 1 2 3 4 5 6 7 8 mount -t tmpfs tmpfs /var/lib/ceph/osd/ceph-3 restorecon /var/lib/ceph/osd/ceph-3 chown -R ceph:ceph /var/lib/ceph/osd/ceph-3ceph-bluestore-tool --cluster=ceph prime-osd-dir --dev /dev/cas1-3 --path /var/lib/ceph/osd/ceph-3 chown -h ceph:ceph /var/lib/ceph/osd/ceph-3/blockchown -R ceph:ceph /dev/cas1-3chown -R ceph:ceph /var/lib/ceph/osd/ceph-3systemctl start ceph-osd@3
然后就启动了
上面的操作写成脚本 绑定部分的处理 1 2 3 4 5 6 7 8 9 10 11 12 13 #! /bin/sh for osd in 5 8 11do systemctl stop ceph-osd@$osd umount /var/lib/ceph/osd/ceph-$osd osdid=`ceph osd dump|grep osd.|awk -v A=osd.$osd '{if($1==A) print $19}' ` systemctl disable ceph-volume@lvm-$osd -$osdid systemctl disable ceph-osd@$osd osdpathprefix=`echo $osdid |cut -d "-" -f 1` osdpath=`ls /dev/mapper/ceph--*|grep $osdpathprefix ` casadm -A -d $osdpath -i 1 -j $osd echo "1 $osd $osdpath " done
会输出几行对应关系,拷贝到配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 #! /bin/sh for osd in 5 8 11do mount -t tmpfs tmpfs /var/lib/ceph/osd/ceph-$osd restorecon /var/lib/ceph/osd/ceph-$osd chown -R ceph:ceph /var/lib/ceph/osd/ceph-$osd ceph-bluestore-tool --cluster=ceph prime-osd-dir --dev /dev/cas1-$osd --path /var/lib/ceph/osd/ceph-$osd chown -h ceph:ceph /var/lib/ceph/osd/ceph-$osd /blockchown -R ceph:ceph /dev/cas1-$osd chown -R ceph:ceph /var/lib/ceph/osd/ceph-$osd systemctl start ceph-osd@$osd done
启动osd的脚本
如果重启机器,等opencas自带的服务启动好了,只用执行上面的启动osd的脚本即可
总结 本篇记录了配置过程,未涉及参数调优,模式改变等等,都是默认配置