无需共享存储的 XenServer HA(故障转移虚拟机)

无需共享存储的 XenServer HA(故障转移虚拟机)

在我工作的乌拉圭大学,我们有 2 台 IBM BladeCenter S,每台有 4 个服务器刀片。每台刀片都安装并运行 XenServer 6.2。

我们的想法是让每个 BladeCenter 处于不同的构建(连接)中,以实现故障转移。

每个 BladeCenter 机箱都嵌入了光纤通道存储,而且,我不知道如何与其他 BladeCenter 机箱共享该存储。

另外,我知道共享存储方式不是最好的,因为它实现了单点故障......

因此,我需要找到一种方法来实现 XenServer 6.2 的高可用性,而无需共享存储。我发现http://www.halizard.com/但是我想知道没有共享存储的其他高可用性替代方案。

我能想到的另一件事是,我是否可以通过网络镜像存储(使用 iSCSI),并将 iSCSI 目标多路径化为 1,或者有多路径 iSCSI 和光纤通道(但我不知道这是否存在)。如果可能的话,XenServer HA 实现将起作用。

希望我们能够帮助我!

答案1

您好,您可以尝试使用 Xen DRBD 来实现无需共享存储的 HA...

http://www.drbd.org/users-guide/ch-xen.html

https://github.com/locatrix/xs-pacemaker

—阿西特

答案2

如果您连接足够的本地存储,您可以构建自己的 iSCSI HA 解决方案。

目录: - drbd > 8.2.x - tgtd

设置两个本地虚拟机,在 drbd 双主模式下将两个 LV 复制到彼此。使用每个本地 iscsi 目标。在 XEN 服务器中,确保在主动/被动模式下使用每个目标(无 rr!)。

答案3

选择 HA 解决方案时,您需要确定可接受的停机时间(如果有)。这将影响设置的复杂性。

我认为您有两种无需购买额外设备的选择(进一步排列):

  1. “始终在线”——主-主模式下的 DRBD
  2. 5-15 分钟的停机时间 - DRBD 处于主从模式

对于没有共享存储的最高可用性设置,您必须在主-主角色中使用 DRBD。这将需要 STONITH 设备来关闭无响应的节点。基于 IP 的电池备份设备通常可以有效地处理此功能。Pacemaker 和 corosync 可以处理启动虚拟机和管理资源。

优点是您可以进行实时迁移并且理论上可以消除停机时间。

这种设置的缺点是,如果发生脑裂(它一定会发生),则很难修复,因为数据可能存在于两个节点上。

或者,如果您可以接受几分钟的停机时间,我们可以运行以下命令:

  • DRBD 充当主从角色
  • MDADM Raid 1 阵列 -> LVM -> DRBD -> LVM 的存储堆栈
  • 在发生故障转移事件时启动资源的脚本(管理员手动运行此脚本)。

基本上,我们在两个 MDADM Raid 1 阵列上有两个存储 LVM 池。它们被导出到 DRBD 以进行块级复制。然后,在 DRBD 上添加 LVM 以启用虚拟机快照和对虚拟机的直接文件系统访问。为什么是两个?

最初的想法是为每个虚拟机创建一个 DRBD 资源,这样机器就可以根据负载在主机之间移动,而不会让一台主机闲置。管理它很麻烦,所以两个 200GB 的 DRBD 资源是一个很好的折衷方案。这样,r0 可以在节点 1 上成为主节点,r1 可以在节点 2 上成为主节点。如果节点 1 发生故障,我们会在节点 2 上运行“make master”脚本,它会处理 LVM 映射,为这些资源设置 DRBD 主节点,并告诉 virsh 启动所有节点。在 SSD 阵列上,我可以在大约 2-3 分钟内关闭十几个虚拟机并在节点 2 上启动它们。

相关内容