GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

Configurar Redes Virtuales en Hyper-V (Virtual Networks), VLAN Tagging (802.1Q) y Switch Trunk


Una de las principales y más importantes tareas a realizar en una instalación de Hyper-V es configurar las Redes Virtuales (Virtual Networks) con la utilidad Virtual Network Manager de la herramienta administrativa Hyper-V Manager, incluyendo la configuración de etiquetas VLAN o VLAN ID (VLAN Tagging, es decir, el protocolo IEEE 802.1Q), configuración de Trunking en el Switch de red, la configuración de redes internas, privadas y externas, etc. Una configuración sencilla, que se vuelve algo más confusa y complicada al intentar hacer uso de VLAN Tagging.

Introducción a la Redes Virtuales en Hyper-V

Habitualmente, si hay una tarea obligatoria a realizar inmediatamente después de instalar y configurar Hyper-V (tanto en una instalación nueva de Hyper-V con una migración de Virtual Server 2005 a Hyper-V), es configurar las Redes Virtuales (Virtual Networks), que junto con la creación de Discos Virtuales en Hyper-V, son de las tareas más básicas y matutinas que deberemos poder realizar con soltura.

Las Redes Virtuales que tengamos configuradas, definirán las características de conectividad que podremos ofrecer a las Máquinas Virtuales (Guest o Child Partitions) hospedadas en el servidor de virtualización (Host o Parent Partition). Sin embargo, no debemos verlo sólo así, ya que la configuración de las Redes Virtuales también tiene un importante aspecto de Seguridad, al permitir aislar o comunicar entre sí las Máquinas Virtuales, y/o con el Host, y/o con los segmentos de red disponibles a través de las tarjetas de red físicas del servidor Hyper-V (Host). En consecuencia, también impacta en el rendimiento, ya que en función del ancho de banda disponible y de la actividad de red existente en los/el segmento de red utilizados, el rendimiento de acceso a red de la correspondiente Máquina Virtual podría verse mermado por indisponibilidad de suficiente ancho de banda.

Para configurar Redes Virtuales en Hyper-V, deberemos utilizar la utilidad Virtual Network Manager, desde la herramienta administrativa Hyper-V Manager (luego veremos un ejemplo). Es con Virtual Network Manager, desde donde podremos crear, modificar y eliminar Redes Virtuales. En cualquier caso, una vez creadas las Redes Virtuales, deberemos asociarlas a las correspondientes Máquinas Virtuales, desde el diálogo de propiedades de cada Máquina Virtual.

Es decir, por un lado se crean las Redes Virtuales necesarias (habitualmente, enlazadas con las correspondientes tarjetas de red físicas), y por otro lado se asignan las Máquinas Virtuales a las Redes Virtuales con las que necesiten conectividad.

Podremos definir tres tipos de Redes Virtuales en Hyper-V:

  • External. Este tipo de Red Virtual, permite enlazar la Red Virtual con una tarjeta de red física disponible en el servidor de virtualización (Host o Parent Partition). De este modo, es posible comunicar una Máquina Virtual con el resto de recursos y dispositivos (Router, Proxys, servidores DHCP, DNS, etc.) existentes en la red (bueno, disponibles en la red a la cual nos conecta la correspondiente tarjeta de red física del Host). Es posible especificar el VLAN ID deseado.

    Es importante tener en consideración ciertos detalles:

    • Sólo se puede enlazar una única Red Virtual con una tarjeta de red física. Es decir, en el momento en que creamos una Red Virtual de tipo External asociada a una tarjeta de red física, no podremos crear Redes Virtuales adicionales asociadas a la misma tarjeta de red física. Para crear Redes Virtuales de tipo External adicionales, necesitamos más tarjetas de red físicas. ¿OK?
    • No es posible conectar una Red Virtual con una tarjeta de red Wireless física. Una pena...

  • Internal. Permite comunicar entre sí, múltiples Máquinas Virtuales (todas las que estén utilizando la misma Red Virtual). Además de permitir la comunicación entre las Máquinas Virtuales de la misma Red Virtual, también permite la comunicación entre las mismas y el Host. Sin embargo, no se ofrece acceso a la red física. Es posible especificar el VLAN ID deseado.

  • Private. Permite comunicar entre sí, múltiples Máquinas Virtuales (todas las que estén utilizando la misma Red Virtual). Sin embargo, no permite la comunicación, ni con el Host, ni con la red física.

Para mayor detalle puede leerse el post Hyper-V: What are the uses for different types of virtual networks?.

Para conseguir este comportamiento, Hyper-V utiliza lo que se denomina Virtual Switches. Es decir, el Host incorpora un Switch de red virtual que actúa como corazón de las comunicaciones entre las Máquinas Virtuales, el Host y las redes externas (redes físicas), permitiendo la creación de múltiples segmentos de red (es decir, las Virtual Networks) sobre los que enchufar las Máquinas Virtuales que se desee. De hecho, el concepto de Virtual Switches se utiliza con todos los tipos de Redes Virtuales (no sólo con las de tipo External).

Al crear una nueva Red Virtual (Virtual Network), estamos creando implícitamente un nuevo Virtual Switch. De hecho, podríamos decir que una Red Virtual es un Virtual Switch. De este modo, la tarjeta de red física se conecta directamente al Virtual Switch, sólo y exclusivamente, como consecuencia de crear una Red Virtual de tipo External. Del mismo modo, todas las tarjetas de red virtuales de todas las Máquinas Virtuales (Child Partitions) que queramos conectar a nuestra tarjeta de red física, realmente se conectan directamente al Virtual Switch (es decir, las enlazamos con una Red Virtual), y es a través del Virtual Switch (o Red Virtual) como se comunican con la tarjeta de red física. Esto también incluye al Host (Parent Partition). En cualquier caso, el concepto de Virtual Switch es transparente, pero quizás resulte algo confuso, ya que en el Hyper-V Manager vemos las Virtual Networks pero no vemos los Virtual Switches por ningún lado, cuando es prácticamente lo mismo (al menos, es como lo he entendido yo, aunque quizás esté en error).

Por si sirve de aclaración, os sugiero la lectura de Configuring Virtual Networks With Hyper-V.

Por otro lado, en la configuración de cada Máquina Virtual, podemos agregar Tarjetas de Red Virtuales desde la opción Add Hardware, existiendo dos tipos de Tarjeta de Red Virtual:

  • Network Adapter. Se trata de un dispositivo Sintético, es decir, requiere de la instalación de los Integration Components para su funcionamiento, y ofrece la ventaja de un gran rendimiento, especialmente en redes Gigabit. No soporta el arranque desde red PXE (Pre-Boot Execution Environment).
  • Legacy Network Adapter. Se trata de un dispositivo Emulado, capaz de funcionar sin necesidad de instalar los Integration Components, pero con la desventaja de ofrecer un peor rendimiento. Soporta el arranque desde red PXE (Pre-Boot Execution Environment).

Al agregar una nueva Tarjeta de Red Virtual, o bien al modificar posteriormente (si fuese necesario), podremos especificar la Red Virtual (Virtual Network) a la que deseamos conectar la Tarjeta de Red Virtual, de tal modo, que podemos tener diferentes Tarjetas de Red Virtuales, cada una de las cuales puede estar conectada a la misma o diferente Virtual Network. Del mismo modo, también podremos activar la opción Enable virtual LAN identification para especificar el VLAN ID que deseamos utilizar en la Máquina Virtual (Child Partition).

De este modo, al poder crear múltiples Tarjetas de Red Virtuales, se facila la posibilidad de crear con Máquinas Virtuales escenarios como un Cluster NLB o un Cluster MSCS, por poner algún ejemplo típico en que se requiere de múltiples NICs.

Mejoras de Red en Hyper-V frente a Virtual Server 2005

Un Kit-Kat.

En ocasiones nos olvidamos, pero es interesante observar las mejoras y evolución del producto con el paso del tiempo y de las versiones. En el caso de las Redes Virtuales o Virtual Networking, se han producido un par de mejoras muy representativas desde Virtual Server 2005 a Hyper-V, en particular:

  • Rendimiento mayor del acceso a la red física desde y a las Máquinas Virtuales. La utilización de dispositivos de red sintéticos (un tipo de tarjeta de red virtual que se le puede asociar a una Máquina Virtual) junto con la instalación de los Integration Components en la Máquina Virtual (Guest), mejora notablemente el rendimiento de acceso a la red física desde las Máquinas Virtuales. Esta mejora, se aprecia especialmente en entornos de red Gigabit.

  • Disponibilidad de VLAN Tagging en Hyper-V. La posibilidad de configurar el VLAN ID en cada Tarjeta de Red Virtual de cada Máquina Virtual, facilita enormemente la gestión y configuración de red, especialmente en entornos empresariales con redes relativamente complejas (en pequeñas redes SOHO no suele utilizarse VLANs, por lo que no resultaría destacable).

    Anteriormente, con Virtual Server 2005, podía recurrirse a ciertas soluciones alternativas. Por ejemplo, se podía crear un Network Teaming entre las tarjetas de red físicas del Host, y sobre dicho Teaming crear múltiples tarjetas de red, cada una asociada a una VLAN diferente. Posteriormente, en Virtual Server 2005 se podía crear una Red Virtual para cada tarjeta de red creada en el Teaming (es decir, para cada VLAN). Realizar todo esto en cada servidor Host, es un poco rollo, y requiere de disponer de unas tarjetas de red con unos drivers y software que lo soporten (por ejemplo, las tarjeta de red de los servidores HP Blade, y el Network Teaming de HP, lo soporta OK). Evidentemente, es más laborioso (eso sin entrar en problemas de configuración del TOE, y otras peculiaridades).

Continuamos.

Hyper-V y VLAN Tagging (802.1Q)

Quizás una de las principales novedades de Hyper-V frente a Virtual Server 2005, es que Hyper-V incluye soporte para VLANs, en particular para VLAN Tagging (estandar IEEE 802.1Q), tanto sobre las Máquinas Virtuales (Guest o Child Partitions) como sobre el Host (Parent Partition).

Evidentemente, la ventaja de utilizar VLANs en entornos de virtualización como Hyper-V, está en aprovechar el estándar IEEE 802.1Q, conocido también como VLAN Tagging.

Tradicionalmente, era posible asignar un puerto de un Switch a una VLAN, de tal modo, que cada puerto pertenecía a una y sólo una VLAN. En este caso, si tenemos un servidor Hyper-V con una tarjeta de red conectada a un puerto del Switch, este puerto condicionará la VLAN a la que pertenece el Host y todas sus Máquinas Virtuales (a fin de cuentas, es una configuración que se realiza en el propio Switch, a fuego, y transparente para los dispositivos conectados a dicho puerto). Por lo tanto, si en este escenario deseamos tener Máquinas Virtuales que puedan pertenecer a diferentes VLANs, sería necesario disponer de múltiples tarjetas de red, cada una conectada a un puerto del Switch perteneciente a una VLAN distinta (es decir, necesitaríamos n tarjetas de red).

Sin embargo, con VLAN Tagging es posible posible tener una única tarjeta de red, y decirle tanto al Host, como a cada una de las Máquinas Virtuales, a qué VLAN pertenece. En este caso, Windows Server 2008 Hyper-V se encargará de etiquetar los paquetes (a nivel de enlace desde el punto de vista OSI), con el VLAN ID correspondiente (es decir, marcará cada paquete con la VLAN a la que pertenece), y así con una única tarjeta de red, podremos tener varias Máquinas Virtuales conectadas a diferentes VLANs en el mismo Host, de una forma fácil y sencilla (más adelante, veremos dónde se configura en Hyper-V).

Sin embargo, la utilización de VLAN Tagging (802.1Q) en Hyper-V no es tan trivial, como hasta ahora hemos visto, teniendo ciertos requisitos, al menos:

  • Es necesario que las tarjetas de red y drivers utilizados, ofrezcan soporte para VLAN Tagging (802.1Q).
  • Es recomendable configurar el puerto del switch de red utilizado por Hyper-V, en modo troncal (Trunk), siendo necesario configurar dicho Trunk (o bien el o los puertos, si no se configuró el Trunk), con las VLANs a las que se desea poder acceder.

Para quien quiera profundizar más, aquí van varios enlaces de interés:

Ejemplo Práctico: Configurar Redes Virtuales en Hyper-V

A continuación se incluye un ejemplo práctico, referente a la configuración de Redes Virtuales en Hyper-V, realizado sobre una instalación nueva de Hyper-V.

El servidor del ejemplo se denomina HOST02, y tiene tres puertos de red a Gigabit:

  • Un puerto Gigabit utilizado en exclusiva para gestión (conexiones RDP, administración remota, copia de ficheros, etc.) del servidor físico (Parent Partition).
  • Dos puertos Gigabit para utilizar de forma exclusiva por las Máquinas Virtuales (Child Partitions).

A continuación se muestra una pantalla capturada de las conexiones de red de nuestro caso de ejemplo:

Sobre este entorno, se desean configurar cuatro Redes Virtuales:

  • Dos Redes Virtuales de tipo External. Permitirán la conexión de las máquinas virtuales entre sí, y con el resto de dispositivos y elementos de la red, incluyendo al propio Host (Parent Partition).
  • Dos Redes Virtuales de tipo Private. Permitirán la conexión entre Máquinas Virtuales. El objetivo, es utilizarlas para realizar pruebas con Windows Storage Server 2008 y Microsoft iSCSI Target, de tal modo, que sean utilizadas por el Target (es decir, el Windows Storage Server 2008 con iSCS Target, montado como Máquina Virtual) y por todos los Initiator (es decir, las Máquinas Virtuales que deseen montar los volúmenes iSCSI ofrecidos por el Target). Como no existe ninguna máquina (ni física ni virtual) fuera de este Host que requiera acceso al Target, no es necesario utilizar una Red Virtual de tipo External.

Las tarjetas de red utilizadas para las Máquinas Virtuales, no tienen configurado ningún tipo de protocolo, cliente de red, ni na-de-na, como se muestra en la siguiente pantalla capturada:

Lo contrario ocurre con la tarjeta de red utilizada para gestión del Host, que deberá tener configurado al menos TCP/IP, y si se desea el Cliente para Redes Microsoft, Compartir Impresoras y Archivos, etc. Eso ya cada uno (salvo que exista alguna restricción por la instalación que se tenga que hacer, sino, para gustos hay colores).

Sin liarnos más, empezamos. Lo primero es abrir la herramienta administrativa Hyper-V Manager, y desde ella abrir el Virtual Network Manager, por ejemplo desde el menú contextual del Host, como se muestra en la siguiente pantalla capturada.

En el Virtual Network Manager, podremos ver las Redes Virtuales que tenemos configuradas, en nuestro caso, ninguna. También podremos crear, modificar y eliminar Redes Virtuales. Así, podemos utilizar la opción New Virtual Network para crear una nueva Red Virtual, seleccionando el tipo de Red Virtual (External, Internal o Privata) y haciendo click en el botón Add. A continuación se muestra una pantalla capturada de ejemplo.

Para crear una nueva Red Virtual de tipo External, deberemos asignarla un nombre (ej: LAN HV 01 - Virtual Network) y seleccionar la tarjeta de red que deseamos utilizar. Opcionalmente, podemos introducir alguna nota u observación, y la información del VLAN ID que deseamos utilizar para el Host (Parent Partition). En este último caso, deberemos activar la opción Enable virtual LAN identification for parent partition, y seguidamente especificar el VLAN ID. Recordar, que esto no funciona por arte de magia, y que se necesitará de la colaboración del Administrador de Red para crear el correspondiente Trunk en el Switch de Red así como publicar en el Trunk la VLAN que se deseen utilizar (al menos, es lo que tengo entendido). Click OK para continuar.

Con esto, ya tenemos creada nuestra primera Red Virtual, en este caso, de tipo External. Para crear una nueva Red Virtual de tipo External, simplemente seguiremos los mismos pasos, teniendo en cuenta que deberemos elegir una tarjeta de red física diferente.

Así, una vez que hemos creado nuestras primeras dos Redes Virtuales, si observamos las conexiones de red del Host, podremos observar lo siguiente:

Para cada una de las Redes Virtuales que hemos creado, se ha creado una nueva tarjeta de red (de pegote). Así, si mostramos las propiedades de una de las tarjetas de red físicas utilizadas en exclusiva para las Máquinas Virtuales, mostrará el siguiente aspecto (tendrá seleccionado sólo y únicamente el protocolo Microsoft Virtual Network Switch Protocol).

Del mismo modo, si mostramos las propiedades de cualquiera de las nuevas tarjetas de red de pegote, se mostrarán como sigue:

Llegados a este punto, toca continuar con nuestra tarea, y crear la primera de las Redes Virtuales de tipo Private. Para ello, de nuevo desde Virtual Network Manager, seleccionaremos la opción New Virtual Network, seleccionaremos Private y click en Add, como se muestra en la siguiente pantalla capturada.

Seguidamente, introducimos el nombre (ej: LAN iSCSI 01) y descripción (opcional) deseado para la nueva Red Virtual, y click Apply.

Para crear la segunda Red Virtual de tipo Private, es suficiente con seguir los mismos pasos, eligiendo un nombre diferente para la nueva Red Virtual.

Realizado todo esto, tendremos creadas cuatro Redes Virtuales, dos de tipo External y dos de tipo Private. A continuación, podremos utilizar las nuevas Redes Virtuales creadas en la Máquinas Virtuales del Host, tanto especificándolas durante la creación de una Máquina Virtual, como modificando la configuración de una Máquina Virtual existente.


[Fecha del Artículo (UTC): 13/11/2009]
[Autor: GuilleSQL]



Escribir un Comentario

Para poder escribir un comentario, debe Iniciar Sesión con un usuario.

Si no dispone de un usuario, puede Registrarse y hacerse miembro.

Si dispone de un usuario, pero no recuerda sus credenciales de acceso, puede Restablecer su Contraseña.

Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Esta información se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.
This information is provided "AS IS" with no warranties, and confers no rights.

Copyright © 2007 GuilleSQL, todos los derechos reservados.
GuilleSQL.com y GuilleSQL.net son también parte de Portal GuilleSQL.

Visitas recibidas (Page Loads) en GuilleSQL (fuente: StatCounter):

screen resolution stats
Visitas