Windows Deployment Services (WDS) es una gran herramienta adicional para el conjunto de aplicaciones de Windows. Aplicación lista para usarse, puede ejecutar Windows VMs, y con algunas correcciones, es posible tener WDS incorporado en servidores Linux y VMware, desde un menú de inicio seleccionable de Preboot eXecution Environment (PXE).
Para que WDS ejecute sistemas de Windows y Linux, se deben hacer algunos cambios en las líneas de comando. Especialmente el cargador de arranque PXE usado por Windows, el cual debe sustituirse por uno Linux. Una vez realizados lo cambios, se crea una entrada de menú para que el menú de arranque de PXE Linux se transfiera de Windows a Windows builds, y se usa IIS para proporcionar una interfaz web para descargar los archivos de configuración de Linux.
La configuración de WDS que uso actualmente se basa en Windows, CentOS y ESXi. En este post, me centraré en esos tres sistemas operativos. También puedes usar otros sistemas.
Con un Windows Server limpio, me gustaría proporcionar un controlador C: de 60GB para OS y un controlador WDS de 300 GB para varios archivos WIM para la ejecución de Windows y para archivos de instalación de Linux.
La instalación y configuración incluyen varios pasos
Configurar el servidor WDS
El servidor necesitará que se instalen WDS e IIS. Esto se puede realizar mediante una herramienta de gestión del servidor, o si lo prefiere, a través del enfoque PowerShell.
Install-WindowsFeature –name Web-server -includemanagementtools
Install-Windowsfeature –name WDS -includemanagementtools
Ahora que tenemos el servidor de Windows Deployment Services básico instalado, se deben realizar cambios en los equipos DHCP. Si lo deseas, puedes agrear un segundo NIC al servidor y tener una red dedicada construida a partir de esto, pero, en lo personal, me gustaría poder construir mis servidores en la red principal, así que prefiero actualizar el servidor DHCP central con las características de WDS DHCP adicionales:
Las configuraciones de DHCP que uso son:
El «Boot Server Host Name» es la dirección IP del servidor WDS.
El «Bootfile Name» es el WDS ejecutable que queremos que ejecute el cliente.
Las otras tres opciones son estándar para la mayorías de las configuraciones de DHCP.
En el servidor WDS, ejecute el asistente de configuración y finalice la configuración de WDS. Existen cambios menores que me gustaría realizar en la configuración.
Puedes integrar este servidor con AD, ya que en este momento estamos configurando las opciones de Windows, pero prefiero un servidor independiente que responda a las solicitudes y no necesite una preconfiguración AD.
Cambio el C:\RemoteInstall a E:\RemoteInstall – E: siendo el segundo controlador que agrego al servidor WDS especialmente para archivos WIM, archivos Linux y demás.
Como se mencioné anteriormente, me gusta que mi servidor PXE responda a todas las solicitudes ya que evita tener que aprobar todo en AD.
La última opción por cambiar está en el menú PXE, para eso deberás ejecutar la consola de implementación WDS y hacer clic derecho en el nombre del servidor y cambiar la opción bajo la pestaña de inicio desde «Require the user to press F12 key to continue the PXE boot» (El usuario debe oprimir la tecla F12 para continuar el arranque de PXE) hasta «Always continue the PXE boot» (Siempre continuar con el arranque de PXE).
Ahora puedes agregar los archivos WIM a WDS. Toma «boot.wim» y «install.wi» de Windows 2016 ISO y WDS podrá ejecutar imágenes para Windows.
Deberás poder ejecutar PXE en VM y obtener el Windows estándar, solo en la pantalla de arranque WDS. Es bueno realizar una prueba para garantizar que todo esté en funcionamiento porque a partir de aquí, comenzamos a realizar algunos cambios en los fundamentos de WDS, que le permitirán proporcionar instalaciones de Linux y ESXi.
Cambiar el cargador de arranque de Windows Deployment Services
En este momento, el servidor WDS está listo para ejecutar imágenes de Windows, pero queremos que ejecute más funciones. Debe proporcionar imágenes basadas en Linux también, entonces, lo primero que debemos hacer es sustituir el cargador de arranque WDS por uno basado en Linux PXE.
Para realizar esto, necesitamos una copia de sysLinux de http://www.kernel.org/pub/Linux/utils/boot/sysLinux/. NO descargues nada más reciente que 3.86, ya que no será compatible con ESXi porque el instalador todavía está basado en 3.86.
Una vez que tengas una copia de sysLinux 3.86, extrae todo a la carpeta temporal, necesitaremos mover algunos archivos. Esto es un poco complicado, y la parte más difícil de todo el proceso de instalación.
Desde el archivo zip sysLinux 3.86, extrae:
- core\pxeLinux.0
com32\menu\vesamenu.c32
com32\modules\chain.c32 - Renombra pxeLinux.0 a pxeLinux.com
- Copia los archivos a remoteinstall\boot\x64 and remoteinstall\boot\x86 folders
- En ambas carpetas x86 y x64, renombra pxeboot.n12 a pxeboot.0
Desde CLI, ejecuta los siguientes comandos: esto cambia el cargador de arranque en el cargador PXE de Linux.
wdsutil /set-server /bootprogram:boot\x86\pxeLinux.com /architecture:x86
wdsutil /set-server /N12bootprogram:boot\x86\pxeLinux.com /architecture:x86
wdsutil /set-server /bootprogram:boot\x64\pxeLinux.com /architecture:x64
wdsutil /set-server /N12bootprogram:boot\x64\pxeLinux.com /architecture:x64
Finalmente, en ambas carpetas x86 y x64, crea una subcarpeta denominada pxeLinux.cfg, y dentro de ella crea un archivo con el nombre «predeterminado» y copia el siguiente texto, esto configurará tu menú de inicio.
DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
# Timeout in units of 1/10 s
TIMEOUT 0
MENU MARGIN 10
MENU ROWS 16
MENU TABMSGROW 21
MENU TIMEOUTROW 26
MENU COLOR BORDER 30;44 #20ffffff #00000000 none
MENU COLOR SCROLLBAR 30;44 #20ffffff #00000000 none
MENU COLOR TITLE 0 #ffffffff #00000000 none
MENU COLOR SEL 30;47 #40000000 #20ffffff
MENU BACKGROUND flow.jpg
MENU TITLE PXE Boot Menu
#—
LABEL wds
MENU LABEL Windows Deployment Services
MENU DEFAULT
KERNEL pxeboot.0
#—
LABEL CentOS68
MENU LABEL CentOS 6.8
KERNEL /web/CentOS/6.8/images/pxeboot/vmlinuz
append initrd=/web/CentOS/6.8/images/pxeboot/initrd.img root=/dev/ram0 init=/Linuxrc ramdisk_size=100000 ks=https://[IP del servidor WDS]/CentOS/6.8/centos-base-ks.cfg
#—
LABEL CentOS72
MENU LABEL CentOS 7.2
KERNEL /web/CentOS/7.2/images/pxeboot/vmlinuz
append initrd=/web/CentOS/7.2/images/pxeboot/initrd.img
#—
LABEL VMWare500U3
MENU LABEL VMWare 5.0.0 U3
KERNEL /web/VMWare/5.0.0/U3/mboot.c32
APPEND -c /web/VMWare/5.0.0/U3/boot.cfg
#—
LABEL VMWare553b
MENU LABEL VMWare 5.5 U3b
KERNEL /web/VMWare/5.5.0/U3b/mboot.c32
APPEND -c /web/VMWare/5.5.0/U3b/boot.cfg
#—
LABEL VMWare60
MENU LABEL VMWare 6.0
KERNEL /web/VMWare/6.0/mboot.c32
APPEND -c /web/VMWare/6.0/boot.cfg
#—
LABEL VMWare65
MENU LABEL VMWare 6.5
KERNEL /web/VMWare/6.5/mboot.c32
APPEND -c /web/VMWare/6.5/boot.cfg
#—
LABEL Abort
MENU LABEL AbortPXE
Kernel abortpxe.0
#—
LABEL local
MENU LABEL Boot from Harddisk
LOCALBOOT 0
Type 0x80
Cambiar las configuraciones IIS
Como IIS es necesario para alojar los archivos de instalación de CentOS y ESXi, siempre creo una estructura de archivo web en los datos VMDK. El mio luce de la siguiente manera:
E:\web – directorio raíz que apunta a IIS
E:\web\centos\7.x\7.1 – archivos de instalación de CentOS 7.1
E:\web\vmware\6.5 – archivos de instalación de VMware 6.5
En IIS, se necesita habilitar la exploración de archivos para que el instalador de Linux y el instalador de VMware puedan alojar archivos.
Ejecuta la herramienta de administración de IIS y haz clic en tu servidor -> Sitio predeterminado -> Explorador de directorio y habilítalo.
También puedes convertir el servidor a HTTPS, o cual no es una mala idea.
Agregar Linux.
En este momento, puedes agregar la instalación de Linux. Yo lo hago de la siguiente manera:
descargo la versión de ISO más pequeña de CentOS (normalmente el mínimo de instalación de ISO), monto ISO y copio los contenidos de «E:\web\centos\7.x\7.[version]» o algo similar. Una vez hecho esto, puedes agregar elementos como archivos kickstart para instalar manos libres. Como ejemplo de ello, aquí está la entrada que usé en el archivo predeterminado pxeLinux.cfg:
ETIQUETA CentOS72
ETIQUETA DE MENÚ CentOS 7.2
NÚCLEO /web/CentOS/7.2/images/pxeboot/vmlinuz
append initrd=/web/CentOS/7.2/images/pxeboot/initrd.img inst.repo=[IP del servidor WDS]/CentOS/7.2 ks=[IP del servidor WDS]/CentOS/7.2/centos-base-ks.cfg
Agregar VMware
Y por lo último, instala ESXi 6.5. Nuevamente, es solo cuestión de copiar todos los archivos de VMware ISO a la carpeta correspondiente en el servidor WDS, pero una vez hecho esto, debes editar el archivo boot.cfg en la carpeta VMware y eliminar los espacios. Así, luce de la siguiente manera:
En conclusión, modificar el servidor WDS, IIS y varios archivos de configuración puede ser dificultoso, pero una vez hechos los cambios, serás capaz de usar el menú PXE para proporcionar WDS y seleccionar cualquier sistema operativo de Windows OS que sea compatible con un archivo WIM. Además, puedes obtenerlo para ejecutar las instalaciones de Linux que realizan una instalación completa. Lo mismo aplica para VMWare. También puedes agregar otras aplicaciones como GParted y Memtest, que pueden ser útiles en ciertas ocasiones.