Você está na página 1de 14

vSwitch abierto

vSwitch abierto es una alternativa a los puentes nativas de Linux, los bonos y las interfaces de
VLAN. Est diseado con entornos virtualizados en mente y se recomienda para aliviar los
despliegues.
Contenido
[hide]

1 Instalacin
2 Configuracin
2.1 Informacin general

2.1.1 Puentes

2.1.2 Bonos

2.1.3 interfaces de host VLANs

2.1.4 Spanning Tree (STP)

2.1.5 Nota sobre MTU


2.2 Ejemplos

2.2.1 Ejemplo 1: Puertos Puente + Internos + El trfico no etiquetado

2.2.2 Ejemplo 2: Puertos Bond + puente + Internos

2.2.3 Ejemplo 3: Puertos Bond + puente + Internos + + El trfico no etiquetado Sin


LACP
2.2.4 Ejemplo 4: Rapid Spanning Tree (RSTP) - 1 Gbps de enlace ascendente, de 10

Gbps de interconexin
3 de multidifusin
4 Uso vSwitch Abrir en Proxmox

Instalacin

Instalar los paquetes abiertos vSwitch

apt-get install Open vSwitch-switch

Configuracin
Referencia oficial aqu, aunque un poco bare: http://git.openvswitch.org/cgi-bin/gitweb.cgi?
p=openvswitch;a=blob;f=debian/openvswitch-switch.README.Debian;hb=HEAD

Visin de conjunto
vSwitch abierta y la unin de Linux y de transicin, o VLAN no debe mezclarse. Por ejemplo, no
intente agregar una VLAN a un Bond OVS, o aadir un enlace a un Linux OVSBridge o
viceversa. vSwitch abierta est diseado especficamente para funcionar en entornos virtualizados,
no hay ninguna razn para utilizar la funcionalidad nativa de Linux.

puentes
Un puente es otro trmino para un interruptor. Se dirige el trfico a la interfaz apropiada basndose
en la direccin MAC. vSwitch puentes abiertos deben contener dispositivos Ethernet primas, junto
con las interfaces virtuales como OVSBonds o OVSIntPorts. Estos puentes pueden realizar mltiples
VLAN, y ser estallado en puertos internos para ser utilizados como interfaces VLAN en el husped.
Cabe sealar que se recomienda que el puente est unido a un puerto de enlace troncal sin VLAN
sin etiquetar; Esto significa que su propio puente nunca va a tener una direccin IP. Si tiene que
trabajar con trfico sin etiquetar entra en el puente, se recomienda que etiquetarla (asignarlo a una
VLAN) en la interfaz de origen antes de entrar en el puente (aunque se puede asignar una direccin
IP en el puente directamente para que los datos no etiquetados , no se recomienda). Se puede
dividir a cabo sus VLAN etiquetadas utilizando interfaces virtuales (OVSIntPort) si necesita acceso a
esas redes VLAN de su anfitrin local. Proxmox asignar el VM invitadas una interfaz de toque
asociado a una VLAN, por lo que no es necesario un puente por VLAN (como las redes Linux clsico
requiere). Usted debe pensar en su OVSBridge muy similar a un interruptor de hardware fsico.
Al configurar un puente, en / etc / network / interfaces, prefijar la definicin de interfaz puente con
allow-ovs $ del iface. Por ejemplo, un simple puente que contiene una nica interfaz se vera as:

automtico vmbr0
allow-ovs vmbr0
iface de vmbr0 manual de inet
ovs_type OVSBridge
ovs_ports eth0

Recuerde, si desea dividir a cabo las VLAN con IPS para su uso en la mquina local, se debe utilizar
OVSIntPorts, consulte las secciones a seguir.

Sin embargo, cualquier interfaz (fsico, OVSBonds, o OVSIntPorts) asociados con un puente deben
tener sus definiciones permitiendo el prefijo $ brname $ iface de, por ejemplo, permitir-vmbr0 bond0
NOTA: Todas las interfaces debe aparecer bajo ovs_ports que son parte del puente, incluso si tiene
una definicin de puerto (por ejemplo OVSIntPort) que las referencias cruzadas del puente !!!

