Open vSwitch — программный многоуровневый коммутатор с открытым исходным текстом, предназначенный для работы в гипервизорах и на компьютерах с виртуальными машинами.
Основные возможности коммутатора:
- Учёт трафика, в том числе проходящего между виртуальными машинами с использованием SPAN/RSPAN, sFlow[en] и Netflow.
- Поддержка VLAN (IEEE 802.1q).
- Привязка к конкретным физическим интерфейсам и балансировка нагрузки по исходящим MAC-адресам.
- Работа на уровне ядра, поддержка существующих возможностей Linux по работе в качестве моста.
- Поддерживает Openflow для управления логикой коммутации.
Помимо режима на уровне ядра, с меньшей производительностью open vSwitch может работать и с правами пользователя (вне ядра).
Основные области применения:
- Замена обычных bridgetools.
- Использование в составе Xen Server, Xen Cloud Platform, KVM, VirtualBox, QEMU, ProxMox (начиная с 2.3)
Взято с Wikipedia
Добавлю ко всему вышесказанному механизм QoS, GRE-туннелирование, индивидуальные политики для виртуальных машин, а также возможность агрегации портов с распределением нагрузки.
Установка OpenvSwitch
Поскольку OpenvSwitch отсутствует в стандартных пакетах CentOS, то добавим дополнительный репозиторий RDO из которого произведем установку.
yum install https://rdoproject.org/repos/rdo-release.rpm |
Запускаем сервис
systemctl start openvswitch.service |
Отключаем NetworkManager
systemctl disable NetworkManager |
Настройка Bridge
Прежде всего создаем виртуальный коммутатор
ovs-vsctl add-br ovs-br0 |
И добвляем в него физический порт сервера:
ovs-vsctl add-port ovs-br0 eno16777984 |
Изменим конфигурацию на интерфейсах:
/etc/sysconfig/network-scripts/ifcfg-eno16777984DEVICE="en016777984"
NM_CONTROLLED="yes"
ONBOOT="yes"
IPV6INIT=no
TYPE="OVSPort"
DEVICETYPE="OVSIntPort"
OVS_BRIDGE=ovs-br0
/etc/sysconfig/network-scripts/ifcfg-ovs-br0DEVICE="ovs-br0"
NM_CONTROLLED="no"
PEERDNS=yes
ONBOOT="yes"
TYPE="OVSBridge"
BOOTPROTO="static"
IPADDR=192.168.2.67
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=192.168.2.6
HOTPLUG="no"
И перезапускаем сеть
systemctl restart network |
На этом все. Более детальная информация по настройке будет представлена в других статьях.