XenServer: Gestión de redes – Networking

   En esta lección introduciremos los conceptos fundamentales de networking en XenServer: objetos pif, vif, network, bond y vlan. Lo completaremos con ejemplos prácticos haciendo uso de XenCenter y del comando xe.

MA icono manual(ACCEDE AQUÍ AL INDICE DEL MANUAL DE CITRIX XENSERVER)

CONTENIDO DE LA LECCION

  • Caso práctico
  • Conceptos de networking en XenServer
  • Añadir nuevas interfaces de red
  • Bonding: Creación de un bond para interfaces de gestión. Creación de un bond para interfaces de almacenamiento. Creación de un bond para el tráfico de red de máquinas virtuales
  • VLANS: Creación de una network para el tráfico de red de las máquinas virtuales con XenCenter. Creación de una network para el tráfico de red de las máquinas virtuales con xe
  • Interfaces virtuales para máquinas virtuales (vif)
  • Estado final de la configuración de red

Caso práctico

   En el entorno XenServer de “L023 Formación” se quiere asegurar la conectividad con el entorno XenServer desde la estación de trabajo del técnico de sistemas en la que se ejecuta XenCenter, y tener un sistema tolerante a fallos con el sistema de almacenamiento NAS en el que se quieren ubicar las máquinas virtuales. Esto se conseguirá creando un sistema de bonding (agrupación) de interfaces de red físicas.

   También se quiere separar el tráfico de red de las dos aulas de la empresa. Para ello, se configurará cada una de las aulas en una vlan diferente.

Conceptos de networking en XenServer

   En XenServer se utilizan tres tipos de interfaces de red;

1.- Interfaces de gestión: son a través de las cuales se realizan las tareas de configuración, administración y mantenimiento del entorno XenServer. A través de un objeto network asociado, se les da direccionamiento IP. La configuración de la primera interfaz de gestión se realiza durante el proceso de instalación de cada servidor. Ver “Lección 1: Instalación de XenServer y XenCenter”.

2.- Interfaces de almacenamiento: su cometido es conectar los servidores XenServer con un sistema de almacenamiento remoto. Este asunto ya se trató en la “Lección 6: Almacenamiento” de este manual, donde se configuró una interfaz de almacenamiento. A través de un objeto network asociado, se les da direccionamiento IP.

3.- Interfaces para tráfico de red de las máquinas virtuales: se utilizan para permitir el tráfico de red de las máquinas virtuales con el exterior, a través de un objeto Network asociado a una interfaz física o a un bond. A estas interfaces no se les configura direccionamiento IP (ya que en este caso el direccionamiento se debe realizar en cada máquina virtual).

 

   Vamos a introducir otros conceptos de networking en XenServer, necesarios para el desarrollo de la lección:

  • PIF: objeto que representa una interfaz de red física de un host en XenServer. También representa una agrupación lógica (bond) de varias interfaces físicas.
  • VIF: objeto que representa una interfaz de red virtual de una máquina virtual en XenServer. Es lo que va a detectar la máquina virtual dispositivo de interfaz de red.
  • Network: objeto XenServer que representa un switch ethernet virtual. Puede haber más de uno en cada host XenServer. Hay Networks para gestión (del entorno XenServer), almacenamiento (conexión iscsi, nfs,… a un storage repository remoto), ó para el tráfico de red de las máquinas virtuales (el objeto network podrá dar conectividad con el exterior del entorno XenServer o privado, interno al servidor).
  • VLAN: según el estándar 802.1q, se puede hacer uso de vlans (virtual lans, lan virtuales) para poder separar en una sola red física varias redes lógicas. Es recomendable disponer de conmutadores que admitan dicho estándar.
  • Bonds: los NIC bonds (también llamado NIC teaming, agregación de puertos,…) permiten utilizar varias interfaces de red como una sola, ya sea en configuración activo-activo, en el que ambas interfaces albergan tráfico de red simultáneamente (de manera que se multiplica el ancho de banda), o activo-pasivo, en el que sólo uno de los interfaces transmite y recibe datos, lo que permite que haya tráfico de red aunque alguno de los dispositivos falle.

   En la figura 1 se ha realizado un diagrama de los objetos de Networking que vamos a implementar en esta lección.

 

   En XenCenter, si en el panel izquierdo seleccionamos el resource pool, en el derecho sólo aparece la pestaña “Networks”. De esta manera se pueden crear objetos network sobre todo el pool o dar direccionamiento IP a interfaces de todos los hosts simultáneamente. Sin embargo, si lo que seleccionamos en el panel izquierdo es un host, en el derecho también aparece la pestaña “NICS” por lo que se pueden realizar operaciones sobre las interfaces físicas (como crear bonds). Si estas operaciones las realizamos sobre el pool master, la configuración que se lleve a cabo se replicará sobre el resto de hosts del resource pool. Todo esto también se puede llevar a cabo con el correspondiente comando xe.

 

