Ограничение по диску для LXC контейнеров


Ограничение по диску для LXC контейнеров нужно когда в контейнерах на одной машине запускается несколько сервисов. По умолчанию ограничений нет и каждый контейнер может использовать все дисковое пространство хост машины.

Материл является логическим продолжением общей статьи про LXC контейнеризацию и принципы работы с ней.



Ограничение по диску для LXC контейнеров


Изначально выделим на хост машине пространство объемом 10 Гб, которое будет использовано контейнером

truncate -s 10G /var/lib/lxc/container.img



Создаем файловую систему типа ext4

mkfs.ext4 -F /var/lib/lxc/container.img



Теперь нужен каталог, который фактически будет использоваться для хранения данных

mkdir /var/lib/lxc/container



Монтируем img в только что созданную точку файловой системы

mount -t ext4 -o loop /var/lib/lxc/container.img \

/var/lib/lxc/container



Из шаблона ubuntu создаем контейнер

lxc-create -t ubuntu -n container



На этом всё, авторизовавшись в созданном LXC контейнере по SSH и выполнив команду df- h можно увидеть, что доступно только 10 Гб



Чтобы монтирование производилось каждый раз после загрузки автоматически потребуется добавить правило в файл /etc/fstab на сервере

mcedit /etc/fstab

/var/lib/lxc/container.img /var/lib/lxc/container ext4 loop 0 0



Другим вариантом является использование LVM и размещение rootfs контейнера на логическом устройстве


В этом случае контейнер будет создаваться так:

 lxc-create -t ubuntu -B lvm -n u1 --fssize 2G

Сказать спасибо