在 CentOS 7 主机上,我正在从 Amazon Linux 2 qcow2 映像创建 VM:
- 下载 Amazon Linux 2 cloud-init 映像(.qcow2 格式)
- 复制这个文件,运行
qemu-img resize
扩展为40G <disk type='file'>
使用和在我的虚拟机中定义它<source file='my_resized_file.qcow2'>
这行得通——但我在这台主机上运行了大约 30 个虚拟机,所有虚拟机都运行着相当繁重的 Docker 工作负载——而且磁盘 IO 还不够好。
我想尝试使用iothreads
,cache=none
并且io=native
许多在线帖子表明使用这些设置可以提高 SSD 和高 CPU 计数主机的性能。我有足够的 CPU 空闲。
我尝试简单地添加iothreads=1
到域和iothread=1
磁盘,但这失败并出现错误IOThreads not supported for this QEMU
。我认为这是因为我使用的是disk type=file
而不是disk type=block
.
我想:
- 使用操作系统映像及其 cloud-init 函数
- 有 40G 可供 VM 使用
- 使用原始文件类型、
iothreads
和cache=none
以io=native
获得最佳性能
因此,我的问题是……
如何让我的 qcow2 操作系统映像成为可以与这些参数一起使用的 40G 原始块设备?