Saltar a contenidoSaltar a navegación de páginas: página anterior [tecla acceso p]/página siguiente [tecla acceso n]
Se aplica a SUSE Linux Enterprise Server 11 SP4

23 Distribución automatizada de imágenes de carga previa

Con KIWI puede crear imágenes del sistema operativo. En este capítulo se describe el proceso de distribución de una imagen del sistema a un equipo cliente vacío. Para ello, se debe crear una imagen cargada de carga previa que incluya una imagen RAW arrancable. Este archivo contiene dos partes importantes: una tabla de partición y el sistema operativo real. La imagen RAW se escribe en el disco duro vacío y el sistema operativo se extiende en el espacio de disco restante al arrancar por primera vez.

Para crear una imagen de este tipo, consulte la Sección 17.4.2, “Creación de una imagen”. Cuando se crea la imagen ISO, el archivo RAW se encuentra en la carpeta de destino. Hay muchas formas de volcar una imagen RAW en un disco.

  • Conectar el disco a un servidor de distribución y copiar solo la imagen al dispositivo RAW.

  • Proporcionar la imagen RAW mediante un servidor HTTP o FTP y volcarla en el disco del equipo cliente.

  • Crear una imagen de arranque en red para obtener la imagen y volcarla en el disco. Este método es útil para la distribución masiva.

  • Arrancar un disco de rescate y realizar un volcado manual desde la imagen de rescate.

Para empezar rápidamente, es conveniente usar uno de los métodos descritos en la Sección 23.1, “Distribución manual del sistema a partir de una imagen de rescate”.

23.1 Distribución manual del sistema a partir de una imagen de rescate

Distribución con un archivo ISO generado desde KIWI:
  1. Grabe la imagen ISO que obtenga del proceso de creación de KIWI, consulte la Sección 17.4.2, “Creación de una imagen” del CD/DVD.

  2. Arranque desde este medio en el equipo cliente.

  3. Seleccione el disco duro que se usará para la instalación.

  4. Reinicie el equipo cliente y arranque desde el disco duro.

Distribución por un sistema de rescate:
  1. Arranque el equipo cliente con un sistema de rescate. Estos sistemas están disponibles en todos los CD o DVD de instalación de SUSE.

  2. Entre a la sesión como usuario Root. No introduzca la contraseña.

  3. Configure la red. Si dispone de DHCP en la red, basta con usar el comando ifup-dhcp eth0. Si debe hacerlo manualmente, use el comando ip para configurar la red. El DHCP inicial de salida también indica la dirección IP del equipo.

  4. Realice la escucha en un puerto de la red que no se utilice, como el 1234, y vuelque los datos entrantes en el disco con el comando siguiente:

    netcat -l -p 1234 > /dev/sda
  5. En el servidor generador de imágenes, envíe la imagen RAW al equipo cliente con el comando:

    netcat <IP of client> 1234 < $HOME/preload_image/<image_name>
  6. Cuando se haya transferido la imagen, retire el sistema de rescate de la unidad de CD o DVD y apague el equipo cliente. Al volver a arrancar, el cargador de arranque GRUB se debe iniciar en el cliente y el sistema Firstboot se hará cargo del proceso.

23.2 Distribución automática con arranque PXE

Si va a efectuar varias instalaciones de un sistema operativo en hardware de características similares, resulta útil dedicar algún tiempo a preparar una distribución masiva del sistema operativo, ya que se ahorrará tiempo en la distribución. Este capítulo describe este proceso. El objetivo es simplemente conectar un equipo, conectarlo a una red, iniciar un arranque en red y esperar a que se apague.

Las siguientes acciones se deben efectuar en orden para realizar esta tarea correctamente:

Instalar un servidor de arranque e instalación

Se necesita un equipo dedicado, que debe estar preparado para ofrecer arranque PXE, así como un servidor FTP o Web que proporcione la imagen de carga previa. Resulta útil asignar suficiente memoria al equipo para que pueda alojar todos los datos de instalación necesarios. Para realizar una instalación por defecto, debe haber al menos 4 GB de memoria. Es posible realizar todas las tareas necesarias con SUSE Linux Enterprise Server. Para obtener más información, consulte la Sección 23.2.1, “Configuración de un servidor de arranque e instalación”.

Preparar una imagen de carga previa

