Linux Virtual Serverのアーキテクチャは、エンドユーザーに対して完全に透過的であり、ユーザーは単一の高性能仮想サーバであるかのように対話できます。
ロードバランサーは、サーバクラスタシステムの単一エントリポイントとして、Linuxカーネル内にアプリケーションレベルの負荷分散を実装します。
異なるサーバに要求をディスパッチし、クラスタの並列サービスを単一のIPアドレス上の仮想サービスとして表示します。
「指定されたスケジューリングアルゴリズム」および「各サーバの負荷状況」に従って、新しいクライアント要求をサーバに転送します。
システムのスケーラビリティは、クラスタ内のノードを透過的に追加(削除)することによって実現できます。
ロードバランサーは、ノード(デーモン)の障害を検出し、システムを適切に再構成することにより、高可用性を提供します。
すべてのサーバが過負荷になると、増加するワークロードを処理するために、新しいサーバを追加できます。
Webサービスなどは処理がシンプルであるため、異なるサーバで並列実行できます。
そのため、サーバクラスタのノード数を増やすことで、システム全体のパフォーマンスをほぼ直線的にスケールアップできます。
以下の手法で負荷分散クラスタを構成できます。
・DNSベース
・ディスパッチャーベース
共有ストレージには「データベースシステム」「ネットワークファイルシステム」「分散ファイルシステム」を使用できます。
サーバノードが動的に更新する必要のあるデータは「データベースシステム」に保存する必要があります。
サーバノードがデータベースシステムでデータを並列に読み書きする場合、データベースシステムは同時データアクセスの一貫性を保証できます。
静的データは、通常、NFS(Network File System)やCIFS(Common Internet File System)などのネットワークファイルシステムに保持されるため、すべてのサーバノードでデータを共有できます。
単一のNFS/CIFSでは、4〜8台のサーバからのデータアクセスしかサポートできません。
分散(クラスタ)ファイルシステムを共有ストレージに使用できます。
・GPFS---General Parallel File System
・Coda
・GFS---Global File System など
共有ストレージをシステム要件に応じてスケールアップすることも可能です。
参考サイト
→linuxvirtualserver.org
OSS×Cloud ACCESS RANKING