Как переместить физические 12.04 машин в LXC

Существует ли стандартный путь (или стандартные инструменты) для миграции реальных машин в контейнеры LXC для Ubuntu? Я работаю с 12.04.5 машинами. Я столкнулся

Но это специально для debian. Процедура, кажется,

  1. скопируйте корневую файловую систему
  2. удалите ненужные файлы
  3. настройте контейнер

Это походит на легкий процесс, но я полностью плохо знаком с LXC и надеющийся на что-то немного менее подверженное ошибкам. Другая идея, которую я имел, состояла в том, чтобы создать контейнер человечности из шаблона и затем скопировать по той файловой системе. Я держал пари, что много / и т.д. будет противоправно ударено все же.

3
задан 2 October 2015 в 01:19

1 ответ

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

Все, что Вы должны сделать, скопировать файловую систему корня в rootfs справочник контейнера (/var/lib/lxc/YOUR_CONTAINER/rootfs/для дисковой внешней памяти). Исключите/proc,/dev,/sys и/tmp.

Впоследствии:

  • Делают fstab пустой в контейнере
  • , Гарантируют минимальный набор файлов устройства под/dev. Я копирую файлы устройства с типового контейнера, что я создал использование шаблона.
  • , Если Вы собираетесь использовать lxcbr0 для организации сети, установите сетевой интерфейс в DHCP в/etc/network/interfaces
  • , Если Вы собираетесь соединить к физическому интерфейсу, установите интерфейс в статический или ручное. Если руководство, помещенное IP-адрес в конфигурацию контейнера. Не устанавливайте в DHCP.
  • быть уверенными Вы устанавливаете hwaddr в своей контейнерной конфигурации. Если Вы не сделаете то LXC случайным образом произведет тот когда контейнерные грузы, вызывающие много несвежих записей ARP в Вашей сети.
  • прочитанный/usr/share/lxc/templates/lxc-ubuntu. Обратите особое внимание на configure_ubuntu () функция. Вы, вероятно, хотите управлять большинством тех команд в своем контейнере.

После того, как контейнер произошел, пройдите все процессы в pstree, удалив тех, которые не необходимы в контейнерах (udevd, ntpdate, mdadm, и т.д.). Не стесняйтесь удалять все ядерные пакеты.

Вот типовая контейнерная конфигурация для полноты. Эта конфигурация для испытанного хозяина. Контейнер в этом случае точен.

lxc.include = /usr/share/lxc/config/ubuntu.common.conf
lxc.start.auto=1
lxc.rootfs = /var/lib/lxc/myhost/rootfs
lxc.mount = /var/lib/lxc/myhost/fstab
lxc.utsname = myhost
lxc.arch = amd64

# Network configuration
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.ipv4 = 172.27.3.13/24
lxc.network.ipv4 = 172.27.3.15/24
lxc.network.ipv4.gateway = 172.27.3.1
lxc.network.hwaddr = 52:12:a1:a5:d3:23

, Если хозяин OS точен, Вы захотите это в своей конфигурации также. Общий файл не будет доступен.

lxc.devttydir = lxc
lxc.tty = 4
lxc.pts = 1024
lxc.cap.drop = sys_module mac_admin
lxc.pivotdir = lxc_putold
5
ответ дан 1 December 2019 в 15:37

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

Похожие вопросы: