Para sincronizar arquivos em tempo real entre um servidor primário (srv1) e dois secundários (srv2, srv3), podemos empregar o NFS (Network File System). Este guia demonstra como instalar e configurar tanto o servidor NFS quento os clientes no CentOS 7.
Instalação e Configuração do Servidor NFS
Primeiramente, instale os pacotes necessários no servidor primário:
sudo yum install -y nfs-utils
Em seguida, edite o arquivo de exportações para definir o diretório compartilhado e as permissões de acesso:
sudo vim /etc/exports
/data/nfs_share 10.0.0.0/24(rw,sync,no_subtree_check,fsid=0)
Neste exemplo, o diretório /data/nfs_share é compartilhado com todos os hosts na rede 10.0.0.0/24, permitindo leitura e escrita com sincronização imediata. A opção fsid=0 trata o diretório como raiz para o export.
Habilite e inicie os serviços dependentes, garantindo que o rpcbind seja iniciado antes do NFS:
sudo systemctl enable rpcbind
sudo systemctl enable nfs-server
sudo systemctl start rpcbind
sudo systemctl start nfs-server
Verifique se o servidor está operacional e exportando os recursos corretamente:
sudo exportfs -arv
sudo exportfs -s
A saída deve confirmar que /data/nfs_share está disponível para a rede definida.
Configuração do Cliente NFS
Nos servidores secundários, instale o cliente NFS e inicie o rpcbind:
sudo yum install -y nfs-utils
sudo systemctl enable rpcbind
sudo systemctl start rpcbind
Verifique os compartilhamentos disponíveis no servidor primário substituindo 10.0.0.1 pelo IP do seu servidor:
showmount -e 10.0.0.1
Após confirmar a listagem, crie um ponto de montagem e monte o diretório compartilhado:
sudo mkdir -p /mnt/nfs_client
sudo mount -t nfs 10.0.0.1:/data/nfs_share /mnt/nfs_client
Use df -h ou mount | grep nfs para validar a montagem.
Solução de Problemas Comuns
Se showmount falhar com erros de conexão, verifique a configuração do firewall. Libere as portas necessárias no serviodr NFS para permitri tráfego dos clientes, como 10.0.0.10:
sudo iptables -I INPUT -p tcp -s 10.0.0.10 --dport 111 -j ACCEPT
sudo iptables -I INPUT -p udp -s 10.0.0.10 --dport 111 -j ACCEPT
sudo iptables -I INPUT -p tcp -s 10.0.0.10 --dport 2049 -j ACCEPT
sudo iptables -I INPUT -p udp -s 10.0.0.10 --dport 2049 -j ACCEPT
sudo iptables -I INPUT -p tcp -s 10.0.0.10 --dport 20048 -j ACCEPT
sudo iptables -I INPUT -p udp -s 10.0.0.10 --dport 20048 -j ACCEPT
Adicionalmente, confirme que os serviços NFS e RPC estão ativos no servidor usando rpcinfo -p.