クラスタを構築する
Proxmox が2つ以上稼働しているのであれば、クラスタ構築をしたほうが色々と便利です。できれば3台以上が。。。と言われているようですが、とりあえず我が家には2つ Proxmox を起動しているのでクラスタを構築してみます。(やっとかよw)
そして不用意にProxmoxを電源OFFしたときの対応としてWOLできるようにしてみます(実はこれがやりたかった、少しはまった)。実はこれがすごい便利でお勧めしたかった。
あと。クラスター構築する場合の前提は以下のサイトを参照するとよいです。
クラスタの構築
クラスターの構築後は、IP/ホスト名/ノード名/クラスタ名の変更ができない(手動で設定情報を消せばいいらしいが…)ので、ある程度お試ししてから構築することをお勧めします。
そして我が家でためした環境。
IP | ノード名 | その他 |
---|---|---|
192.168.0.10 | sea-bird3 | |
192.168.0.20 | sea-bird4 | VM/LXCは未作成状態 |
クラスタの作成
Proxmoxで主(ノードなんで主副ないですけどねw)とするノード(ここでは sea-bird3)で、”データセンター>クラスタ>クラスタの作成” でクラスタを新規作成します。クラスタ名は後で変更できないので注意して作成します。後で修正すればいいやと ”hoge” とかすると後悔する(自分)。
で、作成ボタン押下すると。
この段階で一旦ログアウトします。そしてログインします。
クラスタの作成後に(ここ非常に重要)
この後で困ることがあり、Proxmox をインストールした後に IPアドレスを変更するとクラスタ参加時にエラーが発生します。ですのでこの段階でも良いので ”IPアドレス” を変更したかな?っていう時には、下記を確認します(もちろんDHCPじゃだめだよー)。
- ホスト>システム>ネットワーク で 主Network NICのIPアドレスを確認/編集する。
- ホスト>システム>ホスト名> で ホスト名に紐付けられたIPアドレスを確認/編集する。
クラスタの参加
まず、Chromeでもなんでもいいので好きなブラウザを立ち上げて、2つのタブを作っておきます。
前提として ”ホスト>クラスタ>” メニューまで進んでいることで話を勧めます。
1つ目のタブで、主ノードsea-bird3にログインしクラスタjoin情報(”Join情報”ボタンを押下)画面の ”情報をコピー”ボタンを押下します(コピー)。
そして2つ目のブラウザで、副ノードsea-bird4にログインしクラスタjoin(”クラスタ参加”ボタンを押下)画面が表示されるを確認し。”エンコードされたクラスタ情報をここに貼り付け” とあるのでペースト(ctel+V)します。
すると下記のようになるので "パスワード"(ここでは、主ノードのパスワード)が赤枠になっているのでパスワードを入力します。あと ”join "test-cluster"”ボタン押下するだけ。
※この画面 ”クラスタネットワーク>Link” が赤枠になっているのは、これ上記で説明した ipアドレスを変更した場合にちゃんと2ケ所修正しないとこのようになります…しくったw
クラスタに参加できない場合の対応
エラーとなりましたー。下記画面で言われているのは、2つエラーがあります。
まず1つ目。参加対象のノード(ここでは副のほう)に、”VM/LXCが既に存在するよ!と”怒られています。これクラスタ上に参加したノードで重複するIDを許容していないからです(当たり前すね)。VM/LXCを全てバックアップした後にVM/LXCを全て削除しましょう。
detected the following error(s):
* this host already contains virtual guests
2つ目。これは上記でも説明したように Proxmox インストール後に ipアドレスを変更した場合です。ネットワークとホスト名に紐付けられたIPアドレスを確認して修正/設定すればよし。
detected the following error(s):
* local node address: cannot use IP '<変更前IPアドレス>', not found on local node!
できたー
WOLで起動してみます、そして…
Proxmoxのホストネットワークアダプタに対しWOL設定済みとして話を進めます。
とりあえず副ノードをシャットダウンします。
"Wake-on-LAN" を選択して。。。どきどき。
あれ?起動できなくて怒られました。
調べた結果、'g'(有効)であってもProxmoxのGUIからWOL起動するためには、各ノードでpvenode
コマンドにより個別設定する必要があるとのこと。仕方ないので NICのMACを調べ・・・。副ノードのProxmoxで…。
# pvenode config set -wakeonlan 7c:83:34:b9:b9:41
# pvenode config get
wakeonlan: 7c:83:34:b9:b9:41
そして
できました!!!。そして主ノードを設定するの忘れてorz。
ちなみに pvenode
コマンドは、すべてのノードが起動していることが前提となります(ここ注意)。
クラスタからノードを削除
何度かノードを削除してるのだけど毎回ぐぐってしまうのでメモです。
いまの状態を確認する。
# pvecm nodes
Membership information
----------------------
Nodeid Votes Name
1 1 sea-bird3 (local)
2 1 sea-bird4
ノード2を削除する。
# pvecm delnode sea-bird4
Killing node 2
WebUIにゴミがのこるので・・・
# cd /etc/pve/nodes/
# ls
sea-bird3 sea-bird4
# rm -rf sea-bird4
感想
クラスタ化したおかげでProxmoxを切り替えることなく使えるのがいいですね。
参考にさせて頂いたサイト様