それでは、DRBDの動作確認をしてみましょう。surr、tomatoの双方で、
# /etc/init.d/drbd stop |
としてサービスを終了します。次に、surrで
# /etc/init.d/drbd start |
としてサービスを起動します。そうすると、
[root@surr crm]# /etc/init.d/drbd start |
のように表示されますので、この間に、tomato側でサービスを起動させます。もしこの間にtomato側でサービスを起動させない場合、「継続するか、無視するか」の判断を迫られることになります。
問題なくサービスが起動したら、surrで、
# drbdsetup /dev/drbd0 primary |
として、ファイルシステムを作成してからマウントします。その後、
# touch /drbd/testfile1 |
のようにテスト用のファイルを作成します。そして、
# umount /drbd |
として、ファイルシステムをアンマウントし、セカンダリ(secondary)へと格下げを行います。ここで念のため、
# /proc/drbd |
としてステータスの確認を行っておきましょう。tomatoにおいて、
# drbdsetup /dev/drbd0 primary |
として、プライマリへと格上げ後、ファイルシステムをマウントし、
# ls -al /drbd |
として、先ほどsurrで作成したファイルが存在していることを確認してください。ファイルが存在していれば、無事DRBDによるミラーリングの動作が確認できたことになります。
DRBDをHeartbeatのリソースとして動作させるには、これまで紹介してきたアクティブ/スタンバイモードのほかに、マルチステイト(Multistate)モードを選択することもできます(コラム参照)。DRBDを使用する場合、仕様上の制限から最大で2台構成にしかできないため、アクティブ/スタンバイモードでも十分なのですが、今回は、ほかのモードの紹介の意味も込めて、マルチステイトモードでの設定を紹介します。
前回までの記事でHeartbeatの設定については一通り紹介してきましたので、ここではDRBDに関する部分を抜き出して説明します。まず、サンプル設定ファイルの「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」オプションが実装されていなくてはなりません。
Copyright © ITmedia, Inc. All Rights Reserved.