KVM+DRBD 在两台主动-被动服务器之间复制,手动切换

Let*_*t4U 7 linux cluster high-availability drbd kvm-virtualization

我需要在主动-被动模式下构建 2 节点集群(类似?)解决方案,也就是说,一台服务器是主动的,而另一台是被动的(备用),它不断地从主动复制数据。基于 KVM 的虚拟机将在主动节点上运行。

如果主动节点因任何原因不可用,我想手动切换到第二个节点(成为主动节点和另一个被动节点)。

我看过这个教程:https : //www.alteeve.com/w/AN!Cluster_Tutorial_2#Technologies_We_Will_Use

但是,我没有足够的勇气相信全自动故障转移并构建复杂的东西并相信它可以正确运行。裂脑情况、复杂性以某种方式失败、数据损坏等的风险太大,而我的最大停机时间要求并不严重到需要立即自动故障转移。

我无法找到有关如何构建此类配置的信息。如果您已经这样做了,请在答案中分享信息/HOWTO。

或者也许可以使用 Linux 节点构建高度可靠的自动故障转移?Linux 高可用性的问题在于,像 8 年前一样,人们对这个概念的兴趣激增,而且许多教程现在已经很老了。这表明 HA 在实践中可能存在重大问题,一些/许多系统管理员只是放弃了它。

如果可能,请分享如何构建它的信息以及您在生产中运行集群的经验。

bat*_*a09 6

为什么不使用已经过成千上万用户检查并证明其可靠性的东西呢?您可以使用 StarWind VSAN Free 等免费部署 Hyper-V 服务器并获得真正的 HA,而不会出现任何问题。查看本手册:https : //www.starwindsoftware.com/resource-library/starwind-virtual-san-hyperconverged-2-node-scenario-with-hyper-v-server-2016


sho*_*hok 4

我有一个与您描述的设置非常相似的安装:一个 KVM 服务器,带有通过 DRBD 主动/被动的备用副本。为了拥有一个尽可能简单的系统(并避免任何自动脑裂,即:由于我的客户搞乱集群网络),我还放弃了自动集群故障转移。

该系统已有 5 年以上的历史,从未给我带来任何问题。我的音量设置如下:

  • 用于虚拟机存储的专用 RAID 卷;
  • 包含 QEMU/KVM 配置文件的小覆盖卷
  • 更大的虚拟磁盘卷;
  • 管理整个专用阵列块设备的 DRBD 资源。

我编写了一些 shell 脚本来帮助我应对故障转移。你可以在这里找到它们

请注意,该系统的架构旨在实现最佳性能,即使牺牲了快速快照和基于文件(而不是基于卷)的虚拟磁盘等功能。

现在重建类似的主动/被动设置,我非常倾向于使用 ZFS 和通过send/recv. 它不是实时的、基于块的复制,但对于 90% 以上的情况来说已经足够了。

如果确实需要实时复制,我会在 ZVOL + XFS 之上使用 DRBD;事实上,我在实验室中非常满意地测试了这样的设置+自动起搏器开关。如果无法使用第 3 个部分模块(如 ZoL),我将在lvmthin卷 + XFS 之上使用 DRBD 资源。