Configuração de NFS para Compartilhamento de Arquivos entre Servidores

O NFS (Network File System) permite que diferentes sistemas compartilhem arquivos e diretórios por meio de uma rede. Um cliente NFS pode montar um diretório compartilhado por um servidor NFS em seu próprio sistema local, em um ponto de montagem específico.

Ambiente de Teste

  • Servidor NFS: 192.168.42.149
  • Cliente NFS: 192.168.42.148

Passos de Configuração

1. Desativar Firewall

Em ambos os servidores, desative o firewall para permitir a comunicação:

systemctl stop firewalld

2. Instalar Pacotes NFS

No servidor e no cliente, instale os utilitários NFS e o serviço RPC:

# Em ambos os servidores
yum install nfs-utils rpcbind -y

Para verificar se os pacotes portmap (ou rpcbind) já estão instalados no cliente:

rpm -qa portmap rpcbind

3. Iniciar e Verificar Serviços NFS

Inicie os serviços NFS e RPC em ambos os servidores e verifique seu status:

# Em ambos os servidores
service nfs start
service nfs status

Verifique as portas registradas pelos serviços RPC:

# Em ambos os servidores
rpcinfo -p localhost

4. Configurar Compartilhamento no Servidor NFS

Edite o arquivo de configuração do NFS (/etc/exports) no servidor para definir o diretório a ser compartilhado e as permissões:

# Exemplo de /etc/exports no servidor (192.168.42.149)
/data/project/uploads 192.168.42.148/24(rw,sync,no_root_squash)

Opções de Exportação:

  • rw: Permite leitura e escrita no diretório compartilhado pelo cliente.
  • ro: Permite apenas leitura.
  • sync: Garante que os dados sejam gravados no disco antes de confirmar a operação. Mais seguro, mas pode impactar a performence.
  • async: Grava os dados em cache e os escreve no disco posteriormente. Mais rápido, mas com risco de perda de dados em caso de falha.
  • no_root_squash: O usuário root no cliente terá privilégios de root no diretório compartilhado.
  • root_squash: (Padrão) Mapeia o usuário root do cliente para um usuário anônimo (nfsnobody).
  • all_squash: Mapeia todos os usuários do cliente para um usuário aônimo.
  • anonuid: Define o UID do usuário anônimo.
  • anongid: Define o GID do usuário anônimo.

Após modificar o arquivo /etc/exports, recarregue a configuração do NFS e verifique os compartilhamentos exportados:

# No servidor
service nfs reload
showmount -e localhost

5. Montar o Compartilhamento no Cliente NFS

No cliente, verifique os compartilhamentos disponíveis no servidor:

# No cliente
showmount -e 192.168.42.149

Monte o diretório compartilhado pelo servidor em um ponto de montagem local no cliente. Certifique-se de que o ponto de montagem exista:

# No cliente
mkdir -p /data/project/uploads
mount -t nfs 192.168.42.149:/data/project/uploads /data/project/uploads

6. Ajustar Permissões no Cliente (Opcional)

Se necessário, ajuste as permissões no ponto de montagem do cliente para garantir que o usuário correto tenha acesso:

# No cliente
chown -R nfsnobody:nfsnobody /data/project/uploads/

7. Testar o Compartilhamento

Crie arquivos ou diretórios em /data/project/uploads/ em um dos servidores e verifique se eles aparecem automaticamente no mesmo caminho no outro servidor. Isso cofnirma que o compartilhamento NFS está funcionando corretamente.

Tags: NFS Compartilhamento de Arquivos rede Linux servidor

Publicado em 9-11 05:19