如何在 ESX 4 中的虚拟机之间共享卷?

如何在 ESX 4 中的虚拟机之间共享卷?

我想从 vmware ESX4 vms 访问单个卷,这些卷位于三个 ESX 主机中,数据存储位于 Equallogic PS6000 SAN 中。我知道如何管理数据(通过集群文件系统),但似乎找不到这样做的方法。

  • 如何在主机之间共享 VMDK?(相关文件位于 SAN 上)
  • 这可能吗?
  • 有没有办法用 RDM 来做到这一点?

在所有客户机上,操作系统都是 GNU/Linux Debian 5“Lenny”,64 位版本。

答案1

是的,有几种方法可以做到这一点,但您没有提到您的客户操作系统或您打算如何管理这个共享磁盘。

这样做的一个常见原因是为了支持 MS Clustering,为此您可以轻松创建几个小型的 ~1GB LUN,将它们公开给所有主机(最好使用相同的 LUN #),然后通过第二个 SCSI 控制器将它们作为原始设备映射(您提到的 RDM)添加到您的 VM 中,这些 VM 将看到并完全控制这两个新的 LUN,您只需使用您的 MS Cluster 设置将磁盘格式化为 NTFS,MSDTC 将负责管理磁盘以确保写入得到仲裁。将一个用于仲裁,另一个用于 MSDTC 文件(您可以将它们组合起来,抱歉我不是 MS 专家),如果您使用此设置,您可能需要以相同的方式设置一个或多个额外的共享 LUN 来存储数据/日志等,具体取决于您的应用程序。您可以为 Linux 客户机执行几乎相同的操作,但要确保您使用的是集群感知文件系统(如 OCFS2),否则您几乎会立即损坏磁盘。

另一种选择是创建一个 .vmdk 并在创建时使用“独立”选项,这会带来许多限制,但在深入研究它们之前,我们需要更多地了解您的用例。

欢迎向我们提供更多详细信息,但您的答案基本上是肯定的,这是非常有可能的。

答案2

如果您使用虚拟磁盘或 RDM,则有数千种不同的要求和限制。您需要决定是要在一台机器中集群(一台物理主机上有许多虚拟机),还是跨机器集群(每台虚拟机位于自己的物理机器上),并且您不能真正混合搭配或移动虚拟机:一旦您选择了其中一种,您就陷入困境,因为它们需要完全不同的配置。阅读VMware MSCS 文档理解(它是针对 Windows VM 编写的,这并不重要,设计概念和要求仍然适用)。

相反,您可以做一些更简单的事情。为连接到 iSCSI VLAN 的虚拟机配置新的 vNIC。使用新的 vNIC 在虚拟机中设置 iSCSI 启动器。将 LUN 提供给虚拟机,而不是 ESX 主机。基本上,假装这些虚拟机是使用 iSCSI 与您的 SAN 通信的常规服务器。只要您正确构建了它的网络端(多路径、巨型帧、vmxnet3 适配器等),它就会正常工作。

相关内容