2 つまたはそれ以上のシステムが同じデータに同時にアクセスすることを提供するには、これらにデータを共有する方法がなければなりません。これは、一見した以上に、実際には行うのが困難です。データが頻繁に変更される場合、すべてのシステムの同期を維持する方法が必要です。この項では、データを共有するのに使用できるいくつかのソフトウェアおよびハードウェアソリューションを紹介します。
最も簡単な共有ストレージメカニズムは、ソフトウェアを使用して行います。不運にもハードウェアソリューションの方がより強力で強固ですが、多くの場合、データの共有に単純なソフトウェア方法を使用できます。
データを共有する最も基本的な方法は、各サーバーにデータをコピーすることです。もちろん、これはデータがあまり変更されず、クラスタを構成するすべてのノードに管理者としてのアクセス権を持つユーザーによって行われる必要があります。
Turbolinux Cluster LoadBalancer 11 は、2 つの同期化ツールを搭載しています。1 つは、サーバーの構成を同期化するのに使用します。もう 1 つは、コンテンツを同期化するのに使用します。これらのツールは直接実行するか、 turboclusteradmin プログラムを使用してアクセスできます。これらのツールについては、第7章 で詳しく説明します。データの整合性を保持するために同期化ツールを使用できる場合は、おそらくそれが最も簡単なソリューションであることがわかるでしょう。これらのツールは、複雑な管理を必要とせずにデータの冗長性を提供します。
この他にも、データを複製する方法があります。最も一般的に使用されているレプリケーションシステムの 1 つは、Lightweight Directory Access Protocol(LDAP)です。LDAP によって、複数のシステムに複製されるデータベースを保持できます。LDAP はデータベースに冗長性と信頼性を提供し、比較的簡単にセットアップできます。LDAP は汎用目的のデータベースではなく、SQL を実装していません。これは、ネットワーク情報のディレクトリとして意図されたもので、オブジェクトベースです。しかし、ユーザーのニーズに合うよう適合させることが可能です。
データの変更が頻繁すぎて手動で同期化ができない場合は、分散ファイルシステムの使用を検討してください。ここで選択できるシステムとしては、NFS、AFS、DFS、Coda、Intermezzo、および GFS などがあります。
一般に、UNIX と Linux システムはネットワーク上でデータを共有するのに NFS を使用します。NFS はよく使用されているシステムで、サーバーまたはクライアントとして簡単に構成できます。しかし、NFS には数多くの問題があります。NFS はセキュリティがあまり優れておらず、複数のシステムにデータを複製する機能もありません。したがって、NFS を使用する場合は依然として SPOF(single point of failure)が発生する可能性があり、これがまず最初にクラスタを作成しようとする理由の 1 つになるのかもしれません。NFS の不足部分を解決するいくつかの新しい分散ファイルシステムが開発されていますが、どのシステムも NFS を置き換えるのにはまだ十分ではありません。
この不安定な認証メカニズムを置き換える NFS で、かなり一般的な代替システムの 1 つは、AFS(Andrew File System)です。AFS は、ピッツバーグにあるカーネギーメロン大学の Andrew プロジェクトの副産物として作成されたものです。AFS は、ライセンスされた商用ソフトウェアです。AFS の最も重要な機能は、Kerberos プロトコルをもとにしたそのセキュア認証メカニズムです。AFS には、セキュリティの面においても NFS より好ましくなるよう数多くのパフォーマンス、使用法、および管理に対する強化が行われています。
AFS に密接に関連しているのは、Transarc の分散ファイルシステム(Distributed File System:DFS)です。ともに、Transarc から商用で提供されています。DFS はエンタープライズレベルの共有ストレージソリューションで、洗練された複製機能と負荷分散機能が含まれています。DFS の主要な設計目標は、管理の容易な集中化を可能にする、企業内のドメインとネットワークにおける透過性です。
Coda ファイルシステムは Open Source の分散ファイルシステムで、現在 Linux カーネルと一緒に提供されています。Coda は AFS によく似たシステムを作成し、さらにより現代的な機能が含まれています。これは、部分ネットワーク障害時の切断操作、サーバー側複製、継続操作、およびスケーラビリティとバンド幅適合機能を提供することによって、いくつかの可用性の問題を解決します。
Intermezzo は、もう 1 つの Open Source の分散ファイルシステムです。Intermezzo の利点の 1 つは、ネイティブファイルシステムより上のレイヤに位置し、データを保管するのにネイティブファイルシステムを使用できることです。これは、Coda よりも現代的なコンピューティング環境と設備機能です。Coda のように、Intermezzo は高可用性、大規模複製、および切断ネットワークを強調しています。詳細については、http://www.inter-mezzo.org/で確認できます。
最良な分散ファイルシステムソリューションの 1 つは、グローバルファイルシステム(Global File System:GFS)です。このソリューションには、ファイルシステムソフトウェアに加えて、ハードウェアサポートが必要です。ハードドライブは、ファイルシステムに参加しているすべてのシステム(つまりクラスタにあるすべてのノード)に直接アタッチされていなければなりません。これは、double-ended SCSI またはファイバーチャネルを使用して行えます。
最もハイエンドな共有データストレージシステムは、ハードウェアベースです。使用されている 2 つの主要技術は、Storage Area Network(SAN)と Network-Attached Storage(NAS)です。ソリューションは、ファイバーチャネルと double-ended SCSI チェーンを使用して実装することもできます。
Storage Area Network(SAN)は高度なフォルトトレラントで、完全に信頼できるデータ供給操作を提供する目的に専念した分散ネットワークです。概念的に、SAN はアプリケーションサーバーと物理記憶デバイスとの間に位置するレイヤで、それ自身が NAS デバイス、データベースサーバー、従来のファイルサーバー、またはニアラインおよびアーカイブ記憶デバイスである場合があります。SAN に関連付けられたソフトウェアは、このすべてのバックエンドストレージを透過的にし、集中化された管理を提供します。
SAN の主な機能の違いは、それが完全に別のネットワークとして実行され、たいていは専有の、またはストレージベースのネットワーキング技術を実装していることです。近頃のほとんどの SAN は、ファイバーチャネルの使用に移行されています。明確にすべきなのは、SAN の実装を行うのはそう簡単ではないということです。SAN の管理には、おそらく専用のサポート要員が必要になります。したがって、SAN は大規模なエンタープライズ環境でのみ最もよく使用されています。
NAS デバイスは、基本的に古いスタイルのファイルサーバーで、閉鎖的なシステムに変わっています。NAS デバイスの各最終クロックサイクルは、ディスクからネットワークにデータを移動することに専念しています。これは、アプリケーションサーバー(メールサーバー、Web サーバー、またはデータベースサーバーなど)をファイル操作に関連するオーバーヘッドから解放するのに非常に役立ちます。
NAS デバイスの別の考え方は、イーサネットカードを含むハードドライブおよび依存しているファイル供給ソフトウェアとしてのデバイスです。ファイルサーバー上の NAS ボックスの利点は、NAS デバイスが自己充足型で管理が少なくてすむことです。もう 1 つの主要な利点は、NAS ボックスがプラットフォームに依存しないことです。多目的記憶デバイスとして、NAS ボックスは Windows や UNIX クライアントのように透過的に動作できます。
フェイルオーバークラスタリングは、リモート記憶デバイスが単にローカルネットワークに存在する場合に、パフォーマンスへの大きな影響もなく冗長サーバーがそれらのデバイスにアクセスする方法がなければ現実的ではありません。この問題の 2 つの一般的なソリューションは、double-ended SCSI とファイバーチャネルです。
double-ended SCSI は differential SCSI としても知られており、より長い SCSI ケーブルを可能にするために SCSI の設計に冗長性を開発することによって、現実的な高速外付け記憶デバイスを作成します。single-ended SCSI ケーブルでは、他のすべてのシグナルラインは実際には地面に置かれています。double-ended SCSI はこれらの冗長した地面のラインを使用して、電圧を逆にすることによって近接したシグナルラインと同じシグナルを送ります。ネットへの影響は、シグナルの強さが 2 倍になるため、可能なケーブルの長さがシグナルを失うことなく数フィートまで長くできるようになります。外部デバイスを使用しているコンピュータが多少隣接している場合は、double-ended SCSI で十分です。
ファイバーチャネルインターフェイスは、実際にはファイバーオプティックケーブルを使用して、高速ネットワークインターフェイスが行うのとほぼ同じ方法で、暗号化された SCSI シグナルを光レーザーを介して送ります。これらは本質的には高いバンド幅で無制限のローカル範囲(6 マイルまで)を持ち、SAN を実装する主要技術です。もちろん、これらは厳密にローカルインターフェイスと比べるとかなり高価になります。