Añadir nuevas interfaces de red

   Para poder cumplir con las necesidades propuestas para establecer bonds de gestión,  almacenamiento y máquinas virtuales, se necesitan en total seis interfaces de red en cada host XenServer. El técnico de sistemas se encarga de adquirir y pinchar las interfaces de red en cada uno de los servidores.

   Es recomendable utilizar los mismos modelos de NICS en cada bond. En la lección 3 de este manual, “Administración con XenCenter, consola, xe CLI y PowerShell”, en la práctica “Obtener mediante el comando xe el modelo de una interfaz de red física” vimos que cada servidor tenía una interfaz de modelo Intel 82545EM Gigabit Ethernet Controller y otra AMD 79c970 [PCnet32 LANCE]. Así que se adquirirán y conectarán una interfaz más del modelo Intel y tres del modelo AMD.

   Una vez iniciados los servidores con las nuevas interfaces conectadas, si en el panel izquierdo de XenCenter seleccionamos alguno de los hosts a los que se le han conectado nuevas tarjetas de red y vamos a la pestaña “NICS” en el panel derecho, vemos que siguen apareciendo sólo las dos interfaces que ya se tenían desde que se instalaron inicialmente los servidores. Para que el servidor reconozca las nuevas NICs, se debe pulsar en el botón “Rescan”, en  la parte inferior del panel derecho.

 

   Esta operación se debe realizar en el resto de hosts del pool.

Bonding

   El bonding permite agrupar varias interfaces de red físicas para que operen a nivel lógico como una sola. Esto permite operar en modo active – active, en el que se establece un equilibrio de carga en el tráfico de red a través de ambos interfaces (load balancing) sumando el ancho de banda de cada interfaz, o active – pasive, en el que el tráfico se establece a través de una de las interfaces físicas, y si esta falla, a través de otra interfaz (failover). Este modo de operación se puede elegir en el momento de crear el bond en XenServer. Pero se deben hacer algunas matizaciones:

1.- En un bond de las interfaces de gestión o de almacenamiento no se establece equilibrio de carga, sino soporte a fallos.

2.- En un bond dedicado a tráfico de máquinas virtuales, un bond active – active, permitirá multiplicar el ancho de banda, y cada interfaz física del bond tendrá activa su propia MAC.

   En lo que se refiere a las configuraciones de tolerancia a fallos, será conveniente conectar cada interfaz física del bond a un switch diferente, de manera que se elimine otro posible punto de fallo: si ambas tarjetas están conectadas a un único switch, un fallo de este provocará que el sistema de bonding no sirva para nada.

Creación de un bond para interfaces de gestión

   En el panel izquierdo de XenCenter, seleccionamos el host que actúa como master. En este caso, l023xse01 (para confirmarlo, en el panel derecho de XenCenter, pestaña general, nos fijamos si el valor de “Pool Master” es “Yes”). Vamos a su pestaña “NICS”, donde se muestran las interfaces de red físicas de las que dispone en el servidor.

   Para crear el bond de interfaces de gestión, hacemos clic en el botón “Create Bond…” que hay en la parte inferior de la pantalla.

 

   Se abre la ventana “Create Bond” en la que debemos elegir las interfaces físicas que formarán el bond de gestión del entorno XenServer.

 

   Seleccionamos en este caso las NICs “NIC 0”, que es la que actualmente prestaba el servicio, y la otra interfaz Intel 82545EM que hemos añadido al servidor en el paso anterior, “NIC 2”. Seleccionamos el modo “Active-passive” y dejamos desmarcada la opción “Automatically add this network to virtual machines” ya que esta red no se utilizará para el tráfico de datos de las máquinas virtuales”. Por último hacemos clic en “Create”.

   Aparecerá un mensaje de advertencia, pues la interfaz de gestión se va a mover al bond. Por tanto, se podría perder la conectividad de XenCenter con con los servidores. Si todo es correcto, confirmamos la operación haciendo clic en “Create bond anyway”.

   En la parte inferior de XenCenter, en la barra de estado, se mostrará el progreso de creación del bond (“Creating bond 0 + 2” en nuestro caso”). Cuando termine el proceso de creación del bond, si examinamos la pestaña “NICS” de cada servidor o la pestaña “Networks” del pool, nos aparecerá el “bond 0 + 2” creado.

 

Creación de un bond para interfaces de almacenamiento

   En la “Lección 6. Almacenamiento” de este manual, en el apartado “Creación de un shared storage iscsi” se configuró la “NIC 1” de los servidores para conectar con la NAS de almacenamiento l023nas01, donde se ubicarán las máquinas virtuales.

   Ahora vamos a crear un bond con las interfaces de red físicas “NIC 1” y “NIC 3”, de manera que exista un sistema tolerante a fallos en la conexión del resource pool l023pool01 de los servidores XenServer con el sistema de almacenamiento NAS.

NOTA: Citrix recomienda configurar este sistema tolerante a fallos con la característica Multipathing, la cual no trataremos en este manual (al menos por ahora).

   Así pues, siguiendo los mismos pasos que en el anterior apartado, crearemos un bond activo – pasivo con las interfaces 1 y 3.

 

      Los pasos se omiten ya que son a análogos a los de creación del bond de gestión.

   Vamos a comprobar que el bond de almacenamiento se ha creado correctamente. En la “Lección 6. Almacenamiento”, apartado “Creación de un shared storage iscsi”, también vimos los requisitos para considerar una interfaz de almacenamiento:

  • ningún otro tráfico de red puede utilizar la interfaz dedicada al almacenamiento.
  • la interfaz física dedicada al almacenamiento debe tener establecido el parámetro “disallow-unplug” establecido a “true”.

   Para verificar que se siguen cumpliendo estos requisitos, nos conectamos al servidor “l023xse02” vía ssh y , teniendo en cuenta que la dirección IP que se había asignado a su interfaz de almacenamiento antes de crear el bond era 192.168.170.22, vamos a hacer una consulta sobre las interfaces de red utilizando esa dirección IP en el comando xe pif-list:

[root@l023xse01 ~]# xe pif-list IP=192.168.170.22 params=device,management,host-name-label,disallow-unplug,other-config
device ( RO)             : bond1
management ( RO): false
host-name-label ( RO): l023xse02
disallow-unplug ( RW): true
other-config (MRW): management_purpose: Almacenamiento_01

   Vemos que la IP ya no es utilizada por el dispositivo eth1 del host, sino por el bond, que mantiene los requisitos para ser utilizado como interfaz de almacenamiento. La misma comprobación se podría realizar en el resto de hosts del pool.

 

