linux – KVM DRBD通过手动切换在两个主动 – 被动服务器之间复制

我需要在主动 – 被动模式下构建2节点集群(类似?)解决方案,即一个服务器处于活动状态,而另一个服务器处于被动状态(待机状态),不断从活动状态复制数据.基于KVM的虚拟机将在主动节点上运行.

如果活动节点因任何原因不可用,我想手动切换到第二个节点(变为活动状态而另一个被动).

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

但是,我没有足够的勇气去信任全自动故障转移,并构建一些复杂且信任正常运行的东西.分裂脑情况太多,复杂性以某种方式失败,数据损坏等,而我的最大停机时间要求不是那么严重,需要立即自动故障转移.

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

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

如果可以,请分享有关如何构建它的信息以及您在生产中运行的集群的体验.

解决方法

我使用您描述的设置进行了非常类似的安装:具有通过DRBD主动/被动的stanby副本的KVM服务器.为了让系统尽可能简单(并避免任何自动裂脑,即:由于我的客户弄乱了集群网络),我也放弃了自动集群故障转移.

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

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

我编写了一些shell脚本来帮助我进行故障转移.你可以找到它们here

请注意,系统的架构是为了获得最佳性能,即使代价是快照快照和基于文件(而不是基于卷)的虚拟磁盘.

现在重建类似的主动/被动设置,我会非常倾向于使用ZFS和通过send / recv连续异步复制.它不是基于块的实时复制,但对于90%的情况来说已经绰绰有余了.事实上,我在实验室里测试了这样一个自动起搏器开关,非常满意.

如果真的需要实时复制,我会在ZVOL XFS之上使用DRBD.如果不能使用3rdy部件模块(如ZoL那样),我会在lvmthin卷XFS之上使用DRBD资源.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...