我使用 LVM Thinvolumes 透過 iSCSI 網路啟動一組電腦。我有時會釋放這些機器上的空間。不幸的是,thinvolumes 上的空間沒有被釋放。所以我partclone
時不時地進行分區,以釋放空間。在虛擬化中,您可以使用工具將未使用的空間清除,從而釋放空間。是否有類似或更好的方法透過 LVM 精簡池/精簡卷回收空間?
先致謝
答案1
LVM Thin 支援DISCARD,更廣泛地稱為TRIM。理論上應該可以透過 iSCSI 來實現這一點(有一個等效的 UNMAP 命令),但我還沒有找到任何相關內容。
在託管這些磁碟區的電腦上,您可以使用它fstrim
來釋放可用空間。手冊頁甚至明確提到了它:
fstrim 用於已安裝的檔案系統,以丟棄(或「修剪」)檔案系統未使用的區塊。這對於固態硬碟 (SSD) 和精簡配置的儲存非常有用。
為此,Linux 需要支援檔案系統,並且該支援需要包括 TRIM。如果您的網路啟動電腦執行 Windows,則可能是 NTFS。顯然NTFS-3G支援TRIM。
fstrim
僅在已安裝的檔案系統上運作。
它看起來像這樣:
更新:正如評論中所討論的,Linux SCSI 目標在其區塊後台儲存上提供了一個標誌來識別 SSD:is_nonrot
。它還支援 UNMAP SCSI 命令。 Windows(至少 Windows 10)透過 iSCSI 正確偵測 SSD 並發出 UNMAP 指令,立即釋放未使用的空間。