From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=elserv.msk.su; s=elserv; t=1608195286; bh=8VXYg0W9UY5cnNYtwWFKY/qpT5WMAyf2FBbtoqLReOE=; h=Subject:To:References:From:Date:In-Reply-To:From; b=rqvgQIW2nxiO2huTJGlbvPenJ/8sawr9iZ6BqUIlaqRil+jyvflgbYghYdG4t3+9G kXLU4lkUb9wt/SPLeID4NnadyTwMf9SO/OMxUoi498huxSZFwRLBEn3L+DOgiFRsuR 1Fv9qOugbpDix051Le7yip+D8PUrW0gpFlDRQjmM= To: community@lists.altlinux.org References: <49721764-30da-a15d-7448-555d24a10564@basealt.ru> From: Alex Moskalenko Message-ID: <396098ef-690b-a657-7c20-007ef161e982@elserv.ru> Date: Thu, 17 Dec 2020 11:54:44 +0300 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=koi8-r; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [Comm] =?utf-8?b?UDkgT3BlblZaNyAtINCw0LLRgtC+0LzQsNGC0LjRh9C10YE=?= =?utf-8?b?0LrQvtC1INC00L7QsdCw0LLQu9C10L3QuNC1IHZldGgt0LjQvdGC0LXRgNGE?= =?utf-8?b?0LXQudGB0LAg0LIg0LHRgNC40LTQtg==?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Dec 2020 08:54:49 -0000 Archived-At: List-Archive: List-Post: В общем, штатными средствами добавить создаваемый интерфейс в мост я так и не смог. Указание network=bridgename для описания интерфейса не помогло - скрипт vznetcfg пытается использовать prlsrvctl, которого у нас нет. Пока остановился на костыле - прописывание вручную в конфигурационный файл VE в конфигурацию интерфейса bridge=bridgename и создание скрипта /usr/share/libvzctl/script.d/vz-netns_dev_add по мотивам аналога из старого OpenVZ: #!/bin/bash . /etc/vz/vz.conf . /usr/share/libvzctl/scripts/vz-functions vzcheckvar VEID vzcheckvar VNAME vzcheckvar HNAME . /etc/vz/conf/$VEID.conf for iface in $(printf %s "$NETIF" |tr ';' '\n'); do     unset BRIDGE     bridge=     host_ifname=     for str in $(printf %s "$iface" |tr ',' '\n'); do     case "$str" in         bridge=*|host_ifname=*)         eval "${str%%=*}=\${str#*=}" ;;     esac     done     [ "$host_ifname" = "$HNAME" ] || continue     [ -n "$bridge" ] && export BRIDGE="$bridge"     break done /usr/share/libvzctl/scripts/vz-netns_dev_add Если кто знает менее извращенный способ (а кстати, как это делается в RHEL? Ядро ведь из него?) - прошу поделиться знанием. 04.12.2020 17:27, Alex Moskalenko пишет: > > 04.12.2020 15:49, Andrew A. Vasilyev пишет: > >>> 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). >> > Вариант с wiki.openvz.org тоже рассматривал и тестировал, но он у меня > не сработал, так как vzctl похоже ждет завершения всех потомков > mount-скрипта, и пока все они не завершатся - интерфейсы не создаются. > А потомки не завершаются, так как ждут создания интерфейса... >