3

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

3 ответа3

2

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

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

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

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

1

Я бегу 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
0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .