分散コンピューティング環境では、複数の場所に類似または同一のサーバーを配置しなければならないことがよくあります。このような環境としては ISP、地理的に分散している営業所、電気通信のサービスプロバイダなどが挙げられます。分散コンピューティング環境に配置されたサーバーは、次のようなサービスを提供します。
ルーターまたはファイアウォールサービス
電子メールサービス
DNS キャッシュ
Usenet (ネットワークニュース) サーバー
DHCP サービス
その他、さまざまな場所で最適な形で提供されるサービス
これらの小規模なサーバーは、次のような共通する要件を満たす必要があります。
高い信頼性
高い可用性
汎用性と性能に優れたハードウェア
最初の例として、SCSI バスを 1 つ、内蔵ディスクを 2 つ備えた NetraTM サーバーを取り上げます。これはそのまま使用できる構成なので、分散型サーバーの出発点に適しています。Solaris ボリュームマネージャを使えば、一部またはすべてのスライスをミラー化し、冗長記憶領域を構成することにより、ディスク障害に対する保護機能を簡単に強化できます。次の図に、この小規模サーバー構成の例を示します。
この構成では、ルート (/)、/usr、swap、/var および、/export ファイルシステムに加え、状態データベースの複製 (ディスクごとに 1 つ) をミラー化できます。したがって、ミラーの片側で障害が発生しても、必ずしもシステム障害にはつながりません。また、最大 5 つの個別の障害に耐えられます。しかし、このシステムは、ディスクやスライスの障害に対して十分に保護されているとはいえません。さまざまな潜在的な障害によって致命的なシステム障害が引き起こされ、オペレータの介入が必要になる場合があります。
この構成は致命的なディスク障害に対してある程度の保護機能を備えていますが、次のような重大な単一点障害が存在します。
1 つの SCSI コントローラが単一点障害の原因となり得ます。コントローラに障害が発生すると、そのコントローラが交換されるまでシステムは停止します。
2 つのディスクでは、状態データベースの複製の分散という観点からは十分とはいえません。多数決アルゴリズムでは、状態データベースの複製の半数が使用可能であることがシステム動作継続の条件になります。このアルゴリズムではさらに、過半数 (半数プラス 1) の複製がリブートの条件です。したがって、各ディスクに 1 つずつ状態データベースの複製があり、1 つのディスクまたは複製が格納されているスライスで障害が発生した場合は、システムをリブートできません。その結果、ミラー化されたルート (/) ファイルシステムが無効になります。各ディスクに状態データベースの複製が 2 つ以上ある場合は、1 つのスライスで障害が発生しても、問題になることはほとんどありません。ただし、ディスク障害の場合はやはり、リブートできません。各ディスクに異なる数の複製がある場合には、一方のディスクに半数を超える数の複製が、他方のディスクには半数未満の複製が存在します。複製の数が少ない方のディスクに障害が発生しても、システムはリブートし、動作を続けられますが、複製の数が多い方のディスクに障害が発生すると、システムはただちにパニック状態になります。
結論として、このシステムについては、1 つのコントローラと 1 つのハードドライブを追加した構成が「最善の構成」となります。このように構成を修正すると、耐障害性が大幅に向上します。