DRBD9とlinstorのメモ

drbdmanageがすっごく不安定なので、linsotrを試してみたメモ。
基本は、3Ware社のドキュメント通りで大丈夫だけど、ビルド部分でドハマリした。
LINBITのGitリポジトリから、drbd-9.0,linstor-server,linstor-client,linstor-api-py,drbd-utilsを取得して、dpkg-buildpackage -bでビルド。masterブランチから直接ダウンロードするとビルドエラーになるし、linbit社のDownloadページからtarballをダウンロードするとdebianディレクトリがなくパッケージが作れないので、リリースタグの付いているブランチを取得する。
(これでめっちゃハマった)
依存関係は逐次潰しながらインストールしていった時のログを残してなかったけど、busterにあるパッケージをaptするだけで基本OK。
パッケージをaptでインストールしたら、drbd.service, linstor-controller.service, linstor-satellite.serviceがsystemdに登録されるので、enable化とstartを行う。


# VG作成
vgcreate drbdpool /dev/vdb1
# LV作成
lvcreate –thin -L 15G drbdpool/thinPool
# node登録
linstor node create testvm [IPアドレス]
# Storage Pool登録
linstor storage-pool create lvmthin testvm testpool drbdpool/thinPool
# Resource登録(確認コマンドは、resource listじゃなくて、resource-definition list)
linstor resource-definition create testResource
# Volume登録(確認コマンドは、volume listじゃなくて、volume-definition list)
linstor volume-definition create testResource 2G
# 登録したResourceの作成(–auto-place 1は、冗長化なし)
linstor resource create testResource –auto-place 1

その後、snapshotを実行したらカーネルが刺さったwww
KernelのLVM周りで完全に応答がなくなるので、busterのKernelかLVM2が怪しいような気がする。
DRBDのSnapshotが不安定なら、zfsとかbtrfsのSnapshotで対応するしかないか。

使う時は、「/dev/drbd/by-res/testResource/0」もしくは、「/dev/drbd1000」だけど前者の方が分かり易そう。
実際に、マウントしたりして使用中になったら、こんな風に見える。


linstor resource list
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x ResourceName x Node x Port x Usage x State x
tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
x testResource x testvm x 7000 x InUse x UpToDate x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
drbdadm status
testResource role:Primary
disk:UpToDate