Chubascos Blog

Chubascos tecnológicos para quitarnos la neblina de las tecnologías de la nube! Viva la lluvia!

Archivos en la Categoría: HyperV Server

Creación de USBs de arranque para Hyper-V Server y vSphere

Hola amigos!

Como algunos de vosotros habréis visto, nuestro laboratorio no cuenta con discos duros locales en los hosts, con lo que hay que buscar otras alternativas para la ejecución del hypervisor en los mismos.

Para quienes lo hayáis hecho anteriormente, seguramente se trate de un procedimiento que no ofrece ningún desafío. Sin embargo, para quienes no lo habéis hecho o tenéis dudas de su funcionamiento, veréis que es fácil y puede ser muy cómodo además de económico (servidores sin disco duro pueden resultar en un ahorro nada despreciable).

Antes de ir al lío, unas consideraciones generales del sistema y la BIOS:
– Se deben cumplir los requerimientos mínimos de hardware de cada uno de los fabricantes.
– Activar virtualización ahí donde sea posible 🙂 (EPT, RVI, VT-x, etc).
– Deshabilitar dispositivos que no se van a utilizar es otra buena idea…por ejemplo puertos paralelos.
– Se recomiendan configurar los modos de ahorro de energía a “OS Controlled Mode” o similar, así como asegurarse que están todos los cores habilitados.
– Ambos sistemas son “NUMA aware” por lo que casi mejor activarlo en la BIOS. Normalmente suele ser una configuración llamada “Node interleaving” que hay que dejar en estado “Disabled”. “Enabled” significa que está en modo UMA de Uniform Memory Access.
– Si es posible, habilitar Hyperthreading y/o Turbo Boost.
– Ya que la idea es “arrancar” desde un USB, el orden de arranque es importante. Comprobad que USB esté primero o en su defecto, utilizar las opciones de arranque para seleccionar el FBD (First boot device).

Empezaremos por la configuración de un USB con vSphere, como bien explica Bolo Álvarez en su blog – http://mecongratula.es/, el procedimiento es el siguiente:

vSphere (4 pasos extremadamente simples)
1) Descargar y ejecutar UNetbootin – http://unetbootin.sourceforge.net/
2) Descargar la ISO de ESXi – https://my.vmware.com/web/vmware/evalcenter?p=free-esxi5&lp=default (necesitaréis crearos una cuenta en caso que no dispongáis de una)
3) Formatear el USB en FAT32.
4) Ejecutar UNetbootin y “planchar” la ISO del ESXi en el USB. Precaución, esto borrará los datos del dispositivo que escojáis como destino. Aseguraos que el destino seleccionado es el USB que queréis.

Unebootini1

HyperV Server (12 pasos basándome en esta guía http://technet.microsoft.com/en-us/library/ee731893(WS.10).aspx)

1) Crear un VHD y montarlo.
– Lanzar un cmd y ejecutar las siguientes líneas:
– mkdir c:\hvvhd
– diskpart
– create vdisk file=c:\hvvhd\hyperV.vhd maximum=12288 type=fixed
– select vdisk file=c:\hvvhd\hyperV.vhd
– attach disk
– create partition primary
– assign letter=r
– format quick fs=ntfs label=hyperV
– exit

En este primer paso se creará un directorio de nombre “hvvhd” y desde la utilidad de “diskpart” se creará un disco virtual de nombre “hyperV.vhd” dentro del directorio “hvvhd” que se creó anteriormente. Este disco virtual tendrá un tamaño fijo de 12288 KB (para nuestro chubascos lab utilizamos 6144 puesto que nuestros USB son de 8 GB), lo que equivale a 12 GB. Dentro de este disco virtual se creará una partición de nombre “r” y se la formateará con un formato “rápido”, un file system de tipo “ntfs” y se le dará el nombre “hyperV”.

Paso1

2) Descargar e instalar Windows AIK (necesitaréis una cuenta para descargaros algunos elementos de esta guía)
http://go.microsoft.com/fwlink/?LinkId=136976
Esta guía hace referencia a la ruta de instalación por defecto de este software.

3) Descargar y montar la imagen de Windows Hyper-V Server
http://www.microsoft.com/en-us/server-cloud/hyper-v-server/default.aspx
Nota: El archivo .wim al que se hará referencia en el siguiente punto está en la carpeta “sources” de esta ISO.

4) Aplicar el archivo install.wim en la partición del VHD que se creó en el paso 1 de esta guía.
Para ello, lanzar el cmd como usuario “Administrador” y ejecutar las siguientes lineas:
Ruta_Windows_AIK\Windows AIK\Tools\arquitectura\imagex.exe /apply path_al_wim 1 r:\

Paso4

5) Desmontar el disco virtual
Para ello, ejecutar los siguientes comandos en el cmd.
– diskpart
– select vdisk file=c:\hvvhd\hyperV.vhd
– detach vdisk
– exit

Paso5

6) Preparar el USB
Primero, identificar el disco con los siguientes commandos.
– diskpart
– list disk

Siguiente, limpiarlo, particionarlo y formatearlo.
– select disk número_del_USB_que_nos_devolvió_el “list disk”
– clean
– create partition primary
– select partition 1
– active
– format quick fs=ntfs label=hyperV
– assign letter=z

Paso6

7) Copiar el .vhd al USB

8) Compatibilizar el USB con Bootmgr
ruta_Windows_AIK\Tools\PETools\arquitectura\bootsect.exe /nt60 x: /force /mbr

Paso8

9) Montar el .vhd del USB
– diskpart
– select vdisk file=z:\HyperV.vhd
– attach vdisk
– exit

Paso9

10) Hacer el USB booteable
ruta_Windows_AIK\tools\arquitectura\bcdboot letra_partición_VHD\windows /s letra_partición_USB

11) Deshabilitar paging (la fresa en la nata)
Esto es por temas de performance, podéis probar sin hacerlo pero funciona mejor siguiendo esta recomendación de Microsoft.

Para ello hay que cargar el hive del registro del VHD del USB y configurar las entradas necesarias de las Page Files.

– reg load HKLM\HyperVTemp r:\windows\system32\config\system

– reg add “HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management” /v PagingFiles /t REG_MULTI_SZ /d “” /f

– reg delete “HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management” /v ExistingPageFiles /f

– reg unload HKLM\HyperVTemp

12) Desmontar el VHD y quitar el USB
– diskpart
– select vdisk file=x:\hyperV.vhd
– detach vdisk
– exit

Sí, el proceso de creación de este USB puede resultar más largo para HyperV Server y en mi experiencia personal, más complicado. Otra alternativa es intentar utilizar esta herramienta para facilitar el proceso.
http://archive.msdn.microsoft.com/BootHVSR2FromUSB. No la he probado y por lo que vi tiene algunas limitaciones que podrían hacer que no valiera para una instalación de la versión 2012 y menos en castellano. Pero bueno, a veces estas cosas aunque no lo especifiquen sí funcionan…todo es cuestión de probar.

Espero que os haya gustado esta pequeña guía que reúne en un único post, algo de lo que normalmente no se habla en las comparativas tipo “checklist” que tanto me disgustan.

En futuros posts intentaremos comentar un poco cómo se consigue levantar el hypervisor desde estos dispositivos USB y controlarlo remotamente.

Si este post ha sido de vuestro agrado o creéis que pueden resultar de interés para otros, por favor compartidlo en vuestras redes sociales 🙂 Si además tenéis algo que decir o aportar, por favor dejad un comentario!

Gracias por leernos,
Sebastián Greco