LoginSignup
0
0

Proxmox VEのクラスタ切り離し検証

Posted at

概要

Proxmox VEでクラスタからノードを切り離してみました。クラスタからノードを切り離すためにはGUIからの操作は出来ないようです。また、切り離し後に再度組み込む際には初期化することが推奨されています。ただし、初期化せずに再組み込みを粉う事も可能とのことで、手順も公開されていましたので試験してみました。

参考: https://pve.proxmox.com/wiki/Cluster_Manager#_remove_a_cluster_node

環境

1号機: pve
2号機: pve2(切り離し対象ノード)

事前準備

切り離し対象ノードで動作している仮想マシンが無い状態にします。

切り離し

1号機での現状確認と切り離し

1号機からクラスタの構成状態を確認します。

root@pve:~# pvecm nodes

Membership information
----------------------
    Nodeid      Votes Name
         1          1 pve (local)
         2          1 pve2

切り離します。

root@pve:~# pvecm delnode pve2
Killing node 2
unable to open file '/etc/pve/corosync.conf.new.tmp.2804089' - Permission denied

エラーが出ましたが無視して、現状確認します。

root@pve:~# pvecm nodes

Membership information
----------------------
    Nodeid      Votes Name
         1          1 pve (local)

1号機からは2号機が切り離されているように見えます。

2号機での確認

2号機で状態を確認します。

