聚集池
群集提供使用GFS2 SRS的资源池所需的额外功能。有关GFS2的更多信息,请参阅配置存储。
集群是一个由Citrix Hypervisor主机组成的池,这些主机之间的连接和协调比非集群池更紧密。集群中的主机之间在选定的网络中保持恒定的通信。集群中的所有主机都知道集群中所有主机的状态。这种主机协调使集群能够控制对GFS2 SR内容的访问。
法定人数
集群中的每个主机必须始终与集群中至少一半的主机(包括集群本身)保持通信。这种状态称为具有quorum的主机。
奇数池仲裁值为1 +集群总主机数的二分之一(n+1)/2。偶数池仲裁值为集群中主机总数的一半:n/2。
对于偶数池,可以将正在运行的集群精确分割为两半。正在运行的集群决定集群的哪一半自围栏,以及集群的哪一半具有仲裁。当偶数集群池从冷启动启动时,(n/2)+1个主机必须在主机具有仲裁之前可用。主机进行仲裁后,集群变为活动状态。
如果主机没有quorum,则该主机自围墙。
在可能的情况下,建议在集群池中使用奇数数量的主机,因为这确保主机总是能够确定它们是否有一个配额集。
自我击剑
如果主机检测到它没有quorum,它会在几秒钟内自我隔离。当主机自我防御时,它会立即重启。主机硬关机,导致主机上运行的虚拟机全部关闭。在使用高可用性的集群池中,Citrix Hypervisor会根据其他池成员上的重启配置重启虚拟机。自我防护的主机重新启动并试图重新加入集群。
如果群集中的实时主机的数量少于仲裁值,则所有剩余的主机都会丢失仲裁。
在理想的场景中,集群池的活动主机数量总是超过仲裁所需的数量,而且Citrix Hypervisor从不设置限制。为了使这种情况更有可能发生,在设置集群池时考虑以下建议:
确保有良好的硬件冗余。
集群网络使用专用的绑定网络。绑定网卡必须在L2网段。有关更多信息,请参见网络。
配置存储池与GFS2 SR.之间的存储多路径,更多信息请参见存储多路径。
在集群池上配置高可用性。在集群池中,心跳SR必须是GFS2 SR高可用性。
创建群集池
开始操作前,请先满足以下前提条件:
集群池中的所有Citrix虚拟机管理程序必须具有至少2个GIB的控制域内存。
群集中的所有主机都必须使用群集网络的静态IP地址。
我们建议您仅在包含至少三个主机的池中使用群集,因为两个主机的池对自我击剑整个池敏感。
- 如果池中的主机之间有防火墙,请确保集群网络中的主机可以通过以下端口进行通信:
- TCP: 8892、21064
- UDP: 5404、5405
有关更多信息,请参见Citrix技术使用的通信端口。
- 如果您正在集群一个现有池,请确保禁用高可用性。启用集群后,可以重新启用高可用性。
如果您愿意,您可以使用XenCenter在池中设置群集。有关更多信息,请参阅XenCenter产品文档。
要使用XE CLI创建群集池:
创建绑定网络作为集群网络。在需要成为池主的Citrix Hypervisor服务器上,执行以下操作:
在Citrix Hypervisor服务器上打开控制台。
使用以下命令命名资源池:
XE Pool-param-set name-label =“新池”uuid =
使用以下命令创建用于绑定NIC的网络:
XE网络 - 创建名称 - 标签= BOND0
返回新网络的UUID。
使用以下命令查找绑定中使用的pif的uuid:
xe pif-list
在active-active模式、active-passive模式或LACP模式中创建绑定网络。根据你想使用的绑定模式,完成以下动作之一:
如果配置为双活模式(默认),请使用
bond-create
命令,创建绑定。参数之间用“,”隔开,指定新创建的网络UUID和待绑定pif的UUID:XE Bond-Create Network-uuid =
/ pif-uuids = , , , 当您绑定四个NIC时,当您绑定两个NIC和四个UUID时,键入两个UUID。运行命令后返回键的UUID。
如果需要配置主被动或LACP模式的绑定,请使用相同的语法,增加可选配置
模式
参数,并指定LACP.
或主动式备用系统
:XE Bond-Create Network-uuid =
pif-uuids = ,/ , , / mode = analeal-slb |主动备份|LACP.
在池主服务器上创建绑定网络后,当将其他Citrix Hypervisor服务器加入池时,网络和绑定信息将自动复制到加入服务器。
有关更多信息,请参见网络。
创建至少三个Citrix虚拟机管理程序的资源池。
在每个Citrix虚拟机管理程序服务器上重复以下步骤,即(非主)池成员:
- 在Citrix Hypervisor服务器上打开控制台。
使用以下命令将Citrix HyperVisor服务器连接到池主机上的池:
XE池加入主地址= Master_Address Master-Username = Administrators_Username Master-Password =密码
价值
主地址
参数必须设置为pool master的Citrix Hypervisor服务器的全域名。的密码
必须是安装池主服务器时设置的管理员密码。
有关更多信息,请参见主机和资源池。
对于属于此网络的每个PIF,设置
disallow-unplug = true
。使用以下命令查找属于网络的PIF的UUID:
xe pif-list
在资源池中的Citrix Hypervisor服务器上执行以下命令:
xe pif-param-set disallow-unplug = true uuid =
在您的池上启用集群。在资源池中的Citrix Hypervisor服务器上执行以下命令:
XE Cluster-Pool-Create Network-uuid =
提供您在上一步中创建的绑定网络的UUID。
摧毁集群池
您可以销毁群集池。销毁群集池后,池继续存在,但不再群集,并且无法再使用GFS2 SRS。
要销毁群集池,请运行以下命令:
xe cluster-pool-destroy cluster-uuid = < uuid >
管理群集池
在管理集群池时,以下实践可以降低池丢失仲裁的风险。
确保主机干净地关闭
清理关闭主机时,主机会被暂时从集群中移除,直到主机重新启动。当主机关闭时,它不计入集群的仲裁值。主机缺席不会导致其他主机失去仲裁。
但是,如果主机强行或意外关闭,则在脱机之前不会从群集中删除。此主机确实计数群集的仲裁值。其关机可能导致其他主机失去法定人数。
使用维护模式
在主机上执行可能导致该主机失去仲裁的操作之前,请将主机设置为维护模式。主机处于维护模式时,运行中的虚拟机会从该主机下迁移到该主机下的其他主机上。此外,如果该主机是池的主主机,则该角色将传递给池中的另一个主机。如果您的操作导致处于维护模式的主机处于自隔离状态,则不会丢失任何虚拟机,也不会失去XenCenter与池的连接。
维护模式中的主机仍然达到群集的仲裁值。
当集群池中的主机处于维护模式时,才能修改该主机的IP地址。修改主机IP地址将导致该主机退出集群。IP地址修改成功后,主机重新加入集群。主机加入集群后,可以退出维护模式。
恢复自隔离或离线的主机
重要的是恢复具有自我保护的主机。当这些集群成员处于脱机状态时,它们将计入集群的法定人数,并减少可联系的集群成员的数量。这种情况增加了后续主机故障导致集群失去仲裁并完全关闭的风险。
在集群中拥有脱机主机还会阻止您执行某些操作。在集群池中,池的每个成员必须同意池成员的每次更改,然后更改才能成功。当集群成员无法联系时,Citrix Hypervisor会阻止修改集群成员的操作(如添加主机、移除主机等)。
马克已经死了
当一个或多个主机离线无法恢复时,可以将其标记为“死主机”。将主机标记为死主机将使它们永久地从集群中删除。主机被标记为死亡后,它们将不再计入quorum值。
约束
- 集群池每个池最多支持16个主机。
- 对于集群流量,您必须使用一个绑定网络,至少使用两个不同的网络交换机。请勿将此网络用于任何其他目的。
- 通过XenCenter修改集群网络的IP地址时,需要暂时关闭集群和GFS2。
- 当集群处于活动状态并有运行的虚拟机时,不要更改集群网络的绑定。此操作可能导致集群隔离。
- 如果您在群集网络上有IP地址冲突(具有相同IP地址的多个主机),则涉及启用群集的至少一个主机,主机不围栏。要解决此问题,请解决IP地址冲突。