Creación de un bond para el tráfico de red de máquinas virtuales

   Por último, se quiere crear un bond activo – activo para el tráfico de las máquinas virtuales, así que proporcionarán un total de ancho de banda de e 2 Gbps (1 Gbps por cada interfaz de red que compone el bond).

   Seleccionamos en el panel izquierdo de XenCenter el host pool master (l023xse01), y en el panel derecho vamos a la pestaña NICS. Se hace clic en el botón “Create Bond…” y se abre la ventana “Create Bond”. En ella se seleccionan las NICs que se quieren agrupar (en esta caso la NIC 4 y NIC 5) y se selecciona como tipo de bond “Active – active”. Por último se hace clic en el botón “Create” y comienza el proceso de creación del bond. Una vez terminado, se puede comprobar que se ha creado el mismo bond en el resto de hosts del pool automáticamente. Además, si se selecciona el pool en el panel izquierdo en XenCenter, en la pestaña “Networking” del panel derecho aparecerá un nuevo “switch virtual” llamado “Bond 4 + 5” que ya se podría utilizar para conectar las máquinas virtuales.

 

   Sin embargo, se quiere separar el tráfico de red de cada aula implementando vlans, por lo que este bond no se utilizará para el tráfico de las máquinas virtuales. Finalizaremos la configuración en el siguiente apartado.

 

VLANs

   El uso de vlans (redes de área local virtuales estándar 802.1q) permite separar una red física en varias redes lógicas. Su aplicación en XenServer permite separar el tráfico de red generado por las máquinas virtuales, aunque todas utilicen la misma interfaz de red física para comunicarse con el exterior del entorno XenServer, como si cada grupo de máquinas pertenecientes a determinada vlan estuviese conectada a un switch distinto de los demás. Esto es lo que hace XenServer a nivel lógico, ya que crea un objeto network (switch virtual) para cada vlan configurada.

 

Creación de una network para el tráfico de red de las máquinas virtuales con XenCenter

   Nuestro proyecto “L023 Formación Aulas Virtuales” contempla la creación de redes lógicas separadas para el tráfico de las máquinas virtuales de cada aula. Para implementar este requisito, se conectarán las máquinas virtuales a una vlan diferente. Así que es necesario crear una Network (switch virtual) que permita el tráfico vlan de cada aula. El “Aula 01” utilizará el ID de vlan 101 y el “Aula 02” el ID de vlan 102.

   Seleccionando el pool en el panel izquierdo de XenCenter, vamos a la pestaña “Networks” en el izquierdo y hacemos clic en el botón “Add Network…”. Se abre el asistente “New Network”.

1.- Ventana “Choose the type of Network to Create”.

Seleccionamos “External Network”, ya que es el tipo de tráfico que queremos configurar.

Hacemos clic en “Next”.

2.- Ventana “Enter a name and description for the new network”.

En nuestro caso:

   Name: Red Aula 01

   Description: Red para las máquinas virtuales del Aula 01

Hacemos clic en “Next”.

3.- Ventana “Configure the new network”.

   Se configuran los parámetros de la interfaz física (NIC) que se utilizará para el tráfico, la vlan para la que se permitirá y además nos permite especificar si la red que se está creando debe estar disponible en el asistente de creación de máquina virtual. En nuestro caso:

   NIC: Bond 4 + 5

   VLAN: 101

   Automatically add this network to new virtual machines: <seleccionado>

 

Hacemos clic en “Finish”.

 

Creación de una network para el tráfico de red de las máquinas virtuales con xe

   El siguiente objeto Network, necesario para el tráfico de datos de las máquinas virtuales del Aula 02 sobre la vlan 102, lo crearemos haciendo uso del comando xe. Nos conectamos vía ssh al host pool master (l023xse01):

1.- Se crea el objeto Network con nombre y descripción análogos a los del Aula 02:

[root@l023xse01 ~]# xe network-create name-label=”Red Aula 02″ name-description=”Red para las máquinas virtuales del Aula 02 sobre vlan 102″
d80c9001-71ce-24e0-00cf-06ad34a55136

   El uuid devuelto es el de el objeto Network creado, que deberemos utilizar más adelante.

