Red Hat Training

A Red Hat training course is available for RHEL 8

15.4. Configuración de un sistema de archivos exportado para clientes sin disco

Este procedimiento describe cómo configurar un sistema de archivos exportado para un cliente sin disco.

Procedimiento

  1. Configure el servidor NFS para exportar el directorio raíz añadiéndolo a /etc/exports. Para las instrucciones, véase la configuración del servidor NFS.
  2. Para acomodar clientes completamente sin disco, el directorio raíz debe contener una instalación completa de Red Hat Enterprise Linux. Puede instalar un nuevo sistema base o clonar una instalación existente:

    • Para instalar Red Hat Enterprise Linux en la ubicación exportada, utilice la utilidad yum con la opción --installroot:

      # yum install @Base kernel dracut-network nfs-utils \
            --installroot=exported-root-directory --releasever=/
    • Para sincronizar con un sistema en funcionamiento, utilice la utilidad rsync:

      # rsync -a -e ssh --exclude='/proc/' --exclude='/sys/' \
             example.com:/exported-root-directory
      • Sustituya hostname.com por el nombre del sistema en ejecución con el que se va a sincronizar a través de la utilidad rsync.
      • Sustituya exported-root-directory por la ruta del sistema de archivos exportado.

        Tenga en cuenta que para esta opción debe tener un sistema independiente en ejecución, que clonará en el servidor mediante el comando anterior.

El sistema de archivos que se va a exportar aún debe configurarse más antes de que pueda ser utilizado por los clientes sin disco. Para ello, realice el siguiente procedimiento:

Configurar el sistema de archivos

  1. Seleccione el kernel que los clientes sin disco deben utilizar (vmlinuz-kernel-version) y cópielo en el directorio de arranque de tftp:

    # cp /exported-root-directory/boot/vmlinuz-kernel-version /var/lib/tftpboot/
  2. Crear el initrd (es decir, initramfs-kernel-version.img) con soporte NFS:

    # dracut --add nfs initramfs-kernel-version.img kernel-version
  3. Cambie los permisos de los archivos de initrd a 644 utilizando el siguiente comando:

    # chmod 644 /exported-root-directory/boot/initramfs-<kernel-version>.img
    Aviso

    Si no cambias los permisos del archivo initrd, el gestor de arranque pxelinux.0 fallará con un error de "archivo no encontrado".

  4. Copie el archivo resultante initramfs-kernel-version.img en el directorio de arranque de tftp:

    # cp /exported-root-directory/boot/initramfs-kernel-version.img /var/lib/tftpboot/
  5. Edite la configuración de arranque por defecto para utilizar el initrd y el kernel en el directorio /var/lib/tftpboot/. Esta configuración debe indicar al root del cliente sin disco que monte el sistema de archivos exportado (/exported-root-directory) como lectura-escritura. Agregue la siguiente configuración en el archivo /var/lib/tftpboot/pxelinux.cfg/default:

    default rhel8
    
    label rhel8
      kernel vmlinuz-kernel-version
      append initrd=initramfs-kernel-version.img root=nfs:server-ip:/exported-root-directory rw

    Sustituya server-ip con la dirección IP del equipo anfitrión en el que residen los servicios tftp y DHCP.

  6. Opcionalmente, puede montar el sistema en formato read-only utilizando la siguiente configuración en el archivo /var/lib/tftpboot/pxelinux.cfg/default:

    default rhel8
    
    label rhel8
      kernel vmlinuz-kernel-version
      append initrd=initramfs-kernel-version.img root=nfs:server-ip:/exported-root-directory ro
  7. Reinicie el servidor NFS.

El recurso compartido NFS está ahora listo para ser exportado a clientes sin disco. Estos clientes pueden arrancar a través de la red mediante PXE.