已配置好的osd增加opencas配置


前言

環境已經配置好了osd,想增加opencas的緩存加速,因為opencas支持在lvm之上部署,也支持在opencas上面創建lvm,而已經部署好osd的場景是屬於前面的一種情況,也就是已經有lvm 的情況再加緩存加速

因為ceph有自己的掛載邏輯,所以這里需要梳理一下,把整個啟動路徑給屏蔽掉,然后加入自己的啟動邏輯

本篇是講的沒有單獨的db wal的部署緩存加速的方式

操作方法

創建一個緩存設備

casadm -S -i 1 -d /dev/disk/by-id/nvme-A6F1600_SW20B27P7040007-part2 -c wb

opencas的配置邏輯是創建緩存設備,然后把需要加速的設備加入到緩存設備里面,然后生成新的路徑,使用新的路徑即可,上面就是創建了編號為1的wb模式的緩存設備

創建好了以后寫配置文件/etc/opencas/opencas.conf

[caches]
## Cache ID     Cache device                            Cache mode      Extra fields (optional)
## Uncomment and edit the below line for cache configuration
1               /dev/disk/by-id/nvme-A6F1600_SW20B27P7040007-part2      WB

默認ceph啟動邏輯

正常的啟動是lvm設備形成以后通過ceph-volume進行啟動,然后進行掛載,ceph-volume實際上就是去掛載目錄的操作,這兩步我們需要屏蔽掉

禁用自啟動部分

我們舉例osd編號為3

[root@node153 ~]# systemctl stop ceph-osd@3
[root@node153 ~]# umount /var/lib/ceph/osd/ceph-3/

獲取osd uuid
[root@node153 ~]#  ceph osd dump|grep osd.3

[root@node153 ~]# systemctl disable ceph-volume@lvm-3-de370e9a-6f2c-4584-9d3d-0b6e4c891ae2
Removed symlink /etc/systemd/system/multi-user.target.wants/ceph-volume@lvm-3-de370e9a-6f2c-4584-9d3d-0b6e4c891ae2.service.
[root@node153 ~]# systemctl disable ceph-osd@3
[root@node153 ~]# umount /var/lib/ceph/osd/ceph-3

上面的操作以后,osd.3 的自掛載,自啟動就去掉了

添加緩存設備

獲取到osd.3 的lvm的路徑(取osd uuid前幾位grep)

ls /dev/mapper/ceph--|grep de370e9a

添加后端設備到緩存設備

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

[cores]
## Cache ID	Core ID		Core device
## Uncomment and edit the below line for core configuration
1		3		/dev/mapper/ceph--81296ca1--c3f9--403c--974d--0058f9eba49a-osd--block--de370e9a--6f2c--4584--9d3d--0b6e4c891ae2

手動啟動緩存加速之后的設備

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-3
ceph-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/block
chown -R ceph:ceph /dev/cas1-3
chown -R ceph:ceph /var/lib/ceph/osd/ceph-3
systemctl start ceph-osd@3

然后就啟動了

上面的操作寫成腳本

綁定部分的處理

#! /bin/sh
for osd in 5 8 11
do
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

會輸出幾行對應關系,拷貝到配置文件

#! /bin/sh
# start osd.5 osd.8 osd.11
for osd in 5  8  11
do
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/block
chown -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的腳本即可

總結

本篇記錄了配置過程,未涉及參數調優,模式改變等等,都是默認配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM