DRBDバージョン9からDRBDで多くのデバイスを管理しSDSとして利用できる。
drbdadmでの設定は、複雑で難しい。。。
そこを簡単に管理するのがLINSTOR
今回は、LINSOTRでBcacheを利用する方法を記述
LINSTORのインストール自体は下記で行う。
3. LINSTORインストール
zpool create DataPool raidz /dev/sdb /dev/sdc /dev/sdd
※compress=offにすると、LINSTORでzfsthinを設定してもシンプロにならないので注意
zfs set compress=lz4 DataPool ##zfs set compress=off DataPool zfs set sync=disabled DataPool zfs set atime=off DataPool zpool set autotrim=off DataPool
zfs get compress zfs get sync zfs get dedup zfs get atime zpool get -o all all | grep autotrim
linstor storage-pool create zfsthin node1 DfltStorPool DataPool linstor storage-pool create zfsthin node2 DfltStorPool DataPool linstor storage-pool create zfsthin node3 DfltStorPool DataPool linstor storage-pool create zfsthin node4 DfltStorPool DataPool
今回は、/dev/sdaの余った領域をBcacheに使ってみる。
本来はnvmeのSSDを利用したりする。Optane SSDなど
lvcreate -l 100%FREE --thinpool ubuntu-vg/CachePool linstor storage-pool create lvmthin oshv1001 LinstorCache ubuntu-vg/CachePool
linstor resource-group create BcacheG --storage-pool DfltStorPool --place-count 3 --layer-list drbd,bcache,storage
linstor resource-group set-property BcacheG BCache/PoolName LinstorCache
もしキャッシュのモードを変更する場合
# linstor resource-group set-property BcacheG BCache/Writeback true # linstor resource-group set-property BcacheG BCache/Discard true
linstor volume-group create BcacheG linstor resource-group spawn BcacheG Volume001 10G
## lsblk zd0 230:0 0 2G 0 disk └─bcache0 252:0 0 2G 0 disk └─drbd1000 147:1000 0 2G 0 disk zd16 230:16 0 512M 0 disk └─bcache0 252:0 0 2G 0 disk └─drbd1000 147:1000 0 2G 0 disk