OpenVZ Forum


Home » International » Russian » VLAN virtualization.
VLAN virtualization. [message #8768] Wed, 06 December 2006 01:20 Go to next message
jdoe is currently offline  jdoe
Messages: 13
Registered: December 2006
Junior Member
В анонсе нового патча сказано про Subj. А нельзя ли поподробнее?
Значит ли это, что можно делать vconfig внутри VS? А что при этом делать на ноде? И не из праздного любопытства, а пользы для. Smile

Есть машина на одном эзернете, на нем куча вланов, на каждом влане по несколько сеток. Адреса из этих сеток отдаются нескольким
VS-ам по несколько адресов из разных сеток. Внастоящее время, все вроде как работает, (крутится vserver) но уж больно много нужно руками править.


PS.
Да, и еще, так как все таки убрать VS процессы из видимости на ноде?

Re: VLAN virtualization. [message #8782 is a reply to message #8768] Wed, 06 December 2006 09:22 Go to previous messageGo to next message
dim is currently offline  dim
Messages: 344
Registered: August 2005
Senior Member
Вам нужно использовать veth девайс:
http://wiki.openvz.org/Virtual_Ethernet_device

Процессы из видимости получится убрать только отдельным патчем, в стандартное ядро не входит. Сильно мешает?
Дело в том, что в нашем понимании, HN должна использоваться только как super-visor интерфейс над VE, все остальные сервисы, не имеющие к этой задаче отношения, должны запускаться внутри отдельных VE.


http://static.openvz.org/openvz_userbar_en.gif
Re: VLAN virtualization. [message #8812 is a reply to message #8782] Wed, 06 December 2006 23:30 Go to previous messageGo to next message
jdoe is currently offline  jdoe
Messages: 13
Registered: December 2006
Junior Member
dim wrote on Wed, 06 December 2006 04:22

Вам нужно использовать veth девайс:
http://wiki.openvz.org/Virtual_Ethernet_device


Спасибо за оперативный reply.

Спасибо, это я уже посмотрел и сделал. Правда просветления пока не наступило. Так значит ли это, что я могу использовать vconfig с последующиvb ip... на VS? Там есть одно НО - oops при остановке такого VS, по крайней мере 2х типов:
(см. attachments)

Итак, есть eth0 на HN.
vzctl set 200 --veth_add .....,eth0,.... --save

и в VS
vconfig add eth0 110
ifconfig eth0.110 123.123.123.123 ....

(не забыть бы про proxy_arp/forwarding)
Я все правильно понял?
Quote:


Процессы из видимости получится убрать только отдельным патчем, в стандартное ядро не входит. Сильно мешает?

Дело в том, что в нашем понимании, HN должна использоваться только как super-visor интерфейс над VE, все остальные сервисы, не имеющие к этой задаче отношения, должны запускаться внутри отдельных VE.


Если правду, то мешает сильно. Всегда есть шанс снести чего-нить лишнее. Потенциальный бардак при halt/reboot -
сначала vs stop, а потом killall. Имхо, процессы должны убиваться в том же контексте что и пораждались.
Мне понравилось, как это сделано в vserver. ps/top на ноде показывает только процессы ноды, а вот vps/vtop - все процессы в куче. Так что я бы таким патчем воспользовался.

Что касается распределения ролей VS0/VS - все правильно. Но какой-то минимум, sshd к примеру,должен же крутиться на HN. Ежели еще како-то web interface к VZ, то и httpd..., а еще UPS демон..., что-нить для бекапов, crond конечно же... вот и набирается. И сиди разбирайся, какой crond имеется ввиду. Конечно, все это не смертельно, и можно обойти поправив в /etc/rc.d/, но может опцией в make menuconfig или каким-нить
echo "0" >/proc/vz/blah-blah это отключать?

С уважением,
Антон.
  • Attachment: oops
    (Size: 3.53KB, Downloaded 290 times)
Re: VLAN virtualization. [message #8814 is a reply to message #8812] Thu, 07 December 2006 05:46 Go to previous messageGo to next message
jdoe is currently offline  jdoe
Messages: 13
Registered: December 2006
Junior Member
Quote:


Итак, есть eth0 на HN.
vzctl set 200 --veth_add .....,eth0,.... --save

и в VS
vconfig add eth0 110
ifconfig eth0.110 123.123.123.123 ....

(не забыть бы про proxy_arp/forwarding)
Я все правильно понял?


Хотя нет... Работает, насколько я понял другой вариант -
экспорт vlan интерфейсов в VS.

на HN:
# vconfig add eth0 105
# vzctl set 200 --veth_add vlan105.1,12:34:56:78:90:AA,eth0,12:34:56:78:90:AB --save
# route add 192.168.1.1 dev vlan105.1

а в vs 200
# ifconfig eth0 192.168.1.1/24
# ....

А как должно быть по замыслу девелоперов?


С уважением, Антон.



Re: VLAN virtualization. [message #8845 is a reply to message #8814] Thu, 07 December 2006 15:18 Go to previous messageGo to next message
Andrey Mirkin is currently offline  Andrey Mirkin
Messages: 193
Registered: May 2006
Senior Member
jdoe wrote on Thu, 07 December 2006 00:46

Хотя нет... Работает, насколько я понял другой вариант -
экспорт vlan интерфейсов в VS.

на HN:
# vconfig add eth0 105
# vzctl set 200 --veth_add vlan105.1,12:34:56:78:90:AA,eth0,12:34:56:78:90:AB --save
# route add 192.168.1.1 dev vlan105.1

а в vs 200
# ifconfig eth0 192.168.1.1/24
# ....


При помощи команды set --veth_add вы создаете veth интерфейс (это виртуальный ethernet интерфейс, не путатйте, пожалуйста, с vlan интерфейсом).
А vlan интерфейс eth0.105 остается сам по себе. Если вы объедините при помощи бриджа eth0.105 и veth интерфейс, то в VE вы сможете увидеть пакеты с тагом 105. Но эти пакеты смогут увидеть все остальные VE, чьи veth также будут включены в этот бридж.

Правильно создавать vlan интерфейс внутри VE. В этом случае только этот VE будет получать пакеты с таким тагом.


Andrey Mirkin
http://static.openvz.org/userbars/openvz-developer.png
Re: VLAN virtualization. [message #8854 is a reply to message #8845] Thu, 07 December 2006 22:15 Go to previous messageGo to next message
jdoe is currently offline  jdoe
Messages: 13
Registered: December 2006
Junior Member
Andrey Mirkin wrote on Thu, 07 December 2006 10:18


Правильно создавать vlan интерфейс внутри VE. В этом случае только этот VE будет получать пакеты с таким тагом.

Ага, то есть теперь можно оперировать vlan-ами внутри VS?

То есть на HN просто делаем

# vzctl set 200 --veth_add <any_name>,MAC,eth0,MAC --save
# (proxy_arp на <any_name>).
И <any_name> НИКАК не связан с физ. интерфейсом.

а в VS 200
# vconfig add eth0 110
# ifconfig eth.110 192.168.1.1/24
# ....

И такую процедуру можно делать на нескольких VS-ах.
Все правильно?
Re: VLAN virtualization. [message #8865 is a reply to message #8845] Fri, 08 December 2006 08:03 Go to previous message
jdoe is currently offline  jdoe
Messages: 13
Registered: December 2006
Junior Member
В общем, получилось только так.

Есть компьютер (VE0) с одним эзернетом, который получает
несколько теговых сетей. Нужно сделать несколько VE каждый с несколькими интерфейсами c разными сетями.

Раскладка адресов такова:
192.168.1.0/24 - сетка на vlan 105, gateway 192.168.1.1
192.168.100.0/24 - сетка на vlan 103, gateway 192.168.100.1

192.168.1.2 - Собственно VE0, он же HN
192.168.1.100 - первый адрес для VE2000
192.168.100.100 - второй адрес для VE2000

1. Устанавливаем bridge на теговый порт:
VE0:# brctl addbr br0
VE0:# ifconfig eth0 0
VE0:# brctl addif br0 eth0

2. делаем интерфейс для VE0, чтобы на нее также можно было попадать.
VE0:# vconfig add br0 105
VE0:# ifconfig br0.105 192.168.1.2/24
VE0:# ip route add default via 192.168.1.1

3. Делаем veth для VE, (MACs 10:00:00:xx:xx:xx - зарегистрированы как Private)
VE0:# vzctl set 2000 --veth_add veth0,10:00:00:20:00:1,eth0,10:00:00:20:00:2 --save

4. Стартуем VS2000
VE0:# vzctl start 2000
VE0:# brctl addif br0 veth0
VE0:# vzctl enter 2000

5. Подымаем теговые порты на VE

VE2000:# ifconfig eth0 0
VE2000:# vconfig add eth0 105
VE2000:# ifconfig eth0.105 192.168.1.100/24
VE2000:# ip route del default
VE2000:# ip route add default via 192.168.1.1

VE2000:# vconfig add eth0 103
VE2000:# ifconfig eth0.103 192.168.100.100/24

6. Ну поскольку несколько адресов, то нужно бы policy-routing
VE2000:# ip rule add from 192.168.100.100 lookup 100
VE2000:# ip route add table 100 default via 192.168.100.1 dev eth0.103

7. Садимся и думаем, как это все автоматизировать:
* 1-2 где-то в районе /etc/sysconfig/network-scripts
* 3 - делается однократно, например при создании VS2000
* 4 - в обещаннных vznetcfg, /etc/vz/vznet.conf ?
* 5-6 наверное тоже в /etc/sysconfig/network-scripts , но уже в контексте VS2000.
Previous Topic: Can't mount: /vz/root/24 /vservers/ovz: No such file or directory
Next Topic: intel drivers: запуск произвольного кода в контексте ядра.
Goto Forum:
  


Current Time: Mon Nov 04 07:48:18 GMT 2024

Total time taken to generate the page: 0.03602 seconds