[devel] openvswitch и etcnet

Viacheslav Dubrovskyi dubrsl на gmail.com
Пт Дек 27 04:13:50 MSK 2013


Здравствуйте.

В сизиф едет openvswitch с поддержкой etcnet. В связи с чем хочу 
рассказать как оно должно работать.
Что такое OVS и зачем его использовать лучше прочитать на официальном 
сайте http://openvswitch.org/support/

OVS сложная система. Имеет собственную базу данных, где хранит 
настройки. И не все эти порты и бриджи могут отражаться в системе как 
сетевые интерфейсы. В связи с чем создавать интерфейс (папку в 
/etc/net/ifaces) для такого типа порта нет смысла, т.к. etcnet оперирует 
реальными интерфейсами. Поэтому управлять будем только теми ресурсами 
которые реально отражаются в системе как сетевые интерфейсы.
Это 3 типа интерфейсов: бридж реальный и фейковый (ovsbr), порт типа 
internal (ovsport) и специальный тип порта - бондинг (ovsbond).
Реальный и фейковый бридж по сути имеют один тип ovsbr и отличаются 
только наличием родительского бриджа и влана.
Порт типа не internal это или существующий реальный интерфейс (eth0) или 
не отраженные в операционной системе интерфейсы (нпример gre, veth). 
Поэтому я не выделяю их для etcnet. Все это должно настраиваться через 
OVS_EXTRA.

Бридж.
Для его создания в options должно быть:
TYPE=ovsbr

Также как опция может быть указан список сетевых интерфейсов, которые 
должны быть добавлены в данный бридж. Они будут запущены и добавлены в 
бридж.
HOST='eth2'

NB! Нельзя сюда писать порты OVS (тип ovsport или ovsbond). Они должны 
быть описаны отдельно, т.к. для их добавления требуется уже существующий 
бридж.

В результате будет создан бридж. Проверить можно командой ovs-vsctl show


Фейковый бридж.
Данный вид бриджа можно использовать в ситуации, когда нет возможности 
задать влан на порту или когда вы его не знаете. Например подобная 
ситуация описана в 
http://blog.scottlowe.org/2012/10/19/vlans-with-open-vswitch-fake-bridges/ 
. Для создания такого бриджа нужно указывать родительский бридж и влан.
Для этого дополнительно к тем переменным что используются для реального 
бриджа, указываем:
BRIDGE=br0
VID=105
И тогда будет создаваться фейковый бридж


Порт типа internal.
Для его создания в options должно быть:
TYPE=ovsport
Бридж в который должен этот порт добавиться:
BRIDGE=br0

В результате получится сетевой интерфейс который может управляться через 
утилиту ip и др.

Порт бондинг.
Специальный тип порта для объединения 2х физических сетевых интерфейса в 
один.
Для его создания в options должно быть
TYPE=ovsbond
Бридж в который должен этот порт добавиться:
BRIDGE=br0
Также должны быть указаны не меньше 2х сетевых интерфейсов, которые 
должны быть добавлены в данный порт.
HOST='eth1 eth2'


Для задания всех остальных всевозможных настроек,  должны использоваться 
переменные
OVS_OPTIONS
и
OVS_EXTRA

Данные переменные действуют для всех типов сетевых интерфейсов ovs*.

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

-- 
WBR,
Viacheslav Dubrovskyi

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : smime.p7s
Тип     : application/pkcs7-signature
Размер  : 3738 байтов
Описание: п я─п╦п©я┌п╬пЁя─п╟я└п╦я┤п╣я│п╨п╟я▐ п©п╬п╢п©п╦я│я▄ S/MIME
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20131227/542e17d2/attachment-0001.bin>


Подробная информация о списке рассылки Devel