Active-Passive Heart-Beat構成(DRBD)
DRBDとは
DRBD (Distributed Replicated Block Device) は、オーストリアLINBIT社が開発したLinuxプラットフォームの分散ストレージシステムで、オープンソースにて提供されています。最大4台の独立したコンピュータ上のハードディスクの内容をリアルタイムに同期させることが可能です。共有ディスク方式とは異なり、単一障害点 (Single Point of Failure、「これが壊れたら終わり」というポイント)を持たない、シェアードナッシングクラスタや大容量データのバックアップに広く活用されています。
また、最大16テラバイトのデータ領域のサポート、WAN回線対応など、エンタープライズ向けの機能と特徴を備えています。DRBDは、1つのシステムに対してHAクラスタとディザスタリカバリを同時に提供できるソリューションです。
DRBDの特徴
DRBDは、Linuxカーネルのハードディスクドライバのレベルで動作します。このため、データベース、ファイルサーバ、メールシステム、画像データベースなど、あらゆるアプリケーションのデータを冗長化できます。
通常のコンピュータでは、アプリケーションがディスクに書き込むデータは、ファイルシステム、ディスクドライバを経由して実際のハードディスクに書き込まれます(上図左)。
DRBDを導入すると、ファイルシステムとデバイスドライバの間でDRBDが動作するようになります。サーバAのDRBDは自機のハードディスクに データを書き込み、同時にサーバB上のDRBDに書き込み命令を伝達します。サーバBのDRBDは、データをハードディスクに書き込み、書き込み完了確認 メッセージをサーバAのDRBDに送信します。
特徴:自動切り替え、自動再同期による運用の簡素化
DRBDの実行時の状態には「プライマリ」と「セカンダリ」があります。
「プライマリ」状態のノードではアプリケーションを動作させることができます。DRBDはアプリケーションがディスクに書き込むデータを受け取って、自ノードのディスクに書き込むと同時に、セカンダリノードのDRBDにも書き込み命令を送ります。
「セカンダリ」状態のノードは、プライマリノードのDRBDからディスク書き込み命令を受け取り、それを自ノードのディスクに書き込みます。ディスク上のデータの一貫性を保つため、セカンダリノードのDRBDは、自ノードのアプリケーションからの書き込みを受け付けません。
DRBDを使ったクラスタシステムでは、サービスを提供するノード(アクティブノード)のDRBDはつねにプライマリになります。アクティブノードの故障に備えて待機するノード(スタンバイノード)のDRBDはつねにセカンダリです。
- アクティブノードがダウンした場合
故障やメンテナンスによってアクティブノードがダウンすると、クラスタ管理システムは待機ノードをアクティブに切り替えますが、同時にDRBDの状態もプライマリに切り替えます。そして、ダウン直前までのディスク内容を使って、サービスを続行します。 - ハードの故障時には
ハードの故障時には、自動的にレプリケーションの方向を切り替えてレプリケーションを続行します。このような切り替えは、クラスタ管理システムを正しく設定することによって、完全に自動化できます。 - レプリケーションがストップしたときは
通信障害などにより一時的にレプリケーションがストップしたときは、データはプライマリノードにだけ書き込まれます。このため、サービスは停止しません が、2台のコンピュータのデータには不整合が生じます。しかし障害が復旧すると、DRBDは不整合部分を自動的に検出し、ディスク内容を一致させるための 同期作業を自動的に実行します。
このように、DRBDの動作は高度に自動化されています。このため、クラスタシステムやバックアップシステムの運用管理の省力化がはかれます。
特徴:最大16テラバイトのレプリケーション
DRBDは、最大16テラバイトのファイルシステムのレプリケーションをサポートします。しかも同時に複数セットのレプリケーションも可能なので、数十テラバイトのデータのレプリケーションといった大規模なシステムにも適用できます。
特徴:WAN回線対応
回線障害時の再同期を高速化するチェックサムアルゴリズムを備えており、遠隔地のコンピュータとの間のデータレプリケーションにも安心して利用できます。
特徴:最大4台のレプリケーション
DRBDは、最大4台のコンピュータ間のレプリケーションをサポートします。災害対策(ディザスタリカバリ)や事業継続(BCP)の観点から、サーバのデータをリアルタイムに遠隔地に複製し、さらにサービスの冗長化も実現できます。Webアプリケーションやメールなど、一度失ったら再取得できないデータも安全に保護できます。
基本構成
- フェイルオーバー型クラスタ(Active-Passive)
- DRBD(ネットワーク経由でのミラーリング)とHeartbeat(死活監視)の組み合わせによりクラスタ構成となる。
- 現用系1台と待機系1台の2台構成
障害発生時の切り替わり
- 現用系での障害をHeartbeatが検知
⇒ クライアントからの接続先を待機系へ切り替える。
⇒MySQLは待機系で起動
⇒待機系にてサービス提供開始 - フェイルオーバーにかかる時間は数十秒
拡張構成
- DRBDにレプリケーションを組み合わせる構成
- DRBD部分を更新用DBとし、障害時の可用性を確保
- レプリケーション部分を参照用DBとし、参照処理能力を大幅に強化
- レプリケーションはMySQLサーバのみで追加できるため、最小限のコストで構築可能
メリット
- オープンソースを利用しているため、安価に構築できる。
- レプリケーション構成と組み合わせることにより、高可用性と負荷分散を可能とする。
デメリット
- 設定や運用における難易度が高く、専門知識を持つ技術者の支援が必須
DRBDをエンタープライズ環境にてご利用いただくために
オープンソースであるMySQLとDRBDを利用したシステムは、企業ユーザにとって初期導入時のライセンス費用およびソフトウェア保守費用におけるコスト削減という大きなメリットをもたらします。しかしながら、エンタープライズ環境でのシステム構築や運用におけるノウハウの不足が重要な課題となっており、ユーザ企業への負担も大きなものとなっています。
現在では、MySQL、DRBD共に有償のサポートサービスを購入することで、商用クラスタソリューションとして、様々なエンタープライズ環境にて安心して使用することが可能となっております。
導入・構築時の技術サポート
MySQLソリューションの技術ノウハウを有するスマートスタイルとDRBDソリューションの技術ノウハウを有するサードウェア社の協業により、商用クラスタソリューションと同等な品質でのクラスタ環境構築が可能となります。
スマートスタイルとサードウェア社との協業内容の詳細は、プレスリリースをご覧ください。
導入後の技術サポート
運用マニュアル作成やトレーニングの提供から、負荷対策、運用支援まで幅広い技術サポートをご利用いただけます。
24時間365日サポート
サン・マイクロシステムズ社が提供するMySQL有償サポート(MySQL Enterprise)が、DRBDを正式にサポートしておりますので、万一の場合も安心です。