
どういう意味か
クラスタ内の各サーバーは、ノードと呼ばれます。ノード同士は常に通信し、処理を分担しています。あるノードが応答しなくなると、残りのノードがそれに気づき、そのワークロードを別のノードで再起動します。これを高可用性と呼びます。ワークロードを再起動するため、その間、ユーザーには短い中断が発生します。
壊れたクラスタの両側が、それぞれ自分が主導権を持っていると思い込むのを避けるため、ノードはクォーラムを使います。クォーラムとは、クラスタが動作する前に、過半数のノードが合意する必要があるという意味で、そのため通常は最低3ノードが必要です。
ワークロードを移動できるのは、すべてのノードがそのデータにアクセスできる場合だけです。そのためには、共有ストレージか、ノード間で複製されるストレージが必要です。この考え方は、Proxmox VE、Cephストレージ、Kubernetesに当てはまります。仮想化で説明しているように、仮想マシンをサーバー間で移動できるのも、この仕組みのおかげです。
企業にとって重要な理由
- 障害に耐える:サーバーの故障や電源の不具合があっても、ハードウェアが修理されるまで続く停止ではなく、ワークロードが再起動するまでの数分で済みます。
- 計画的なメンテナンス:他のノードが動き続けている間に、1つずつノードを更新できます。
- 拡張の余地:ノードを追加すれば、システム全体を入れ替えなくても容量が増えます。
- かかる費用:クラスタには、より多くのハードウェア、良好なネットワーク、より慎重な設計が必要です。また、ミスや攻撃はすべてのノードにコピーされるため、バックアップの代わりにはなりません。
当社の業務での関わり
当社は、高可用性とライブマイグレーションを備えたProxmox VEクラスタと、そのための共有ストレージを提供するCephクラスタを構築しています。Talos Linux上のKubernetesも構築します。当社自身のインフラも、ProxmoxとCephで動いています。当社が構築するクラスタ上の仮想マシンは、Proxmox Backup Serverでバックアップされ、リストアもテストされます。
関連サービス
Proxmoxコンサルティング
高可用性とライブマイグレーションを備えたクラスタ。
Cephストレージ
ノード間で共有するブロック、ファイル、オブジェクトのストレージ。
LinuxとKubernetes
Talos Linux上のKubernetesクラスタ。
詳しく見る
- Wikipediaのコンピュータクラスタクラスタの構築方法と使われ方についての中立的な概要。一般の読者にも役立ちます。
- Wikipediaの高可用性クラスタフェイルオーバーと、冗長化がサービスを動かし続ける理由を解説しています。稼働時間の要件を検討している読者向けです。
- Proxmox VEのドキュメント管理者向けに書かれた、クラスタと高可用性についての公式の章。