Ir al principioc | Ir al final
Home

TIC
TIC.SystemImagerr1.14 - 11 Mar 2007 - 18:08 - RicardoDeLosSantosabajo

Start of topic | Skip to actions

SystemImager

Se trata de una herramienta que facilita la instalación y administración de toda una red local con máquinas Linux. Los cambios hechos en un PC concreto se actualizan en el resto de la red. Incluso podemos crear un disquete de arranque que permite la clonación de un equipo, de forma que hasta se particiona y formatea el disco duro de forma automática

Notas

Instalando systemimager-server

Este paquete lo instalaremos, en principio, en un único equipo de nuestra red que actuará como servidor de imágenes y servirá para que otros equipos se actualicen o instalen desde él. Lo ideal es utilizar como servidor un equipo aparte de los que se estén usando en el aula (un viejo PC por ejemplo).

En el momento de escribir este tema el repositorio de Guadalinex Edu 2.0 no permite la instalación de este paquete con todas sus dependencias, por lo que tendremos que editar el fichero /etc/apt/sources.list y ampliarlo con el repositorio de Debian testing (sarge). A continuación ejecutaremos
apt-get update

Ahora ya podemos instalar el paquete systemimage-server usando synaptic o con el comando
apt-get install systemimager-server

Una vez finalizada la instalación, podemos volver a dejar el fichero /etc/apt/sources.list tal como estaba en un principio y ejecutar nuevamente apt-get update.

Instalando systemimager-client en el golden-client

La documentación (y los comandos) del SystemImager se refieren al golden-client como a un equipo de nuestra red (que está perfectamente instalado y actualizado) que queremos utilizar como modelo para que los demás se sincronicen con él. Se trata de un equipo distinto al que hemos llamado servidor.

Al igual que hemos hecho en el servidor, en el golden-client tendremos que actualizar el fichero /etc/apt/sources.list y ejecutar a continuación apt-get update

En el golden-client instalaremos el paquete systemimager-client (con synaptic o con el comando apt-get install systemimager-client)

Creando una imagen del golden-client en el servidor

El golden-client es el ordenador que queremos usar como imagen para que todos los demás se sincronien con él.
  • En el golden-client ejecutaremos el comando
    prepareclient --server ip_del_servidor
    Por ejemplo prepareclient --server 192.168.0.78
    Si ejecutamos simplemente preparaclient se nos mostrará una ventana de ayuda recordándonos los otros parámetros.
    Durante el proceso de creación de la imagen (que se almacena en el servidor) es recomendable no ejecutar ningún programa en el golden-client salvo prepareclient
  • En el servidor ejecutamos el comando
    getimage -golden-client ip_del_golden-client -image _nombre_que_elijamos_para_la_imagen
    por ejemplo getimage -golden-client 192.168.0.13 -image equipos_nuevos_glinex2.0
    Si ejecutamos simplemente getimage se nos mostará una ventana de ayuda recordándonos los otros parámetros. Dependiendo de la distribución que usemos, puede que el programa getimage se llame si_getimage
  • Nota: Si en nuestra red tenemos dos (o más) tipos de equipos (por ejemplo equipos antiguos y nuevos) podemos utilizar el mismo servidor para crear las distintas imágenes, usando distinto nombre al ejecutar getimage (por ejemplo getimage -golden-client 192.168.0.13 -image equipos_antiguos_glinex2.0). Naturalmente necesitaremos un golden-client para los equipos nuevos y otro golden-client (un equipo antiguo) para los equipos antiguos.

Una vez creada la imagen en el servidor se nos preguntará si queremos crear/actualizar los scripts de autoinstalación (clonación). Respondemos afirmativamente y seleccionamos a continuación la opción 2 (los equipos usan IP estática), o de lo contrario tendremos que instalar un servidor DHCP en nuestra red y configurarlo especialmente para el systemimager.

Se nos preguntará si queremos ejecutar addclients. En principio responderemos negativamente y sólo ejecutaremos este comando si queremos usar la imagen para clonar equipos en nuestra red

Actualizando un equipo (cliente) de la red local

Ahora queremos actualizar, usando la imagen del golden-client que hemos salvado en el servidor, otro equipo de la red local. Para ello en primer lugar tendremos que instalar el paquete systemimager-client de la misma forma que lo hicimos en el golden-client

Una vez instalado el paquete, sólo necesitamos ejecutar el comando
updateclient -server ip_del_servidor -image nombre_de_la_imagen
Por ejemplo updateclient -server 192.168.0.78 -image equipos_nuevos_glinex2.0
Es muy conveniente reiniciar el PC una vez haya sido actualizado, lo que se consigue automáticamente si ejecutamos
updateclient -server 192.268.0.78 -image equipos_nuevos_glinex2.0;reboot
Si ponemos halt en lugar de reboot, el equipo se apagará tras la actualización.

  • Al actualizar un equipo de la red local desde la imagen de otro, por defecto se respeta (no se actualiza) el directorio /home y una serie de ficheros que contienen información específica de cada PC (por ejemplo /etc/hostname, /etc/network/interfaces). Estas opciones son configurables.

¿Y si falla el comando updateclient?

  • El comando updateclient nos sirve entre otras cosas para reparar nuestro sistema a partir de una imagen sana. Sin embargo si el propio paquete systemimager-client o cualquier otro vinculado a él está estropado u obsoleto, es muy posible que el comando falle.
  • Para reparar o actualizar el systemimager-client, ejecutaremos como root:
    apt-get update
    apt-get install updateclient
  • Después de actualizar el systemimager-client en el golden-client es recomendable actualizar la imagen en el servidor.

