ミラーリングツール「DRBD」によるデータ保護
「Heartbeat」の適切な導入によってHAクラスタを構成し、Linux上で動作しているサービスの可用性を上げることができます。続いて、肝心のデータそのものを保護できるツール「DRBD」について紹介しましょう。
VA Linux Systems Japan株式会社
花島タケシ
2008/3/6
Heartbeatを補完するDRBD
前回記事「HAを見守る『Watchdog』と『STONITH』」までの3回にわたって、Heartbeatが提供するHA(高可用性)クラスタ構築機能とそれを用いたWebサービス(Apache)の管理、さらに「STONITH」と「Watchdog」による自浄機能について解説してきました。
システム全体を見回したとき、次に気になる点としては、肝心のストレージ部(データ)をどのように冗長化し、保護するかが挙げられるでしょう。そこで今回は、データのミラーリングを行うオープンソースのソフトウェア「DRBD:Distributed Replicated Block Device」(http://www.drbd.org/)を紹介したいと思います。
最適なデータの保持・保護方法は?
データを冗長化し、保護する技術には、ストレージハードウェア製品も含めいくつかの選択肢があります。「Webなどのサービス用データをどこに、どのように置くか」を考える場合、状況によって結論は変わってきます。
| 選択肢 | 特徴 |
| SAN | ハードウェア自体が容易に冗長化構成を取れるようになっている。 またHBAを二重化することも可能。ただし、コストは高くなる |
| iSCSI | 少し前までは、安定性に問題があった。最近ようやくLinuxでの使用も安定。 NFSに比べ、プロトコルは軽い |
| NFS | 古くからあるもので安定している。ただし、プロトコル的に重い |
1つの例として「SAN」(Storage Area Network)があります。データを格納するストレージ自体が冗長化されている製品も多いですし、サーバをSANに接続するためのHBA(Host Bus Adapter)を二重化することも可能ですが、コストもかさみます。
現在ならば、SCSIブロックをIP化してしまう「iSCSI」も選択肢として挙げられるでしょう。ですが最近までiSCSIは、「iSCSi接続を確立するためのイニシエータが不安定だ」などといわれることもありました。また、データを共有する「NFS」(Network File System)を用いてほかのサーバにデータを保存することもできます。しかし外部にデータを置くとなると、どうしても、その分コストも高くなってしまいます。
最もコストを抑える方法を考えた場合に浮上してくる選択肢がDRBDです。Heartbeatによるサービスの冗長化を前提とした環境、つまり、サービスを提供するサーバを複数台で構成する環境において、その構成内でストレージを冗長化することができます。
自動的にミラーリングを行うDRBD
DRBDとは具体的に何をするソフトウェアなのかというと、特定のパーティションを対象に、ネットワークを介して自動的にミラーリングを行ってくれます。ちょうどネットワークを介してRAID1を実現してくれるようなものです。
DRBDを利用する際の注意点としては、ミラーリングの対象をブロックデバイス(/dev/sda1など)で指定する必要があることです。このため、「ある特定のディレクトリ以下すべて」といったような、rsyncコマンドでの指定のようなことはできません。また同様の理由から、DRBDを用いるためには、OSのインストール時点であらかじめ構成を考えておかねばなりません。
![]() |
| 図1 DRBDの動作イメージ |
しかし、DRBDによるミラーリングは、指定したブロックデバイスに何らかの変更があったときに自動的に行われます。ですから、いったん設定してしまえば、後は運用に当たってこれといって煩わしいこともありません。またカーネルランドで動作しますので、ある程度の速度も保証されます。
使用できるファイルシステムにも特に制限はありません。ただ、フェイルオーバー時のファイルシステムチェックによるダウンタイムを軽減させるためにも、ジャーナルファイルシステムを用いるのがよいでしょう。
なお、バージョン8.0.0以降では、OCFS2(Oracle Cluster File System 2)とGFS(Global Filesystem 2)に限ってですが、アクティブ/アクティブ構成も可能になりました。ただし、使用できるLinuxカーネルのバージョンは2.6系のみとなっています。
もう1つ、オープンソース版DRBDの制限として、最大で2台構成までしかサポートされていません(商用版では3台構成が行えるようです)。2台構成までとなるとシステム構成全体に制限が生じることもあるでしょう。そういったときは、SANやiSCSIといったほかの手段を用いることになります。
■最新バージョンと0.7.x系の違いは?
DRBDの最新バージョンとしては、執筆時点では8.2.4がリリースされています。しかしながら、Heartbeatと連動させて使用する場合には注意点があります。それは「Heartbeat自体が、drbd-0.7.xまでしかサポートしていない」ということです。これは、前述したとおり、DRBDがサポートしているLinuxカーネルのバージョンに制限があるためと考えられます。
| DRBD バージョン |
Linux Kernelの サポート |
Heartbeatの対応 |
| 0.7系 | 2.4系、2.6系 | ○ |
| 8.x系 | 2.6系 | ×(ただし、DRBD側がHeartbeat v1用リソースファイルを提供) |
現在のDRBD開発の主流は0.7系ではなく8.x系列となっていることから、Heartbeat本体もこれに追従してほしいところですが、現時点では0.7系を使用せざるを得ません。ただし、DRBDではHeartbeat v1設定用のリソースファイルを提供しています。Heartbeat v1設定を採用するのならば、DRBDの最新版を使用することが可能です。
| 【関連記事】 http://www.atmarkit.co.jp/flinux/rensai/heartbeat02/heartbeat02b.html Heartbeatでかんたんクラスタリング 第2回 インストールとApache用の設定方法 |
以上から、本記事ではHeartbeatではv2設定を使用して説明を進めます。また、2.4系のカーネルで冗長化構成を試したい方もいると思いますので、DRBDについては0.7系の最新版、バージョン0.7.25を使用していきましょう。
|
1/3 |
|
||||||
|
||||||
| 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系列の新機能、インストール方法、国際化の現状を解説する |
|
|
TechTargetジャパン
- クライアントがアクセスできる範囲を制限する (2012/2/10)
今回は、サーバ上のファイルの扱いに関係する設定項目について解説します - 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

