You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

KVM部署虚拟机时SSD性能大幅下降的优化方案咨询

KVM部署虚拟机时SSD性能大幅下降的优化方案咨询

大家好,我最近碰到一个头疼的KVM磁盘性能问题,想请各位大佬帮忙支支招:

  • 我的宿主机是Ubuntu 22.04 LTS,用了两块2TB的三星SSD 870 QVO做RAID 0,总容量4TB,宿主机本地跑4KiB随机写入测试能稳定在40MB/s左右,最高到43MB/s
  • 但用KVM创建的文件型虚拟机(试过raw和qcow2两种磁盘格式),同样的测试下性能直接掉到了1MB/s上下,这差距实在太大了,完全没法用
  • 我已经试过在virt-manager里给磁盘设置nocache,也切换过none/writeback缓存模式,可性能一点起色都没有

具体测试数据对比

宿主机测试(fio命令)

我用的测试命令是:

fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=4k --size=4g --numjobs=1 --iodepth=1 --runtime=60 --time_based --end_fsync=1

三次测试的结果都很稳定,比如其中一次的核心数据:

write: IOPS=11.2k, BW=43.7MiB/s (45.8MB/s)(4096MiB/93810msec); 0 zone resets
...
Run status group 0 (all jobs):
WRITE: bw=43.7MiB/s (45.8MB/s), 43.7MiB/s-43.7MiB/s (45.8MB/s-45.8MB/s), io=4096MiB (4295MB), run=93810-93810msec

KVM虚拟机测试

同样的命令跑在KVM虚拟机里,性能暴跌,比如其中一次的结果:

write: IOPS=250, BW=1001KiB/s (1026kB/s)(826MiB/844616msec); 0 zone resets
...
Run status group 0 (all jobs):
WRITE: bw=1001KiB/s (1026kB/s), 1001KiB/s-1001KiB/s (1026kB/s-1026kB/s), io=826MiB (866MB), run=844616-844616msec

我还对比了ESXi上的OpenStack虚拟机,人家同样测试能跑到12-24MB/s,这说明我的KVM配置肯定还有优化空间。

虚拟机磁盘相关配置

我的KVM虚拟机XML里磁盘部分的配置大概是这样的:

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2' cache='none' io='native'/>
  <source file='/var/lib/libvirt/images/controller2.qcow2'/>
  <target dev='vda' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</disk>

想问问大家,还有什么我没尝试过的优化手段吗?比如磁盘IO模式、宿主机的磁盘调度策略、KVM的其他参数设置等等,都可以给我提提建议!

备注:内容来源于stack exchange,提问作者shorif2000

火山引擎 最新活动