2.- Se obtiene el uuid del objeto Network “Bond 4 + 5” (creado en el apartado “Creación de un bond para el tráfico de red de máquinas virtuales”) en el host actual, l023xse01.

[root@l023xse01 ~]# xe pif-list host-name-label=l023xse01 network-name-label=”Bond 4+5″ params=uuid                             

uuid ( RO)    : d21a1eec-9324-9010-f6e6-d4248252615f

 

3.- Se establece la vlan sobre la network recién creada. Son necesarios los uuid del objeto network (para el parámetro network-uuid) y del objeto pif (para el parámetro pif-uuid) obtenidos en los puntos anteriores.

[root@l023xse01 ~]# xe pool-vlan-create network-uuid=d80c9001-71ce-24e0-00cf-06ad34a55136 pif-uuid=d21a1eec-9324-9010-f6e6-d4248252615f vlan=102

 

Interfaces virtuales para máquinas virtuales (vif)

   Como hemos definido al principio de esta lección, una vif es el “objeto que representa una interfaz de red virtual de una máquina virtual en XenServer. Es lo que va a detectar la máquina virtual dispositivo de interfaz de red.”

   En nuestro proceso de implementación de XenServer, aun no hemos desplegado ninguna máquina virtual en el resource pool de producción. Sin embargo, para poder trabajar un poco con el concepto de vif, se ha instalado una máquina virtual en el servidor de test l023xse04.

   También es cierto que no hemos realizado ninguna configuración de red en este servidor a lo largo de la lección. Pero no es problema. Sólo tiene dos interfaces de red:

  • NIC 0: Interfaz de gestión a través de la red “Network 0” con la dirección IP 192.168.160.24.
  • NIC 1: Interfaz para el tráfico de las máquina virtuales que residan en este servidor, a través del objeto “Network 1”. En este caso, no se le ha configurado ninguna vlan.

   El sistema operativo de la máquina virtual instalada, denominada L023TES01, es un Windows Server 2012 R2. Durante el proceso de creación de la máquina virtual se especificó que se conectara a la red “Network 1”.

   Una vez terminada la instalación del sistema operativo junto con las XenServer Tools, si desde el panel de control de la máquina virtual examinamos sus conexiones de red, podemos ver el modelo de “tarjeta” de red así como su dirección MAC.

 

   Los objetos vif desde XenCenter se administran desde la pestaña Networking de la correspondiente máquina virtual a través de los botones de la parte inferior:

  • “Add Interface”: añade una vif nueva a la máquina virtual.
  • “Properties”: propiedades de la vif seleccionada.
  • “Remove”: elimina el objeto  vif en el servidor XenServer.
  • “Deactivate”: oculta la vif a la máquina virtual.

 

   Desde el listado de vifs se puede comprobar que la dirección MAC del dispositivo virtual de red (vif) que pone XenCenter a disposición de la máquina virtual coincide que el obtenido más arriba.

 

Estado final de la configuración de red

   Para recapitular todas las configuraciones de red que hemos llevado a cabo en nuestro entorno XenServer, podemos ir a la pestaña “Networking” del resource pool l023pool01. En la parte superior se listan los objetos network creados (los tres correspondientes a los bonds más las redes para las aulas, cada una de ellas sobre su propia vlan).

   En la parte inferior se encuentran los direccionamiento IP que se han configurado para la interfaces bond de gestión (management) y almacenamiento en cada uno de los hosts del pool.

MA icono siguiente Siguiente: Lección 8 – XenServer: Creación de máquinas virtuales

