Proxmox VE 8 複数ノードでクラスタを構築する

公開

ここまで順調に増やしてきたProxmox VEノードの一元管理や、仮想マシンのノード間マイグレーションのために、まずは2つのノードでクラスタを構築します。

Proxmox VE 各ノード

これまでに余剰機材や、既存のVMware ESXiハイパバイザを潰して構築したProxmox VEノードは、以下の2っ。

今後も既存のVMware ESXiハイパバイザを潰してProxmox VEへ全面移行するつもりなので、ここで各ノードの一元管理やマイグレーション、バックアップのためにクラスタを構築しておきます。

 

クラスタ構築時の注意

Proxmox VEノード群でクラスタを構成するにはまず、任意のノードでクラスタを新規作成後、生成される情報を元に他方のノードがそのクラスタへ参加(ジョイン)するという流れになります。

但しこの時、既存のクラスタへ参加するノードには、仮想マシンやコンテナが1つも存在しないことが必要で、さもないと参加のタスクが失敗終了します。

図01.クラスタ参加エラー

図01.クラスタ参加エラー

クラスタ構築

現在、2つのノードのうち、ゲストの無い空っぽのノードが1つあるのでこれを後回しにして、既にゲストVMのあるノード pve77 のWebUIを開き、 Datacenter > Cluster より Create Cluster ボタンを押し、任意の名前を入力してクラスタを作成します。

図02.クラスタの新規作成

図02.クラスタの新規作成

クラスタ作成のタスクはほどなく完走。

図03.クラスタ作成タスク完走

図03.クラスタ作成タスク完走

先ほどのクラスタ情報ページでクラスタメンバ一覧に自身のノードが現れました。ここで Join Information ボタンを押して、このクラスタへ他ノードが参加する際に必要な情報をコピーしておきます。

図04.クラスタ参加情報の取得

図04.クラスタ参加情報の取得

次にもう一つのノードのWebUIを開き、同じクラスタ情報ページを開いて、ここでは Join Cluster ボタンを押して先ほどのクラスタ情報を貼り付けます。

図05.既存クラスタへの参加

図05.既存クラスタへの参加

Join ボタンを押すとクラスタ情報がほぼ入力済みの状態になるも、Peerの Password は空欄になっているはずです。ここには、クラスタを作成したノードのrootパスワードを入力して、クラスタへの参加します。

これでWebUIを再読み込みすると、2つのノードがクラスタの下にツリー表示されるようになりました。

図06.2ノードのクラスタ構成

図06.2ノードのクラスタ構成

ノードのストレージを登録

さて、上図において後からクラスタへ参加したノード pve21 の下に、本来あるはずの2つのLVM-Thinストレージが見当たりません。そこで、 Datacenter > Storage ページを開くと、ローカルシステム以外で存在しているのは、クラスタを作成した pve77 のストレージ VD1 のみ。

図07.クラスタの登録済ストレージ

図07.クラスタの登録済ストレージ

Add ボタンを押して LVM-Thin を選択、表示させたい2つのストレージを1つずつ登録します。

図08.クラスタへストレージを登録

図08.クラスタへストレージを登録

こうして pve21 の下にストレージが現れたのですが、よく見ると他方のノード pve77 にも同じものが現れてしまいました。

図09.両ノードに現れたストレージ

図09.両ノードに現れたストレージ

先ほどのストレージ登録ウィンドウへ戻り、 Nodes 項がデフォルトでは All となってしまっているのを、見せたいノード(つまり自ノード)を指定することに。

図10.ストレージの登録設定編集

図10.ストレージの登録設定編集

これで、登録したストレージが自身のノードのみに表示されるようになりました。

図11.自身のストレージのみ表示

図11.自身のストレージのみ表示

推奨される最小ノード数

Proxmoxに限らず、分散コンピューティングにおいて、耐障害性のあるクラスタ構成には最低3以上の奇数ノードが推奨されているのだそうです。各ノード1の投票数(Vote)を有しており、クラスタ内でその合計数が過半数(Quorum)を超えていないと正常なサービスができなくなります。つまり、

  • 2ノードクラスタに必要な投票数は2。
  • 3ノードクラスタに必要な投票数は2。

となるわけで、耐障害性を目的としたクラスタリングでは3以上の奇数ノードで構成しましょう、というカラクリです。実際にもう一つノードを加えた3ノードクラスタの状態を、CLIで確認してみました。

ここからはトリッキーなので完全に自己責任ですが、調べてみるとノード当たりの投票数を1より増やしてしまうことで過半数割れを回避するハックや、

実際にはProxmoxシステムではないが、クラスタに参加して投票をするだけのデバイス(QdeviceとかWitnessと称される)を用意する手法があるようです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA