Я установил Windows 8.1 на цель iSCSI. Эта цель предоставляется Linux LIO и поддерживается разреженным файлом.
Одной из причин, по которой я создал такую установку, было тонкое обеспечение. Другими словами, когда я освобождаю дисковое пространство в Windows, LIO должен пробивать дыры в файле, таким образом освобождая место для хранения на сервере Linux.
Я проверил исходники своего ядра, и команда SCSI UNMAP действительно поддерживается для целей с файловой поддержкой. С другой стороны, удаление файлов в Windows не снижает количество места, занимаемого файлом резервной копии в Linux (проверено с помощью du
). Собственно, резервный файл иногда даже больше разрастается.
Некоторые источники в Google говорят, что Win8 должна поддерживать UNMAP / DISCARD на iSCSI, но даже в Wireshark я вижу только обычные команды чтения и записи при удалении файлов. Есть ли способ исправить это или устранить неполадки?
Вам нужно проверить, emulate_tpu
атрибут включен для backstore (разреженный файл, который вы создали и прикрепили как LUN к цели iscsi)
Вы можете проверить, опубликована ли цель, что она поддерживает UNMAP, вы можете прочитать, как Windows ожидает, что цель будет отображать ее в http://msdn.microsoft.com/en-us/library/windows/hardware/jj123660.aspx Важная часть находится на странице ЗАПРОСА B0h.