Cautiverio
Los bonos se utilizan para unir mltiples interfaces juntas para actuar como unidad nica. Los bonos
deben referirse a los dispositivos de Ethernet primas (por ejemplo, eth0, eth1).
Al configurar un enlace, se recomienda utilizar LACP (tambin conocido como 802.3ad) para la
agregacin de enlaces. Esto requiere el apoyo interruptor en el otro extremo. Un enlace simple
utilizando eth0 y eth1 que ser parte del puente vmbr0 podra tener este aspecto.

allow-vmbr0 bond0
Manual del iface inet ovsbond
ovs_bridge vmbr0
ovs_type OVSBond
ovs_bonds eth0 eth1
lacp ovs_options bond_mode = balanza tcp = activa other_config:
lacp-time = rpido

NOTA: Las interfaces que forman parte de una unin no necesitan tener su propia seccin de
configuracin.

Interfaces de host VLANs


Para que el husped (por ejemplo Proxmox anfitrin, no ellos mismos mquinas virtuales!) Para
utilizar una VLAN en el puente, se debe crear OVSIntPorts. Estos se separaron durante una interfaz
virtual en la VLAN especificada que se puede asignar una direccin IP a (o usar DHCP). Es
necesario configurar ovs_options tag = $ VLAN para permitir OVS sabe qu vlan la interfaz debe ser
una parte de. En el mundo del interruptor, esto se conoce comnmente como una RVI (Enrutado de
interfaz virtual), o interfaz IRB (Enrutamiento de bridge integrado).
IMPORTANTE: Estos OVSIntPorts que cree tambin debe presentarse en la definicin puente real
bajo ovs_ports. Si no lo hacen, no van a ser subidos a pesar de que ha especificado un
ovs_bridge. Tambin es necesario prefijar con la definicin permitiendo $ $ puente del iface
La creacin de este puerto VLAN se vera as en / etc / network / interfaces:

allow-vmbr0 vlan50
iface de vlan50 inet static
ovs_type OVSIntPort

ovs_bridge vmbr0
ovs_options tag = 50
ovs_extra conjunto de interfaz de $ {} IFACE externos-ids: iface
de-id = $ (-s hostname) - $ {} IFACE -vif
10.50.10.44 direccin
mscara de red 255.255.255.0
puerta de entrada 10.50.10.1

Spanning Tree (STP)


vSwitch abierta compatible con el protocolo Spanning Tree clsico, pero est desactivado por
defecto. Spanning Tree es un protocolo de red que se utiliza para evitar bucles en una red de rea
local Ethernet en puente. El protocolo Rapid Spanning Tree ms reciente (RSTP) an no se admite
en la versin de Open vSwitch enviado con Proxmox (v2.3), se aadi esa caracterstica en v2.4.
Con el fin de configurar un puente de apoyo STP, debe utilizar un script de "arriba" como los
"ovs_options" y "opciones" ovs_extras no emiten los comandos apropiados. Un ejemplo sera aadir
esto a su configuracin de la interfaz "vmbr0":

hasta ovs-vsctl establecer Puente $ {} IFACE stp_enable = true


Puede ser conveniente establecer tambin un guin "post-up" que tiene capacidad para 20 o ms
segundos de espera en la convergencia de STP antes de seguir con el arranque.
Otras opciones que se pueden configurar son:
other_config: STP-priority = Configura la prioridad del puente raz, menor es el valor, ms

propensos a convertirse en el puente raz. Se recomienda ajustar esta opcin en el valor


mximo de 0xFFFF para evitar vSwitch abierto se convierta en el puente raz. El valor por
defecto es 0x8000
other_config: STP-forward-delay = La cantidad de tiempo que el puente se sentar en el

modo de aprendizaje antes de entrar en un estado de reenvo. El rango es de 4-30, por defecto
15

other_config: STP-max-age = El rango es de 6-40, por defecto 20

other_config: STP-hello-time = El rango es de 1-10

Tambin debe considerar la adicin de un valor de costo a todas las interfaces que forman parte de
un puente. Puede hacerlo en la configuracin de la interfaz ethX:

ovs_options other_config: STP-ruta costo = 100


