Ya me he encontrado en más de una ocasión, con algún antiguo servidor que corría en un viejo hardware, pero que resultaba ser muy crítico y con configuraciones muy específicas. Quizá se trate de un antiguo servidor con decenas proyectos, cada cual con sus módulos y configuraciones específicas.
En estos casos, una buena opción es preparar un nuevo hardware, un nuevo SO, e ir migrando uno a uno, cada proyecto. Si se tiene tiempo y paciencia, claro. Si no, otra solución es usar VMWare Converter, una solución gratuita de VMWare que permite hacer un clonado de una máquina física, a virtual. De esta manera, podemos dejar de sufrir por si el viejo hardware del servidor decide pasar de forma definitiva a mejor vida.
La idea es ejecutar desde una máquina remota, VMWare Converter, para crear una imagen clónica de una máquina física, y poder así, empezar a usar la nueva imagen VMWare, que sustituirá a la máquina remota. Lo bueno es que efectivamente, se realiza un clonado de la máquina física, incluyendo todos los ficheros, servicios, tareas programas, configuraciones, etc, asegurándonos así de contar con el mismo entorno, pero virtualizado.
En este ejemplo, he usado el siguiente escenario:
- Máquina a clonar: Server físico Windows 2000 Server SP4 con IIS
- Destino: ESX Host 4.0 en un VMware vCenter Server 4.1.0
- Máquina desde la que se ejecuta el Converter: Windows Server 2003 32 bits
NOTA: No me he lanzado a usar la última versión de VMWare Converter, ya que he leído en múltiples sitios que aunque en la documentación oficial únicamente se advierte de no correr el VMWare Converter en una máquina Windows 2000, no dice nada de que este SO no pueda usarse como source. En cualquier caso, y para evitar problemas, he usado la última versión compatible con Windows 2000, la 4.0.1.
Requisitos de VMware vCenter Converter Standalone 4.0.1
En la página oficial de VMWare vCenter Converter, existe mucha documentación al respecto. En cuanto a requisitos, decir que únicamente puedes instalar los componentes «Converter Standalone» en máquinas Windows, aunque puedes usar como máquina a convertir, cualquier SO Windows y Linux.
Así pues, se deberá ejecutar el software desde una máquina Windows, pero podremos indicarle un origen remoto (la máquina a convertir) así como un destino, también remoto (por ejemplo si queremos, como en nuestro caso, dejar la imagen directamente en un ESX Server). Los destinos soportados para VMWare Converter 4.0.1, en cuanto a VMWare Infraestructure Virtual Machines son:
- ESX 3.x y 4.0
- ESXi 3.x y 4.0
- vCenter Server 2.0 y 4.0
Si como en mi caso, el destino es un vCenter, se necesitará, claro, tener los permisos suficientes para dar de altas máquinas virtuales y sus respectivos elementos (discos adicionales, tarjeta de red, etc.).
Requisitos para realizar un clonado remoto en caliente de una máquina Windows
Para evitar problemas realizando un clonado remoto de una máquina Windows en producción, se ha de verificar lo siguiente:
- Acceso a los puertos 445, 139, 9089 de la máquina origen, y al puerto 443, 902 de la máquina remota (ESX y vCenter)
Desde la máquina origen, se deberá poder llegar a la máquina destino. Es decir, no basta con que desde la máquina intermedia se pueda llegar tanto a la origen como a la destino.
Instalación de VMWare vCenter Converter 4.0.1 en máquina intermedia
En mi caso, usaré una máquina Windows 2003 Server como máquina intermedia. Instalaré en esta máquina el VMWare Converter, desde el cual seleccionaré la máquina Windows 2000 como origen remoto, y el ESX 4 como destino remoto.
- Para ello, primero descargaré desde la máquina Windows 2K3Server el Converter 4.0.1 desde este enlace (deberemos registrarnos para acceder a la descarga).
- Una vez descargado, iniciaremos la instalación, seleccionando instalación local.
Uso de VMware vCenter Converter Standalone 4.0.1 en máquina intermedia
Al finalizar la instalación, ejecutaremos el programa y seleccionaremos «Convert Machine» en la esquina superior izquierda. Ésto abrirá un wizard que nos ayudará a configurar la conversión.
Source
- Como source type, seleccionaremos «Powered-on machine».
- Al querer convertir la máquina remota Windows 2000 Server, seleccionaremos «A remote machine» con la IP y credenciales apropiadas para entrar al servidor.
- Al tratarse de una máquina Windows, seleccionaremos como OS Family «Windows».
- Al pulsar sobre «Next»nos aparecerá un mensaje indicando que el agente necesita ser instalado en la máquina remota (se encargará el propio programa de la instalación). Además, si como en nuestro caso, se trata de un Windows 2000, nos avisa de que antes de que se inicie la conversión, podría aparecer un display en la máquina remota para reiniciar el server. En mi caso, efectivamente, al iniciar el proceso de conversión (más adelante) me ha pedido reiniciar el server. Finalmente, he preferido marcar «I will manually uninstall the files later» por si falla la conversión.
Destination
En mi caso, quiero crear un nuevo server en uno de los hosts ESX de un vCenter. Para ello, se debe indicar como destino el host ESX concreto del vCenter sin antes haber creado la máquina virtual (se creará durante el proceso de conversión).
- Como destination type, seleccionaremos «VMWare Infrastructure virtual machine»
- En los detalles de acceso, introduciremos la IP del host ESX del vCenter y un usuario con permisos suficientes para crear y gestionar máquinas virtuales.
En el siguiente paso, nos aparecerán los diferentes hosts y máquinas virtuales que componen nuestro ESX:
- En la ventana de inventario nos aparecerá el host ESX y las máquinas que contiene.
- A continuación le daremos el nombre a la máquina que se creará.
- Nos marcará el «total source disks size» para poder seleccionar el datastore sobre el cual crear la máquina.
Con esto se podrá pasar al siguiente paso
Options
La siguiente pantalla es la pantalla de opciones, donde podremos especificar por ejemplo, el número de procesadores o la RAM que tendrá la máquina virtual, así como las tarjetas de red, los procesos de inicio o incluso si queremos iniciar la máquina una vez convertida.
NOTA: Es posible, que durante el wizard, nos aparezca un aviso advirtiéndonos que nos falta el SYSPREP para llevar a cabo la conversión. El Sysprep es la utilidad para el despliegue remoto de sistemas operativos de Microsoft. Si nos apareciera el aviso, necesitaremos un CD de instalación del SO de la máquina origen (Windows 2000 Server SP4 en mi caso), donde encontraremos el fichero en la ruta Support\Tools\Deploy.cab. Una vez tengamos este fichero .cab, lo dejaremos en la máquina intermedia (desde la que estamos ejecutando el Converter), en la siguiente ruta:
C:\Documents and Settings\All Users\Application Data\VMWare\VMWare Converter Standalone\sysprep\2k
Para asegurar el tiro, en ese directorio he dejado tanto el fichero .cab como la descompresión del mismo (el fichero .cab contiene otros ficheros, entre el que está el sysprep.exe). Hecho esto, podremos reiniciar el Converter y continuar con el proceso.
Conversión
Como he comentado, en mi caso, ha sido necesario reiniciar el server origen antes de iniciar el proceso, aunque entiendo que si éste ya hubiera tenido el cliente de VMWare Converter préviamente instalado, no hubiera hecho falta el reinicio. Tras el reinicio, la máquina ha estado online durante el proceso de conversión, que ha durado una hora y media aprox, sin dar ningún tipo de problema.
Fuentes:
http://www.vmware.com/support/pubs/converter_pubs.html
http://mbhtech.blogspot.com.es/2011/01/converting-windows-2000-machine-has.html
http://www.v-front.de/2011/06/two-things-to-know-about-vmware.html
Foto por JavierPsilocybin
Buenas, sólo comentar que para virtualizar un servidor Windows Server 2008 R2 es necesario instalar el agente VMware Converter manualmente, porque si no, en el puerto 9089 no escucha ningún proceso.
Saludos
Muchas gracias por compartirlo, @Carlos