我想要做的是在故障转移机器上创建一台机器磁盘的镜像,这样,如果主机器出现故障,我只需重新启动故障转移,选择不同的根分区并准备开始使用。
我是这样设置的:
- 一台主机器和一台故障转移机。
- 两台机器都定义了 RAID 分区。
- 故障转移机器通过 nbd-server 为其 RAID 分区提供服务。
- 主机通过 nbd-client 挂载故障转移的 RAID 分区。
- 在主机上,两个 RAID 分区通过 mdadm 组合成单个 RAID 设备,并
--write-mostly
为远程分区设置标志。
我编写了一些脚本来自动启动所有程序,并在故障转移上配置了 grub,以便它具有正确的选项,允许您从小型镜像分区或故障转移分区启动。我测试了它,它有效。
我遇到的问题是,大约每周一次,主机似乎完全冻结。您无法通过 ssh 进入,控制台不会响应,并且重新启动机器后,日志条目会在某个时间停止,日志中没有任何指示错误的内容。
我断开了 NBD 分区并仅使用 RAID 阵列中的本地磁盘运行所有内容,并且运行了一个月没有任何问题。
NBD 不稳定吗?当网络出现某种故障时,RAID 是否会决定断开本地分区并运行 nbd 分区?这是错误的处理方式吗?
谢谢。
答案1
您想要捕捉的问题是一个复杂的问题。
对于通过网络镜像磁盘分区来说驱动正确的选择。drbd 并不简单,但也足够简单,几个小时就可以正确设置它。
如果你计划在这台机器上实现服务的自动故障转移,那么你应该看看Linux 高可用性。
但是,您必须意识到,HA 是一个非常复杂的设置,学习难度很高。所有这些东西在投入生产之前都会经过仔细测试。我已警告您!