root@pve2:~# systemctl status corosync
× corosync.service - Corosync Cluster Engine
     Loaded: loaded (/lib/systemd/system/corosync.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Sun 2024-06-23 13:03:50 JST; 2min 39s ago
   Duration: 14h 24min 20.974s
       Docs: man:corosync
             man:corosync.conf
             man:corosync_overview
    Process: 12479 ExecStart=/usr/sbin/corosync -f $COROSYNC_OPTIONS (code=exited, status=255/EXCEPTION)
   Main PID: 12479 (code=exited, status=255/EXCEPTION)
        CPU: 7min 41.989s

Jun 23 12:40:37 pve2 corosync[12479]:   [KNET  ] host: host: 1 (passive) best link: 1 (pri: 1)
Jun 23 12:40:38 pve2 corosync[12479]:   [KNET  ] rx: host: 1 link: 0 is up
Jun 23 12:40:38 pve2 corosync[12479]:   [KNET  ] link: Resetting MTU for link 0 because host 1 joined
Jun 23 12:40:38 pve2 corosync[12479]:   [KNET  ] host: host: 1 (passive) best link: 0 (pri: 1)
Jun 23 12:40:38 pve2 corosync[12479]:   [KNET  ] pmtud: Global data MTU changed to: 1397
Jun 23 13:03:50 pve2 corosync[12479]:   [CFG   ] Killed by node 1 : Killed by corosync-cfgtool
Jun 23 13:03:50 pve2 corosync[12479]:   [MAIN  ] Corosync Cluster Engine exiting with status -1 at cfg.c:566.
Jun 23 13:03:50 pve2 systemd[1]: corosync.service: Main process exited, code=exited, status=255/EXCEPTION
Jun 23 13:03:50 pve2 systemd[1]: corosync.service: Failed with result 'exit-code'.
Jun 23 13:03:50 pve2 systemd[1]: corosync.service: Consumed 7min 41.989s CPU time.

corosyncも停止しています。

root@pve2:~# pvecm nodes
Cannot initialize CMAP service
root@pve2:~# pvecm status
Cluster information
-------------------
Name:             pvecluster
Config Version:   2
Transport:        knet
Secure auth:      on

Cannot initialize CMAP service

ただし、クラスタの定義は残っているようで、マニュアルに記載の通り、2号機をクラスタに再組み込みする際には、Proxmox VEの再インストールが推奨されています。

再インストール無しで組み込むための処理

マニュアルには、再インストール無しで組み込むための手順が記載されていましたので試してみます。

・corosync, pve-clusterサービスの停止

root@pve2:~# systemctl stop pve-cluster
root@pve2:~# systemctl stop corosync

・クラスタファイルシステムをローカルノードで開始

root@pve2:~# pmxcfs -l
[main] notice: resolved node name 'pve2' to '192.168.11.57' for default node IP address
[main] notice: forcing local mode (although corosync.conf exists)

・corosyncの設定削除

root@pve2:~# rm /etc/pve/corosync.conf
root@pve2:~# rm -r /etc/corosync/*

・ファイルシステムを通常サービスとして起動

root@pve2:~# killall pmxcfs
root@pve2:~# systemctl start pve-cluster
root@pve2:~# systemctl status pve-cluster
● pve-cluster.service - The Proxmox VE cluster filesystem
     Loaded: loaded (/lib/systemd/system/pve-cluster.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-06-23 13:17:35 JST; 2min 30s ago
    Process: 292763 ExecStart=/usr/bin/pmxcfs (code=exited, status=0/SUCCESS)
   Main PID: 292764 (pmxcfs)
      Tasks: 6 (limit: 4620)
     Memory: 26.8M
        CPU: 203ms
     CGroup: /system.slice/pve-cluster.service
             mq292764 /usr/bin/pmxcfs

Jun 23 13:17:34 pve2 systemd[1]: Starting pve-cluster.service - The Proxmox VE cluster filesystem...
Jun 23 13:17:34 pve2 pmxcfs[292763]: [main] notice: resolved node name 'pve2' to '192.168.11.57' for default node IP address
Jun 23 13:17:34 pve2 pmxcfs[292763]: [main] notice: resolved node name 'pve2' to '192.168.11.57' for default node IP address
Jun 23 13:17:35 pve2 systemd[1]: Started pve-cluster.service - The Proxmox VE cluster filesystem.

・1号機からノード削除を削除します。

root@pve:~# pvecm delnode pve2
cluster not ready - no quorum?

・残りのノードのQuoramが失われたためにコマンドが失敗した場合、回避策としてVoteを1に設定し、再びノードを削除します。

root@pve:~# pvecm expected 1
root@pve:~# pvecm delnode pve2
trying to acquire cfs lock 'file-corosync_conf' ...
Could not kill node (error = CS_ERR_NOT_EXIST)
Killing node 2

・2号機でcorosync関連ファイルを削除します。

root@pve2:~# ls -alF /var/lib/corosync
total 12
drwxr-xr-x  2 root root 4096 Jun 22 22:39 ./
drwxr-xr-x 37 root root 4096 Jun 22 21:06 ../
-rw-------  1 root root    8 Jun 22 22:39 ringid_2
root@pve2:~# rm /var/lib/corosync/*

1号機の管理画面から、2号機が見えなくなりました。
image.png

ただし、2号機の管理画面からは1号機が見えます。

・2号機で1号機のノード定義を削除します。

root@pve2:/etc/pve/nodes# pwd
/etc/pve/nodes
root@pve2:/etc/pve/nodes# cd
root@pve2:~# ls -alF /etc/pve/nodes/pve
total 2
drwxr-xr-x 2 root www-data    0 May  5 23:30 ./
drwxr-xr-x 2 root www-data    0 May  5 23:30 ../
-rw-r----- 1 root www-data   83 Jun 23 13:03 lrm_status
drwxr-xr-x 2 root www-data    0 May  5 23:30 lxc/
drwxr-xr-x 2 root www-data    0 May  5 23:30 openvz/
drwx------ 2 root www-data    0 May  5 23:30 priv/
-rw-r----- 1 root www-data 1704 May  5 23:30 pve-ssl.key
-rw-r----- 1 root www-data 1793 May  5 23:30 pve-ssl.pem
drwxr-xr-x 2 root www-data    0 May  5 23:30 qemu-server/
-rw-r----- 1 root www-data  556 Jun 11 21:28 ssh_known_hosts
root@pve2:~# rm -Rf /etc/pve/nodes/pve

再度2号機の管理画面を見ると、1号機が見えなくなりました。
image.png

残作業

・zpoolの削除
2号機をクラスタ組み込んだ際に、1号機のzpool情報が複製されていました。2号機にはzpoolが存在しないため、削除します。
image.png

・CIFSマウントの解除
2号機でCIFSをストレージとしてマウントしていました。クラスタへの組み込みに伴いCIFSのストレージ定義が消えたにもかかわらず、マウントされたままになっています。

root@pve2:~# df -h
Filesystem               Size  Used Avail Use% Mounted on
udev                     1.9G     0  1.9G   0% /dev
tmpfs                    392M  680K  392M   1% /run
/dev/mapper/pve-root      42G  2.7G   37G   7% /
tmpfs                    2.0G   46M  1.9G   3% /dev/shm
tmpfs                    5.0M     0  5.0M   0% /run/lock
efivarfs                 128M   11K  128M   1% /sys/firmware/efi/efivars
/dev/sda2               1022M   12M 1011M   2% /boot/efi
//192.168.11.34/Private  2.5T  848G  1.7T  34% /mnt/pve/freenas
//192.168.12.34/Private  2.5T  848G  1.7T  34% /mnt/pve/freenas
tmpfs                    392M     0  392M   0% /run/user/0
/dev/fuse                128M   20K  128M   1% /etc/pve

/etc/fstabに登録されていませんでしたので、再起動することでマウントが解除されることを確認しました。

root@pve2:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
udev                  1.9G     0  1.9G   0% /dev
tmpfs                 392M  676K  392M   1% /run
/dev/mapper/pve-root   42G  2.7G   37G   7% /
tmpfs                 2.0G   40M  1.9G   3% /dev/shm
tmpfs                 5.0M     0  5.0M   0% /run/lock
efivarfs              128M   11K  128M   1% /sys/firmware/efi/efivars
/dev/sda2            1022M   12M 1011M   2% /boot/efi
/dev/fuse             128M   20K  128M   1% /etc/pve
tmpfs                 392M     0  392M   0% /run/user/0

以上の操作により、2号機をクラスタ組み込み前の状態とすることが出来ました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0