1.3. Preparación del arranque del sistema de destino

En esta sección se describen las tareas de configuración necesarias en entornos de arranque complejos. Contiene ejemplos de configuración listos para usar para DHCP, arranque en PXE, TFTP y Wake on LAN.

1.3.1. Configuración de un servidor DHCP

La configuración de servidores DHCP en SUSE Linux se realiza mediante la edición manual de los archivos de configuración correspondientes. En esta sección se describe la ampliación de la configuración de un servidor DHCP existente para que ofrezca los datos necesarios para servir en un entorno TFTP, PXE y WOL.

1.3.1.1. Configuración manual de un servidor DHCP

Todo lo que necesita hacer el servidor DHCP, además de ofrecer asignación de direcciones automática a los clientes de la red, es anunciar la dirección IP del servidor TFTP y el archivo que las rutinas de instalación de la máquina de destino deben obtener.

  1. Inicie sesión como usuario root en la máquina que aloje el servidor DHCP.

  2. Añada las siguientes líneas al archivo de configuración del servidor DHCP que se encuentra en /etc/dhcpd.conf:

     
    group { 
      # PXE related stuff 
      # 
      # "next server" defines the tftp server that will be used 
      next server ip_del_servidor_tftp: 
      # 
      # "filename" specifiies the pxelinux image on the tftp server 
      # the server runs in chroot under /srv/tftpboot 
      filename  "pxelinux.0"; 
    }

    Sustituya ip_del_servidor_tftp con la dirección IP real del servidor TFTP.

    Para obtener más información acerca las opciones disponibles en dhcpd.conf, consulte la página de Man de dhcpd.conf.

  3. Reinicie el servidor DHCP ejecutando rcdhcpd restart.

Si tiene previsto utilizar SSH para controlar remotamente una instalación PXE y Wake on LAN, especifique explícitamente la dirección IP que DHCP debe suministrar al destino de la instalación. Para ello, modifique la configuración DHCP antes mencionada de acuerdo con el siguiente ejemplo:

 
group { 
  # PXE related stuff 
  # 
  # "next server" defines the tftp server that will be used 
  next server ip_del_servidor_tftp: 
  # 
  # "filename" specifiies the pxelinux image on the tftp server 
  # the server runs in chroot under /srv/tftpboot 
  filename "pxelinux.0"; 
  host test { hardware ethernet direccion_mac; 
              fixed-address alguna_direccion_ip; } 
       } 

La declaración del host incluye el nombre del host del destino de la instalación. Para relacionar el nombre de host y la dirección IP con un host determinado, es necesario conocer y especificar la dirección de hardware del sistema (MAC). Sustituya todas las variables utilizadas en este ejemplo por los valores reales correspondientes a su entorno.

Una vez reiniciado el servidor DHCP, ofrecerá una dirección IP estática al host especificado, lo que permitirá conectarse al sistema mediante SSH.

1.3.2. Configuración de un servidor TFTP

La configuración de servidores TFTP se puede realizar con YaST, o bien de forma manual en cualquier otro sistema operativo Linux que sea compatible con xinetd y tftp. El servidor TFTP proporciona la imagen de arranque al sistema de destino cuando éste arranca y envía una solicitud para ello.

1.3.2.1. Configuración de un servidor TFTP mediante YaST

  1. Inicie sesión como usuario Root.

  2. Inicie YaST+Servicios de red+Servidor TFTP e instale el paquete necesario.

  3. Haga clic en Habilitar para asegurarse de que el servidor se inicie y se incluya en las rutinas de arranque. No es necesaria ninguna otra intervención por su parte para ello. xinetd inicia tftpd en el momento del arranque.

  4. Haga clic en Puerto abierto en el cortafuegos para abrir el puerto correspondiente en el cortafuegos que se esté ejecutando en la máquina. Si no hay ningún cortafuegos en ejecución en el servidor, está opción no estará disponible.

  5. Haga clic en Examinar para explorar el directorio de la imagen de arranque.

    Se creará y se seleccionará automáticamente el directorio por defecto /tftpboot.

  6. Haga clic en Finalizar para aplicar la configuración e iniciar el servidor.

1.3.2.2. Configuración manual de un servidor TFTP

  1. Inicie sesión como usuario root e instale los paquetes tftp y xinetd.

  2. Si no están disponibles, cree los directorios /srv/tftpboot y /srv/tftpboot/pxelinux.cfg.

  3. Añada los archivos correspondientes necesarios para la imagen de arranque como se describe en la Sección 1.3.3, “Arranque en PXE”.

  4. Modifique la configuración de xinetd, que se encuentra en /etc/xinetd.d/ para asegurarse de que el servidor tftp se inicie durante el arranque:

    1. Si no existe, cree un archivo de nombre tftp en este directorio mediante touch tftp. A continuación, ejecute chmod 755 tftp.

    2. Abra el archivo tftp y añada las siguientes líneas:

      service tftp 
      { 
              socket_type            = dgram
              protocol               = udp 
              wait                   = yes 
              user                   = root 
              server                 = /usr/sbin/in.tftpd 
              server_args            = -s /tftpboot 
              disable                = no 
      }
      
    3. Guarde el archivo y reinicie xinetd con rcxinetd restart.

1.3.3. Arranque en PXE

En las especificaciones de Preboot Execution Environment (PXE), disponibles en ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf, se incluye información técnica básica, así como las especificaciones completas de PXE.

  1. Cambie al directorio del repositorio de la instalación y copie los archivos linux, initrd, message y memtest en el directorio /srv/tftpboot introduciendo lo siguiente:

    cp -a boot/loader/linux boot/loader/initrd 
          boot/loader/message boot/loader/memtest /srv/tftpboot
  2. Instale el paquete syslinux directamente desde los CDs o DVDs de instalación con YaST.

  3. Copie el archivo /usr/share/syslinux/pxelinux.0 en el directorio /srv/tftpboot introduciendo lo siguiente:

    cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot
         
  4. Cambie al directorio del repositorio de la instalación y copie el archivo isolinux.cfg en el directorio /srv/tftpboot/pxelinux.cfg/default introduciendo lo siguiente:

    cp -a boot/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
         
  5. Edite el archivo /srv/tftpboot/pxelinux.cfg/default y elimine las líneas que comiencen por gfxboot, readinfo y framebuffer.

  6. Añada las siguientes entradas en las líneas append de las etiquetas por defecto failsafe y apic:

    insmod=e100

    Mediante esta entrada, se carga en los clientes PXE el módulo del núcleo para tarjetas de red de 100 MBits/s de Intel. Esta entrada depende del hardware del cliente y debe adaptarse en consecuencia. En caso de utilizar una tarjeta de red GigaBit de Broadcom, la entrada debería ser insmod=bcm5700.

    netdevice=eth0

    Esta entrada define la interfaz de red del cliente que debe utilizarse para la instalación en red. Sólo es necesaria si el cliente dispone de varias tarjetas de red y debe adaptarse en consecuencia. En el caso de que sólo se disponga de una tarjeta de red, esta entrada debe omitirse.

    install=nfs://ip_servidorinst/via_fuenteinst/CD1

    Esta entrada define el servidor NFS y la fuente de la instalación para la instalación del cliente. Sustituya ip_servidorinst por la dirección IP real del servidor de la instalación. via_fuenteinst debe sustituirse por la vía real a las fuentes de la instalación. Las direcciones de las fuentes HTTP, FTP y SMB son similares, excepto en el prefijo del protocolo, que debe ser http, ftp o smb.

    [Important]Importante

    Si necesita pasar otras opciones de arranque a las rutinas de instalación, tales como parámetros de inicio de VNC o SSH, añádalas a la entrada install. En la Sección 1.4, “Arranque del sistema de destino para la instalación” se ofrece un resumen de los parámetros y algunos ejemplos.

    A continuación se incluye un ejemplo de archivo /srv/tftpboot/pxelinux.cfg/default. Ajuste el prefijo del protocolo de la fuente de la instalación para que se corresponda con la configuración de la red, y especifique el método que prefiera para conectarse al instalador añadiendo las opciones vnc y vncpassword o ssh y sshpassword a la entrada install. Las líneas separadas por \ deben introducirse en una sola línea, sin salto de línea y sin \.

     
    default linux
            
    # default 
    label linux 
      kernel linux 
            append initrd=initrd ramdisk_size=65536 insmod=e100 \ 
            install=nfs://ip_instserver/path_instsource/product 
    	    
    # failsafe 
    label failsafe 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off \ 
      insmod=e100 install=nfs://ip_servidorinst/via_fuenteinst/producto
    
    # apic 
    label apic 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 apic insmod=e100 \ 
      install=nfs://ip_servidorinst/via_fuenteinst/producto
    
    # manual 
    label manual 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 manual=1
    
    # rescue 
    label rescue 
      kernel linux append initrd=initrd ramdisk_size=65536 rescue=1
    
    #  memory test 
    label memtest 
      kernel memtest
    
    # hard disk 
    label harddisk 
      kernel 
      linux append SLX=0x202
    
    implicit     0 
    display      message 
    prompt       1 
    timeout      100 
    

    Sustituya ip_servidorinst y via_fuenteinst por los valores correspondientes a su configuración.

    La siguiente sección sirve como breve referencia de las opciones de PXELINUX utilizadas en esta configuración. Hay más información sobre las opciones disponibles en la documentación del paquete syslinux que se encuentra en /usr/share/doc/packages/syslinux/.

1.3.4. Opciones de configuración de PXELINUX

A continuación aparecen algunas de las opciones disponibles para el archivo de configuración de PXELINUX.

DEFAULT opciones del núcleo...

Establece la línea de comandos del núcleo por defecto. Si PXELINUX arranca de manera automática, actúa como si las entradas posteriores a DEFAULT se hubieran escrito en el indicador de inicio, excepto la opción auto que se añade de manera automática, lo que indica un arranque automático.

Si no hay ningún archivo de configuración o ninguna entrada DEFAULT en el archivo de configuración, el valor por defecto es el nombre del núcleo “linux”, sin opciones.

APPEND opciones...

