可以在 Linux 中创建虚拟机并指定 IOPS 吗?

可以在 Linux 中创建虚拟机并指定 IOPS 吗?

我想创建一些具有不同最大 IOPS(例如 100、200 和 500)的虚拟机,以进行各种基准测试。

我尝试过 VMWare Workstation Player for Linux,但它没有配置选项。我还尝试过免费试用 VMWare vSphere ESXi,但目前还没有成功。

是否有任何简单易用的免费 Linux 替代方案,让我可以创建具有指定最大 IOPS 的多个虚拟机?

看起来在 Windows 的 Hyper-V 中是可行的: https://www.youtube.com/watch?v=qbWVFS4UyH0

但我需要一个 Linux 解决方案

答案1

我在谷歌工作,不想在这里做广告,但它自然是我最熟悉的云。您可以通过选择 (a) 持久磁盘的类型和 (b) 其大小来确定虚拟机的 IOPS 性能。大小越大,IOPS 就越高,因为请求可以并行化。最高可达某个阈值,该阈值由虚拟机类型决定(慢速 CPU 无法提供超过这么多的 IOPS)。

阅读https://cloud.google.com/compute/docs/disks/performance您会发现(截至 2021-12-11),如果您选择区域标准 PD,则每 GB 的读取速度可达到 0.75 IOPS。因此,如果您有 100GB 的磁盘,则每 GB 的读取速度可达到 75 IOPS。如果您想要更多,请选择 SSD 磁盘或增加磁盘大小。

回答你的问题 - 100 IOPS(写入)应该可以用 67GB 分区标准 PD 磁盘实现。如果是 200,你需要将大小翻倍;如果是 500,你需要将其乘以 5。

在云时代到来之前,我就一直在思考这个话题,我真的推荐基于你的问题的结果,你可以在这里找到它:https://www.admin-magazine.com/Archive/2016/32/Fundamentals-of-IO-benchmarking

答案2

如果使用 libvirt/KVM,应该是可以的。从项目文档

读取操作数
每秒读取 I/O 操作数限制。自 1.2.2 版起

写入操作
每秒写入 I/O 操作数限制。自 1.2.2 版起

这些参数可以在该部分下设置<blkiotune>

相关内容