Как экспортировать контейнер lxc?

Можно ли экспортировать lxc контейнер на другую машину? Есть несколько инструментов, таких как lxc-snap а также lxc-clone помогут ли они в экспорте в другую систему? Могу ли я скопировать и вставить папку rootfs или есть стандартный способ сделать это?

3 ответа

Решение

Я не думаю lxc-clone а также lxc-snap предполагается использовать для перемещения контейнеров на новую машину. По словам одного из разработчиков LXC, обоснование этих команд:

Одним из очевидных вариантов использования этих клонов моментальных снимков является поддержка пошаговой разработки образов rootfs. Внесите некоторые изменения, снимок, внесите еще некоторые изменения, снимок, отменить...

Там нет упоминаний об экспорте на другую машину...

В то же время я успешно портировал Debian LXC с машины Debian на машину Arch Linux, сначала создав контейнер Debian LXC без какой-либо настройки, а затем скопировав на новую машину config, fstab, lxcname.log файлы и rootfs каталог. Вы можете попробовать это, как я, но... YMMV.

Я бегу lxc контейнеры на btrfs тома, чтобы я мог снимать их легко с btrfs sub snap

Их можно перенести на удаленный btrfs файловая система быстрее, чем с rsync с помощью:

btrfs send /my/snapshot | ssh user@host.com "btrfs receive /my/destination"

btrfs интеллектуален со снимками и не включает виртуальные файловые системы [proc run sys]. Передача дополнительных снимков также возможна.

При перемещении снимков в не btrfs файловая система:

  • Смонтируйте удаленный пункт назначения как sshfs файловая система & cd на гору
  • Остановите контейнер и создайте tar.xz архив контейнера

Вы можете просто скопировать файловую систему и внести соответствующие изменения, как указано в посте выше, чтобы все работало нормально. Первоначально я сделал это и заставил это работать.

У меня всегда возникают проблемы с NAT в контейнерах LXC, поэтому, если вы являетесь пользователем с небольшим весом, вы также можете просто chroot в систему. В настоящее время я использую lxc-templates создать копию моей желаемой ОС, а затем chroot в эту систему, чтобы делать свои вещи. Мне не нужна виртуализация в моем случае использования. Идея проста (не с точки зрения реализации), что она может быть легко перенесена.

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