Proxmox8 を試してみる　その１８　クラスタを構築してみる/WOLにも対応してみる

# クラスタを構築する
Proxmox が２つ以上稼働しているのであれば、クラスタ構築をしたほうが色々と便利です。できれば３台以上が。。。と言われているようですが、とりあえず我が家には２つ Proxmox を起動しているのでクラスタを構築してみます。（やっとかよｗ）

そして不用意にProxmoxを電源OFFしたときの対応としてWOLできるようにしてみます（実はこれがやりたかった、少しはまった）。実はこれがすごい便利でお勧めしたかった。

あと。クラスター構築する場合の前提は以下のサイトを参照するとよいです。

https://qiita.com/yuuri23/items/7d3bc77b441728f8621b#%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC%E3%81%AE%E6%A7%8B%E7%AF%89%E8%A6%81%E4%BB%B6

# クラスタの構築
クラスターの構築後は、IP/ホスト名/ノード名/クラスタ名の変更ができない（手動で設定情報を消せばいいらしいが…）ので、ある程度お試ししてから構築することをお勧めします。

そして我が家でためした環境。


| IP | ノード名 | その他 |
|:-:|:-:|:-:|
|192.168.0.10|sea-bird3||
|192.168.0.20|sea-bird4|VM/LXCは未作成状態|

## クラスタの作成
Proxmoxで主（ノードなんで主副ないですけどねｗ）とするノード（ここでは sea-bird3）で、”データセンター＞クラスタ＞クラスタの作成” でクラスタを新規作成します。クラスタ名は後で変更できないので注意して作成します。後で修正すればいいやと ”hoge” とかすると後悔する（自分）。

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/9333ef7f-f18d-9770-273a-bb36c205681b.png)

で、作成ボタン押下すると。

![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/ebc2b2a6-fe7a-5412-4fc6-160760d612c5.png)

この段階で一旦ログアウトします。そしてログインします。

## クラスタの作成後に（ここ非常に重要）
この後で困ることがあり、Proxmox をインストールした後に IPアドレスを変更するとクラスタ参加時にエラーが発生します。ですのでこの段階でも良いので ”IPアドレス” を変更したかな？っていう時には、下記を確認します（もちろんDHCPじゃだめだよー）。

- ホスト＞システム＞ネットワーク で 主Network NICのIPアドレスを確認/編集する。
- ホスト＞システム＞ホスト名＞ で ホスト名に紐付けられたIPアドレスを確認/編集する。

# クラスタの参加
まず、Chromeでもなんでもいいので好きなブラウザを立ち上げて、２つのタブを作っておきます。
前提として ”ホスト＞クラスタ＞” メニューまで進んでいることで話を勧めます。

１つ目のタブで、主ノードsea-bird3にログインしクラスタjoin情報（”Join情報”ボタンを押下）画面の ”情報をコピー”ボタンを押下します（コピー）。

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/3df6f610-ed00-4aa6-c7a3-767e3aa0168e.png)


そして２つ目のブラウザで、副ノードsea-bird4にログインしクラスタjoin（”クラスタ参加”ボタンを押下）画面が表示されるを確認し。”エンコードされたクラスタ情報をここに貼り付け” とあるのでペースト（ctel+V）します。

![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/45697b7a-ccc6-ab18-2269-0599bf77e775.png)

すると下記のようになるので "パスワード"（ここでは、主ノードのパスワード）が赤枠になっているのでパスワードを入力します。あと ”join "test-cluster"”ボタン押下するだけ。

![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/3f4cb3af-fa6d-eda8-5534-ec38188c5a34.png)

※この画面 ”クラスタネットワーク＞Link” が赤枠になっているのは、これ上記で説明した ipアドレスを変更した場合にちゃんと２ケ所修正しないとこのようになります…しくったｗ

# クラスタに参加できない場合の対応
エラーとなりましたー。下記画面で言われているのは、２つエラーがあります。

![07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/76afa3a6-d729-01e3-751c-78bac5abfa3a.png)

まず１つ目。参加対象のノード（ここでは副のほう）に、”VM/LXCが既に存在するよ！と”怒られています。これクラスタ上に参加したノードで重複するIDを許容していないからです（当たり前すね）。VM/LXCを全てバックアップした後にVM/LXCを全て削除しましょう。

```text
detected the following error(s):
* this host already contains virtual guests
```

２つ目。これは上記でも説明したように Proxmox インストール後に ipアドレスを変更した場合です。ネットワークとホスト名に紐付けられたIPアドレスを確認して修正/設定すればよし。

```text
detected the following error(s):
* local node address: cannot use IP '<変更前IPアドレス>', not found on local node!
```

# できたー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/3dec5cd0-b6ae-f540-4767-b6171d2cdcc0.png)

# WOLで起動してみます、そして…
Proxmoxのホストネットワークアダプタに対しWOL設定済みとして話を進めます。
とりあえず副ノードをシャットダウンします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/a463357f-3c19-bfc6-1730-3ca0e19d8d18.png)

"Wake-on-LAN" を選択して。。。どきどき。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/ee8fe6e0-2c84-fe30-adc8-9d3243a2192c.png)

あれ？起動できなくて怒られました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/e1374636-b2a2-93a5-b72c-2b538cedbb4c.png)

調べた結果、'g'（有効）であってもProxmoxのGUIからWOL起動するためには、各ノードで`pvenode` コマンドにより個別設定する必要があるとのこと。仕方ないので NICのMACを調べ・・・。副ノードのProxmoxで…。

```text
# pvenode config set -wakeonlan 7c:83:34:b9:b9:41
# pvenode config get
wakeonlan: 7c:83:34:b9:b9:41
```

そして

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44540/31d7390e-a5cc-51ef-5acc-23be6a33752d.png)

できました！！！。そして主ノードを設定するの忘れてorz。
ちなみに `pvenode` コマンドは、すべてのノードが起動していることが前提となります（ここ注意）。

# クラスタからノードを削除
何度かノードを削除してるのだけど毎回ぐぐってしまうのでメモです。

いまの状態を確認する。

```text
# pvecm nodes

Membership information
----------------------
    Nodeid      Votes Name
         1          1 sea-bird3 (local)
         2          1 sea-bird4
```

ノード２を削除する。

```text
# pvecm delnode sea-bird4
Killing node 2
```

WebUIにゴミがのこるので・・・

```text
# cd /etc/pve/nodes/
# ls
sea-bird3  sea-bird4

# rm -rf sea-bird4
```

https://yo7612.com/archives/159





# 感想
クラスタ化したおかげでProxmoxを切り替えることなく使えるのがいいですね。

# 参考にさせて頂いたサイト様

https://qiita.com/yuuri23/items/7d3bc77b441728f8621b#%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC%E3%81%AE%E6%A7%8B%E7%AF%89%E8%A6%81%E4%BB%B6

https://scominc.co.jp/blog/2019/05/post-2.html

https://ragy.work/?p=27

https://qiita.com/murachi1208/items/53d6e728d5834e50c316