Ограничение дискового ввода-вывода на контейнерах LXD под массивом mdadm RAID 1
На контейнере, работающем на хосте с двумя дисками в массиве RAID 1 mdadm, я безуспешно пытался ограничить дисковый ввод-вывод контейнера LXD с именем ci с помощью:
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 МБ / с вместо ожидаемого результата около 10 МБ / с для операций записи:
10737418240 bytes (11 GB, 10 GiB) copied, 81,3877 s, 132 MB/s
Это также подтверждается atop
работает на хосте:
Как я могу эффективно ограничить дисковый ввод-вывод контейнера, чтобы независимо от того, что с ним происходило, производительность диска хоста не была чрезмерной?
Во втором тесте я выполняю ту же команду dd, что и выше, в то же время на гостевой и на хостовой машине, но хост не имеет приоритета:
Некоторая дополнительная информация:
- Хозяин и гость Ubuntu 16.04
- Сервер имеет два жестких диска с равными разделами, объединенных в массивы RAID 1
Поверх самого большого массива RAID корневая файловая система смонтирована в группе томов LVM
root@server ~ # lvs LV VG Attr LSize root vg0 -wi-ao---- 2,72t swap vg0 -wi-ao---- 4,00g
Серверная часть хранилища LXD - это каталог
Я мог бы разделить диск по-другому, если это могло бы помочь ограничить дисковый ввод-вывод контейнера, например, имея массив RAID, выделенный для ZFS для LXD. Это поможет?
1 ответ
Ограничения ввода / вывода работают, когда файловая система контейнера находится на блочном устройстве, но не работают на виртуальных устройствах, таких как mdadm RAID, при использовании старой версии, такой как 10.0.9.
После обновления до версии 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