虚拟机、TRIM、备用文件

虚拟机、TRIM、备用文件

假设以下情况:

我有 [一个带有] 主机文件系统 (FS) 和主机操作系统的 SSD。虚拟化软件使用主机 FS 上的文件作为虚拟机 (VM) 磁盘映像的存储。VM 上的客户操作系统使用客户 FS 来存储大型文件。

我希望发生以下事情:

  • 我从客户文件系统中删除了这个大文件。
  • 客户操作系统会自动针对释放的块发出 TRIM。
  • 虚拟化软件识别 TRIM 并释放磁盘映像的该部分(因为它是一个稀疏文件,或者使用它自己的可收缩映像的实现)。
  • 主机操作系统向 SSD 发送 TRIM,释放 NAND 块。

我可以实现吗?如果可以,可以使用哪种主机操作系统(Windows、Linux、FreeBSD 等)、主机文件系统(NTFS、ext4、btrfs 等)、虚拟化软件(VirtualBox、VMWare、qemu 等)、客户操作系统和客户文件系统的组合?我必须在虚拟化软件和客户操作系统中设置哪些选项?

答案1

从 FreeBSD 方面来看,如果您使文件系统发出 TRIM (使用https://www.freebsd.org/cgi/man.cgi?tunefs对于 UFS;ZFS 默认执行此操作)并将存储挂载到可以传递 TRIM 请求的介质上(例如 iSCSI)。

相关内容