オープンソース

サーバ構築のデージーネットTOP > OSS情報 > OSS紹介 > 高可用性とクラスタ > クラスタシステムとデータ共有

クラスタシステムとデータ共有

図:クラスタシステムとデータ共有

クラスタシステムを設計する時にはデータの共有をどのように行うか。これはとても悩ましい問題です。

例えば、ノード1で動作しているファイル共有サービスを、障害発生時にはノード2で動作させるようなクラスタを構成したとします。

もし、データがノード1のローカルなハードディスクに保管されていると、ノード2でファイル共有サーバを引き継いだとしても、そこにはデータがまったくありません。これでは、利用者にとって、サービスを引き継いでいるとは言えません。サービスを引き継いでいると言うためには、障害が発生する前のコンピュータが管理していたデータも、正しく引き継がれなければいけないのです。そのため、ノード間で、どのようにファイルを共有するのかというのが、クラスタシステムでは重要なポイントになります。

クラスタシステムで良く利用されるファイル共有方法には、次のような方法があります。

共有ハードディスク

iSCSIなどの外部ディスクを使って、2つのノードから物理的に同じディスクを見ようとするものです。

高速な共有ハードディスクを利用すると、クラスタノードからも高速にアクセスできます。また、クラスタノードからは通常のハードディスクと同じように扱うことができるため、利用可能なアプリケーションにはほぼ制限がないというメリットがあります。

図:共有ハードディスク

しかしながら、欠点もいくつかあります。複数の機器から同時に共有できるハードディスク装置は、残念ながら比較的高価です。そのため、せっかくオープンソースソフトウェアを使ってクラスタシステムを構成しても、クラスタシステム全体の導入コストを抑えることができません。

また、Linuxで通常使うext4などのファイルシステムは、2つのノードから同時に読み書きを行うことができません。これは、Linuxが高速化のために、ディスクの情報をローカルなメモリ上にキャッシュして管理するためです。もし、共有ディスク上の同じ領域を2つのノードから同時に利用してしまうと、ディスク上の管理情報が2つのノードから無秩序に更新され、ファイルシステムとして一貫性が保てない状態になってしまいます。事実上、ファイルシステムは破壊され、データが失われるという大きなリスクがあります。

そのため、共有ハードディスクを利用するためには、絶対に同時利用しない仕組みを導入する必要があります。

NFSサーバ

図:NFSサーバ

複数の機器から同時に利用できるファイルシステムとしては、NFSサーバを使うのが比較的安全です。共有ハードディスクとは異なり、NFSサーバ上の管理プロセスが、処理リクエストを受けてファイルシステムを統一的に管理します。同じ情報を複数のノードから同時にアクセスしても、安全に利用することができます。

NFSサーバを利用する場合の問題点は、ファイルロックの処理をローカルハードディスクと同様に行うことができないことです。そのため、上位のアプリケーションからの利用方法を考えて設計をする必要があります。

例えば、データベースなどの、ファイルロックを多用するアプリケーションからの利用には不向きです。一方、WWWサーバのコンテンツデータなど、更新があまり行われないデータを管理するには適しています。

ネットワークミラーリング

データを物理的に完全に共有するのではなく、クラスタのノード間でデータを複製し、常に同じデータになるように管理するのがネットワークミラーリングです。

図:ネットワークミラーリング

ネットワークミラーリングを利用すると、共有ハードディスクやNFSサーバのような別の機器が必要ないため、システム全体を安く構成することができます。ネットワークミラーリングを行うためのソフトウェアにもよりますが、一般的にはローカルハードディスクと同じように扱うことができるため、利用するアプリケーションには制限がありません。そのため、幅広い用途で使うことができます。

しかし、ネットワークミラーリングを行うためには、そのための特殊なソフトウェアが必要です。また、データをコピーするための処理コストが常に必要になるため、システム全体の処理性能がやや低くなるという欠点があります。

一押しOSS情報「クラスタのOSS」

高可用性とクラスタ
高可用性とは、止まらずに動く性能ということです。HAクラスタは、この高可用性を実現するシステムです。
OSSで構築するクラスタのメリット
ここではオープンソースソフトウェアを駆使したクラスタのメリットについて紹介します。
Pacemaker
〜OSSのクラスタソフトウェア〜
Pacemakerは、クラスタシステム全体を管理するオープンソースソフトウェアです。Pacemakerが動作するには、クラスタの各ノードの管理と、ノード間の通信を行うクラスタの基盤となる仕組み(クラスタ基盤ソフト)が別に必要です。
corosync〜OSSのクラスタ管理ソフト〜
corosyncはクラスタ基盤ソフトウェアです。Pacemakerと共に使われ、通信や監視などの機能を提供します。
DRBD
〜ネットワークミラーリング用ソフト〜
DRBDは、クラスタシステムでデータ共有を行うために使われるネットワークミラーリング用のソフトウェアです。現在はオーストリアのLinbit社が開発、サポートを行っているオープンソースソフトウェアです。
クラスタシステムとデータ共有
クラスタシステムを設計する時にはデータの共有をどのように行うか。これはとても悩ましい問題です。ここではクラスタシステムで良く利用されるファイル共有方法について紹介します。
クラスタシステムのサポート
オープンソースのクラスタソフトウェアは、各種サポート付きで利用することも可能です。
Hawk〜OSSのクラスタ管理用GUI〜
Hawkでは、HAクラスタシステムの設定や管理を、ウェブインタフェースから行うことができます。そのため、コマンドラインの操作に不慣れな場合でも、HAクラスタシステムの運用・管理を簡単に行うことが可能になります。
Heartbeat〜OSSのクラスタ管理ソフト〜
HeartbeatはOSSの基盤クラスタソフトとして、もっとも代表的なソフトウェアです。Heartbeatは、クラスタノード間でのメッセージの交換、ハードウェアの制御などの機能を提供します。
クラスタ導入の注意点
クラスタシステムは、大変複雑なシステムです。ここでは、クラスタ構築を行う場合の注意点について解説します。

ご検討用の資料をご用意しております。

様々な事例を集めたモデルプラン(費用例付き)をお送りしています。

代表的な事例を集めた「モデルプラン」をお送りしています。費用の例も記載しておりますので、価格感も知って頂ける資料となっております。
ご希望の方は、下記よりお申し込みください。


モデルプランをご希望の方

各種費用についてのお問い合わせ

コンサルティング費用、設計費用、構築費用、運用費用、保守費用など、各種費用についてのお見積もりは以下のフォームよりお気軽にお問合せ下さい。


unboundやPowerDNSを使用したDNSサーバのモデルプランをご希望の方

クラスタシステムとデータ共有の先頭へ