En el siguiente tutorial se describirá como instalar un servidor Debian o Ubuntu mediante el cual se podrán arrancar mediante la red las computadoras que deseemos instalar con una imagen previamente realizada con Clonezilla. Resulta muy útil si tenemos un conjunto de máquinas que queremos instalar con una misma imagen y queremos ahorrar tiempo. El cómo usar Clonezilla para crear las imágenes está fuera del ámbito de este tutorial, pero es totalmente intuitivo.
Clonezilla puede descargarse desde aquí.
Para este tutorial, el servidor Samba o Windows se configuró para que compartiera un directorio llamado images y dentro tiene los directorios creados por Clonezilla para cada una de las imágenes. Para acceder a ella se crearon las credenciales usuario con contraseña p4ssw0rd.
Advertencias:
Empezamos instalando los paquetes que necesitaremos para dar los servicios DHCP, TFTP y FTP.
sudo apt-get install tftp dhcp3-server proftpd
Una vez instalados estos servicios procederemos a configurar proftpd para tener ahí la instalación de Clonezilla que vamos a usar. Configuramos un ftp anónimo y publicamos un directorio (en este caso clonezilla, pero puede ponerse el que deseemos). En dicho directorio descomprimiremos el zip de Clonezilla que descargamos (también puede montarse la imagen ISO en ese directorio, pero es mejor copiar los archivos). Al final el directorio debe quedar así:
$ ls -la total 56 drwxr-xr-x 8 root root 4096 2011-07-01 10:46 . drwxr-xr-x 4 ftp nogroup 4096 2011-05-25 15:15 .. -rw-r--r-- 1 root root 125 2011-05-12 20:14 Clonezilla-Live-Version -rw-r--r-- 1 root root 17982 2011-05-06 02:36 COPYING dr-xr-xr-x 3 root root 4096 2011-05-12 20:14 EFI drwxr-xr-x 3 root root 4096 2011-05-12 20:14 home drwxr-xr-x 2 root root 4096 2011-05-12 20:14 isolinux drwxr-xr-x 2 root root 4096 2011-05-12 20:14 live drwxr-xr-x 2 root root 4096 2011-05-12 20:14 syslinux drwxr-xr-x 5 root root 4096 2011-05-12 20:15 utils
Mediante servicio tftp publicaremos el PXE, sus configuraciones y el kernel. Procedemos a copiar desde el directorio live
que acabamos de extraer los siguientes ficheros hacia /var/lib/tftpboot
:
initrd.img vmlinuz
Ahora bien, debemos buscar el fichero pxelinux.0
. Existen varias versiones, cada una ajustada a quien lo haya generado. Podemos encontrar uno en el disco de instalación de Debian o de Ubuntu en sus versiones server o alternate (desktop no lo trae). Procedemos entonces a copiarlo a /var/lib/tftpboot
. Luego creamos el directorio /var/lib/tftpboot/pxelinux.cfg
y ahí creamos el fichero default
con el siguiente contenido:
label linux MENU LABEL Clonezilla Live kernel vmlinuz append initrd=initrd.img boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-restore" ocs_live_extra_param="-g auto -e1 auto -e2 -b -r -j2 -p true restoredisk 2011-05-25-14-img sda" ocs_live_keymap="NONE" ocs_live_batch="yes" ocs_lang="" ocs_prerun="mount -t cifs -o user=usuario,password=p4ssw0rd //serversamba/images /home/partimag" vga=788 nosplash fetch=ftp://serverftp/clonezilla/live/filesystem.squashfs
Vamos a explicar un poco estas opciones:
Si usamos el pxelinux.0
que vienen con Debian o Ubuntu, éste siempre busca que el label
sea linux
, por tanto debe ir así o dará fallo. Debe ajustarse según las necesidades.
La otra línea interesante el la que dice append
. Ahí se le indica a Clonezilla qué debe hacer al arrancar. En nuestro caso que queremos hacer una instalación con la mínima interacción posible, por lo que pasamos las siguientes opciones:
ocs_live_run="ocs-live-restore" ocs_live_extra_param="-g auto -e1 auto -e2 -b -r -j2 -p true restoredisk 2011-05-25-14-img sda" ocs_live_batch="yes"
Si se fijan bien en la línea anterior la parte que dice restoredisk 2011-05-25-14-img sda
indica que se va a restaurar el disco entero con la imagen 2011-05-25-14-img
en el disco sda
. Estos parámetros son ajustables. Para más información, por favor referirse a la documentación de Clonezilla.
Otro parámetro interesante es este:
ocs_prerun="mount -t cifs -o user=usuario,password=p4ssw0rd //serversamba/images /home/partimag"
Indica a Clonezilla que debe conectarse a serversamba
con esas credenciales, tomar el directorio images
y montarlo en /home/partimag
. Estos parámetros pueden ajustarse, excepto /home/partimag
.
El último parámetro es este:
fetch=ftp://serverftp/clonezilla/live/filesystem.squashfs
Esto indicará al sistema dónde encontrar la instalación de Clonezilla que compartimos por ftp. Totalmente ajustable.
El DHCP nos va a servir para asignar las direcciones dinámicamente y además decirle a las máquinas qué deben usar para arrancar por red.
Editamos el fichero /etc/dhcp3/dhcpd.conf
y ponemos una configuración como la que mostramos a continuación; debemos ajustar los valores de direcciones a los de nuestra red. En este caso el servidor donde está el tftp es el 10.0.0.1
, pero se puede cambiar según el entorno.
subnet 10.0.0.0 netmask 255.255.255.128 { range 10.0.0.10 10.0.0.18; filename "pxelinux.0"; next-server 10.0.0.1; option subnet-mask 255.255.255.128; option broadcast-address 10.0.0.128; option routers 10.0.0.1; }
Solo nos queda reiniciar los servicios, encender los clientes y configurarlos para que arranquen por PXE.