以前是一个VirtualBox用户,我最近搬到了KVM(QEMU / libvirt或者其他所谓的)。 我知道,在VirtualBox中,当你添加一个新的存储设备到虚拟机,有一个checkbox标记为固态驱动器 ,如果选中,来宾系统将看到虚拟磁盘作为固态设备。 这是非常有用的,因为它可以通知客户系统(即Windows)禁用碎片整理。 我想知道在KVM中这是否可行,因为我在互联网上找不到任何相关的东西?
您不需要关心Windows中的碎片整理,因为如果相信某些来源 ,Windows中的碎片整理不会在SSD驱动器上完全closures:
如果完全禁用碎片整理,则会冒文件系统元数据可能达到最大碎片的风险,从而可能会遇到麻烦。
真正重要的是在VM内启用TRIM支持。 你可以使用virtio-scsi来实现这个function,它支持TRIM命令。
更改虚拟机configuration以将控制器模型设置为virtio-scsi :
<controller type='scsi' index='0' model='virtio-scsi'>
并更改每个磁盘以启用unmap选项:
<disk type='file' device='disk'> <driver name='qemu' type='qcow2' discard='unmap'/>
QEMU目前没有机制将SCSI,ATA或VirtioBlk磁盘标记为非循环存储。 所以客户操作系统不会做出最佳的设置。 作为一种解决方法,对于Linux,您可以通过为SSD支持的任何磁盘取消sysfs中的块设备的“旋转”标志来覆盖此设置。 我正在与人们交谈,以了解是否有可能将此function添加到QEMU,以使其在将来的版本中“正常工作”。