Ограничение дискового ввода-вывода на контейнерах 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

Другие вопросы по тегам