在一个在mdadm 1阵列上有两个磁盘的主机上运行的容器上,我尝试限制名为ci的LXD容器的磁盘IO,但没有成功:
lxc config device set ci root limits.read 30MB
lxc config device set ci root limits.write 10MB但是,当在容器上运行例如这个命令时:
dd if=/dev/zero of=/root/testfile bs=1G count=10 oflag=direct结果是磁盘的整体容量约为130 of /S,而不是预期的10 of /S用于写入操作的结果:
10737418240 bytes (11 GB, 10 GiB) copied, 81,3877 s, 132 MB/s在主机上运行的atop也证实了这一点:

如何有效地限制容器的磁盘IO,以便无论发生什么情况,主机磁盘性能都不会被过度提交?
在第二个测试中,我在来宾和主机上同时运行相同的dd命令,但是主机也没有优先级:

一些补充资料:
如果可以帮助限制容器的磁盘IO,我可以对磁盘进行不同的分区,例如,拥有一个专用于用于LXD的ZFS的RAID数组。那有帮助吗?
发布于 2017-07-06 10:25:47
当容器文件系统位于块设备上时,I/O限制工作,但是当使用10.0.9这样的旧版本时,I/O限制在mdadm这样的虚拟设备上工作。
更新到10.15版本后,限制工作。在Ubuntu中,您可以使用以下内容进行更新:
sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install lxd有关更多细节,请参见https://discuss.linuxcontainers.org/t/limiting-disk-io-on-lxd-containers/261关于此问题的讨论和https://github.com/lxc/lxd/issues/3515的公开问题。
https://serverfault.com/questions/858873
复制相似问题