18.5.5. 配置虚拟磁盘缓存
KVM 提供多种虚拟磁盘缓存模式。对于密集型输入/输出(IO)工作负载,选择最佳缓存模式可以显著提高虚拟机(VM)性能。
虚拟磁盘缓存模式概述
writethrough- 主机页缓存仅用于读。只有在数据已提交到存储设备时,写才会被报告为完成。持续的 IO 性能会下降,但此模式有很好的写保证。
writeback-
主机页缓存用于读和写。当数据达到主机的内存缓存,而不是物理存储时,写被报告为完成。这个模式比
writethrough有更快的 IO 性能,但可能会在主机有故障时丢失数据。 none- 主机页缓存被完全绕过。这个模式直接依赖于物理磁盘的写队列,因此它有可预测的持续的 IO 性能,并在稳定的客户机上提供良好的写保证。其也是用于虚拟机实时迁移的一种安全的缓存模式。
流程
- 如果所选的虚拟机正在运行,请关闭它。
编辑所选虚拟机的 XML 配置。
# virsh edit <vm_name>查找磁盘设备,并在
driver标签中编辑cache选项。<domain type='kvm'> <name>testguest1</name> ... <devices> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none' io='native' iothread='1'/> <source file='/var/lib/libvirt/images/test-disk.raw'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> ... </devices> ... </domain>