月刊 Software Design 誌のバックナンバーを眺めていたとき、2009年 6月号DRBD
特集に目が留まった。そう言えばこの号の発売当時は仕事に忙殺されていたせいであまり真剣に記事を読んでおらず、何が書いてあったかほとんど記憶にない。ちょうど先日アップグレードしたばかりで個人的に盛り上がっている DRBD の特集に改めて目を通してみると、実に興味深い運用方法が紹介されていた。

DRBD を使った HA クラスタリングは、ファイルシステム・レベルで複数ノードからの同時マウントがサポートされていない限り、基本的にアクティブ/スタンバイ方式となる。我が家でも 「なるべく止めたくない」 サービスのストレージとして、LVM から切り出した LV を DRBD でミラーリングしているが、このストレージ領域のファイルシステムは通常の ext3 で 「マウントは Primary 側」 と言う固定観念があったため、バックアップは Primary 側で LVM のスナップショットを利用して行っていた。

ところが 「DRBD と LVM2 によるバックアップの効率化」 と題する記事には、「LVM のスナップショットを使うなら、バックアップは Secondary 側でやっちまえ」 と (言う内容が丁寧に書いて) あるではないか。

言われてみれば確かに、DRBD の Primary 側は 「任意のブロックデバイスをマウントして読み書きできる」 側だが、複数ノードからの同時マウントがサポートされていないファイルシステム上では、Secondary 側は 「マウントして読み書き」 ができないだけだ。DRBD の下地が LVM で構築されて DRBD が正常に機能していれば、「マウントできさえすれば正常に利用可能」 なデータが Primary/Secondary 双方に等しく保存されているわけで、バックアップは遊んでいることが多い Secondary 側に担当させた方が賢い。Primary 側のマウントはそのまま Secondary 側で LVM のスナップショットを作成し、Secondary 側でそのスナップショット領域をマウントしてバックアップ。我が家で標準バックアップツールとして利用している DAR は I/O 負荷が低くはないので、日々酷使されている Primary 側にはありがたい話だ。「全部自分で抱え込まなくていいんだよ」 と言ったところか。

知っている人には 「何を今さら」 的な話題かもしれないが、DRBD ボリュームをいじっていいのは Primary 側だけと思い込んでいた僕にとっては、衝撃的だった。「DRBD ボリュームを正常にマウントしていること」 をトリガーの一つにしている現行のバックアップ・スクリプトは、早速書き直さねば。

また DRBD と iSCSI の組み合わせに関する記事も、先日妻の稟議が下りた (万歳!) 新ファイルサーバーで iSCSI を本格導入し、容量が少ないくせに消費電力は一人前の古い HDD どもに引導を渡そうと計画しているところだったので、参考になった。ここでも DRBD の特性を遺憾なく発揮していて、iSCSI ターゲットにした DRBD ボリュームを Windows からマウントして NTFS でフォーマットしつつ、DRBD で他のマシンにネットワーク・ミラーリングするテクニックだ。内容は同じ筆者氏が執筆されて以前に読んでいたこちらの記事の簡易版で記憶にあったが、ちょうどいいタイミングで思い出させてもらえた。

2 Responses to this entry.

  • 岩崎登:

    お役に立てそうなので何よりです。

    IETやTGTのiSCSIターゲットで使用されるブロックデバイスは、WindowsでNTFSフォーマットをしていてもLinux側からループバックマウントすることができます。(NTFSのマウント環境があれば)
    DRBDと組み合わせて、Primary側はiSCSIでWindowsから使用、バックアップはDRBDのSecondary側サーバでスナップショットを取り、NTFSでフォーマットされたデバイスをループバックマウントしてLinux上からrsyncを使ってファイル単位で世代バックアップなんていうトリッキーな技もあります。Secondary側だから実運用環境に負荷をまったくかけずにバックアップが取れるテクですね。

    DRBDの応用は楽しいので是非研究してみてくださいな。おもしろいネタがあればLinux-HA Japan ProjectのMLにでも投稿してくださいな

  • Natz:

    書き込みありがとうございます。参考記事を執筆されたご本人からコメントをいただけるとは、恐縮です。ご紹介いただいた方法も面白いですね。

    DRBD は単体で既に優れたツールですが、他との組み合わせやアイデア次第で効果が数倍にもなると言う点で、非常に魅力を感じます。今後もいろいろと研究してみます。