Migrando el entorno de red virtual de VMware VI3 a VMware vSphere con switches distribuidos
Bueno, una vez tenemos todo nuestro entorno virtual ya migrado a la nueva versión de VMWare vSphere 4.0, todos los servidores corriendo bajo VMware ESX 4.0 y nuestro VMware vCenter Server también, podremos disfrutar de sus ventajas, una de ellas es el nuevo entorno de switches, llamado switches distribuidos o vNetwork Distributed Switches. Con esto conseguiremos comodidad a la hora de gestionar entornos de redes, mucho más sencillo, cambia la forma de configurar los switches, ya no hay que configurar un switch o una red virtual para cada host, si no, es un entorno global, todo se realiza a nivel de vCenter Server y se aplicará a todos nuestros hosts.
Bueno, esto es un ejemplo de lo que es un entorno de red en VMware Virtual Infrastructure 3; y el mismo entorno en VMware vSphere 4. En VMware VI 3, los switches se configuran de forma manual en cada host ESX, hay que crear en todos los host la misma configuración, con los mismos nombres a las redes virtuales (para que cuando una MV se mueva entre diferentes hosts siga conectada a la red). Ahora, en VMware vSphere 4, se crean tantos switches como necesitemos, en mi caso, con un switch distribuido (dvSwitch) para toda la organización me valdrá. Cambia la terminología completamente, ya no se asignan las máquinas virtuales a redes virtuales, si no a Distributed Port Group (dvPortGroup). Hay bastantes novedades entre las diferentes tecnologías, además siempre podremos conservar un entorno mixto entre una y otra tecnología. Otra diferencia es que ahora a los dvSwitch se le configuran Distributed Up Link Port (dvUpLink Port), que son los adaptadores físicos que conectarán al switch distribuido con la red externa, mediante los adaptadores de red de los host ESX (NIC), asociando qué dvPortGroup con dvUpLink Port, para configurar qué máquinas virtuales/VMKernel Port/Service Console Port saldrá por qué adaptador de red físico.
Es un procedimiento bastante largo, al final de él habrá un breve resumen de todos los pasos, a tener en cuenta.
Este procedimiento muestra los pasos para migrar un entorno de redes virtuales sin realizar parada de servicio y poder realizarlo en producción. Para ello es necesario que por lo menos en cada red virtual dispongamos de dos adaptadores de red físicos. Para migrar, primero quitaremos la segunda NIC de cada switch virtual y crearemos el dvSwitch e iremos asignando las NIC que liberemos a éste switch. Posteriormente, usaremos diversos asistentes de VMware para migrar las redes virtuales de máquinas virtuales/VMotion/iSCSI y finalmente las de Service Console.
En este documento he intentado simular un entorno más o menos complejo, no por tener VLAN’s, pq no las hay, si no, diferentes redes, una para máquinas virtuales (Red LAN), una Service Console para la gestión (Service Console), para mi cabina iSCSI donde están mis datastores (Red iSCSI), y una red para VMotion (Red VMotion). Cada red con dos adaptadores de red. Se trata de migrar dicho entorno sin parada. Se podría agilizar el proceso, pero en este documento lo he realizado dando algún paso más para que quede más claro cómo migrar el entorno.
Bueno, lo dicho, tenemos que ir a una red virtual y quitarle el segundo adaptador, yo comienzo por mi red iSCSI, así que desde la vista de “Hosts and Clusters”, vamos a dicha red y vamos a sus “Propiedades”,
En la pestaña “Network Adapters”, seleccionamos una NIC y la quitamos, en mi caso será la vmnic2, pulsamos en “Remove”,
“Sí” para desasignar esta NIC de ese switch virtual, no nos debe preocupar ya que si todo está bien configurado, irá todo el tráfico de red por el otro adaptador y ni se notará que hemos desconectado esta NIC.
IDEM ahora con otro switch virtual, en este caso vamos a por el de VMotion, repetimos el proceso, vamos a sus propiedades “Propierties”,
Pestaña “Network Adapters”, seleccionamos una NIC y la quitamos, ahora será la vmnic4, pulsamos en “Remove”,
“Sí”,
Y ahora en la red de máquinas virtuales, en mi caso sólo tengo una red de este tipo, pero vamos, tantas redes como tengamos, repetimos el paso, además en esta red tengo la Service Console, si tendría la SC en otro switch, pues repetiríamos el paso. Pulsamos en “Propierties”,
Pestaña “Network Adapters”, seleccionamos una NIC y la quitamos, la vmnic0, pulsamos en “Remove”,
“Sí”,
Deberemos repetir el proceso de quitar las NIC en tantos host ESX como tengamos, y para seguir un orden correcto y no perdernos, siempre quitaremos las mismas NIC’s de los mismos switch’es. Ya vemos que nos hemos quedado en todos los switches virtuales sin la segunda NIC.
Nos cambiamos de vista para crear ya por fín un switch distribuido para todos nuestros host ESX, vamos a la vista “Networking”,
Sobre nuestro datacenter, con botón derecho “New vNetwork Distributed Switch…” crearemos el Switch Distribuido.
Indicamos un nombre al switch disrtibuido, yo le voy a dejar el nombre que trae por defecto más lo que crea oportuno, esto lo hago para que quede un poco más claro el tutoria y nadie se pierda, así que para la empresa Tundra IT, creo el switch dvSwitchTundraIT. Tenemos que indicar cuantos dvUpLink Port queremos que tenga, estos son los conectores (NIC físicos) que tendrá este switch con el exterior. Podemos configurar ya el número de todas las NIC que tenemos o tendremos; pero yo para que se vea claro ire poco a poco y por ahora sólo le dire que quiero 2 NIC’s, las nombrare, asignare las NIC físicas y posteriormente, ya metere el resto. Así que “Next”,
Seleccionamos una NIC de cada host ESX para asignar como dvUpLink a este switch, claro que lo dicho antes, que podíamos haber asignado ya todos los puertos externos. Pero como he dicho que serán 2 dvUpLink Ports, asigno 2 NIC’s, las de mi red iSCSI por ejemplo. “Next”,
Comprobamos que nos ha asignado dos Hosts a los dos puertos, llamados dvUpLink1 y dvUpLink2, lo que hay que hacer ahora, es renombrar los puertos y agregar al resto de NIC’s, “Finish”,
Para editar el nombre de los dvUpLink port’s, vamos al switch distribuido y con botón derecho “Edit Settings…”
En la pestaña “Propierties” en la parte de “General”, tenemos el nº de puertos asociados, editamos los nombres desde “Edit dvUpLink port”,
Lo dicho, estos son los nombres que trae de forma predeterminada, los cambiamos…
Yo usaré estos dos primeros para mi red iSCSI, como tengo dos NIC’s en cada host para esta red privada pues le indico un nombre que me haga referencia, lo dicho, dejo los nombres predeterminados más su función, así que dvUpLinkISCSI1 y dvUpLinkISCSI2. “OK”,
“OK”,
Una vez comprendido, ahora lo que haremos es asignar el nº de puertos que queremos que tenga este switch, si en mi caso tengo 6 NIC’s en cada host, le diré que quiero 6 dvUpLink Ports, volvemos a editar el switch distribuido,
En “Number of dvUpLink ports” indicamos las NIC’s que queremos y volvemos a pinchar en “Edit dvUpLink Port”,
Debemos renombrar los dvUpLink
IDEM, le indicamos un nombre a cada una de ellas, así volveré a tener 6 NIC’s que me conecten con el exterior, todas duplicadas por si se me estropea una NIC de una red, o un switch físico conectado a una NIC. “OK”,
Cambiamos la vista y nos vamos a “Host and Clusters”,
Ahora asignaremos los dvUpLink Port con la NIC correspondiente, esto hay que hacerlo tantas veces como host ESX tengamos o querramos asignar, así que vamos a por el primer host ESX, a la pestaña “Configuration” > “Networking” > Botón “Distributed Virtual Switch” > “Manage Physical Adapters…”,
Y asignamos a los dvUpLink Port la NIC que le toque, eso sí, como sólo hemos liberado una de cada switch virtual de VI3 sólo podremos asignar una a cada dvUpLinkXXXX1. En mi caso la vmnic2 la hemos asociado a dvUpLinkISCSI1 durante la creación del switch distribuido, ahora vamos con la red VMotion, asigno la NIC que le correspondía desde “Click to Add NIC”,
Selecciono la NIC que es de esa red, la vmnic4 y “OK”,
Vamos con la red LAN, pulsamos sobre “Click to Add NIC” de dvUpLinkLAN1,
Selecciono su NIC, en este caso la vmnic0 & “OK”,
Listo, vemos que va cogiendo forma el swtich distribuido…
Ahora vamos a crearle lo que antiguamente le llamábamos las redes virtuales, que ahora se llaman distributed port group, para ello hay que cambiarse de vista e ir a “Networking”,
Sobre el switch distribuido con botón derecho “New Port Group…”,
Indicamos el nombre del grupo de puertos que vamos a crear, yo crearé uno para la red iSCSI, posteriormente otro para VMotion y como por defecto ya nos crea uno, éste lo renombraré y lo asignare a la red LAN. Lo dicho indicamos un nombre, yo le pondré dvPortGroupISCSI, seleccionamos el número de puertos que queremos que tenga asignados, cada MV se asociará por defecto a un puerto (en un principio, pq podemos tener más MV que puertos en un switch, eso sí no todas a la vez encendidas). Si este dvPortGroup estará en una VLAN lo indicamos y seleccionamos el tipo, hay diferentes tipos de VLAN’s. “Next”,
“Finish”,
Ahora creamos otro para la red VMotion, en el switch distribuido, botón derecho “New Port Group…”,
Le llamo dvPortGroupVMotion, “Next”,
Confirmamos el asistente, “Finish”,
Y lo dicho, como por defecto al crear el switch distribuido crea un dvPortGroup, lo renombramos, botón derecho encima de él y “Edit Settings…”,
Le cambiamos el nombre,
De dvPortGroup a dvPortGroupLAN, “OK” para confirmar,
Y ahora, debemos asignar cada Port Group a su dvUpLink Port, osea, asociaremos las redes con las NIC que le correspondan, para ello sobre el dvPortGroup en cuestioón con botón derecho “Edit Settings…”, comenzamos con el de la red iSCSI,
En “Teaming and Failover” tenemos que indicar en “Active dvUpLinks” que UpLink Port será para este grupo de puertos, así que…
En este caso sólo serán dvUpLinkISCSI1 y dvUpLinkISCSI2, “OK”,
Ahora sobre el PortGroup de VMotion > “Edit Settings…”
Igual que antes, bajamos las redes que no nos interesan con “Move Down” en la pestaña de “Teaming and Failover”,
Y dejamos sólo dvUpLinkVMotion1 y dvUpLinkVMotio2, “OK”,
Y finalmente lo mismo sobre el dvPortGroupLAN,
“Teaming and Failover”, subimos dvUpLinkLAN1 y dvUpLinkLAN2 con “Move Up”,
“OK”,
Va cogiendo forma… lo dicho, recordar que todo lo que realizemos desde la vista de “Hosts and Clusters” tendremos que realizarlo en todos los host ESX.
Bueno, como ya tenemos configurado el switch distribuido parcialmente, pero totalmente para poner en producción, ya podemos comenzar a migrar las redes virtuales de VI3 a vSphere. Vamos a la vista “Networking”,
Sobre el switch distribuido con botón derecho “Migrate Virtual Machine Networking…”
Debemos seleccionar la red de máquinas virtuales origen en el combo de “Select Source Network” y a la red de destino que queremos migrar dichas máquinas virtuales en “Select Destination Network”,
En mi caso migraré de la red ‘Red LAN’ (de VI 3) a la ‘dvPortGroupLAN’ del switch distribuido ‘dvSwitchTundraIT), pulsamos en “Show Virtual Machines” y marcamos todas las máquinas virtuales para migrarlas a su nueva red con “OK”, si hemos realizado todos los pasos correctos y la configuración es correcta no deberemos perder ni si quiera un PING con dichas máquinas virtuales y los usuarios no se darán cuenta. Si tenemos más redes de máquinas virtuales, repetimos el paso hasta migrar todas las MVs.
Una vez migradas las redes de las máquinas virtuales al nuevo entorno, toca migrar las redes VMkernel (iSCSI, VMotion… todas menos la Service Console que la dejaremos para el final). Así que vamos a la vista de “Hosts and Clusters”,
Recordar que este paso deberemos repetirlo en todos los host ESX. Vamos a la pestaña “Configuration” > “Networking” > Botón “Distributed Virtual Switch” y vamos a “Manage Virtual Adapters”. Por cierto, ya podemos observar que en el dvPortGroup salen las máquinas virtuales que hemos migrado en elasistente anterior.
Pulsamos en “Add…”,
Seleccionamos “Migrate existing virtual adapters” & “Next”,
Saldran todas nuestras redes VMkernel, tenemos que indicar que red migraremos a qué Port Group, y de todas formas, lo que comentamos, la Service Console la dejaremos para el final, así que la desmarcamos.
Indicamos que la ‘Red iSCSI’ (de VI 3) la migraremos a ‘dvPortGroupISCSI’ (vSphere) y la ‘Red VMotion’ (VI 3.0) la migraremos a ‘dvPortGroupVMotion’ (vSphere). “Next”,
Confirmamos que es correcto y “Finish”,
Podemos observar que ya tenemos más redes en nuestro switch distribuido.
Una vez que hemos migrado estas redes del entorno VI3 a vSphere, podemos eliminarlas, para ello vamos al botón “Virtual Switch” y veremos la vista antigua, podemos eliminar ambos switches desde “Remove…” y confirmaremos su eliminación. Con esto conseguiremos liberar dos adaptadores más y poder conectarlos al switch distribuido.
Así que una vez tenemos los dos adaptadores liberados, las dos NIC (o las que sean), las asignamos al switch distribuido desde “Manage Physical Adapters…”,
Pulsamos en “Click to Add NIC” en dvUpLinkISCSI2 y en dvUPLinkVMotion2,
Agregamos a cada puerto su NIC correspondiente, a dvUpLinkISCSI2 la vmnic3 y a dvUPLinkVMotion2 la vmnic5. “OK”,
Listo, sigue cogiendo forma, ahora lo dicho, debemos realizar toda esta misma configuración en el resto de servidores ESX.
Una vez realizado, ya sólo nos queda migrar la Service Console, así que creamos un Port Group para ella y realizamos los mismos pasos que hemos hecho anteriormente. Hombre este paso es repetitivo ya que he querido mostrar más claro con estos pasos el proceso de migración, claro que lo podíamos haber realizado antes. Vamos a la vista de “Networking”,
Sobre el switch distribuido > “New Port Group…”,
Le indicamos un nombre para la Service Console, por ejemplo dvPortGroupServiceConsole, “Next”,
“Finish”,
Igual que antes, debemos asignar los puertos (Distributed UpLink Ports) que le conectarán con el exterior a esta red.
IDEM, bajamos todas las redes a “Unused dvUplinks” y dejamos las que tengan que estar en “Active dvUplinks”. En mi caso como compartia la red de MV LAN con la ServiceConsole, le asignare los mismos UpLinkPorts.
Así que le dejo dvUpLinkLAN1 y dvUpLinkLAN2. “OK”,
Y ahora la migramos al nuevo entorno, para ello vamos como antes a “Host and Clusters” (repetitivo, pero si no, seguro que se olvida, todo esto en cada Host),
Pestaña “Configuration” > “Networking” > Botón “Distributed Virtual Switch” y vamos a “Manage Virtual Adapters”,
Por cierto vemos que ya tenemos los dos VMkernel, vmk0 y vmk1 para iSCSI y VMotion. Bueno, pinchamos en “Add…”
“Migrate existing virtual adapters” & “Next”,
Marcamos el antiguo (VI 3) Service Console, y la llevamos al Port Group que acabamos de crear llamado ‘dvPortGroupServiceConsole’, “Next”,
Nos informa que al migrar la SC (Service Console) puede que perdamos la conexión, si todos los pasos son correctos no perderemos conectividad, así que “Sí”,
Confirmamos con “Finish”,
Y ya se nos habrá migrado también la Service Console, eso sí, un par de PING sí que perderemos, pero no la conectividad.
Y lo dicho, una vez eliminada dicha red, podremos ya eliminar si virtual switch (desde el botón de “Virtual Switch”).
Una vez eliminada la red de la Service Console, ya tendremos el último adaptador de red liberado, así que se lo asignamos a su UpLink Port, desde el botón “Distributed Virtual Switch” > “Manage Physical Adapters…”,
En el únido que nos queda, en mi caso en ‘dvUpLinkLAN2’, agregamos la NIC desde “Click to Add NIC”,
Y metemos la vmnic1 que era la única que me quedaba. Y ya por última vez, recordar hacer estos pasos en todos los host que tengamos. “OK” y ya dispondríamos de un entorno de switch distribuidos en nuestro entorno VMware vSphere 4.
Y bueno, esto sería una imagen de cómo quedan configurados los Port Groups, asociados con qué UpLink Ports y estos a su vez con qué NIC físicas de los hosts ESX.
A modo resumen, estos serían los pasos a realizar en cualquer entorno:
0. Tener todo bien configurado y documentado, qué redes tenemos, qué NIC’s con qué virtual Switches… vamos, tener claro nuestro entorno de red virtual VI3.
1. Quitar las NIC de los switches virtuales de las redes iSCSI, VMotion, redes de máquinas virtuales (LAN, DMZ, WAN…)
2. Crear un switch distribuido, asignar nº de UpLink Port como NIC’s tengamos en cada Host ESX, renombrar dichos UpLink Ports. Asociar las NIC liberadas con estos UpLink Ports.
3. Crear Group Ports por cada red virtual que tengamos, asignar cada uno de ellos con los UpLink Port correspondientes.
4. Migrar las redes iSCSI, VMotion, redes de máquinas virtuales (LAN, DMZ, WAN…) a los PortGroup nuevos.
5. Borrar switches viejos liberados. Asignar las NIC que se han liberado a los Port Group correspondientes.
6. Crear Group Port para la Service Console y asignarle UpLink Ports ( y si es necesario a estos UpLink ports, sus NIC’s correspondientes).
7. Migrar en cada host la Service Console al Port Group recién creado. Eliminar el switch de la antigua SC y asignar la NIC liberada al dvUpLink Port que tiene la Service Console.
Claro, no? 😉 Suerte, que tiene su lógica!