heartbeatHeartbeatでかんたんクラスタリング(4)

ミラーリングツール「DRBD」によるデータ保護


VA Linux Systems Japan株式会社
花島タケシ
2008/3/6


heartbeat DRBDを動作させてみよう

DRBDのインストール

 DRBDのインストール自体は、特に難しい作業は必要ありません。一般的なオープンソースソフトウェア同様、ソースコードを入手後、

$ tar zxf drbd-0.7.25.tar.gz
$ cd drbd-0.7.25 && make
# make install

のように行えばいいだけです。

 ただ、Red Hat系のディストリビューションを使用するなら、rpmで管理したいところでしょう。その場合は、ソースコード中にあるdrbd.spec.inをベースにしてrpmファイルを作成した後、インストールする方がいいでしょう。参考までに、サンプルファイルの「drbd-0.7.x.spec」を用意しておきました。

サンプルダウンロード:
サンプル サンプルファイル(drbd-0.7.x.spec)のダウンロード

(一般ユーザーでrpmを作成できることを前提としています)
$ rpmbuild -ba drbd-0.7.25.spec
# rpm -ivh (anywhere)/drbd-0.7.25-1.i386.rpm \
(anywhere)/drbd-km_2.6.9-67.0.1.EL-0.7.25-1.i386.rpm

としてインストールを行います。

 上記を見れば分かると思いますが、drbdは、カーネルランドで動作するためのカーネルモジュールをインストールします。ですので、カーネル本体をアップデートした後には、再度drbdのビルド&インストールという作業が必要になります。

heartbeat サンプル環境におけるDRBDの設定

 以降は、第2回「インストールとApache用の設定方法」で紹介したテスト環境を用いて、DRBDの設定方法を紹介していきます。

図2
図2 DRDBを組み合わせたテスト環境

 DRBDをマスター側とスレイブ側の両方にインストールした後に、設定ファイル「/etc/drbd.conf」の記述を行います。

resource drbd0 {
 protocol C;
 syncer {
  rate 200M;
 }
 disk {
  on-io-error pass_on;
 }
 on surr {
  device /dev/drbd0;
  disk /dev/hda2;
  address 192.168.0.1:7789;
  meta-disk internal;
 }
 on tomato {
  device /dev/drbd0;
  disk /dev/hda2;
  address 192.168.0.2:7789;
  meta-disk internal;
 }
}

 ここでは、簡単な設定ファイルにとどめていますが、詳細な情報は、

$ man drbd.conf

とすれば、英語によるオンラインマニュアルを参照できます。

 設定内容を簡単に説明しておきましょう。protocol部は、「どの時点でデータの同期(sync)を完了と見なすか」を決定する部分で、A、B、Cの3段階が指定できます。マニュアルによると、

選択肢 特徴
A write IO is reported as completed, if it has reached local disk
and local TCP send buffer.
(データを自分のディスクとTCP送信バッファに送った時点で完了)
B write IO is reported as completed, if it has reached local disk
and remote buffer cache.
(データを自分のディスクと相手ノードのバッファキャッシュに送った時点で完了)
C write IO is reported as completed, if it has reached both local
and remote disk.
(データを自分と相手のディスクに送った時点で完了)

となっています。当面は、安全性のためにCを設定すべきでしょう。

 また、

on surr {
 device /dev/drbd0;
 disk /dev/hda2;
 address 192.168.0.1:7789;

の部分は、「ディスクパーティション『/dev/hda2』を『/dev/drbd0』に割り当てて、ホスト『surr』のIPアドレス192.168.0.1の7789番ポートを用いてsyncを行う」といった意味になっています。

 ここでの注意点として、HeartbeatからDRBDを利用する場合、surrとtomatoの双方において「/dev/drbd0」部を共通にしていく必要があります。

 次に、surrとtomatoの双方において、以下のように実行します。

# /sbin/modprobe drbd   ←drbdモジュールを読み込む
# /sbin/lsmod | grep drbd ←モジュールがロードされているか確認する
# drbdsetup /dev/drbd0 disk /dev/hda2 internal -1
# drbdsetup /dev/drbd0 net 192.168.0.1 192.168.0.2 C
    ←surrで実行。IPの部分は <surr> <tomato>の順になる
# drbdsetup /dev/drbd0 net 192.168.0.2 192.168.0.1 C
    ←tomatoで実行。IPの部分は上と逆なので注意

 この時点でステータスを確認すると、

[root@surr crm]# cat /proc/drbd
version: 0.7.25 (api:79/proto:74)
SVN Revision: 2875 build by foo@surr, 2007-12-25 09:59:41
0: cs:WFConnection st:Secondary/Unknown ld:Consistent
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
1: cs:Unconfigured

と見えます。ここで「Unknown」と表示されているのは、tomatoで実行していないためです。

 さらに、surr側で、

# drbdsetup /dev/drbd0 primary

と入力して、surrをdrbdサービスのプライマリ(Primary)に格上げします。ステータスを確認すると、

version: 0.7.25 (api:79/proto:74)
SVN Revision: 2875 build by foo@surr, 2007-12-25 09:59:41
0: cs:Connected st:Primary/Secondary ld:Consistent
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
1: cs:Unconfigured

のように、Primaryに変化しているのが確認できます。さらに、

# drbdadm -- --do-what-I-say primary all

とすると、syncが開始されます。

2/3

Index
Heartbeatでかんたんクラスタリング
 第4回 ミラーリングツール「DRBD」によるデータ保護
  Page 1
 Heartbeatを補完するDRBD
 最適なデータの保持・保護方法は?
 自動的にミラーリングを行うDRBD
  Page 2
 DRBDを動作させてみよう
 サンプル環境におけるDRBDの設定
  Page 3
 DRBDの動作テスト
 Heartbeatとの連携
 コラム クローンモードとマルチステイト(マスター/スレイブ)モード

Linux Square全記事インデックス


 Linux Squareフォーラム サーバ構築・運用関連記事
連載:Heartbeatでかんたんクラスタリング(連載中)
オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します
特集:Apache 2.2でWebサイトをパフォーマンスアップ!
最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する
連載:実用 Apache 2.0運用・管理術(全8回)
本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える
連載:実用 BIND 9で作るDNSサーバ(全15回)
本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく
連載:実用qmailサーバ運用・管理術(全14回)
本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで
特集:Samba 3.0の全貌 改訂版
Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH