spacer

Sysresccd-manual-es Arranque de red PXE

History


Acerca de
El entorno PXE permite arrancar un ordenador con SystemRescueCd incluso si este equipo no tiene CD-ROM o puerto USB. Permite arrancar SystemRescueCd desde la red , por lo que es más rápido para solucionar problemas de los ordenadores en red una vez  instalado el servidorl PXE. También es útil si quieres arrancar un equipo que no tiene unidad de discos ópticos (CD o DVD) o para solucionar problemas de un ordenador remoto al que no tienes acceso físico para insertar un disco.  Por el momento, SystemRescueCd sólo admite el  arranque PXE en la arquitectura x86 (PCs).

El SystemRescueCd implementa el proceso de arranque por red con HTTP en lugar de NFS, ya que HTTP es más fácil de configurar (sólo un puerto para HTTP en la red, NFS es complejo de configurar especialmente para los cortafuegos), y HTTP se basa en el protocolo de transporte fiable de TCP, donde los datos no pueden ser dañados.

Requisitos
   *  Un ordenador capaz de arrancar un CD/USB que funcione como un servidor de PXE. Puedes utilizar una simple máquina virtual VMWare si no tienes un ordenador disponible para esta tarea.
   *  Un ordenador cliente con un mínimo de 300MB de memoria y una tarjeta de red con PXE .
   *  SystemRescueCd versión 1.0.0 o posterior si utilizas estas opciones, ya que las versiones anteriores tenían fallos importantes. 
Cómo funciona el proceso de arranque de PXE

El servidor de arranque PXE

El servidor de arranque PXE está hecho de tres partes:
   *  Un servidor DHCP que envía una dirección IP al cliente
   *  Un servidor TFTP que envía los primeros archivos de arranque (cargador de arranque + kernel) al cliente
   *  Un servidor HTTP que envía el sistema de archivos raíz al cliente (http ya no es obligatorio) 
Estas tres partes se pueden instalar, ya sea en una sola máquina o en varios ordenadores. SystemRescueCd proporciona un servidor de arranque PXE completo listo para usar que se puede ejecutar en un equipo. El servicio pxebootsrv gestiona estos tres servicios.

El proceso de arranque PXE

Se necesita entender lo que ocurre cuando se arranca SystemRescueCd desde la red.  Es necesario este conocimiento para hacer diagnósticos en caso de problemas. Estos son los pasos más importantes del proceso de arranque PXE:
  1.  Cuando el equipo cliente intenta arrancar con PXE, primero emite una solicitud DHCP en la red para obtener una dirección IP.
  2.  A continuación, un servidor DHCP responde con una oferta de DHCP que contiene una nueva dirección IP que no haya sido ya asignada y algunas opciones específicas (DNS, ruta por defecto) y la dirección IP del servidor TFTP
  3.  El cliente recibe esta oferta de DHCP y la acepta. Se conecta al servidor TFTP (que recibió su dirección IP en la etapa anterior) para obtener los archivos del cargador de arranque.
  4.  El servidor TFTP envía los archivos del cargador de arranque (pxelinux) y los archivos de texto mostrados en pantalla por pxelinux.
  5.  El cliente muestra el prompt de pxelinux, y el usuario puede elegir las opciones de arranque.  A continuación, pide al servidor TFTP el kernel y los archivos initramfs necesarios para arrancar el sistema
  6.  El servidor TFTP envía el kernel y los archivos initramfs (rescuecd + rescuecd.igz) al cliente
  7.  El cliente arranca sobre este kernel y ejecuta los sripts que vienen con el initramfs.
  8.  Durante tu inicialización el kernel hace una petición DHCP de nuevo debido a los parámetros de arranque del kernel ip=dhcp.  De hecho el kernel no conoce la dirección IP utilizada por el equipo en la etapa pxelinux.
  9.  El cliente descarga el archivo sysrcd.dat en la RAM desde un servidor HTTP. La dirección IP de este servidor web fue enviada al cliente por el servidor tftp con las opciones de arranque del kernel.  El archivo sysrcd.dat es muy grande (alrededor de 120MB) y contiene todos los archivos del sistema de SystemRescueCd excepto el kernel.
 10.  El cliente monta sysrcd.dat y ahora ya puedes completar el proceso de arranque.
 11.  En esta fase el cliente mantiene todos los archivos en la memoria y ya no requiere ningún servidor de arranque. 

