DRBD 是一种将一台服务器上的存储镜像到另一台服务器上的协议。本质上,它为您提供了跨两台或多台物理机器的高可用性 (HA) 存储集群,而无需昂贵的 SAN。
似乎这种设置在 Linux 中是可行的,但我使用 Windows 2012 和 Hyper V 来托管我的虚拟机,其中一些是 Win 2012,一些是 Linux。
简而言之 - 是否可以在 Windows 机器上创建 DRBD 设置 - 我见过 Starwind 应用程序,但他们想要为此赚很多钱 - 你还不如买一个 SAN?或者,是否可以在 2 个 Linux 机器上创建 DRBD 共享,然后将该存储用于集群 Hyper V 存储?Linux 上的 DRBD 共享是否可以将自己显示为 iSCSI 目标/SMB 3 卷?
答案1
我怀疑您是否可以让 DRBD 在 Windows 上运行,但您可以在 Linux 上轻松创建 DRBD 设备并将其导出为 iSCSI 目标,因为 DRBD 设备只是 Linux 存储层的另一个块设备。
使用 Samba4 导出 SMB3 共享应该也是可能的,但我没有这方面的经验。
答案2
嗯,你有两个选择:
1.您需要在 FreeBSD/Linux 中的 HAST/DRBD 上创建具有 iSCSI 磁盘的虚拟机(显然这需要配置),这些磁盘之后将用于 Hyper-V。这不是性能最高的方案,但应该可以工作。
2.查看免费的基于 Windows 的 SAN 解决方案,如 StarWind 或其他产品(我不确定市场上是否还有其他免费产品)。顺便说一句,如果您坚持使用 SW 产品,您应该查看 Native SAN 方案,它允许直接在 Hyper-V 服务器上安装 SAN 软件,这非常有益,原因显而易见。
答案3
使用基于 DRBD 的集群将存储导出为集群资源是标准设置,您会找到大量相关信息和教程。DRBD 与 Pacemaker 结合用作集群资源管理器,并与 Heartbeat 结合用于集群通信,是构建高可用性 SAN 的稳定方式,并且可与您的 Windows 虚拟机管理程序配合使用。
上述组件的开发人员直接提供了有关如何部署基于 DRBD 的 SAN 的详细文档。
请参阅以下链接以获取更多信息:
您可以在 drbd.org 上找到 DRBD 用户指南
LINBIT(DRBD 的作者) 技术指南:
使用 DRBD 和 Pacemaker 实现高可用性 iSCSI
使用 DRBD 和 Pacemaker 实现高可用性 NFS
您可以在 clusterlabs.org 上找到 Pacemaker 文档
答案4
如果 lvm 分区作为 iSCSI 设备安装在 hyper V 上,drbd 应该可以与 hyper V 一起使用,简单地说,hyper V 主机只会看到 iSCSI 安装。它不需要知道它所连接的磁盘正在复制并故障转移到另一个磁盘。话虽如此,如果一个 DRBD 节点和另一个 DRBD 节点之间存在很大差异,您可能会看到 VM 崩溃。如果 hyper V 主机连接到的驱动器发生故障,并且 DRBD 故障转移到另一个系统,您可能会在 hyper V 控制台中看到系统严重错误。但简单的重启就可以让您恢复运行。真正在 VHDX 上实现故障转移的唯一方法是使用上面提到的方法并使用集群存储。集群存储可以与 DRBD 结合使用。