Virtualization

QEMU/KVM+OCFS2能否配置成在guest中刪除文件時在稀疏鏡像文件中打孔?

  • November 13, 2013

我正在使用主機上的來賓虛擬機和 OCFS2 的稀疏原始圖像文件(僅限本地,非集群)來實現該reflink功能。我通過Google搜尋了解到 OCFS2 是一種文件系統,可以在稀疏文件中打孔。

如果我理解正確,有可能(並且顯然可以通過 XFS 實現)將此功能與來賓機器中的 TRIM/丟棄支持結合起來,以便在刪除來賓中的文件時,自動回收主機上的空間。然而,儘管進行了很多實驗,我仍然無法證明這項工作。

這可能嗎?如果它取決於核心和/或 QEMU 的版本,我需要的最低版本是多少?我還錯過了配置的任何內容嗎?我有:

  • discard使用選項安裝(ext4)來賓文件系統/etc/fstab
  • 嘗試了目前的 Debian Wheezy 測試版用於主機和來賓,以及 CentOS 6.2 用於主機
  • 嘗試fstrim在客戶機上執行(我明白了FITRIM ioctl failed: Operation not supported——但我不是 100% 確定這是否相關)
  • 嘗試過bus=idebus=virtio使用 CentOS 6.2 主機)

您應該能夠通過使用 virtio-scsi 設備並在磁碟的 libvirt 定義中指定 discard=unmap 來恢復空間。

我沒有在 CentOS/RHEL 中嘗試過這個,但我確實讓它在更高版本的 Fedora 中工作。我寫了一篇關於它的部落格文章

我會說試一試,看看它是否有效。

引用自:https://unix.stackexchange.com/questions/53938