ljzsdut
GitHubToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

02 创建集群

可以独立使用Proxmox VE,而不需要成为集群的一部分。但是为了真正充分利用Proxmox,集群支持许多更高级的特性,例如集中管理、高可用性(漂移)和实时迁移。当多个Proxmox节点位于同一个集群中时,可以通过任何成员节点登录到Proxmox GUI来管理和监视它们。在Proxmox中没有主从方案。所有节点通过共享相同的配置一起工作。 集群就是一组共享资源的Proxmox服务器或节点。一个Proxmox集群可以包含多达32个物理节点。如果网络延迟允许,节点数量可以更高。但是任何数量的节点超过32都可能导致集群内的不稳定情况。

在命名集群时,请记住,它最多可以是15个字符,并且一旦设置完成后,无法进行更改。

准备工作

  • 时间同步

    apt install -y chrony
    
  • 不同的网络基础设施:

pve集群中有:

  • 管理网络
  • 集群网络(corosync通信,特点是通信量小,但是对时延要求较高)
  • 业务网络(创建虚拟机时指定,条件不允许时,可以与管理网络公用)

如果启用ceph集群,ceph集群中有:

  • 业务网络(条件不允许,可以与pve的业务网络共用)
  • 集群网络(用于数据恢复、数据平衡,强烈建议使用独立的网络,最好是万兆)

创建集群

创建集群有两种方式:

  • ssh 终端
  • Web 界面

通过 Web 界面创建

默认为通过节点主机名解析的IP创建集群管理网络。

19eHcv-1617684949410

在新的版本当中,已经支持通过添加第二个网络作为备份网络。

image-20210511080802021

[info]确保为集群通信选择的网络没有被用于任何高流量负载,比如(网络)存储或实时迁移。虽然集群网络本身生成的数据量很小,但它对延迟非常敏感。

image-20210406130026533

创建集群最核心的就是集群同步服务corosync,corosync成功后会生成配置文件corosync.conf,,如果启动失败后需要手动修改配置文件。

通过命令创建

# 创建集群
$ pvecm create pmc-cluster
##pvecm create pmc-cluster --link0 192.168.20.71
$ pvecm status

添加节点到集群中

即将添加到集群的节点不能容纳任何来宾(guests)。在加入集群时,会覆盖/etc/pve中的所有现有配置,因为guest id可能会发生冲突。作为一种解决方案,创建 guest(vzdump)的备份,并在将节点添加到集群后将其恢复为不同的ID。

web 界面的方式

获取加入集群信息

ul2lMu-1617685050804

在要加入集群的节点上

KEvHF1-1617685065173

虽然,有的时候,不指定 Link 0 的地址,也能加入集群,但在多网络当中,建议还是指定一下较好。

image-20210406130637267

命令行的方式

集群中添加节点

$ pvecm add 192.168.20.71    // 在 73 上,添加到 71 集群当中
$ pvecm status

当添加一个节点到一个单独的集群网络时,你需要使用link0参数设置该网络上的节点地址:

pvecm add IP-ADDRESS-CLUSTER -link0 LOCAL-IP-ADDRESS-LINK0

集群优势

1、vm迁移

2、虚拟机HA

删除集群

# 首先在待隔离节点上停止 pve-cluster 服务:

systemctl stop pve-cluster.service 
systemctl stop corosync.service 

#然后将待隔离节点的集群文件系统设置为本地模式:

pmxcfs  -l

#接下来删除 corosync 配置文件:

rm /etc/pve/corosync.conf    
rm -rf /etc/corosync/*

#最后重新启动集群文件系统服务:

killall pmxcfs
systemctl start pve-cluster.service