Instalando desde cero un equipo de la red (clonación con un disquete)

Queremos ahora instalar desde cero un PC de la red local, con hardware idéntico al equipo usado como golden-client, cuya imagen ha sido salvada en el servidor de imágenes.

Necesitamos configurar el servidor de imágenes para esta opción, ejecutando el comando
addclients

Tendremos que rellenar una serie de datos sobre los nombres y las IPs de los PC que vamos a generar por clonación

  • domain name Nombre de dominio (domain name). Podemos usar cualquier nombre de dominio inexistente en Internet, como aula o el que nos haya indicado nuestro proveedor de Internet.
  • base host name Prefijo por el que empiezan los nombres de nuestros PCs. Algo típico sería poner como prefijo pc
  • número inicial y número final. Si ponemos 12 y 27 respectivamente, el servidor esperará que se instalen los equipos llamados pc12, pc13, ... pc27
Necesitamos también un diskette de 1.44 MB, que insertaremos en la disquetera del servidor de imágenenes para ejecutar a continuación el comando
mkautoinstalldiskette

Tenemos ahora un disquete de arranque que nos serviría tal como está si instalamos (y configuramos adecuadamnete) en el servidor de imágenes un servidor DHCP. En general esto no es conveniente, pues lo normal es que ya estemos usando nuestro router ADSL como servidor DHCP.

Montamos el disquete (que todavía está en la disquetera)
mount /floppy y creamos (o copiamos) en él un fichero llamado local.cfg cuyo contenido sea similar al siguiente (es imprescindible asignar valor a todas las variables)

HOSTNAME=pc23
DOMAINNAME=aula
DEVICE=eth0
IPADDR=192.168.0.23
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.1
GATEWAYDEV=eth0
IMAGESERVER=192.168.0.78

Por último desmontamos el disquete ejecutando
umount /floppy (si estamos en /floppy tendremos que salir antes de poder desmontar el disquete ejecutando, por ejemplo, cd)

Ahora ¡basta arrancar con este disquete el PC que queremos clonar! y esperar un tiempo que dependerá de lo grande que sea la imagen.

¿Qué pasa si no funciona el disquete o no tenemos disquetera?

Si el fichero local.cfg es correcto y el disquete de arranque no logra activar la tarjeta de red o acceder al disco duro se debe a que tenemos harware poco común (o demasiado reciente) y es necesario actualizar el núcleo.

Una forma de solucionar el problema es clonar el PC con PartitionImage en lugar de SystemImager. En este caso podemos crear un CD de arranque que contenga la imagen de la partición.

También podemos arrancar el sistema con el KnoppixCD y utilizar rsync para descargar los ficheros, para a continuación reconfigurar el gestor de arranque (Lilo en GuadaLinex Edu). Los pasos a seguir una vez iniciado el sistema con el KnoppixCD (que podemos usar en modo texto, escribiendo knoppix 2 en el momento del arranque) son:

  1. Ejecutamos cfdisk y particionamos según nuestras necesidades. No es necesario que la partición donde vamos a instalar el sistema tenga el mismo tamaño que la correspondiente del golden-client
  2. Formateamos la partición donde vamos a clonar el sistema (aunque es posible que Knoppix nos obligue a reiniciar el sistema antes de hacer esto). Si la partición que vamos a usar en /dev/hda2 es tipo ext3, tendremos que ejecutar mkfs -t ext3 /dev/hda2
  3. Montamos la partición, por ejemplo en /mnt/hda2, ejecutando mount /dev/hda2 /mnt/hda2
  4. Comprobamos que la red está correctamente configurada y que tenemos acceso al servidor SystemImager.
  5. Ejecutamos el siguiente comando, escribiendo la IP del servidor y el nombre de la imagen que correspondan:
    rsync -av --exclude=lost+found/ --numeric-ids 192.168.0.78::equipos_nuevos_glinex2.0/ /mnt/hda2/
  6. Una vez termine la transferencia de ficheros, ejecutamos chroot /mnt/hda2 para iniciar sesión en el sistema recien transferido. Si hemos transferido el sistema a una partición diferente a la que usamos en el golden-client, tendremos que modificar los ficheros /etc/fstab y /etc/lilo.conf (o /boot/grub/menu.lst). Finalmente ejecutamos el programa lilo o un comando del tipo grub-install /dev/hda
  7. Ejecutamos exit para salir de la jaula chroot
  8. Reiniciamos el sistema y arrancamos con el sistema transferido (tendremos que sacar el KnoppixCD del lector de CD).

Enlaces de interés

-- RicardoDeLosSantos - 09 Dic 2004

El pingüino ya no tiene frío
arriba

I Fichero sort Acción Tamaño Fecha Por Comentario
cfg_zaframagon.tar gestionar 10.0 K 10 Oct 2006 - 17:50 RicardoDeLosSantos Ejemplo de script usado para actualizar el aula del IES Zaframagón
updateclient.local.exclude gestionar 2.1 K 08 Nov 2006 - 08:47 RicardoDeLosSantos Ejemplo de configuración para un aula con varios tipos de hardware

Estás aquí: TIC > SystemImager

arriba

Copyright © 2004 por los autores que han contribuido al desarrollo de esta web. Todos los materiales son propiedad de sus respectivos autores.
Para cualquier consulta o sugerencia contactar con TWiki.WebMaster