DRBD9をUbuntu16.04にさくっとインストール


DRBD9とは?

DRBDはこれまで基本的にはサーバ1対1でデータのレプリケーション(複製)するためのソフトウェアでした。
しかしDRBD9では多ノード間でデータレプリケーションができるようになりました。

そんな多ノードでレプリケーション(複製)何に使うの?と思われるかもしれませんが、OpenStackなどに組み込んでSDS的な使用を想定しています。
Cephをイメージするとわかりやすいと思います。

いきなりOpenStackと連携するのはハードルが高いので今回はDRBD9の多ノードレプリケーション機能を試してみます。

DRBD Manage

多ノード対応することにより設定値が複雑になるため自動的に設定をしてくれるDRBD Manageというツールがあります。
今回はDRBD Manageを使って環境を作っていきます。

構築環境

3台のサーバのデータをレプリケーション(複製)していきます。
ホスト名とIPアドレスは読み替えて実施してください。

またインストールは全てのサーバで実施してください。

インストール環境

バージョン
OS Ubuntu 16.04
DRBD 9.0.4
DRBD Manage 0.97.5

事前準備

各サーバにDRBD用のディスク領域を作成してください。仮に/dev/sdbとしています。
作成した上で以下のコマンドでlvmを作成してください。

$ sudo fdisk /dev/sdb
$ pvcreate /dev/sdb1
$ vgcreate drbdpool /dev/sdb1

次に事前に各サーバ間で鍵交換を実施してください。

# sudo ssh-keygen -t rsa
# sudo ssh-copy-id -i .ssh/id_rsa.pub root@<各サーバIPアドレス>

DRBD9インストール

DRBD9はUbuntuではインストールが非常に簡単にできます。DRBD9を試すには最適です。

まずリポジトリを追加します。

$ sudo add-apt-repository ppa:linbit/linbit-drbd9-stack
$ sudo apt update

次にDRBD9とDRBD Manageをインストールします。

$ sudo apt-get install drbd-utils python-drbdmanage drbd-dkms

以上でインストールは完了です。

DRBD manageを使った設定手順は以下を参照しました。
http://tech-sketch.jp/2015/11/drbd9.html
http://ksawada.hatenablog.com/entry/2016/06/13/154411