UbuntuでLINSTORを試してみた
前にこのページで紹介しましたが、LINBITは無料で利用できるUbuntuサーバ用のリポジトリを公開しています。
今回はこのリポジトリを使って、DRBDとLINSTORのテスト環境を作ってみます。
1.動作環境の準備
テストが目的ならば、動作環境は普通のパソコンにVirtualboxを入れたものでも十分です。今回のテスト環境はいわゆる小型パソコンと呼ばれるモデルで、CPUとメモリー、ストレージのスペックは以下です。
- CPU Intel(R) Core(TM) i5-6260U CPU @ 1.80GHz
- メモリー 16GB
- ストレージ 200GB
これにCentOS7をインストールして、Virtualboxが動く環境を整えました。
Virtuaboxで3つのUnuntu 20.04のゲストOSをそれぞれインストールします。
ノード名 | IPアドレス |
---|---|
node1 | 192.168.3.101 |
node2 | 192.168.3.102 |
node3 | 192.168.3.103 |
メモリーはそれぞれ2GB、ストレージはシステム用に10GB、DRBD用に10GBほどあればテストには十分です。
ホスト名とIPアドレスは/etc/hostsに登録して、相互にホスト名でアクセスができるようにしてください。
2.DRBDのインストール
DRBD9のリポジトリを登録します。このリポジトリにはLINSTORのパッケージも含まれています。
add-apt-repository ppa:linbit/linbit-drbd9-stack
登録したらDRBDをインストールします。
apt-get update
apt install drbd-utils drbd-dkms lvm2
インストールが終わったら、modprobeコマンドでDRBDのカーネルモジュールを有効にします。
modprobe drbd
DRBDがカーネルに組み込まれたか確認するには、lsmodコマンドを実行するか/proc/drbdファイルを調べます。
cat /proc/drbd version: 9.0.24-1 (api:2/proto:86-117) GIT-hash: 6e91f89e4016d01512db171d98b3424204d254dc build by root@node1, 2020-09-11 07:36.. Transports (api:16): tcp (9.0.24-1)
無事にインストールができました。
3.LINSTORのインストール
次にLINSTORをインストールします。LINSTORはControllerとSateliteの2つのノードがあります。今回はnode1をControllerノード兼Sateliteノード、node2、node3をSateliteノードとして設定します。
node1でlinstor-controller linstor-satellite linstor-clientをインストールします。
apt install linstor-controller linstor-satellite linstor-client
LINSTOR Controllerを起動します。またサーバーの再起動に自動起動するように合わせて設定します。
systemctl enable linstor-controller systemctl start linstor-controller
node2、node3ではSateliteのみをインストールします。
apt install linstor-satellite linstor-client
Sateliteは自動起動の設定は必要ありません。
4.LINSTORの初期化
3つのノードをLINSTORのクラスターとして登録します。Controllerノードであるnode1で次のコマンドを実行します。
linstor node create node1 192.168.3.101 linstor node create node2 192.168.3.102 linstor node create node3 192.168.3.103
LINSTORでノードの状況を確認します。このコマンドもnode1で実行します。
linstor node list +---------------------------------------------------------+ | Node | NodeType | Addresses | State | |=========================================================| | node1 | SATELLITE | 192.168.3.101:3366 (PLAIN) | Online | | node2 | SATELLITE | 192.168.3.102:3366 (PLAIN) | Online | | node3 | SATELLITE | 192.168.3.103:3366 (PLAIN) | Online | +---------------------------------------------------------+
5.ストレージプールの設定
本テスト環境にはそれぞれ10GBのデータ用のストレージがあります。これをLVMで初期化して、LINSTORのストレージプールとして登録します。
以下の操作は、node1、node2、node3全てのノードで実行します。
ますデータ用のストレージ(/dev/sdb)をpvcreateで登録します。
pvcreate /dev/sdb
次にボリュームグループを登録します。
vgcreate vg /dev/sdb
最後にLVを登録します。
lvcreate -l 100%FREE --thinpool vg/lvmthinpool
以上でLVMの設定は終わりです。
あとは、LINSTORにストレージプールを登録しましょう。このコマンドもnode1で実行します。
linstor storage-pool create lvmthin node1 linstor-pool vg/lvmthinpool linstor storage-pool create lvmthin node2 linstor-pool vg/lvmthinpool linstor storage-pool create lvmthin node3 linstor-pool vg/lvmthinpool
LINSTORに登録ができたか確認してみます。
linstor storage-pool list
次のように表示されば正常な動作になります。
6,次のステップ
LINSTORを使う準備が終わりました。日本語に訳されたLINSTORのユーザーズガイドをみて、冗長化されたボリュームを作ってみてください。