我已经在iSCSI目标上安装了Windows 8.1。 该目标由Linux LIO提供,并由一个稀疏文件提供支持。
我创build这种安装的原因之一是自动精简configuration。 换句话说,当我在Windows上释放磁盘空间时,LIO应该在文件中打洞,这样Linux服务器上的空闲存储空间也是如此。
我已经检查了内核的源代码,SCSI UNMAP命令真的支持文件备份的目标。 另一方面,在Windows上删除文件并不会降低Linux上支持文件占用的空间(用du检查)。 实际上,备份文件有时会增长得更多。
谷歌上的一些消息人士说,Win8应该支持iSCSI上的UNMAP / DISCARD,但即使在Wireshark中,当文件被删除时,我也只能看到普通的读写命令。 任何方式来解决或排除故障?
您需要检查是否为backstore启用了emulate_tpu属性(已创build的稀疏文件,并将其作为LUN附加到iscsi目标)
您可能需要检查发布的目标是否支持UNMAP,您可以阅读Windows如何期望目标在http://msdn.microsoft.com/en-us/library/windows/hardware/jj123660.aspx中显示重要的部分是在查询页面B0h。