Usted puede mirar en el "estado" de cada interfaz que debe indicar si el puerto est en la expedicin
o el modo de bloqueo para STP a travs de:

ovs-ofctl espectculo vmbr0


NOTA: vSwitch abierta no permite actualmente un enlace para participar en STP.

Nota sobre la MTU


Si usted planea usar un MTU ms grande que el valor por defecto de 1500, lo que necesita para
marcar cualquier interfaces fsicas, bonos y puentes con una MTU ms grande aadiendo un valor
de MTU a la definicin como MTU 9000 de lo contrario ser rechazado. Sin embargo, no debe crear
las definiciones para sus interfaces fsicas que forman parte de un bono, en lugar de la capa de
enlace, se debe utilizar un script de pre-up como

pre-up (ifconfig eth0 MTU 9000 && ifconfig eth1 MTU 9000)

Si en lugar de crear entradas en / etc / network / interfaces para dichas interfaces fsicas y
especificar la MTU all, entonces que MTU se propagar a todos los nios. Esto significa que no
sera capaz de configurar OVSIntPorts con una MTU de 1500.
Odd Nota: Algunas nuevas NIC Gigabit Intel tienen una limitacin de hardware que significa que el
MTU mximo que pueden soportar es 8996 (en lugar de 9000). Si sus interfaces no estn subiendo
y que estn tratando de utilizar 9000, esta es probablemente la razn y puede ser difcil de
depurar.Prueba a poner todas sus MTU a 8996 y ver si se resuelve sus problemas.

Ejemplos
Ejemplo 1: Puente de puertos internos + + El trfico no etiquetado
El siguiente ejemplo muestra cmo crear un puente con una interfaz fsica, con 2 interfaces VLAN se
separaron hacia fuera, y el etiquetado de trfico sin etiquetar entra en eth0 a la VLAN 1.
Se trata de una completa y trabajando etc / network / interfaces de inclusin /:

# Interfaz de bucle invertido


Lo automtica
del iface lo inet loopback

# Puente de nuestras interfaces fsicas eth0 e interfaces virtuales


