再会,
设置:
我有一个故障转移群集,其每个成员都连接到两个 LUN 的共享存储 -LUN1
和LUN2
。
LUN1
托管一个大型 VHDX 文件(数 TB),分配给“iSCSI 目标“集群角色。此角色反过来允许相同(或其他)主机通过 iSCSI 连接到此 VHDX 虚拟驱动器并对其进行一些密集的读取和写入。
问题:
我需要将 VHDX 文件从 移动LUN1
到LUN2
,同时允许其 iSCSI 客户端对其进行操作。我想将其所有内容复制到新存储,同时避免在复制操作期间必须断开这些客户端的连接,以避免在将“iSCSI 目标”切换到新副本后丢失客户端所做的更改。
可能的方向?
现在,微软有了一个解决方案,称为“虚拟机存储迁移“正是我需要的:
- 在整个移动操作的大部分过程中,磁盘读写都转到源虚拟硬盘。
- 当在源虚拟硬盘上进行读写时,磁盘内容会被复制到新的目标虚拟硬盘。
- 初始磁盘复制完成后,磁盘写入将镜像到源虚拟硬盘和目标虚拟硬盘,同时复制未完成的磁盘更改。
- 当源虚拟硬盘和目标虚拟硬盘完全同步后,虚拟机将切换到使用目标虚拟硬盘。
- 源虚拟硬盘已被删除。
但不幸的是,顾名思义,它是用于连接到虚拟机的虚拟磁盘。
是否有可能对 VHD 使用相同的技术?iSCSI 目标“?
答案1
我认为不可能复制/移动 iSCSI 目标服务器使用的 VHDX。Microsoft 的官方迁移过程要求断开 iSCSI 客户端并将 VHDX 移动到新服务器并导入配置。https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn479297(v=ws.11)
另一种选择是,您可以在新的 LUN 上创建新的 iSCSI LUN 并移动数据。
还有一些解决方案可以在 2 个或多个主机之间复制数据。例如,StarWind VSAN 可以通过 iSCSI 复制存储并通过 iSCSI 共享存储。https://www.starwindsoftware.com/starwind-virtual-san
答案2
一些存储设备可以在较低级别复制数据。您能检查一下是否是这种情况吗?
否则,您需要使用 robocopy 或 powershell 复制数据。我会设置一个单独的主机并安装新的 iscsi 目标,然后使用 powershell 脚本或类似的东西复制数据。但请记住,您还需要复制 VM 配置,否则它将不起作用
使用 Powershell 脚本,您可以先压缩和拆分大型 vhdx,然后使用 md5 等复制并检查一致性。然后使用脚本提取并合并压缩文件