Контейнеры lxc на другом разделе

Я создал два контейнера (скажем, TestOneContainer и TestTwoContainer) на сервере Ubuntu, используя LXC. Теперь файловая система lxc находится в папке / home, а два контейнера также используют папку / home. Я создал два раздела (100 ГБ для TestOneContainer и 200 ГБ для TestTwoContainer) для этих двух контейнеров при установке ОС сервера Ubuntu. Я хочу смонтировать TestOneContainer в 100 ГБ пространства и TestTwoContainer в 200 ГБ пространства. Как я могу это сделать?

Я попробовал эти команды по этой ссылке

создайте и создайте символическую ссылку на два каталога:

sudo mkdir /srv/lxclib /srv/lxccache
sudo rm -rf /var/lib/lxc /var/cache/lxc
sudo ln -s /srv/lxclib /var/lib/lxc
sudo ln -s /srv/lxccache /var/cache/lxc

или, используя крепления bind:

sudo mkdir /srv/lxclib /srv/lxccache
sudo sed -i '$a \
/srv/lxclib /var/lib/lxc    none defaults,bind 0 0 \
/srv/lxccache /var/cache/lxc none defaults,bind 0 0' /etc/fstab
sudo mount -a

Но эти команды предназначены для монтирования lxc в другой файловой системе, а не в TestOneContainer или TestTwoContainer.

2 ответа

Вы должны прочитать этот источник LXC, специально для раздела

Настройка хоста -> Использование отдельной файловой системы для хранилища контейнеров.

Существует очень четкое объяснение.

Предположим, что 100 ГБ свободного пространства находится в /mnt/sd1, а 200 ГБ - в /mnt/sd2, и вы хотите смонтировать их в /work в контейнерах, используйте следующие команды для подключения к контейнерам:

#create mount point from host
sudo mkdir /var/lib/lxc/TestOneContainer/rootfs/work
sudo mkdir /var/lib/lxc/TestTwoContainer/rootfs/work

#mount them from host
sudo mount --bind /mnt/sd1/ /var/lib/lxc/TestOneContainer/rootfs/work
sudo mount --bind /mnt/sd2/ /var/lib/lxc/TestTwoContainer/rootfs/work

Затем запустите контейнеры, и вы увидите / работаете с этим большим пространством с

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