VLAN (nuestra SLB
# Tambin adjuntar a este puente)
automtico vmbr0
allow-ovs vmbr0
iface de vmbr0 manual de inet
ovs_type OVSBridge
# NOTA: hay que mencionar eth0, vlan1, y aunque cada vlan55
# De los enumera vmbr0 ovs_bridge!

No estoy seguro de por qu se

necesita este
# Tipo de referencias cruzadas, pero no va a funcionar sin l!
ovs_ports eth0 vlan1 vlan55
MTU 9000
# Interfaz fsica para el trfico que entra en el sistema.

Volver a

etiquetar sin etiquetar


# Trfico en la VLAN 1, sino que pasan a travs de otras etiquetas.
eth0 automtico
allow-vmbr0 eth0
del iface eth0 inet manual de
ovs_bridge vmbr0
ovs_type OVSPort
ovs_options tag = 1 = vlan_mode nativa sin etiquetar
# Alternativamente, si desea restringir tambin lo que se permite a
travs de las VLAN
# Puede usar:
# ovs_options tag = 1 = vlan_mode nativa sin etiquetar troncos =
10,20,30,40
MTU 9000
# Interfaz virtual para aprovechar el trfico originalmente sin
etiquetar
allow-vmbr0 vlan1
iface de vlan1 inet static
ovs_type OVSIntPort
ovs_bridge vmbr0
ovs_options tag = 1
ovs_extra conjunto de interfaz de $ {} IFACE externos-ids: iface
de-id = $ (-s hostname) - $ {} IFACE -vif
10.50.10.44 direccin
mscara de red 255.255.255.0
puerta de entrada 10.50.10.1
MTU 1500

# Ceph comunicacin del clster VLAN (jumbo frames)


allow-vmbr0 vlan55
iface de vlan55 inet static
ovs_type OVSIntPort
ovs_bridge vmbr0
ovs_options tag = 55
ovs_extra conjunto de interfaz de $ {} IFACE externos-ids: iface
de-id = $ (-s hostname) - $ {} IFACE -vif
10.55.10.44 direccin
mscara de red 255.255.255.0
MTU 9000

Ejemplo 2: Puertos Bond + puente + Internos


El siguiente ejemplo muestra una combinacin de todas las caractersticas anteriores. 2 NIC se unen
entre s y se aaden a un puente OVS. 2 interfaces VLAN se dividen a cabo con el fin de
proporcionar el acceso al host a las VLAN con distintas MTU.
Se trata de una completa y trabajando etc / network / interfaces de inclusin /:

# Interfaz de bucle invertido


Lo automtica
del iface lo inet loopback
eth0 y eth1 # Bond juntos
allow-vmbr0 bond0
iface del manual de bond0 inet
ovs_bridge vmbr0
ovs_type OVSBond
ovs_bonds eth0 eth1
# Forzar la MTU de las interfaces fsicas para ser capaces Jumbomarco.
# Esto no quiere decir que cualquier OVSIntPorts deben ser capaces
jumbo.
# No podemos, sin embargo, establecer definiciones para eth0 y eth1
debido directamente
# Para lo que parecen ser errores en el proceso de inicializacin.
pre-up (ifconfig eth0 MTU 9000 && ifconfig eth1 MTU 9000)
lacp ovs_options bond_mode = balanza tcp = activa other_config:
lacp-time = rpido
MTU 9000

# Puente de nuestra unin e interfaces virtuales VLAN (nuestra SLB


# Tambin adjuntar a este puente)
automtico vmbr0
allow-ovs vmbr0
iface de vmbr0 manual de inet
ovs_type OVSBridge
# NOTA: hay que mencionar bond0, vlan50, y aunque cada vlan55
# De los enumera vmbr0 ovs_bridge!

No estoy seguro de por qu se

necesita este
# Tipo de referencias cruzadas, pero no va a funcionar sin l!
ovs_ports bond0 vlan50 vlan55
MTU 9000
# Proxmox VLAN comunicacin del clster
allow-vmbr0 vlan50
iface de vlan50 inet static
ovs_type OVSIntPort
ovs_bridge vmbr0
ovs_options tag = 50
ovs_extra conjunto de interfaz de $ {} IFACE externos-ids: iface
de-id = $ (-s hostname) - $ {} IFACE -vif
10.50.10.44 direccin
mscara de red 255.255.255.0
puerta de entrada 10.50.10.1
MTU 1500
# Ceph comunicacin del clster VLAN (jumbo frames)
allow-vmbr0 vlan55
iface de vlan55 inet static
ovs_type OVSIntPort
ovs_bridge vmbr0
ovs_options tag = 55
ovs_extra conjunto de interfaz de $ {} IFACE externos-ids: iface
de-id = $ (-s hostname) - $ {} IFACE -vif
10.55.10.44 direccin
mscara de red 255.255.255.0
MTU 9000

Ejemplo 3: Puertos Bond + puente + Internal + + El trfico no etiquetado Sin


LACP

El siguiente ejemplo muestra una combinacin de todas las caractersticas anteriores. 2 NIC se unen
entre s y se aaden a un puente OVS. En este ejemplo se imita la configuracin de red por defecto
Proxmox pero utilizando un enlace en lugar de una sola tarjeta de red y el enlace funcionar sin un
conmutador administrado que soporta LACP.
Se trata de una completa y trabajando etc / network / interfaces de inclusin /:

# Interfaz de bucle invertido


Lo automtica
del iface lo inet loopback
eth0 y eth1 # Bond juntos
allow-vmbr0 bond0
iface del manual de bond0 inet
ovs_bridge vmbr0
ovs_type OVSBond
ovs_bonds eth0 eth1
ovs_options bond_mode = balanza SLB vlan_mode = native-sin
etiquetar
# Puente de nuestra unin e interfaces virtuales VLAN (nuestra SLB
# Tambin adjuntar a este puente)
automtico vmbr0
allow-ovs vmbr0
iface de vmbr0 manual de inet
ovs_type OVSBridge
ovs_ports bond0 vlan1
# Interfaz virtual para aprovechar el trfico originalmente sin
etiquetar
allow-vmbr0 vlan1
iface de vlan1 inet static
ovs_type OVSIntPort
ovs_bridge vmbr0
ovs_options vlan_mode = Acceso
ovs_extra conjunto de interfaz de $ {} IFACE externos-ids:
iface de-id = $ (-s hostname) - $ {} IFACE -vif
192.168.3.5 direccin
mscara de red 255.255.255.0
gateway 192.168.3.254

Ejemplo 4: Rapid Spanning Tree (RSTP) - 1 Gbps de enlace ascendente, de 10


Gbps de interconexin

Este ejemplo muestra cmo se puede utilizar Rapid Spanning Tree (RSTP) para interconectar los
nodos Proxmox econmicamente, y el enlace ascendente a sus interruptores de la base para el
trfico externo, todo ello manteniendo un esquema de interconexin totalmente tolerante a
fallos. Esto significa VM <-> Acceso VM (o posiblemente Ceph <-> Ceph) puede funcionar a la
velocidad de las interfaces de red unidos directamente en una estrella o anillo de topologa. En este
ejemplo, estamos usando 10Gbps para interconectar nuestros 3 nodos (conexin directa), y el
enlace ascendente a nuestros conmutadores de ncleo a 1 Gbps. Spanning Tree configurado con
las mtricas de coste adecuados evitar que los bucles y activar las rutas ptimas para el
trfico. Obviamente estamos utilizando esta topologa porque 10Gbps los puertos del conmutador
son muy caros as que esto es estrictamente una maniobra de ahorro de costos. Se podra,
obviamente, utiliza los puertos 40Gbps en lugar de puertos de 10 Gbps, pero la clave est en las
interfaces necesarias para interconectar los nodos son de mayor velocidad que las interfaces
utilizadas para conectarse a los conmutadores de ncleo.
Esto supone que est utilizando Open vSwitch 2.5, las versiones anteriores no apoyaron Rapid
Spanning Tree, pero slo Spanning Tree, que tena algunos problemas.
Para explicar mejor lo que estamos logrando, mira esta representacin ASCII-art a continuacin:

X = puerto de 10 Gbps
G Puerto = 1 Gbps
B = Bloqueado a travs del rbol de expansin
R = Raz del rbol de expansin
PM1-3 = Proxmox alberga 1-3
Los interruptores SW1-2 = Juniper (apilados) 1-2
* Nota: Abrir vSwitch no puede hacer el STP en enlaces unidos, de lo
contrario los vnculos con el ncleo
interruptores se unen en este diagrama: /
| ----------------------------- |
|

GGG |

SW1

| - | ----------- | ----------- | --- |

| - + ----------- ----------- + + --- |


|

G |

G |

G |

SW2

| - + - | --------- + - | --------- + - | - |
|

BBBBB

| - | - | - |

| - | - | - |

G GX -------- + - + -------- G XG |

X |

X |

| ------ \ |

PM1 \ |

\ |

\ |

| / ------ |

/ PM3
segundo
|

\ | - | - | - | /
\ GG /
| XX |
| ------- |
PM2

Se trata de una completa y trabajando etc / network / interfaces de inclusin /:

Lo automtica
del iface lo inet loopback
allow-vmbr0 eth0
el enlace # 1 Gbps al conmutador central
del iface eth0 inet manual de
ovs_bridge vmbr0
ovs_type OVSPort
ovs_options other_config: rstp-enable = true other_config: rstppuerto-ruta costo = 100
MTU 8996
allow-vmbr0 eth1
el enlace # 1 Gbps al conmutador central secundaria
iface de eth1 manual de inet
ovs_bridge vmbr0
ovs_type OVSPort
ovs_options other_config: rstp-enable = true other_config: rstppuerto-ruta costo = 100
MTU 8996
allow-vmbr0 eth2
# 10 Gbps enlazar a otro nodo Proxmox / CEPH
iface de eth2 manual de inet
ovs_bridge vmbr0
ovs_type OVSPort
ovs_options other_config: rstp-enable = true other_config: rstppuerto-ruta costo = 10
MTU 8996

allow-vmbr0 eth3
# 10 Gbps enlazar a otro nodo Proxmox / CEPH
iface de eth3 manual de inet
ovs_bridge vmbr0
ovs_type OVSPort
ovs_options other_config: rstp-enable = true other_config: rstppuerto-ruta costo = 10
MTU 8996
automtico vmbr0
allow-ovs vmbr0
iface de vmbr0 manual de inet
ovs_type OVSBridge
ovs_ports eth0 eth1 eth2 eth3 vlan50 vlan55
# Los valores ms bajos para los tiempos de convergencia ms
cortos, estamos en una red rpida.
# Establecer la prioridad alta para que no ser promovido a la raz
STP
# NOTA: ovs_options y ovs_extra, no repita el trabajo por alguna
razn para establecer el STP
# options.
hasta ovs-vsctl establecer Puente $ {} IFACE rstp_enable = true
other_config: rstp-priority = 32768 other_config: rstp-forward-delay =
4 other_config: rstp-max-age = 6
MTU 8996
# Esperar a que la convergencia del rbol de expansin
el sueo puesto en marcha 10
# Proxmox VLAN comunicacin del clster
allow-vmbr0 vlan50
iface de vlan50 inet static
ovs_type OVSIntPort
ovs_bridge vmbr0
ovs_options tag = 50
ovs_extra conjunto de interfaz de $ {} IFACE externos-ids: iface
de-id = $ (-s hostname) - $ {} IFACE -vif
10.50.30.44 direccin
mscara de red 255.255.255.0
puerta de entrada 10.50.30.1
MTU 1500

# Ceph comunicacin del clster VLAN (jumbo frames)


allow-vmbr0 vlan55
iface de vlan55 inet static
ovs_type OVSIntPort
ovs_bridge vmbr0
ovs_options tag = 55
ovs_extra conjunto de interfaz de $ {} IFACE externos-ids: iface
de-id = $ (-s hostname) - $ {} IFACE -vif
10.55.30.44 direccin
mscara de red 255.255.255.0
MTU 8996

En nuestros conmutadores de ncleo Juniper, hemos puesto en marcha esta configuracin:

conjunto de protocolos rstp puente con prioridad 0


protocolos establecidos RSTP con visin de retraso de 4
protocolos establecidos RSTP 6 max-age
# 1 Proxmox
conjunto de protocolos de interfaz rstp ge-0/0/3 cuesta 70
conjunto de protocolos de interfaz rstp ge-1/0/3 cuesta 70
# 2 Proxmox
protocolos establecidos interfaz rstp ge-0/0/4 costo 100
protocolos establecidos interfaz rstp ge-1/0/4 costo 100
# 3 Proxmox
protocolos establecidos interfaz rstp ge-0/0/5 costo 130
protocolos establecidos interfaz rstp ge-1/0/5 costo 130

inspeccionar:

# Obtener informacin Puente


ovs-vsctl obtener Puente vmbr0 rstp_status: rstp_bridge_id
rstp_status: rstp_root_id rstp_status: rstp_root_path_cost
# Obtener informacin por puerto
para el puerto en eth0 eth1 eth2 eth3;

hacer

echo "==================================="
echo "$ puerto puerto:"
eco ""
ovs-vsctl obtener el puerto de Port $ rstp_status: rstp_status
rstp_port_role: rstp_port_state
hecho

multidifusin
En Este momento vSwitch abierto no hace nada en lo que respecta a la multidifusin. Por lo general
en la que podra decirle a Linux para que el interrogador de multidifusin en el puente, en su lugar
debe configurar su interrogador en su router o switch. Por favor refirase a la Multicast_notes wiki
para ms informacin.

Usando vSwitch Abrir en Proxmox


Usando vSwitch abierta no es muy diferente que el uso de puentes de Linux normales. La principal
diferencia es en lugar de tener un puente por VLAN, que tiene un solo puente que contiene todos
sus VLANs. A continuacin, la hora de configurar la interfaz de red de la mquina virtual, se
selecciona el puente (probablemente el nico puente que tiene), y tambin se le introduzca la
etiqueta de VLAN asociada a la VLAN que desea que su mquina virtual para ser una parte
de. Ahora hay cero esfuerzo al aadir o eliminar las VLAN
https://pve.proxmox.com/wiki/Open_vSwitch
https://phenobarbital.wordpress.com/2012/12/08/instalando-y-usando-openvswitch-en-debiangnulinux/

Você também pode gostar