8 pensamientos en “XenServer: Gestión de redes – Networking

  1. roberto

    Excelente manual felicitaciones.
    Tengo una duda si no tengo creado un resource pool por ende solo tengo un solo host, cuantas tarjetas de red fisicas requiero? entiendo que una para gestion y otra para las maquinas virtuales, y no se requiere crear vlans?

    Saludos.

    1. ebhum Autor

      Muchas gracias por tus felicitaciones.

      XenServer puede compartir la interfaz de red de administración con la del tráfico de máquinas virtuales, aunque no es recomendable. Si no vas a utilizar un almacenamiento en red para las máquinas virtuales (es decir, si se alojan en un disco local del servidor), puedes utilizar una única interfaz de red.
      Por otra parte, si no necesitas separar con VLANS el tráfico de red de algunas máquinas virtuales, tampoco es necesario que configures nada al respecto.

      Un saludo,
      ebhum.

  2. Enrique Coronel

    Hola. Muy bueno el tutorial. Tengo una duda. Sobre 1 servidor HP con 2 puertos de red integradas (82576 Gigabit Network) he creado 3 VM con Xen Center. Una VM lo estoy poniendo como file server y le estoy dedicando 1 de los puertos exclusivo para esa VM. Sin embargo cuando ingreso a la VM que está con W2k8 R2 la tarjeta es Realtek + fast Ethernet y me funciona a 100Mbps. Como puedo hacer para que funcione a 1 Gbps. Espero me puedas ayudar. Gracias.

    Enrique Coronel

    1. ebhum Autor

      Hola Enrique.

      He estado mirando la lista de compatibilidad de hardware (http://hcl.xensource.com/) de XenServer y en ella aparecen los modelos 82576 Gigabit Network Connection, 82576EB Gigabit Ethernet Controller y 82576NS Gigabit Ethernet Controller. Cada una de ellas es compatible con diferentes versiones de XenServer (la primera aparece como compatible con la versión 6.5 unicamente). Comprueba la compatibilidad de tu modelo exacto.
      Por otra parte, asegurate de haber instalado las actualizaciones publicadas para tu versión de XenServer y de que las XenServer Tools están correctamente instaladas en la VM de W2k8 R2 (este debería reconocer el interfaz de red como Citrix PV Network Adapter o algo similar).
      Vamos a descartar estas cosas de inicio, y coméntame, por favor.

      ¡Un saludo!

  3. sandro

    hola disculpa ña pregunta es necesario tener windows para usar xen server con xen center no es asi porque deseo instalar xen server afrefarle una maquina virtual debian e instalar un servidor web casero
    gracias por su respuestas

    1. ebhum Autor

      Hola Sandro.

      Yo no lo he utilizado, pero puedes probar con OpenXenManager. También está Xen Orchestra pero es de pago en las versiones avanzadas.

      ¡Saludos!

  4. Hugo

    Buenos días, el caso es que estoy iniciandome en el mundo del XenServer y no paran de salirme problemas y no se como solucionarlos. El objetivo que tengo es crear una máquina con Windows Server 2012 R2, para dar soporte de internet a otras máquinas que se utilizarán con escritorio remoto en máquinas reales. El 2012 lo tengo montado, pero no me conecta a internet y estoy desesperado, he estado consultando en internet y no se que puede faltarme para conectarme por escritorio remoto y creo que es porque no tengo internet pero no se solucionarlo. Espero que me ayuden porque es de vital importancia. Muchas gracias !

    1. ebhum Autor

      Bienvenido y disculpa por el enorme retraso en responder. Llevo meses sin poder atender la página.

      En principio, si enlazas la interfaz de la máquina virtual a una red del servidor que tenga conectividad de nivel 2 correcta, y además el direccionamiento IP de la máquina virtual a través de esa interfaz está correctamente enrutado, deberías poder conectar a y desde el servidor. Si quieres conectar a la VM de Windows, también debería estar habilitado el escritorio remoto en la VM, claro está.
      Si aun tienes problemas (espero que no), por favor dame más detalles: número de interfaces de los servidores XenServer, configuración del networking de XenServer,…

      Un saludo.

Los comentarios están cerrados.