Añada una o más opciones a la línea de comandos del núcleo. Éstas se añaden para arranques automáticos y manuales. Las opciones se añaden al principio de la línea de comandos del núcleo, y normalmente admiten que las opciones del núcleo introducidas explícitamente las sobrescriban.

LABEL etiqueta KERNEL imagen APPEND opciones...

Indica que si se introduce etiqueta como el núcleo que se debe arrancar, PXELINUX debe arrancar imagen en su lugar y utilizar las opciones APPEND especificadas en lugar de las indicadas en el apartado global del archivo (antes del primer comando LABEL). El valor por defecto de imagen es el mismo que label y, si no se introduce ningún APPEND, el valor por defecto consiste en utilizar la entrada global (si hubiera alguna). Se permiten hasta 128 entradas LABEL.

Tenga en cuenta que GRUB utiliza la siguiente sintaxis:

 
title mytitle 
  kernel mi_nucleo mis_opciones_del_nucleo 
  initrd miinitrd 

mientras que PXELINUX utiliza la siguiente:

 
label mietiqueta 
  kernel minucleo 
  append misopciones 
      

Las etiquetas se truncan como si fueran nombres de archivo, y deben ser únicas después del truncamiento. Por ejemplo, dos etiquetas como “v2.1.30” y “v2.1.31” no podrán distinguirse en PXELINUX porque ambas se truncan con el mismo nombre de archivo de DOS.

No es necesario que el núcleo sea un núcleo de Linux; puede ser un sector de arranque o un archivo COMBOOT.

APPEND -

Sin nada añadido. Se puede utilizar APPEND con un solo guión como argumento en un apartado LABEL para sobrescribir un APPEND global.

LOCALBOOT tipo

En PXELINUX, especificar LOCALBOOT 0 en lugar de una opción de KERNEL significa la invocación de esa etiqueta en particular y provoca un arranque del disco local en lugar de un arranque del núcleo.

Argumento

Descripción

0

Realiza un arranque normal

4

Realiza un arranque local con el controlador Universal Network Driver Interface (UNDI) aún residente en memoria

5

Realiza un arranque local con el stack de PXE completo, incluido el controlador UNDI, aún residente en memoria

Los demás valores no están definidos. Si desconoce los stacks UNDI o PXE, especifique 0.

TIMEOUT tiempo límite

Indica cuánto tiempo deberá esperar en el indicador de inicio antes de arrancar automáticamente, en décimas de segundo. El tiempo límite queda cancelado si el usuario pulsa alguna tecla, en cuyo caso se asume que será éste quien complete el comando iniciado. Un tiempo límite de cero inhabilita la opción de tiempo límite (es el ajuste por defecto).

El máximo valor posible para el valor del tiempo límite es de 35996 (algo menos de una hora).

PROMPT valor_de_indicador

Si valor de indicador es 0, muestra el indicador de inicio sólo si se pulsan las teclas Shift o Alt o si están activados Bloq Mayús o Bloq Despl (es la opción por defecto). Si valor_de_indicador es 1, siempre se muestra el indicador de inicio.

 
F1  nombre_de_archivo 
F2  nombre_de_archivo 
... 
F9  nombre_de_archivo 
F10 nombre_de_archivo

Muestra en la pantalla el archivo indicado cuando se pulsa una tecla de función en el indicador de inicio. También se puede utilizar para implementar una ayuda en línea para antes del arranque (normalmente para las opciones de la línea de comandos del núcleo). Por compatibilidad con versiones anteriores, F10 también puede introducirse como F0. Tenga en cuenta que no es posible asociar nombres de archivos a F11 ni F12.

1.3.5. Preparación del sistema de destino para arranque en PXE

Prepare el BIOS del sistema para arranque en PXE incluyendo la opción de PXE en el orden de arranque del BIOS.

[Warning]Aviso

No coloque la opción de PXE por encima de la opción de arranque desde disco duro en el BIOS. De lo contrario, el sistema intentaría reinstalarse cada vez que lo arrancara.

1.3.6. Preparación del sistema de destino para Wake on LAN

Wake on LAN (WOL) necesita que se habilite la opción correspondiente del BIOS antes de la instalación. Además, es necesario tomar nota de la dirección MAC del sistema de destino. Este dato es necesario para iniciar Wake on LAN.

1.3.7. Wake on LAN

Wake on LAN permite conectar una máquina mediante el envío de un paquete de red especial que contiene la dirección MAC de la máquina. Dado que los identificadores MAC deben ser únicos para cada máquina, no hay que preocuparse por la conexión accidental de la máquina que no es.

[Important]Importante

Si la máquina de control no se encuentra en el mismo segmento de red que el destino de la instalación que debe encenderse, configure las peticiones WOL para que se envíen como multidifusión o bien controle remotamente una máquina de dicho segmento de red para que actúe como remitente de las peticiones.

1.3.8. Wake on LAN manual

  1. Inicie sesión como usuario Root.

  2. Inicie YaST+Instalar/desinstalar software e instale el paquete netdiag.

  3. Abra un terminal e introduzca el siguiente comando como usuario root para encender el destino.

     
    ether-wake mac_del_destino

    Sustituya mac_del_destino por la dirección MAC real del destino.