SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

止まらないシステムはLinuxで作る!~オープンソースを活用したHAサーバ構築入門

負荷分散システム上でのハードディスクデータの同期をDRBDで実現する

第6回

メールサーバやデーターベースサーバのように、ハードディスクに記録されているデータが頻繁に更新され、そのデータがなければサービスが行えないようなサービスでは、データの共有についても考慮する必要があります。今回は、DRBDによるハードディスクのデータ共有の設定について解説します。

はじめに

 前回は、heartbeatに付属しているldirectordを使ってgatewaying型の負荷分散システムを構築するための方法について解説しました。あまりコンテンツが更新されないようなWWWサーバなど場合には、このような負荷分散の仕組みを使って、比較的簡単にシステムを冗長化することができます。しかし、メールサーバやデーターベースサーバのように、ハードディスクに記録されているデータが頻繁に更新され、そのデータがなければサービスが行えないようなサービスでは、データの共有についても考慮する必要があります。

 今回は、DRBDによるハードディスクのデータ共有の設定について解説します。

DRBDの概要

 DRBDは、ネットワークを経由してハードディスクのリアルタイムミラーリングを行うためのソフトウェアで、カーネルモジュールと管理用ソフトウェアのセットで利用します。DRBDは、Linbit社が開発・サポートを行っており、GNU Pulic Licenseに基づき配布されています。オープンソースソフトウェアですが、Linbit社から有償でサポートを受けることも可能です。また、SuSE LinuxなどのLinuxディストリビューションにも採用されています。

DRBDの機能

データ同期

 DRBDは、2台のコンピュータの間でデータの完全な同期を取る仕組みを提供します。はじめて相手のサーバとの接続を行った場合や、サーバの故障などでローカルディスクとリモートのディスクとのデータの同一性が失われたような場合には、すべてのデータをコピーするフル同期を行います。また、一時的なサーバの再起動などで、部分的に片方のサーバにデータが更新されていない場合には、更新されたデータのみをコピーする部分同期処理を行うこともできます。

リアルタイムミラーリング

 DRBDモジュールは、カーネル内のファイルシステムとディスクドライバの間で動作します。プロセスがファイルを更新すると、ファイルシステムがそのデータをハードディスクに書き込もうとします。この時、DRBDモジュールが、ローカルのディスクに書き込むのと同時に、リモートサーバのハードディスクにもデータを書き込みます。そのため、ディスクへの更新は、リアルタイムにリモートサーバにも書き込まれ、常に同じデータが保存されます。

排他制御

 ext3やraiserfsなどの通常のファイルシステムは、ハードディスクのデータが別のサーバに勝手に書き換えられるようなことを予期して作られていません。そのため、2つのサーバから同時にディスクのデータにアクセスし更新処理を行うと、ファイルシステムデータが不整合を起こし、ファイルシステムが破壊されてしまいます。こうしたことを避けるため、片方のサーバだけでファイルシステムを利用し、もう片方のサーバはファイルシステムをマウントせずに待機する必要があります。待機側のサーバでは、相手サーバで障害が発生しサービスを続けられなくなった場合のみ、ファイルシステムをマウントし処理を引き継ぎます。

 間違って両方のサーバからファイルシステムをマウントすると、データが破壊されてしまう恐れがあるため、DRBDでは2つのサーバで同時にファイルシステムを利用することができないようにするための排他制御の機能を持っています。

 なお、最近では、Oracle Cluster File SystemやGFS(Google File System)などのクラスタ用のファイルシステムを利用すると、両方のサーバから同時にデータを更新することもできるようになっています。DRBDでは、このような場合のために、排他制御を行わないようにすることもできます。

次のページ
DRBDの入手

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
止まらないシステムはLinuxで作る!~オープンソースを活用したHAサーバ構築入門連載記事一覧

もっと読む

この記事の著者

デージーネット 恒川 裕康(デージーネット ツネカワ ヒロヤス)

株式会社デージーネット 代表取締役。「より安全で」、「より快適で」、「より楽しい」インターネットの実現をテーマとして、クラスタシステムを使った高信頼サーバの構築、SPAM対策やウイルスチェック対策のためのソフトウェアの開発、携帯サイト向けのシステム開発など、オープンソースソフトウェアを活用した事業を展開して...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/581 2008/07/18 11:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング