OpenVZ Forum


Home » International » Russian » VE multi-veth + multi-bridge (предложение)
VE multi-veth + multi-bridge (предложение) [message #27930] Mon, 03 March 2008 12:47 Go to next message
sa10 is currently offline  sa10
Messages: 103
Registered: May 2007
Location: Minsk
Senior Member
Пример из жизни:
VE имеет множество veth каждый из которых включается в какой либо bridge на VE0.
Стандартного решения нет.
Есть такое на один veth и один bridge http://wiki.openvz.org/Using_private_IPs_for_Hardware_Nodes
Есть на два http://vireso.blogspot.com/2008/02/2-veth-with-2-brindges-on -openvz-at.html
Мне этого не хватило и я просто изменил свой vznetcfg с учетом конкретных требований.
Добавил туда нечто вроде
case "${dev}" in
    veth1112.0)
        /sbin/brctl addif br005 ${dev}
        ;;
    veth1777.0)
        /sbin/brctl addif br005 ${dev}
        ;;
    veth1777.2)
        /sbin/brctl addif br036 ${dev}
        ;;
    veth1777.3)
        /sbin/brctl addif br110 ${dev}
        ;;
    veth1777.4veth1777.4)
        /sbin/brctl addif br210 ${dev}
        ;;
    veth2353.0)
        /sbin/brctl addif br035 ${dev}
        ;;
    *)
        /sbin/brctl addif br111 ${dev}
    ;;
esac


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

Хотелось бы чтобы стандартный конфиг поддерживал параметр наподобие BRIDGEMAP="br005;veth1777.0 veth2353.0, br210;veth1777.4,br111;"
Это может означать следующее:
в бридж br005 включить интерфейсы veth1777.0 veth2353.0
в бридж br210 включить интерфейс veth1777.4
все остальные включить в бридж br111
PS.
Еще правильнее, вероятно, для каждого veth определять бридж значением NETIF для каждого перечисленного там ifname.
Можно было бы предусмотреть параметры не только бриджа, но и прочие индивидуальные параметры - (IP, IPALIAS, GW, ROUTE и т.п).
PS.
И для всех ifname где не указан bridge использовать параметр BRDEF, если таковой имеется в vz.conf или в $VEID.conf.

Возможно я не знаю и стандартное решение уже имеется?



--------------------

[Updated on: Mon, 03 March 2008 12:55]

Report message to a moderator

