Red Hat Training

A Red Hat training course is available for RHEL 8

15.4. Configuração de um sistema de arquivo exportado para clientes sem disco

Este procedimento descreve como configurar um sistema de arquivo exportado para um cliente sem disco.

Procedimento

  1. Configure o servidor NFS para exportar o diretório raiz, adicionando-o a /etc/exports. Para obter as instruções, consulte a configuração do servidor NFS.
  2. Para acomodar clientes completamente sem disco, o diretório raiz deve conter uma instalação completa do Red Hat Enterprise Linux. Você pode instalar um novo sistema base ou clonar uma instalação existente:

    • Para instalar o Red Hat Enterprise Linux no local de exportação, use o utilitário yum com a opção --installroot:

      # yum install @Base kernel dracut-network nfs-utils \
            --installroot=exported-root-directory --releasever=/
    • Para sincronizar com um sistema em execução, use o utilitário rsync:

      # rsync -a -e ssh --exclude='/proc/' --exclude='/sys/' \
             example.com:/exported-root-directory
      • Substitua hostname.com pelo nome da máquina do sistema em funcionamento com o qual sincronizar através do utilitário rsync.
      • Substituir exported-root-directory pelo caminho para o sistema de arquivo exportado.

        Note que para esta opção você deve ter um sistema em execução separado, que você clonará para o servidor pelo comando acima.

O sistema de arquivo a ser exportado ainda precisa ser configurado antes de poder ser utilizado por clientes sem disco. Para fazer isso, execute o seguinte procedimento:

Configurar o sistema de arquivo

  1. Selecione o kernel que os clientes insatisfeitos devem usar (vmlinuz-kernel-version) e copiá-lo para o diretório de inicialização tftp:

    # cp /exported-root-directory/boot/vmlinuz-kernel-version /var/lib/tftpboot/
  2. Crie o initrd (isto é, initramfs-kernel-version.img) com o apoio da NFS:

    # dracut --add nfs initramfs-kernel-version.img kernel-version
  3. Alterar as permissões de arquivo para initrd para 644 usando o seguinte comando:

    # chmod 644 /exported-root-directory/boot/initramfs-<kernel-version>.img
    Atenção

    Se você não alterar as permissões de arquivo do initrd, o carregador de inicialização pxelinux.0 falhará com um erro "file not found".

  4. Copie o resultado initramfs-kernel-version.img no diretório de inicialização tftp:

    # cp /exported-root-directory/boot/initramfs-kernel-version.img /var/lib/tftpboot/
  5. Edite a configuração padrão de inicialização para usar o initrd e o kernel no diretório /var/lib/tftpboot/. Esta configuração deve instruir a raiz do cliente diskless a montar o sistema de arquivos exportado (/exported-root-directory) como leitura-escrita. Adicione a seguinte configuração no arquivo /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

    Substitua server-ip com o endereço IP da máquina host na qual residem os serviços tftp e DHCP.

  6. Opcionalmente, você pode montar o sistema no formato read-only, usando a seguinte configuração no arquivo /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. Reinicializar o servidor NFS.

A participação da NFS está agora pronta para exportar para clientes sem disco. Estes clientes podem iniciar através da rede via PXE.