DRBDのインストールが完了したら、DRBDの設定を行います。
今回はリソースを二つ使用するので、設定ファイルも二つ必要となります。設定ファイル「r0.res」と「r1.res」を、/etc/drbd.d配下に新規作成します。設定ファイルは一号機、二号機の両サーバに配置してください。
「/etc/drbd.d/r0.res」「/etc/drbd.d/r1.res」の記述例は以下の通りです。
resource r0 { net { protocol C; } volume 0 { device minor 0; disk /dev/sda5; meta-disk internal; } on wp-ha1 { address 10.0.1.1:7788; } on wp-ha2 { address 10.0.1.2:7788; } }
resource r1 { net { protocol C; } volume 1 { device minor 1; disk /dev/sda6; meta-disk internal; } on wp-ha1 { address 10.0.1.1:7789; } on wp-ha2 { address 10.0.1.2:7789; } }
r0.resとr1.resの中身は、リソースの名前、デバイス名、パーディション/ディスク名、ポート番号が異なります。特にポート番号が重要です。これは、別々のポートでデータレプリケーションを行うためです。
続いて、「メタデータ」を作成します。メタデータとはDRBDの情報が書き込まれている情報管理ファイルです。こちらも一号機、二号機の両方で、drbdadm create-mdコマンドを実行して作成します。
# drbdadm create-md r0 # drbdadm create-md r1
「New drbd meta data block successfully created.」と表示されることを確認してください。
DRBD起動までの準備はこれで完了です。DRBDを起動しましょう。
drbdadm upコマンドを一号機、二号機の両方で実行します。
# drbdadm up r0 # drbdadm up r1
catコマンドで、DRBDの接続確認を行います。
# cat /proc/drbd
この文字列より、二つのリソースの“CS”が「Connected」となっていることを確認してください。
一号機(プライマリ機)、二号機(セカンダリ機)それぞれで、DRBDの初期化を行います。
DRBDの初回起動後は、まだデータの同期が行われていません。drbdadm --forceコマンドによる初期化作業によって、初回の同期を実施します。こちらはプライマリ機にする一号機のみで実行します。データ量によっては、初期同期完了まで時間がかかることもありますが、気長に待ってください。
# drbdadm --force primary r0 # drbdadm --force primary r1
同期の進行状況は、catコマンドで確認できます。なお、watchコマンドを併用すると、リアルタイムに同期状況を確認できます。
# cat /proc/drbd
# watch cat /proc/drbd
初期の同期が完了したら、DRBDのデータ領域をフォーマットします。こちらは一号機(プライマリ機)のみで実行します。以下の例ではxfsでフォーマットしましたが、xfs以外のファイルシステムも指定できます。
# mkfs.xfs /dev/drbd0 # mkfs.xfs /dev/drbd1
DRBDの領域(リソース)が二つ確保できましたが、中身はまだ空っぽです。そこで、二つの領域にインストール済みのWordPressのデータと、MariaDBのデータをコピーする必要があります。
WordPressとMariaDBのデータ領域は、それぞれ以下の通りです。
これらのディレクトリをDRBDの領域にコピーします。この作業は一号機(プライマリ機)のみで実行します。
まず、対象のデータを一時退避します。
# cd /var/www/html # mv wordpress wordpress.org # mkdir wordpress # cd /var/lib # mv mysql mysql.org # mkdir mysql
次にDRBD領域をマウントします。マウントと一緒に、WordPressのディレクトリにはApacheの権限を、MariaDBのディレクトリにはMySqlの権限を付与します。
# mount /dev/drbd0 /var/www/html/wordpress # chown apache:apache /var/www/html/wordpress # mount /dev/drbd1 /var/lib/mysql # chown mysql:mysql /var/lib/mysql
退避したデータをコピーします。
# cd /var/www/html/wordpress.org # cp -a * ../wordpress # cd /var/lib/mysql.org # cp -a * ../mysql
DRBDデータの同期が完了するまで待ちます。前述したwatch cat /proc/drbdコマンドを実行して、「cs」ステータスの数値の増加が止まったら、DRBDのデータ同期が完了したことを示します。
同期が完了したら、DRBD領域をアンマウントします。
# umount /var/www/html/wordpress # umount /var/lib/mysql
アンマウント後、DRBDをSecondaryに降格させます。
# drbdadm secondary r0 # drbdadm secondary r1
最後にDRBDを停止します。この手順は、一号機(プライマリ機)、二号機(セカンダリ機)の両サーバで実行してください。
# drbdadm down r0 # drbdadm down r1
以後、DRBDは次ページでインストールする「Pacemaker」で起動、停止を制御することになります。
Copyright © ITmedia, Inc. All Rights Reserved.