我需要配置一个具有共享存储的集群,该存储可以从节点 A 移动到节点 B,反之亦然。
如果节点 A 发生故障,节点 B 应接管与 NFS 服务关联的 IP 地址、获取共享磁盘的所有权、安装它并启动 NFS 服务器。
我使用的是 SUSE Linux 11.4。
到目前为止我使用的是HA集群包和NFS。 NFS 正在共享节点 A 的驱动器,但如果节点 A 出现故障,节点 B 就会停止工作。
答案1
您可能想看看德鲁布德,它提供类似于 RAID-1 的磁盘冗余和网络共享。
Drbd 是一种块设备,旨在通过提供虚拟共享设备来构建高可用性集群,该设备使用 TCP/IP 使节点中的磁盘保持同步。这模拟了 RAID 1,但避免使用不常见的硬件(共享 SCSI 总线或光纤通道)。它目前仅限于故障转移 HA 集群。
如果您实际上正在运行大量虚拟化服务器而不是 Beowulf 风格的 HPC 集群,您可能还想看看 google 的加内蒂,它可以使用 LVM 和 DRBD 来提供高可用性虚拟机,并在需要时自动迁移到其他节点。
Ganeti 是一个建立在 Xen 和 KVM 虚拟化技术以及其他免费软件之上的虚拟服务器集群管理工具。它提供了一个自动化环境来管理高度可用的虚拟机实例。
它旨在促进使用商用硬件的虚拟服务器的集群管理,并在物理故障后提供快速、简单的恢复。它可以负责冗余磁盘创建和管理、操作系统安装(与特定于操作系统的安装脚本配合)、物理系统之间实例的启动、关闭和故障转移等操作。
我还没有在生产中使用过 ganeti,但几年前我在接受 OpenStack 集群工作之前对它进行了很多实验(使用 OpenStack 基础设施为全国大学的研究人员构建和运行虚拟 HPC 集群(澳大利亚)) )。 Ganeti 在我的测试中表现得非常好,我真的很钦佩它的构建和工作方式。
如果您环顾四周,您甚至可以找到一个附加模块,允许它使用 ZFS iscsi 导出而不是 VM 磁盘的 LVM+DRBD。