Re: VE multi-veth + multi-bridge (предложение) [message #27938 is a reply to message #27930] Mon, 03 March 2008 14:48 Go to previous messageGo to next message
sa10 is currently offline  sa10
Messages: 103
Registered: May 2007
Location: Minsk
Senior Member
Между прочим подобным образом определяются сетевые параметры в XEN
http://en.opensuse.org/Xen3_and_a_Virtual_Network

vif=[ 'mac=00:16:3e:70:01:01,bridge=br0', 'mac=00:16:3e:70:02:01,bridge=br1' ]
Почему бы не заимстовать?
Соурс то опен Smile
И народу схожесть синтаксиса конфигов понравилась бы.



--------------------

[Updated on: Mon, 03 March 2008 14:51]

Report message to a moderator

Re: VE multi-veth + multi-bridge (предложение) [message #28049 is a reply to message #27930] Thu, 06 March 2008 20:01 Go to previous messageGo to next message
piavlo is currently offline  piavlo
Messages: 159
Registered: January 2007
Senior Member
sa10 wrote on Mon, 03 March 2008 14:47

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


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


Возможно я не знаю и стандартное решение уже имеется?


А в openvz есть полурешение Smile
я его использую вот так:
cs-ovz1 ~ # cat /etc/vz/vznet.conf
#!/bin/bash

EXTERNAL_SCRIPT="/etc/vz/bin/vzbridge.add"
cs-ovz1 ~ # cat /etc/vz/bin/vzbridge.add
#!/bin/bash

CONFIGFILE=/etc/vz/conf/$VEID.conf
. $CONFIGFILE
VZHOSTIF=`echo $NETIF |sed 's/^.*host_ifname=\(.*\),.*$/\1/g'`

if [ ! -n "$VZHOSTIF" ]; then
        echo "According to $CONFIGFILE VE$VEID has no veth interface configured."
        exit 1
fi
if [ ! -n "$BRIDGEDEV" ]; then
        echo "According to $CONFIGFILE VE$VEID veth interface is not enslaved to any bridge."
        exit 1
fi

ifconfig veth${VEID}.0 0
brctl addif ${BRIDGEDEV} veth${VEID}.0
exit $?
cs-ovz1 ~ # fgrep BRIDGEDEV /etc/vz/conf/103.conf
BRIDGEDEV="br0"
cs-ovz1 ~ # brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.0002b3355dc7       no              eth0
                                                        veth1000.0
                                                        veth103.0
                                                        veth104.0
cs-ovz1 ~ #                                                                        


inspired by http://wiki.openvz.org/Veth#Making_a_bridged_veth-device_per sistent
Re: VE multi-veth + multi-bridge (предложение) [message #28052 is a reply to message #28049] Fri, 07 March 2008 07:59 Go to previous messageGo to next message
sa10 is currently offline  sa10
Messages: 103
Registered: May 2007
Location: Minsk
Senior Member
Quote:

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

Мой коллега занимается поддержкой Xen, и я не могу обстоятельно обсуждать удобство Xen, но, по его словам, в последней версии наша конфигурация поднимается на стандартных скриптах.
Он использовал версию от 2008-01-30.
Они там много чего наваяли нового, развиваются...

И почему не может быть стандартного решения?
Предусмотреть, что может быть множество бриджей, а не один невозможно? В каждый из бриджей могут быть включены любые интерфейсы из имеющихся в наличии...
Что же здесь нестандартного?
У Вас бридж один, вам хватает приведенного скрипта, но у нас на VE c фаерволом их четыре, по одному для каждого вилана и число их будет расти.
Подозреваю, что не только у нас.
Нужно только предусмотреть возможность наличия нужных значений в NETIF и обеспечить в vznetcfg выборку на пар значений из переменной NETIF для конфигурирования бриджей.
Это и было бы стандартным решением.

Изобретать велосипед умеет каждый, но это не юникс-вей Rolling Eyes


--------------------

Re: VE multi-veth + multi-bridge (предложение) [message #28107 is a reply to message #28052] Sat, 08 March 2008 20:59 Go to previous messageGo to next message
piavlo is currently offline  piavlo
Messages: 159
Registered: January 2007
Senior Member
sa10 wrote on Fri, 07 March 2008 09:59


NETIF и обеспечить в vznetcfg выборку на пар значений из переменной NETIF для конфигурирования бриджей.
Это и было бы стандартным решением.


Не во всех случаях vnet прикрепляется к бриджу, поетому добавлять к NETIF параметер бриджей не всегда разумно.
Ваше решение с BRIDGEMAP="br005;veth1777.0 veth2353.0, br210;veth1777.4,br111;" хоршее решение и не пребует болше 10 минут
чтобы написать generic скрипт через /etc/vz/vznet.conf
Quote:

Изобретать велосипед умеет каждый, но это не юникс-вей Rolling Eyes

Главное чтобы вам оставляли ету возможность изобретать велосипед. В платных софтах обычно такой возможности не оставляют,
а дают только стандартные возможности, далеко не всем подходяшие, к примеру Red Hat Cluster VS Veritas Cluster.
Re: VE multi-veth + multi-bridge (предложение) [message #28123 is a reply to message #28107] Mon, 10 March 2008 07:43 Go to previous message
sa10 is currently offline  sa10
Messages: 103
Registered: May 2007
Location: Minsk
Senior Member
piavlo wrote on Sat, 08 March 2008 22:59


Не во всех случаях vnet прикрепляется к бриджу, поетому добавлять к NETIF параметер бриджей не всегда разумно.


Параметр бриджа может обрабатываться когда он есть и не использоваться при его отсутствии.
Quote:

Главное чтобы вам оставляли ету возможность изобретать велосипед.

Вы предлагаете отвергнуть принцип минимизации затрат как один из основных принципов построения проективных систем http://rudocs.com/content/view/184/42/ и находите для этого причины? Это же мазохизм Smile
Если бы все так думали, то кроме ковыряния в машинном коде нам ничего бы не светило Smile

Уверен, что консолидация опыта и кода должна происходить в рамках основного проекта, а не развиваться в виде персональных ветвей ведущих в никуда.




--------------------

Previous Topic: fsockopen в php
Next Topic: IFB inside VE
Goto Forum:
  


Current Time: Wed Apr 24 18:39:20 GMT 2024

Total time taken to generate the page: 0.01337 seconds