連載
» 2008年03月06日 00時00分 公開

Heartbeatでかんたんクラスタリング(4):ミラーリングツール「DRBD」によるデータ保護 (3/3)

[花島タケシ,VA Linux Systems Japan株式会社]
前のページへ 1|2|3       

DRBDの動作テスト

 それでは、DRBDの動作確認をしてみましょう。surr、tomatoの双方で、

# /etc/init.d/drbd stop

としてサービスを終了します。次に、surrで

# /etc/init.d/drbd start

としてサービスを起動します。そうすると、

[root@surr crm]# /etc/init.d/drbd start
Starting DRBD resources: [ d0 s0 n0 ].
.......

のように表示されますので、この間に、tomato側でサービスを起動させます。もしこの間にtomato側でサービスを起動させない場合、「継続するか、無視するか」の判断を迫られることになります。

 問題なくサービスが起動したら、surrで、

# drbdsetup /dev/drbd0 primary
# /sbin/mkfs.ext3 /dev/drbd0
# mount -t ext3 /dev/drbd0 /drbd

として、ファイルシステムを作成してからマウントします。その後、

# touch /drbd/testfile1
# dd if=/dev/zero of=/drbd/testfile2 bs=1M count=100

のようにテスト用のファイルを作成します。そして、

# umount /drbd
# drbdsetup /dev/drbd0 secondary

として、ファイルシステムをアンマウントし、セカンダリ(secondary)へと格下げを行います。ここで念のため、

# /proc/drbd

としてステータスの確認を行っておきましょう。tomatoにおいて、

# drbdsetup /dev/drbd0 primary
# mount -t ext3 /dev/drbd0 /drbd

として、プライマリへと格上げ後、ファイルシステムをマウントし、

# ls -al /drbd

として、先ほどsurrで作成したファイルが存在していることを確認してください。ファイルが存在していれば、無事DRBDによるミラーリングの動作が確認できたことになります。

Heartbeatとの連携

 DRBDをHeartbeatのリソースとして動作させるには、これまで紹介してきたアクティブ/スタンバイモードのほかに、マルチステイト(Multistate)モードを選択することもできます(コラム参照)。DRBDを使用する場合、仕様上の制限から最大で2台構成にしかできないため、アクティブ/スタンバイモードでも十分なのですが、今回は、ほかのモードの紹介の意味も込めて、マルチステイトモードでの設定を紹介します。

 前回までの記事でHeartbeatの設定については一通り紹介してきましたので、ここではDRBDに関する部分を抜き出して説明します。まず、サンプル設定ファイルの「cib.xml」を適当に編集し、所定の場所に置いてください。

サンプルダウンロード:

→ サンプルファイル(cib.xml)のダウンロード


 なお、マルチステイトモードではどのサーバを優先的に「マスター」にするかを決めることができます。ここでは分かりやすさを考慮して、surrを優先するように設定しました。

 Heartbeatのサービスを起動させる前に、まずdrbdのサービスを起動してください。tomato側から立ち上げ、

# crm_mon -i 3

のようにしてサービスをモニタします。正常に起動すると、drbdリソース部がこれまでの「Started」でなく、「Master」と表示されます。この状態でsurr側のHeartbeatを起動させると、surrのそれが「Master」と表示され、tomato側は「Slave」となり、ステイトが変更されたことが分かります。

 Heartbeatとの連携部に関してはかなり省略しましたが、マルチステイトモードでのApacheなどとの連携は皆さんへの宿題としたいと思います。コツとしては、constraints要素内にrsc_order要素を用いて、Apacheなどのほかのリソースを順次起動させるようにします。

コラム クローンモードとマルチステイト(マスター/スレイブ)モード

 これまでの記事では、Heartbeatで特別なモードを動作させず、シンプルな1対1のアクティブ/スタンバイモードでの動作についてのみ紹介してきました。

 実はHeartbeatには、このほかにも「クローンモード」と「マルチステイトモード」という特別な動作モードがあります。この2つのモードについての説明は、Heartbeat日本語ページでもまだ翻訳されておらず(http://www.linux-ha.org/ja/v2/Concepts_jaからのリンク参照)、理解しにくい面もあるのですが、簡単に説明しましょう。

 クローンモードでは、同一の環境で動作するサーバを複数台動作させることができます。これにより、ロードバランシングクラスタが構築できるようになっています。

 マルチステイトモードは、クローンモードをさらに進化させたものとなっています。ステイトごとに各サーバの動作を変えるように設定することができるほか、複数台で運用中のクラスタのうち、数台だけを特定のサービス向けに動作させるといったことができます。

 現在、マルチステイトモードで実装されているステイトは、「マスター」と「スレイブ」の2種類のみであるため、これを「マスター/スレイブモード」と呼ぶこともあります。リソースをこのモードで動作させるためには、リソースエージェントに「promote」「demote」オプションが実装されていなくてはなりません。



前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。