我正在设置一个小型虚拟环境,并使用一对 Windows(HyperV)主机和一个 Synology 54TB NAS 作为虚拟机存储。
我知道不能对 2 个并发主机使用相同的 iscsi 路径,因为它们彼此之间不会互相识别,并且会覆盖彼此的文件并导致问题。
我所做的是这样的...
我已经创建了 1 个大小为 54Tb 的 LUN,并启用了多连接。
我已将此 Iscsi 目标添加到两个主机。
我创建了一个 10Tb 分区,标记为 HOST1,并使用驱动器号将其安装在主机 1 上。
我还创建了另一个 10Tb 分区,标记为 HOST2,并使用驱动器号将其安装在主机 2 上。
两台 Windows 服务器均未安装其他服务器的 10Tb 分区。
据我所知,我应该避免两个主机互相覆盖文件的问题,但是我想在开始使用该环境之前就此发表意见,以防出现我没有想到的陷阱。
答案1
它无法可靠地工作。NTFS(或 ReFS)不是集群感知文件系统,多重挂载将立即破坏元数据表。要么使用 SMB3 附加组件并在其上添加仲裁程序(这就是 Microsoft 所称的集群共享卷或 CSVFS),要么使用第三方仲裁程序(如 MetaSAN)。可以在此处找到好故事:
尝试明确这一点 - 使用 iSCSI 而不是 SMB | Star Wind Software
在您这里,我只会坚持使用 SMB3 共享或每次挂载一次的方案,禁用 SCSI 保留。
祝你好运!
PS 或者您使用像 VMFS3/5 这样的集群感知文件系统:)
答案2
您可以将 2 个主机连接到同一个 LUN,但必须将文件系统设置为 CSVFS,以免损坏存储。您可以通过在群集管理中将其添加为驱动器来执行此操作。
- 连接两者上的 iSCSI 连接
- 进入集群管理,“验证”集群,以便它找到驱动器并连接到两个服务器,将新驱动器添加为资源
- 转到驱动器选项卡并更改为 CSVFS(我认为是右键单击驱动器)
然后它将转换文件系统并将路径添加到 C:\ClusterStorage\{drive}
确保将它们存储在 C: 路径下,不要为共享分配另一个驱动器号,因为这会导致问题
它将始终在一台服务器上的驱动器管理器中显示为未启动,而在另一台服务器上显示为在线(其中一个是驱动器的“主机”,但如果一台主机发生故障,它将移动它)
然后你可以将所有虚拟机文件存储在一个公共的地方
请参阅下面的演练: