La implementación manual de muchas VM similares en entornos virtuales grandes puede ser una tarea aburrida. VMware proporciona varios métodos de clonación de máquinas virtuales (VM) en el entorno virtual vSphere, uno de los cuales es el uso de plantillas de VM. Esta publicación de blog explora todos los aspectos de las plantillas de VM: cómo funcionan, cómo personalizarlas, sus casos de uso y sus ventajas. El artículo también compara los conceptos de plantillas de VM y clones de VM.
¿Qué es una plantilla de VM?
A VM template is a master copy image of a virtual machine that includes VM disks, virtual devices, and settings. A VM template can be used many times over for the purposes of VM cloning. You cannot power on and edit the template once it has been created. This is by design, so that nobody can accidentally edit the virtual machine that is used as a template.
Este enfoque proporciona una mayor seguridad (y un método más “a prueba de tontos”) para la clonación de VM. Después de clonar la VM desde una plantilla, los clones de VM no están vinculados a una plantilla de VM y son independientes. Si desea editar una plantilla, debe convertir una plantilla en una VM, editar la VM y luego convertir la VM editada en una nueva plantilla.
¿Cuándo se pueden usar las plantillas de VM?
Las plantillas de VM son útiles para implementar un alto número de VM similares, ya que preservan la consistencia de las VM. Por ejemplo, suponga que un equipo de probadores necesita realizar su trabajo de pruebas en VM con una nueva compilación del producto de software propietario de la empresa. El administrador del sistema de la empresa crea una plantilla de VM y clona una VM idéntica desde esa plantilla para cada trabajador que la necesite.
Si algo sale mal durante las pruebas o debe implementarse un nuevo escenario de prueba, entonces una VM nueva puede ser clonada a partir de la plantilla con un mínimo de esfuerzo. Puedes crear múltiples plantillas a partir de máquinas virtuales Linux y Windows para diferentes casos de uso (pruebas, desarrollo, educación, etc.). Diferentes plantillas pueden incluir diferentes conjuntos de software. Una plantilla puede ser utilizada para desplegar VMs para un equipo financiero, otra plantilla de VM puede ser utilizada para un equipo de desarrollo, etc.
La diferencia entre un clon de VM y una plantilla de VM
A regular VM clone is an exact copy of the source VM at the appropriate point of time. If you were to periodically clone a VM that is in a running state, the resulting clones would differ from one another. It is preferable to clone a powered-off VM, although standard cloning still doesn’t offer all the benefits of a template.
Cuando una VM es clonada, todas las configuraciones como la dirección IP estática, el nombre del equipo y los identificadores se mantienen idénticos para cada clon de VM. Como resultado, pueden ocurrir conflictos de red. Una plantilla de VM te ayuda a prevenir estos problemas, porque una plantilla de VM no puede ser editada, ni puede estar en un estado de ejecución. VMware proporciona herramientas que simplifican la personalización del SO invitado para clones de VM.
La diferencia entre una plantilla de VM y una plantilla OVA/OVF
Las plantillas OVA y OVF se utilizan para distribuir software preconfigurado como dispositivos virtuales. OVA y OVF son formatos de archivo comprimidos. Pueden contener múltiples VMs, lo cual es útil para casos en los que el software consta de múltiples componentes que deben ser desplegados en diferentes máquinas. Por ejemplo, NAKIVO Backup & Replication está disponible como un dispositivo virtual (además de las otras opciones de despliegue).
Desplegar máquinas virtuales desde plantillas OVA/OVF es similar a desplegar desde plantillas de máquinas virtuales. Las plantillas OVA/OVF se pueden acceder desde el inventario de vCenter. Los usuarios también pueden desplegar máquinas virtuales utilizando OVA/OVF desde almacenamiento local (por ejemplo, el disco C: en el equipo del usuario), dispositivos USB montados y servidores web remotos que sean accesibles desde el Cliente web de vSphere.
El paquete OVF (Formato de Virtualización Abierto) puede contener archivos de certificado, archivos de imagen de disco óptico ISO, etc. El archivo OVA (Appliance Virtual Abierto) es similar al archivo de archivo TAR; puede contener múltiples archivos OVF.
Las plantillas de máquinas virtuales no están comprimidas. Solo se puede acceder a ellas desde ubicaciones disponibles para vCenter (almacenamiento local de ESXi, almacenamiento compartido) y no están destinadas a ser distribuidas entre los clientes.
Personalización del sistema operativo invitado de la VM
La personalización del sistema operativo invitado es una característica de vSphere que permite a los usuarios cambiar la configuración de un clon de VM del sistema operativo invitado de Linux o Windows. Si se utilizara el enfoque tradicional, tendría que iniciar manualmente una VM, iniciar sesión en el sistema operativo invitado y luego cambiar la configuración en diferentes partes del sistema operativo a través de una interfaz gráfica de usuario o el símbolo del sistema proporcionado por el sistema operativo.
Este método es engorroso y consume una cantidad significativa de tiempo. Con la personalización del sistema operativo invitado de VMware, puede crear una especificación de personalización del sistema operativo invitado y utilizar esta especificación para cada clon de VM producido a partir de la plantilla. Puede cambiar fácilmente la configuración de red IP, el nombre de host, el nombre de usuario, la contraseña, la zona horaria, la configuración de licencia, el SID (identificador de seguridad) y el dominio/grupo de trabajo para un sistema operativo invitado.
Nota: los parámetros de personalización para Linux y Windows difieren ligeramente.
Usar la personalización del sistema operativo invitado de la máquina virtual es conveniente y te ahorra tiempo. Configura los ajustes de tu clon desde un único lugar en solo unos pocos pasos con el asistente de personalización.
Puedes crear varias especificaciones de personalización para máquinas virtuales Linux y Windows para que sean utilizables tan pronto como se despliegue el clon de la VM a partir de la plantilla de VM. Si vas a utilizar la especificación de personalización del sistema operativo invitado, prepara tus VM para que cumplan con los requisitos.
Los siguientes componentes deben estar instalados en una VM invitada para este propósito:
- VMware Tools
- Herramienta Sysprep (Windows)
- Perl (Linux)
- Herramientas de red (Linux)
El sistema operativo invitado debe estar instalado en un disco virtual conectado al nodo SCSI 0:0.
Verifica si el sistema operativo invitado que eliges es compatible con tu versión de vSphere en la Matriz de Soporte de Personalización del Sistema Operativo Invitado de VMware.
Preparación de una VM para la Creación de Plantillas
Antes de crear una plantilla, debes preparar tu VM. Consideremos los puntos principales de la preparación de la VM.
Creando una nueva VM. Cree una nueva VM con suficiente CPU, disco y recursos de memoria. Seleccione las opciones de compatibilidad de VM apropiadas. Por ejemplo, si tiene hosts con ESXi 6.5 y ESXi 6.0, su VM debería ser compatible con ESXi 6.0 o posterior (versión de hardware virtual 11), por lo que esa opción debería seleccionarse. Opcionalmente, puede habilitar CPU Hot Plug y Memory Hot Plug; esto le permite agregar recursos de procesador y memoria mientras una VM está en ejecución.
Desconectando dispositivos no utilizados de una VM. Si está utilizando una VM que ya existe, desconecte dispositivos de hardware innecesarios como unidades de disco floppy virtuales, controladores COM virtuales, controladores LPT, etc. Si los dispositivos USB y los CD-ROM no se utilizarán después de la instalación del software, también pueden desconectarse. Este enfoque reduce el riesgo de posibles ataques y, como resultado, mejora la seguridad. También puede ingresar al BIOS virtual y verificar que todos los dispositivos innecesarios estén deshabilitados en el BIOS de la VM.
Instalando el software requerido en una VM. Instale el sistema operativo en la VM. Luego, instale todas las actualizaciones necesarias, parches de seguridad, protección antivirus y software específico necesario para sus propósitos. Configure la configuración de su sistema operativo, como variables de entorno, acceso remoto, etc. Configure contraseñas para los usuarios y los administradores. Las contraseñas nunca deben caducar; de esta manera, puede evitar que las cuentas se bloqueen. También puede configurar un perfil de usuario predeterminado.
Instalación de VMware Tools. VMware Tools es un conjunto de controladores y utilidades que aumenta el rendimiento de un sistema operativo invitado que se ejecuta en una máquina virtual, así como facilita la gestión de la VM. Instala VMware Tools en el sistema operativo invitado. Este es un requisito importante para utilizar plantillas de VM, ya que VMware Tools se utilizan al aplicar especificaciones de personalización para cambiar la configuración de IP, el nombre de host, la zona horaria u otras configuraciones del sistema operativo invitado al implementar VMs desde una plantilla.
Eliminación de componentes de software no deseados de una VM. Puedes hacer que tu plantilla de VM sea más ligera optimizando el sistema operativo invitado. A continuación, se presentan algunas recomendaciones generales para sistemas Windows que pueden ser útiles para configurar tus VMs:
- Deshabilita servicios del sistema innecesarios, como servicios inalámbricos, temas, Audio de Windows, Búsqueda de Windows, etc.
- Deshabilita Windows Aero, ya que incluye efectos gráficos que consumen cantidades significativas de recursos de computación.
- Deshabilita el protector de pantalla para ahorrar recursos de la CPU.
- Desinstala los componentes de la PC de tableta.
- Desinstala componentes de Windows innecesarios, como Juegos, Messenger, etc.
- Deshabilita todas las aplicaciones y servicios de inicio innecesarios.
- Elimina archivos temporales, incluidos los archivos utilizados para la instalación de software.
- Se puede deshabilitar la restauración del sistema. Puedes utilizar instantáneas de VMware en lugar de la funcionalidad de restauración del sistema de Windows. Usa software NAKIVO para hacer copias de seguridad de tus VMs y garantizar una protección robusta de datos.
Puedes llevar a cabo una limpieza más profunda de tu sistema operativo invitado para optimizar el rendimiento de la máquina virtual según tus necesidades.
En las siguientes secciones, puedes aprender a configurar una máquina virtual Linux con el propósito de crear una plantilla de VM (con la cual podrías utilizar una especificación de personalización del sistema operativo invitado). Este tutorial utiliza el ejemplo de Xubuntu 16 x64. También discute cómo crear una especificación de personalización para clonar más VMs desde tu plantilla.
Para preparar Xubuntu Linux para la personalización de especificaciones del sistema operativo invitado, entra en la consola de Linux (Terminal) y ejecuta los siguientes comandos como usuario con privilegios de root:
-
Instala el servidor SSH para acceder de forma remota vía SSH.
apt-get install openssh-server
-
Reinicia el servidor SSH después de la instalación.
service ssh restart
-
Instala VMware Tools para Linux desde los repositorios (La forma alternativa de instalar VMware Tools es insertando una imagen ISO en una unidad de CD virtual de una VM).
apt-get install open-vm-tools
-
Instala el kit de herramientas de redes.
apt-get install net-tools
-
Instala Perl.
apt-get install perl
Una vez instalados los paquetes, verifica el nombre de la computadora y la configuración de IP de la VM de Linux. Escribe ifconfig para ver la configuración de IP de las interfaces de red.
En este ejemplo, la interfaz de red virtual utilizada por la VM de origen tiene una dirección IP de 192.168.77.2
Creando una Plantilla de VM
Una vez que tu VM esté preparada, puedes crear una plantilla de VM. Debes tener acceso a vCenter Server para administrar tus hosts ESXi, máquinas virtuales, almacenamiento, redes y otros componentes de vSphere. Como se mencionó anteriormente, en los ejemplos de configuración considerados en esta publicación de blog, se utiliza una VM que ejecuta Xubuntu Linux. Se pueden usar dos métodos para la creación de plantillas de VM: la conversión a plantilla y la clonación a plantilla.
Convertir a una plantilla
Cuando conviertes una VM en una plantilla, tu VM de origen es reemplazada por la plantilla resultante, y como resultado, tu VM de origen no estará disponible. Para convertir una VM en una plantilla, sigue los siguientes pasos:
- Inicia sesión en vCenter con VMware vSphere Web Client. Ve a Hosts and Clusters o VMs and Templates, luego selecciona la VM que has preparado para la conversión.
- Asegúrate de que la VM esté apagada cuando la conviertas en una plantilla.
- Haz clic derecho en la VM y en el menú contextual resultante, selecciona Template > Convertir a plantilla.
- A confirmation message is displayed: Convert the virtual machine “VMname” to a template? Click Yes to proceed.
Clonar a una plantilla
Esta opción te permite conservar la VM original y copiar los datos de la VM en una plantilla. La VM de origen puede estar encendida o apagada mientras clonas la VM en una plantilla. Veamos cómo crear una plantilla clonando la VM original. De manera similar al método anterior, navega hasta tu VM en el cliente web de vSphere. Haz clic derecho en la VM y en el menú contextual haz clic en Clonar > Clonar a plantilla.
A cloning assistant is launched. Proceed through the steps as follows.
- Selecciona un nombre y una carpeta. Define un nombre para tu plantilla de VM y selecciona una ubicación objetivo. En este ejemplo, Xubuntu16-test es el nombre de la plantilla, porque esta plantilla se va a usar con fines de prueba. Haz clic en Siguiente.
- Seleccione un recurso informático. Puede seleccionar un host ESXi o un cluster como su recurso. Haga clic en Siguiente.
- Seleccione la ubicación de almacenamiento en la que desea almacenar la plantilla. Puede establecer un formato de disco virtual (provisionado delgado, grueso con ceros perezosos o grueso con ceros ansiosos) o simplemente dejar que el formato de disco virtual se defina por el de su origen. Puede definir una política de almacenamiento personalizada para la VM aquí, si es necesario. Haga clic en Siguiente.
- Listo para completar. Revise el resumen y haga clic en Finalizar para continuar con la creación de la plantilla.
- Ahora, su plantilla de VM recién creada se muestra al final de la lista en la sección VMs y Plantillas. Como puede ver, el uso del almacenamiento de la VM original y la plantilla de VM es el mismo (la compresión no se usa para las plantillas de VM, como se mencionó anteriormente).
Si va a la sección Almacenamiento, luego selecciona el almacén de datos y el directorio de su plantilla de VM, debería ver que todos los archivos son similares a los archivos de su VM de origen excepto uno: el archivo VMTX. El archivo de configuración de la VM tiene una extensión .VMTX en lugar de una extensión .VMX, que se usa para archivos de configuración de VM de VMware regulares.
Creación de una Especificación de Personalización de Invitado de VM
Ahora que se ha creado una plantilla de VM, puede crear una especificación de personalización de invitado de VM. Para hacer esto, abra el Menú, luego haga clic en Policies and Profiles.
Asegúrese de que se hayan seleccionado las Especificaciones de Personalización de VM en el panel izquierdo. Haga clic en Nuevo para crear una nueva especificación de personalización de VM. Luego debería ver una nueva ventana de asistente lanzada.
- Nombre y sistema operativo objetivo. Establezca un nombre único para la especificación, ingrese una descripción, seleccione el servidor vCenter y especifique el sistema operativo invitado de la VM objetivo (Windows o Linux). En este tutorial, se utiliza Linux, y la especificación se llama Especificación de prueba de Linux. Haga clic en Siguiente.
- Nombre de equipo. Establezca un nombre de equipo (nombre de host) y un nombre de dominio. Hay tres opciones disponibles para especificar un nombre de equipo:
- Usar el nombre de la máquina virtual. El nombre del equipo del sistema operativo invitado dentro de la VM sería el mismo que el nombre de la VM. Usar esta opción puede ser conveniente para fines administrativos.
- Ingresar un nombre en el Asistente de Clonación/Implementación. Puede ingresar manualmente un nombre de equipo cuando aplique la especificación de personalización para un clon de VM. Puede usar esta opción si no sabe qué nombres desea usar para estas VM en el futuro.
- Ingresar un nombre. Puede ingresar el nombre del equipo en este momento. Para garantizar la unicidad, marque la casilla Anexar un valor numérico (si implementa múltiples VM, cada VM debe tener un nombre de equipo único para el sistema operativo invitado).
- Un nombre de equipo no puede tener más de 63 caracteres de longitud; si intenta ingresar algo más largo, el nombre se trunca. Haga clic en el botón Siguiente para continuar.
- Zona horaria. Especifique una zona horaria para la máquina virtual. Luego haga clic en Siguiente.
- Red. Especifique la configuración de red para la máquina virtual. Hay dos opciones:
- Utilizar la configuración de red estándar para el sistema operativo invitado, incluida la habilitación de DHCP en todas las interfaces de red.
- Seleccionar manualmente configuraciones personalizadas.
- Para los fines de esta guía, se utiliza la segunda opción; vamos a configurar manualmente los ajustes de red. Puedes hacer clic en el botón Agregar para añadir un controlador de interfaz de red (NIC) virtual a tu VM. Haz clic en el icono con la fila de tres puntos y selecciona Editar en el menú contextual resultante.
- A new configuration window is launched. There are three options available in the IPv4 tab.
- Usa DHCP para obtener una dirección IP automáticamente.
- Solicita al usuario una dirección IP cuando se use la especificación. Puedes preconfigurar una máscara de subred y puertas de enlace predeterminadas usando esta opción, pero la dirección IP debe ser ingresada cuando se aplique la especificación a la VM.
- Usa ajustes personalizados. Esta opción es similar a la anterior, pero la dirección IP se puede configurar en este momento.
- IPv6 puede ser desactivado. Haz clic en Aceptar cuando hayas terminado de configurar las opciones de red. Luego haz clic en Siguiente.
- Configuración de DNS. Especifica los servidores DNS y las rutas de búsqueda de DNS para la VM. Puedes configurar hasta tres servidores DNS. Haz clic en Siguiente.
- Listo para completar. Revisa tus ajustes y haz clic en Finalizar cuando estés satisfecho.
- Ahora deberías poder ver la especificación de personalización del sistema operativo invitado en la lista de especificaciones de personalización de VM. Puedes editar, duplicar, exportar y eliminar las especificaciones desde aquí.
Creación de una VM desde una plantilla
Ahora que tienes una plantilla de VM y una especificación de personalización del sistema operativo invitado, puedes crear una máquina virtual desde tu plantilla. Ve a la sección de VMs y Plantillas, haz clic derecho en la plantilla que creaste y selecciona Nueva VM desde esta plantilla. En este caso, la plantilla se conserva. Si usas la opción Convertir a Máquina Virtual, entonces tu plantilla se convierte en una VM; ya no existiría como plantilla.
Se lanza el asistente Desplegar desde Plantilla.
- Selecciona un nombre y una carpeta. En esta etapa, debes ingresar un nombre único para la MV y una ubicación objetivo. En este ejemplo paso a paso, la máquina virtual se llama Xubuntu16-test01. Haz clic en Siguiente para continuar.
- Selecciona un recurso informático. Aquí, puedes seleccionar el host ESXi o el clúster en el que debe ejecutarse la MV. Haz clic en Siguiente.
- Selecciona almacenamiento. Selecciona el almacén de datos en el que almacenar archivos de configuración y disco. Selecciona el formato de disco virtual. Puedes establecer manualmente el formato de disco virtual (provisionamiento delgado, provisionamiento grueso de ceros perezosos o provisionamiento grueso de ceros ávidos) o dejar el formato de disco virtual igual al del origen. Selecciona una política de almacenamiento de MV si es necesario. Haz clic en Siguiente.
- Seleccionar opciones de clonación. Para aplicar la especificación de personalización del sistema operativo de invitado creada recientemente, marque la casilla Personalizar el sistema operativo. Luego haga clic en Siguiente.
- Personalizar sistema operativo invitado. Seleccione la especificación de personalización del sistema operativo de invitado que creó de la lista. Recuerde que en este tutorial, el nombre de la especificación es Especificación de prueba de Linux. Haga clic en Siguiente para continuar.
- Configuración de usuario. Recuerde de antes en este tutorial que la personalización de la especificación del sistema operativo de invitado utilizada aquí nos permite establecer la dirección IP durante la creación del clon de la máquina virtual. Definamos la dirección IP para un adaptador de red virtual de esta VM. En este caso, la dirección IP es 192.168.77.240. Haga clic en Siguiente.
- Listo para completar. Verifique el resumen de configuración y haga clic en Finalizar para iniciar la creación de la VM.
Una vez creada la MV a partir de una plantilla con tu especificación de personalización del sistema operativo invitado, ejecuta la MV y abre la Consola Web de VMware para acceder a la interfaz del sistema operativo invitado. Una vez que hayas iniciado sesión en la MV, esta se reinicia y se aplican tus configuraciones personalizadas. Después de que la MV se haya reiniciado, abre la consola de Linux y verifica el nombre del host, la configuración de IP y la zona horaria. Puedes verificar estos parámetros ingresando los siguientes comandos.
-
Ver el nombre del host:
less /etc/hostname
También puedes ver el nombre del host en la cadena del indicador primario.
-
Comprobar la configuración IP de las interfaces de red:
ifconfig
-
Verificar la zona horaria establecida en el sistema:
timedatectl | grep "Zona horaria"
-
Comprobar las pasarelas en la tabla de enrutamiento:
netstat -rn
Como se puede ver en la captura de pantalla anterior con la consola de Linux y la siguiente captura de pantalla que muestra el cliente VMware vSphere, la dirección IP, el nombre de la computadora y la zona horaria han sido cambiados de acuerdo con la configuración definida en nuestra especificación de personalización del sistema operativo invitado. El nombre de la VM y el nombre del host son iguales.
Automatización con PowerCLI
El recorrido anterior ha explicado la creación y aplicación de plantillas de VM con la interfaz gráfica de usuario del cliente web de vSphere. Sin embargo, alternativamente, podrías usar PowerCLI para crear manualmente scripts complejos y hacer que la implementación de VM sea más automatizada. Algunos de los cmdlets que podrían ser útiles para estos propósitos se enumeran a continuación:
- New-Template – crea una nueva plantilla de VM.
- New-OSCustomizationSpec – crea una nueva especificación de personalización del sistema operativo invitado.
- Get-OSCustomizationSpec – recupera las especificaciones de personalización del sistema operativo de vCenter.
- Set-OSCustomizationSpec – cambia la especificación de personalización del sistema operativo especificada.
- Get-OSCustomizationNicMapping – recupera la configuración de asignación de NIC para la especificación de personalización del sistema operativo.
- Set-OSCustomizationNicMapping – cambia la configuración de asignación de NIC para la especificación de personalización de SO especificada.
- New-OSCustomizationNicMapping – agrega la configuración de asignación de NIC a la especificación de personalización de SO.
Para obtener la lista completa de cmdlets de PowerCLI, su sintaxis, ejemplos y otra información relacionada, consulte la página web de referencia de VMware PowerCLI. También puede leer nuestra publicación de blog sobre scripting PowerCLI.
Ventajas de las plantillas de VM
Las plantillas de VM con especificaciones de personalización de SO de invitado son útiles para implementación de VM, especialmente en entornos grandes. Las principales ventajas de usar plantillas de VM se resumen aquí:
- Estandarizar las implementaciones de VM. La estandarización le permite evitar esfuerzos redundantes y mejorar la calidad y productividad. La administración de VM estandarizadas es más fácil que la administración de VM no estandarizadas.
- Menos errores durante la implementación. Cuando varios equipos virtuales deben implementarse manualmente en sucesión, hay muchas oportunidades para que un administrador de sistemas olvide algo, lo que podría causar errores. Como alternativa, el administrador del sistema puede dedicar tiempo una vez para crear una plantilla de VM perfecta; esto luego se puede usar para todas las implementaciones de VM posteriores (similares) en el futuro.
- Automatización del proceso de implementación de máquinas virtuales. La automatización facilita y acelera la implementación, aumentando la productividad y mejorando la seguridad.
- Ahorro de tiempo. Este beneficio está relacionado con las ventajas mencionadas anteriormente, que hacen de las plantillas una solución eficiente. Además, el ahorro de tiempo significa reducción de costos.
Conclusión
A VM template is a master image that can be used for making clones during mass VM deployment. VM templates cannot be edited and powered on like regular VMs, which improves security. Guest OS customization specification helps you customize OS settings like network configuration, computer name, time zone etc. after VM cloning by using the single wizard, thus making VM deployment faster and more convenient. As a result, you gain important advantages such as automation, reduced error count, standardization, and rational time consumption – which can also help you save your budget!