Skip to content

Latest commit

 

History

History
67 lines (61 loc) · 2.4 KB

QF_trim.md

File metadata and controls

67 lines (61 loc) · 2.4 KB

###libvirt/qemu 文件系统trim 目前virtio驱动无法支持trim,ide/scsi/virtio-scsi驱动可以支持trim。
qemu的trim特性:1.5版支持raw,1.6版支持qcow2。
NTFS本身支持trim命令,EXT4需要在mount时指定参数-o discard,EXT3需要手工执行fstrim。

  • libvirt方式启动虚拟机 ide为例:
    <disk type='file' device='disk'>
        <driver name='qemu' type='qcow2' cache='none' discard='unmap'/>
        <source file='/data/hotplug/vdb.qcow2'/>
        <target dev='sdb' bus='ide'/>
    </disk>

virtio-scsi为例:

<devices> 
  <disk type='file' device='disk'>
        <source file='/tmp/scsidisk.qcow2'/>
        <target dev='sda' bus='scsi'/>
        <address type='drive' controller='0' bus='0' target='0' unit='0'/>
  </disk>
  <controller type='scsi' index='0' model='virtio-scsi'/>     
</devices>
  • qemu直接启动虚拟机
./qemu-system-x86_64 --enable-kvm -m 2g -smp 2  -drive file=/data/hotplug/hotplug.qcow2,cache=none,if=ide,discard=on,format=qcow2 -drive file=/data/hotplug/vdb.qcow2,cache=none,if=ide,discard=on,format=qcow2  -vnc 186.100.8.138:-1

新格式(以virtio-scsi-pci为例):

./qemu-system-x86_64 --enable-kvm -m 2g -smp 2  -drive file=/data/hotplug/hotplug.qcow2,cache=none,if=none,id=hd2,discard=on,format=qcow2 -drive file=/data/hotplug/vdb.qcow2,cache=none,if=none,id=hd,discard=on,format=qcow2 -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd2 -device scsi-hd,drive=hd   -vnc 186.100.8.138:-1
  • 确认方法
    虚拟机内部(文件系统挂载需要-o discard参数):
mount -o discard /dev/sdb /mnt

在guest中/mnt下创建大文件:

[root@localhost hotplug]# du -hs vdb.qcow2
481M    vdb.qcow2

在guest中/mnt下删除大文件:

[root@localhost hotplug]# du -hs vdb.qcow2
294M    vdb.qcow2

guest fs----->device driver----->qemu block----->host fs---->host device driver----->device

  • 使用场景
    提供空间使用率。
    提高写数据性能。

  • 参考