La instalación en sí se realiza copiando una imagen RAW del sistema operativo en el disco duro nuevo. Se deben haber preparado y probado con cuidado todas las funciones y ajustes. Para proporcionar una imagen de estas características, se puede usar KIWI (disponible en el SDK del sistema operativo SUSE Linux Enterprise). Hay disponible más información sobre la creación de imágenes con KIWI en el Capítulo 17, KIWI. Para obtener más información sobre los requisitos de la imagen de carga previa, consulte la Sección 23.2.2, “Creación de una imagen de carga previa”.

Crear un sistema inicial para la distribución

Para esta tarea se necesita experiencia con Linux. En la Sección 23.2.3, “Creación de un sistema inicial para distribuir una imagen de carga previa” hay una descripción de cómo se puede llevar a cabo esta tarea mediante una instalación de ejemplo.

Configurar el servidor de arranque para la distribución automática

Se debe indicar al arranque PXE que arranque el sistema de instalación, que a su vez, tomará la imagen de precarga del servidor y la copiará en el disco duro.

23.2.1 Configuración de un servidor de arranque e instalación

Para realizar esta tarea después de la instalación de SUSE Linux Enterprise Server hay que efectuar cuatro pasos en orden:

  1. Configure el origen de la instalación tal y como se describe en la Sección 14.2, “Configuración del servidor que almacena los orígenes de la instalación”. Seleccione un servidor de red HTTP o FTP.

  2. Configure un servidor TFTP para alojar la imagen de arranque (esta imagen se creará en un paso más adelante). Este aspecto se describe en la Sección 14.3.2, “Configuración de un servidor TFTP”.

  3. Configure un servidor DHCP para que asigne direcciones IP a todos los equipos e indique la ubicación del servidor TFTP al sistema de destino. Este aspecto se describe en la Sección 14.3.1, “Configuración de un servidor DHCP”.

  4. Prepare el arranque PXE del servidor de instalación. Esto se describe con más detalle en la Sección 14.3.3, “Uso del arranque PXE”.

Tenga en cuenta que el proceso de instalación en sí se beneficiará en gran medida si proporciona memoria suficiente en este equipo para que aloje la imagen de carga previa. Asimismo, si usa Gigabit Ethernet, el proceso de distribución será mucho más rápido que si usa redes más lentas.

23.2.2 Creación de una imagen de carga previa

El proceso de creación de imágenes con KIWI se describe en la Sección 17.4.2, “Creación de una imagen”. Sin embargo, para crear un imagen útil para distribución masiva, hay que tener en cuenta muchos aspectos:

  • Una imagen de carga previa típica usará el siguiente tipo:

    <type primary="true" filesystem="ext3" boot="oemboot/suse-SLES11">vmx</type>
  • Durante la configuración de una imagen de carga previa, el proceso de creación de la imagen se ejecuta varias veces. Los repositorios necesarios para crear la imagen deben estar disponibles en el equipo local.

  • Según el uso que se vaya a dar a la carga previa, se debe dedicar tiempo a configurar Firstboot. Encontrará más información sobre Firstboot en el Capítulo 20, Distribución de preinstalaciones personalizadas. Con este método puede necesitar también que el usuario realice configuraciones iniciales durante el primer arranque del sistema.

  • Se pueden configurar muchas funciones adicionales en la imagen, como añadir repositorios de actualización o realizar una actualización en el arranque inicial. Sin embargo, resulta imposible describir todas las posibilidades en este documento. Además, y según lo que se necesite, la creación de la imagen de carga previa requiere un conocimiento profundo del sistema de creación de imágenes KIWI, así como de otras tecnologías usadas en.SUSE Linux Enterprise Server.

La imagen real que se distribuirá debe estar disponible desde el servidor FTP o HTTP proporcionado en el servidor de instalación.

23.2.3 Creación de un sistema inicial para distribuir una imagen de carga previa

Para poder ejecutar una distribución automática, hay que iniciar un sistema Linux inicial en el equipo de destino. Durante una instalación típica, el núcleo y el sistema de archivos RAM inicial se leen desde un medio de arranque y los inicia el BIOS. La funcionalidad necesaria se puede implementar en el sistema de archivos RAM que, junto al núcleo, servirá de sistema de inicio.

Las funciones principales que debe proporcionar el sistema inicial son: habilitar el acceso al disco duro y hacer que la conexión de red esté disponible. Ambas funciones dependen del hardware en el que vaya a realizar la distribución. En teoría, es posible crear un sistema inicial desde cero, pero para facilitar esta tarea, también es posible modificar el sistema de archivos RAM inicial que usa el equipo durante el arranque.