El servicio pxebootsrv

En el SystemRescueCd la configuración del servidor PXE se hace con un único servicio llamado pxebootsrv.  Este servicio se encarga de preparar la configuración del servidor y de ejecutar los servicios de los tres trabajos involucrados en el proceso de arranque de PXE. Al ejecutar el pxebootsrv con /etc/init.d/pxebootsrv start este servicio analiza los ajustes de configuración en /etc/conf.d/pxebootsrv y prepara los archivos de configuración de los otros servicios, y los archivos en /tftpboot y entonces comienza estos servicios.
El servicio pxebootsrv fue escrito para que el proceso de arranque pxe fuera más fácil de usar. El usuario final sólo tiene que configurar pxebootsrv en lugar de tres servicios distintos.  Pero si lo prefieres, puedes usar los servicios dhcpd/tftpd/thttp directamente.
Configuración del servidor de arranque PXE en una configuración típica
[Editar] Acerca de
Esta sección explica cómo configurar un servidor de arranque PXE de SystemRescueCd con todos los servicios ejecutándose en una sola máquina.  Significa que el servidor DHCP,  el servidor TFTP y el servidor HTTP se están ejecutando en la misma máquina de la red. Si quieres ejecutar estos servicios en distintos equipos, por favor lee la sección siguiente.
[Editar] Descripción
Sólo tienes que comenzar un SystemRescueCd desde el CD/USB/HDD y configurarlo para que actúe como servidor de arranque PXE en tu red local. . La configuración es muy sencilla, sólo tienes que escribir tu configuración en un archivo de configuración e iniciar el servicio pxebootsrv, y eso es todo.  A continuación, puedes arrancar otro ordenador con por lo menos 280MB de memoria desde la red con PXE.
[Editar] Pasos para configurar PXE en el servidor
   *  Arranque de SystemRescueCd en un ordenador desde el CD/USB/HDD 
   *  Configura los ajustes de red con ipconfig y route.  Este es un ejemplo típico:
         o ifconfig eth0 192.168.1.5/24 
         o route add default gw 192.168.1.254  
   *  Edita tus ajustes de pxe/network en /etc/conf.d/pxebootsrv
   *  Inicia el servicio con /etc/init.d/pxebootsrv start. En caso de errores, comprueba el archivo /var/log/messages para obtener más detalles.
   *  El ordenador debe estar preparado para actuar como un servidor de arranque PXE 
