情况是:
- 我正在运行 VMware ESX 3.5(集群中带有 vCenter Server 的 3 个 ESX 主机);
- 我需要五台虚拟机从运行集群文件系统的同一磁盘读取数据;
- 由于容量原因,我无法为每个虚拟机复制数据;并且
- 我需要避免单点故障(从虚拟机共享不是一个可行的选择);
在传统系统中,我会将两台服务器指向同一个 LUN 并使用集群文件系统,而这正是我在虚拟化环境中寻找的等效物。
我有一个 SAN,可以使用 VM 的原始磁盘映射 (RDM) 映射到 LUN,但是 SAN 上有 LUN 限制,我无法为每个虚拟机建立一个 LUN。
有什么巧妙的方法可以解决这个问题,还是我被欺骗了?
更多信息:
我希望运行一个集群应用程序,并且需要在两个虚拟机之间共享文件内容和配置,大约 50GB。以前这是使用 SAN 上的共享 LUN 完成的。我需要机器的负载平衡和 HA。我没有能力复制每个虚拟机上的数据,并且应用程序不能容忍任何同步延迟。
本质上我“只是”需要一种方法将每个 VM 指向单个 LUN,然后允许 VM 控制该磁盘。
许可功能包括 HA/DRS
答案1
注意:我之前从来没有这样做过。
共享存储 RDM 应该是可行的,尽管有五个节点访问它可能会带来麻烦。
您需要的技术类似于双节点 Microsoft 群集服务的实现方式(使用共享仲裁驱动器);VMware 提供了记录方法如何实现它。
这个解决方案看起来有据可查,但有点棘手。我建议在考虑将其放在生产集群附近之前,先在实验室中构建和测试它。
祝你好运。
答案2
我本来要建议使用 iSCSI,但无论你如何划分,你都需要创建一个 LUN 来在虚拟机之间共享,而不管使用哪种协议(FC、iSCSI)。你提到了 LUN 限制,但你不需要为所有虚拟机创建多个 LUN 来共享。每个虚拟机都会有一个指向该 LUN 的 RDM。你是说你缺乏在 SAN 上创建单个额外 LUN 的能力吗?