El procedimiento siguiente es solo un ejemplo de cómo crear el sistema de archivos RAM inicial necesario:

  1. Realice una instalación estándar de SUSE Linux Enterprise Server en el sistema de destino.

  2. Instale el paquete busybox en el sistema.

  3. Cree un sistema de archivos RAM nuevo con el comando siguiente:

    mkinitrd -f busybox -D eth0

    Fíjese en que eth0 representa el dispositivo Ethernet al que está conectado el cable de red. El parámetro -f busybox añade el binario de llamada múltiple busybox al sistema de archivos. Tras realizar esta acción, hay disponible muchos comandos unix estándar en el sistema.

  4. Copie el nuevo sistema de archivos RAM y el núcleo en el servidor de arranque mediante el comando:

    scp /boot/initrd /boot/vmlinuz pxe.example.com:

    Sustituya pxe.example.com por el nombre del servidor de arranque local o la dirección IP.

  5. Entre en el servidor de arranque como usuario root y cree un directorio donde pueda modificar el sistema de archivos RAM:

    mkdir ~/bootimage
  6. Cambie el directorio de trabajo a este directorio mediante el comando cd ~/bootimage.

  7. Desempaquete el sistema de archivos RAM inicial copiado anteriormente mediante el comando:

    zcat ../initrd | cpio -i
  8. Edite el archivo run_all.sh.

  9. Busque la línea siguiente y suprímala, así como el resto del archivo:

    [ "$debug" ] && echo preping 21-nfs.sh
  10. Añada las siguientes líneas al final de los archivos run_all.sh:

    [ "$debug" ] && echo preping 92-install.sh
    [ "$debug" ] && echo running 92-install.sh
    source boot/92-install.sh
    [ "$modules" ] && load_modules
  11. Cree un guion boot/92-install.sh nuevo con este contenido:

    #!/bin/bash
    if [ "$(get_param rawimage)" ]; then
      rawimage=$(get_param rawimage)
      if  [ "$(get_param rawdevice)" ]; then
        rawdevice=$(get_param rawdevice)
        echo "wget -O ${rawdevice} ${rawimage}"
        wget -O ${rawdevice} ${rawimage}
        sync
        sleep 5
        echo "DONE"
      fi
    fi
    # /bin/bash
    /bin/poweroff -f
  12. Si desea disponer de una shell de depuración antes de que el equipo se apague, elimine el signo de comentario situado delante de /bin/bash.

  13. Haga ejecutable este guion mediante el comando chmod 755 boot/92-install.sh.

  14. Cree un sistema de archivos RAM inicial con los comandos:

    mkdir -p /srv/tftpboot
    find . | cpio --quiet -H newc -o | gzip -9 -n > \
    /srv/tftpboot/initrd.boot
  15. Copie el núcleo a este directorio:

    cp ../vmlinuz /srv/tftpboot/linux.boot

El sistema de archivos RAM inicial ya está preparado para aceptar dos nuevos parámetros de línea de comandos de núcleo. El parámetro rawimage=<URL> se usa para identificar la ubicación de la imagen de carga previa. Se puede usar cualquier URL que wget entienda. El parámetro rawdevice=<device> se usa para identificar el dispositivo de bloque para el disco duro en el equipo de destino.

23.2.4 Configuración del servidor de arranque

Sobre la configuración del servidor de arranque se trata en detalle en varios capítulos descritos en la Sección 23.2.1, “Configuración de un servidor de arranque e instalación”. Esta sección ofrece una lista de verificación que cubre los pasos necesarios para configurar el sistema.

  • Configure un servidor DHCP. La subred donde se han instalado los equipos necesita estas líneas adicionales:

    filename "pxelinux.0";
    next-server 192.168.1.115;

    En este ejemplo, 192.168.1.115 es la dirección IP del servidor PXE pxe.example.com.

  • Configure un servidor PXE como se describe en la Sección 14.3.3, “Uso del arranque PXE”. Al editar /srv/tftpboot/pxelinux.cfg/default, añada las entradas siguientes:

    default bootinstall
    label bootinstall
      kernel linux.boot
      append initrd=initrd.boot \
      rawimage=ftp://192.168.1.115/preload/preloadimage.raw rawdevice=/dev/sda
  • Configure un servidor FTP y copie la imagen de carga previa preparada en /srv/ftp/preload/preloadimage.raw.

Pruebe la configuración arrancando el sistema de destino con el arranque de red PXE. De esta forma se copia automáticamente la imagen de precarga preparada en el disco duro y se apaga el equipo cuando está listo.

Imprimir esta página