Aquí hay una copia de un archivo típico de configuración /etc/conf.d/pxebootsrv: 
# ------------------------ CONFIGURATION ------------------------------- # By default the current systems acts as DHCP and TFTP and HTTP server # If you want another machine of you network to act as one of those # you will have to turn the appropriate option yo "no"  # Set to "yes" if you want this machine to act as a DHCP server PXEBOOTSRV_DODHCPD="yes" # Set to "yes" if you want this machine to act as a TFTP server PXEBOOTSRV_DOTFTPD="yes" # Set to "yes" if you want this machine to act as an HTTP server PXEBOOTSRV_DOHTTPD="yes"  # Here is a typical PXE-Boot configuration --> update with your settings PXEBOOTSRV_tuBNET="192.168.1.0" PXEBOOTSRV_NETMASK="255.255.255.0" PXEBOOTSRV_DEFROUTE="192.168.1.254" PXEBOOTSRV_DNS="192.168.1.254" PXEBOOTSRV_DHCPRANGE="192.168.1.100 192.168.1.150" PXEBOOTSRV_LOCALIP="192.168.1.5"  # Keep these values to $PXEBOOTSRV_LOCALIP if the current computer # acts as TFTP server and HTTP server as well as DHCP server PXEBOOTSRV_TFTPSERVER="$PXEBOOTSRV_LOCALIP"       # IP address of the TFTP server PXEBOOTSRV_HTTPSERVER="http://$PXEBOOTSRV_LOCALIP/sysrcd.dat" # download URL 
[Editar] Configura el servidor de arranque PXE para una configuración personalizada
[Editar] Acerca de
En esta sección, aprenderás cómo instalar un entorno de arranque PXE con los tres servicios (DHCP, TFTP, HTTP) ejecutándose en diferentes máquinas. Asegúrate de que entiendes cómo funciona el proceso de arranque PXE antes de instalar el servidor de arranque PXE con una configuración diferente a la configuración típica.
[Editar] Personalización del servicio pxebootsrv 
Puedes configurar el servicio pxebootsrv para funcionar sólo con  los requisitos de sistema que tengas. Por ejemplo si ya tienes un servidor DHCP ejecutándose en tu red puede que no funcione la instalación de otro DHCP.  En ese caso, puedes configurar SystemRescueCd pxebootsrv para que funcionen sólo como servidores TFTP/HTTP. Sólo tienes que apagar la opción PXEBOOTSRV_DODHCPD en el archivo /etc/conf.d/pxebootsrv:
# ------------------------ CONFIGURATION ------------------------------- # By default the current systems acts as DHCP and TFTP and HTTP server # If you want another machine of you network to act as one of those # you will have to turn the appropriate option yo "no"  # Set to "yes" if you want this machine to act as a DHCP server PXEBOOTSRV_DODHCPD="no" # Set to "yes" if you want this machine to act as a TFTP server PXEBOOTSRV_DOTFTPD="yes" # Set to "yes" if you want this machine to act as an HTTP server PXEBOOTSRV_DOHTTPD="yes"
Si utilizas otro servidor DHCP, tendrás que actualizar la opción next-server en la configuración DHCP  para asegurarte de que el servicio DCHP envía a la dirección IP del servidor TFTP al cliente.  Aquí hay un ejemplo de cómo utilizar esta opción con el servidor DHCPD de ISC:
next-server 192.168.1.5; # IP addr of the TFTP server 
[Editar] Pasos para arrancar el cliente con PXE
   *  Comprueba que  tu servidor de arranque PXE está preparado para responder a las solicitudes del cliente PXE
   *  Comprueba que tu ordenador cliente tiene por lo menos 280MB de RAM
   *  Configura tu BIOS para arrancar desde la red mediante PXE
   *  Comprueba que tu equipo está conectado a la misma red que el servidor
   *  Arranca tu ordenador cliente y debería funcionar 

[Editar] Recuperar una máquina remota con PXE

SystemRescueCd proporciona un conjunto de opciones de arranque que configuran automáticamente la red en el momento del arranque.  Es muy conveniente usar tanto rootpass y las opciones de arranque de la red. Podemos arrancar SystemRescueCd en remoto y utilizarlo para administrar servidores remotos con ssh. Es muy útil con los servidores instalados en un datacenter.
   * dodhcp: Utiliza dodhcp si tienes un servidor DHCP en tu red y quieres que el sistema obtenga una dirección IP dinámica en el momento del arranque.
   * ethx=ipaddr : Establece la dirección IP de todas las tarjetas de red encontradas en el sistema.  Por ejemplo, si usas la opción ethx=192.168.0.1 en una máquina con dos adaptadores de red, tanto eth0 y eth1 se configurarán con 192.168.0.1.  También puedes escribir  ethx=10.0.0.1/24
   * dns=ipaddr :  Establece la dirección IP del servidor de nombres DNS que quieras utilizar para resolver los nombres. Por ejemplo dns=192.168.0.254 significa que quieres utilizar 192.168.0.254 como el servidor DNS.
   * gateway=ipaddr : Establece la dirección IP de la ruta por defecto en la red. Por ejemplo gateway=192.168.0.254 significa que el ordenador puede conectarse a un ordenador fuera de la red local a través de 192.168.0.254.
   * rootpass=1234 : Establece la contraseña de root del sistema que se está ejecutando en el livecd, a 1234. De esa manera puedes conectarte desde la red y hacer ssh en el livecd y dar 1234 como contraseña de root.
spacer