Я использую все значение по умолчанию lxc настройки с ZFS как backstore.
Что означает, у меня есть шпулька lxc и созданные контейнеры с lxc-create -B zfs -n ubuntu-base -t ubuntu
Теперь, корневая фс исчерпала пространство, потому что я тестировал lxc с ZFS и шпулькой, созданной из файла.
Я присоединил виртуальный диск к VM /dev/sdb
, экспортируемый выход lxc шпулька, и созданный новый lxc буферизуют с /dev/sdb
Затем импортировал старую шпульку lxc как lxc-old
Затем используемый zfs send
все наборы данных от lxc-old
кому: lxc
, уничтоженный lxc-old
Теперь lxc-ls -f
больше шоу любые существующие контейнеры, но zfs показывает наборы данных
root@lxc:~# lxc-ls -f root@lxc:~#
root@lxc:~# zfs list NAME USED AVAIL REFER MOUNTPOINT lxc 5.40G 45.1G 19K /lxc lxc/clamav 679M 45.1G 870M /var/lib/lxc/clamav/rootfs lxc/hadoop 541M 45.1G 710M /var/lib/lxc/hadoop/rootfs lxc/hulk 1.11G 45.1G 1.26G /var/lib/lxc/hulk/rootfs lxc/mongodb 1.03G 45.1G 1.16G /var/lib/lxc/mongodb/rootfs lxc/mongodb2 1.03G 45.1G 1.16G /var/lib/lxc/mongodb/rootfs lxc/python 48.2M 45.1G 185M /var/lib/lxc/python/rootfs lxc/slamdata 427M 45.1G 576M /var/lib/lxc/slamdata/rootfs lxc/splunk 172M 45.1G 324M /var/lib/lxc/splunk/rootfs lxc/ubuntu-base 229M 45.1G 210M /var/lib/lxc/ubuntu-base/rootfs lxc/ubuntu-base@python 1K - 151M - lxc/ubuntu-base@mongodb 1K - 151M - lxc/ubuntu-base@slamdata 1K - 151M - lxc/ubuntu-base@hulk 1K - 151M - lxc/ubuntu-base@splunk 1K - 151M - lxc/ubuntu-base@hadoop 17.0M - 187M - lxc/ubuntu-base@new 1K - 210M - lxc/ubuntu-base@clamav 1K - 210M -
Я не абсолютно уверен, как заставить lxc видеть существующие контейнеры в новой шпульке lxc
Причина I "проиграла", все мои контейнеры были тем, что я ранее подозревал, config
файл, являющийся недостающим.
, Когда ZFS используется в качестве backstore, и новый контейнер создается, такой как /var/lib/lxc/clamav/rootfs
, только rootfs каталог содержится в backstore (ZFS)
config
, файл хранится в пути /var/lib/lxc/<container>/config
, который не хранится в backstore.
решение состоит в том, чтобы создать набор данных с точкой монтирования /var/lib/lxc/
root@lxc:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
lxc 11.4G 37.5G 526M /lxc
lxc/_configs 44K 37.5G 44K /var/lib/lxc/
lxc/_share 252K 37.5G 252K /usr/share/lxc/
решенная проблема.
Я беру определенный выстрел в темноте, но пробую следующее. Я заметил, что в Вашем zfs list
у Вас есть следующее:
NAME USED AVAIL REFER MOUNTPOINT
lxc 5.40G 45.1G 19K /lxc
...
, Возможно, Ваш новый lxc набор данных должен быть смонтирован к /var/lib/lxc
.
zfs set mountpoint=/var/lib/lxc lxc