[Comm] P9 OpenVZ7 - автоматическое добавление veth-интерфейса в бридж
Andrew A. Vasilyev
andy на basealt.ru
Пт Дек 4 15:49:30 MSK 2020
Добрый день!
04.12.2020 10:57, Alex Moskalenko пишет:
> Есть система на p8 с некоторым количеством OpenVZ-контейнеров с ядром
> ovz-el. Есть желание перенести ее на p9 и ядро ovz-el7. Собственно
> процесс переноса хост-системы особх вопросов не вызывает, а вот с
> переносом контейнеров есть вопросы. Может, я что-то пропустил в
> документации, поэтому прошу поправить и направить. :)
>
> 1. Перенос собственно контейнеров (часть в simfs, часть в ploop) проще
Обратите внимание на то, что в ovz7 simfs не поддерживается!
> всего провести через создание архива rootfs, удаление старого контейнера
> и создание нового с распаковкой rootfs в него. Скрипты миграции, которые
Скрипт ovztransfer.sh от Virtuozzo переносит только ploop контейнеры.
> находятся в инете, делают по сути то же самое. Это правильное решение?
> Даунтайм контейнеров приемлем.
Есть ещё 3-й вариант: на новом сервере создать контейнеры из свежих
шаблонов, и переносить в эти контейнеры сервисы и данные.
Шаблоны можно сделать самостоятельно, используя mkimage-profiles
(цели ve/systemd-etcnet.tar.gz ve/systemd-networkd.tar.gz
ve/sysvinit-etcnet.tar.gz) и инструкции из
https://www.altlinux.org/OpenVZ7 (Создание шаблонов контейнеров).
> 2. Непонятно пока, что делать с контейнерами, использующими veth. В p8
> был файл vznet.conf, в котором указывался внешний скрипт, добавляющий
> veth-интерфейс со стороны хоста в указанный в конфигурационном файле VE
> мост. В p9 vzctl вообще не знает параметр bridge= в конфигурации VE, а
> файлы vznet.conf похоже вообще не читается и внешний скрипт не
> вызывается. В mount-скрипте интерфейс еще не создан. Как теперь
> правильно добавлять veth-интерфейсы контейнеров в бридж?
В mount-скрипте можно ждать появления нужного интерфейса, как
предлагается в примере из https://wiki.openvz.org/Virtual_Ethernet_device
Только нужно обратить внимание на то, что скрипт mount должен
находиться в каталоге /var/lib/vz/private/VEID/scripts/, при этом
файловая система должна быть смонтирована без флага noexec! Файлы
/etc/vz/conf/VEID.mount не поддерживаются. Про скрипты mount и vps.mount
написано в vzctl(8).
Подробная информация о списке рассылки community