仮想環境に PVE をインストールしてクラスタを構築、ノードの削除を試してみた。
結論からいうと、全く問題なくノードを削除することができた。
以前は消せなかった /etc/pve/nodes/pve2 も難なく削除できた。
試した手順は、
- 仮想マシン pve1 と pve2 を作成する。
- それぞれ PVE をインストールする。IP アドレスは例として
pve1 : 192.168.1.201
pve2 : 192.168.1.202 - pve1 にクラスタを作成する。
- pve2 に ssh でログインして、クラスタに参加させる。
- pve2 が故障したとしてシャットダウンする。
- pve1 に ssh でログインして、ノード pve2 を削除する。
- pve1 を再起動して、/etc/pve/nodes/pve2 を削除する。
- 再度、pve2 に PVE をインストールして、クラスタに参加させる。
目次
pve2 をクラスタに参加させる。
参加前の初期状態
クラスタの作成とノード pve2 の参加
クラスタの作成は管理画面からポチポチと。ノード pve2 の参加も管理画面から可能だけど、次のコマンドでOK。
root@pve2:~# pvecm add 192.168.1.201
Please enter superuser (root) password for '192.168.1.201': ********
Establishing API connection with host '192.168.1.201'
The authenticity of host '192.168.1.201' can't be established.
X509 SHA256 key fingerprint is FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF.
Are you sure you want to continue connecting (yes/no)? yes
Login succeeded.
check cluster join API version
No cluster network links passed explicitly, fallback to local node IP '192.168.1.202'
Request addition of this node
Join request OK, finishing setup locally
stopping pve-cluster service
backup old database to '/var/lib/pve-cluster/backup/config-1619184738.sql.gz'
waiting for quorum...OK
(re)generate node files
generate new node certificate
merge authorized SSH keys and known hosts
generated new node certificate, restart pveproxy and pvedaemon services
successfully added node 'pve2' to cluster.
root@pve2:~#
ノード pve2 の参加後
ノード pve2 を削除する。
root@pve1:~# pvecm nodes
Membership information
----------------------
Nodeid Votes Name
1 1 pve1 (local)
2 1 pve2
root@pve1:~#
root@pve1:~#
root@pve1:~# pvecm delnode pve2
Killing node 2
root@pve1:~#
不要になったノード pve2 のディレクトリを削除する。
root@pve1:~# ls /etc/pve/nodes/
pve1 pve2
root@pve1:~#
root@pve1:~#
root@pve1:~# rm -rf /etc/pve/nodes/pve2
root@pve1:~# ls /etc/pve/nodes/
pve1
root@pve1:~#
ドキュメントどおりの手順で何も問題なかった。
仮想マシンの有無とか違いはあるけれど、以前にうまく行かなかった原因は不明のまま。
ちなみに、ゲストの仮想マシンを1台だけ作成、PVE をインストールして、ホストの所属するクラスタに参加させることもできる。
コメント