Как выполнить миграцию памяти в LXC /LXD, чтобы я мог выполнить живую миграцию с одного хоста на другой

Как выполнить перенастройку памяти для переноса в LXC /LXD, чтобы я мог выполнить живую миграцию с одного хоста на другой? Как настроить миграцию дообрезки в CRIU?

1 ответ

Предварительная миграция памяти для Live-миграции с CRUI

Динамическая миграция контейнеров Linux между хостами (есть скрипт миграции), LXC и CRUI:

Вы должны были собрать и установить последнюю версию (>= 1.3.1) CRIU.

LXC upstream начал интегрировать поддержку контрольных точек / восстановления через инструмент lxc-checkpoint. Эта функциональность была в последней выпущенной версии LXC---LXC 1.1.0, вы можете установить LXC 1.1.0 или проверить версию для разработки в Ubuntu, выполнив:

sudo add-apt-repository ppa:ubuntu-lxc/daily
sudo apt-get update
sudo apt-get install lxc

И добавьте следующие строки (как указано выше) в конфигурацию контейнера LXC:

cat | sudo tee -a /var/lib/lxc/u1/config << EOF
# hax for criu
lxc.console = none
lxc.tty = 0
lxc.cgroup.devices.deny = c 5:1 rwm
EOF

контрольная точка контейнера:

lxc-checkpoint -s -D /tmp/checkpoint -n u1

На этом этапе состояние контейнера сохраняется в /tmp/checkpoint, а файловая система - в /var/lib/lxc/u1/rootfs. Вы можете восстановить контейнер, выполнив:

lxc-checkpoint -r -D /tmp/checkpoint -n u1

PS: Вы можете сделать живую миграцию для процессов:

Дамп Возьмите задачи, которые вы собираетесь перенести, и перенесите их в какое-то место, спрашивая criu оставить их в остановленном состоянии после сброса:

criu dump --tree <pid> --images-dir <path-to-existing-directory> --leave-stopped

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

Копировать Скопировать изображения в узел назначения:

scp -r <path-to-images-dir> <dst>:/<path-to-images>

Восстановление Перейти к узлу назначения и восстановить приложения из изображений на нем:

criu restore --tree <pid> --images-dir <path-to-images>
Другие вопросы по тегам