[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