====== Servidor Clonezilla para instalación de imágenes de forma desatendida ======
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.
===== Requisitos =====
* Sistema GNU/Linux instalado (este tutorial se basa en Debian o Ubuntu).
* Conocimientos básicos de administración de un sistema GNU/Linux.
* Una copia de Clonezilla
* Haber creado previamente las imágenes de particiones o discos con Clonezilla.
* Un servidor Samba o Windows donde guardar las imágenes de Clonezilla.
Clonezilla puede descargarse desde [[http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/c/project/cl/clonezilla/clonezilla_live_stable/|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:**__
* Por favor, no intente hacerlo con usuario sin contraseña, no hay manera de decirle a Clonezilla mediante este método que no use contraseña.
* No modifique los directorios creados por Clonezilla. Me he encontrado muchos casos de personas que han sacado de la carpeta creada por Clonezilla los archivos y luego se quejan de que no se encuentran. No haga eso por favor, mueva las carpetas, pero no altere sus nombres ni sus contenidos.
===== Instalación =====
Empezamos instalando los paquetes que necesitaremos para dar los servicios DHCP, TFTP y FTP.
sudo apt-get install tftp dhcp3-server proftpd
===== Configuración =====
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.