我有两台服务器,都运行 Windows Server 2016 Standard,都是基于 Windows Server 2016 Standard Host 的虚拟机,使用 Hyper-V。
一台服务器运行一项服务,该服务需要在本地文件系统(即带有驱动器号的文件系统)上存储数据。没有 UNC 路径、没有 SMB、没有身份验证。
另一台服务器是文件服务器。
我想做的是让应用程序服务器将应用程序数据存储在文件服务器上。我可以通过 iSCSI 执行此操作,这会在文件服务器上创建一个 VHDX。这很正常,应用程序成功地将其数据存储在此硬盘上。
但是,我想备份 VHDX 的内容,最好在文件服务器上完成。为此,我需要挂载 VHDX - 但我无法这样做,因为它“正在被另一个进程使用”。这很麻烦。
有没有(受支持的)方法可以在通过 iSCSI 共享时将 VHDX 保持在文件服务器上的只读状态?我并不担心应用程序服务器尝试格式化或创建分区等。我对文件系统(NTFS、ReFS 甚至 ExFAT)很灵活。
我想知道我是否应该将 VHDX 移动到物理主机,然后将其作为共享硬盘附加到两个虚拟机,但看起来这是用于故障转移群集。
也许 iSCSI 和 VHDX 不是正确的方法,是否有其他支持的方法可以让服务器 A 上的一个驱动器号实际上将数据写入服务器 B 上的某个位置,以便服务器 B 可以访问这些文件,同时仍然能够使用卷影副本(VSS)进行备份?(是的,在服务器 A 上安装备份代理是一种可能性,但我想让事情尽可能简单 - 我意识到 iSCSI 可能有点过度,因为我正在共享整个块设备,而实际上,我只想要一个共享文件夹)。
答案1
长话短说:你不能这么做。即使在单一写入模式下,也没有人会向同级读取器更新块卷上的元数据更改:需要卸载/安装序列来更新第二个“影子”$MFT。
答案2
在应用服务器上运行怎么样net use x: \\fileserver\smbshare
,将共享挂载x:
到应用服务器上的驱动器?
不,我认为您不能在文件服务器上安装 iSCSI 目标,同时将其用于应用程序服务器。文件服务器无法知道应用程序服务器如何更新文件系统内部数据。因此,文件服务器看不到任何新创建的文件/扩展的现有文件,备份将毫无用处。