在正常情况下 Pve 要配置集群高可用需要3台以上的机器才行,因为要考虑到仲裁投票的问题。 如果2台机器配置高可用,谁也无法从投票中获胜。 会导致两台机器都认为自己离线。但是对于我们家庭用户而言,3台物理集群,的确有点过于奢侈,那么应该怎么解决呢?答案就是 qDevice!

要配置2台集群高可用应该如何配置?按照接下来的教程走吧!

1. 现将已有2台Pve组好集群。

2. 在集群的设备上安装 corosync-qdevice

apt-get install corosync-qdevice

3. 找一台网络中的linux计算机, 开启 SSH 并且 安装好 corosync-qdevice 和 corosync-qnetd

apt install corosync-qnetd corosync-qdevice
nano /etc/ssh/sshd_config
PermitRootLogin yes
systemcal restart ssh

在集群任意节点中添加 qDevice

pvecm qdevice setup 10.0.0.12 —force

完成后查看状态

pvecm status
Cluster information
-------------------
Name:             KSHome
Config Version:   9
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Thu May  2 18:20:55 2024
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000002
Ring ID:          1.2e8
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      3
Quorum:           2  
Flags:            Quorate Qdevice 

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1    A,V,NMW 10.0.0.10
0x00000002          1    A,V,NMW 10.0.0.11 (local)
0x00000000          1            Qdevice

看到 0x00000000 1 Qdevice 说明配置成功。

如果0x00000000 0 Qdevice (votes 1)则表示有问题无法正常投票. 按照以下方法重新配置

node1 # pvecm qdevice del

node3 # apt-get remove --purge corosync-qdevice corosync-qnetd corosync
node3 # apt-get install corosync-qdevice corosync-qnetd corosync

node1 # pvecm qdevice setup 10.0.0.12 -f