Configurando um servidor e cliente NFS no CentOS 8
NFS significa “Network File System” e é um protocolo de sistema de arquivos distribuído usado para compartilhar arquivos e pastas entre sistemas operacionais baseados em Linux. Com o NFS você pode montar um sistema de arquivos remoto localmente em uma rede. Com o NFS, você pode compartilhar arquivos e diretórios com múltiplas máquinas e atualizar os arquivos por meio do compartilhamento. O NFS é a melhor escolha para você se estiver procurando uma solução de armazenamento centralizado.
Neste tutorial mostraremos como configurar um servidor e cliente NFS no CentOS 8.
Requisitos
- Dois servidores rodando CentOS 8.
- Um endereço IP estático 172.20.10.4 está configurado no servidor NFS e 172.20.10.3 está configurado no cliente NFS.
- Uma senha root está configurada em ambos os servidores.
Começando
Por padrão, o SELinux está habilitado no servidor CentOS 8. Portanto, você precisará desativá-lo primeiro.
Você pode fazer isso editando o arquivo /etc/selinux/config:
nano /etc/selinux/config
Faça as seguintes alterações:
SELINUX=disabled
Salve e feche o arquivo. Em seguida, reinicie o sistema para aplicar as alterações.
Instale o servidor NFS
Por padrão, o pacote NFS está disponível no repositório padrão do CentOS 8. Você pode instalá-lo executando o seguinte comando:
dnf install nfs-utils
Depois de instalar o servidor NFS, inicie o serviço NFS e habilite-o para iniciar após a reinicialização do sistema:
systemctl start nfs-server
systemctl enable --now nfs-server
Você também pode verificar o status do serviço NFS com o seguinte comando:
systemctl status nfs-server
Você deverá ver a seguinte saída:
? nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
Active: active (exited) since Thu 2019-11-07 02:07:09 EST; 1s ago
Process: 9721 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
Process: 9699 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
Process: 9698 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 9721 (code=exited, status=0/SUCCESS)
Nov 07 02:07:09 centos8 systemd[1]: Starting NFS server and services...
Nov 07 02:07:09 centos8 systemd[1]: Started NFS server and services.
Criar compartilhamento NFS
Nesta seção, criaremos dois diretórios /nfsshare/data e /nfsshare/backup e os compartilharemos com o NFS.
Primeiro, crie os diretórios necessários com os seguintes comandos:
mkdir -p /nfsshare/data
mkdir -p /nfsshare/backup
Em seguida, dê permissão total ao diretório com o seguinte comando:
chmod -R 777 /nfsshare
Em seguida, você precisará exportar os diretórios criados editando o arquivo /etc/exports:
nano /etc/exports
Adicione as seguintes linhas:
/nfsshare/data 172.20.10.0/24(rw,sync,no_subtree_check)
/nfsshare/backup 172.20.10.0/24(ro,sync,no_subtree_check,no_root_squash)
Salve e feche o arquivo. Em seguida, execute o seguinte comando para tornar seu diretório compartilhável na rede:
exportfs -ra
Você precisará executar o comando acima sempre que modificar o arquivo /etc/exports.
Você pode ver as exportações ativas com o seguinte comando:
exportfs -v
Você deverá ver a seguinte saída:
/nfsshare/data 172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/nfsshare/backup
172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,no_root_squash,no_all_squash)
Configurar Firewall
Em seguida, você precisará permitir o serviço SSH (para fins administrativos) e NFS por meio do firewalld para acessar o compartilhamento NFS do sistema remoto. Execute o seguinte comando para permitir o serviço SSH e NFS por meio do firewalld:
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --reload
Instale o cliente NFS
Agora, faça login no sistema NFS Client e instale o pacote do cliente NFS com o seguinte comando:
dnf install nfs-utils
Assim que a instalação for concluída, você pode verificar os compartilhamentos NFS disponíveis no servidor NFS com o seguinte comando:
showmount -e 172.20.10.4
Você deverá ver a seguinte saída:
Export list for 172.20.10.4:
/nfsshare/backup 172.20.10.0/24
/nfsshare/data 172.20.10.0/24
Monte os compartilhamentos NFS no cliente
Em seguida, crie dois diretórios na máquina cliente onde deseja montar os compartilhamentos NFS.
mkdir /home/backup
mkdir /home/data
A seguir, monte os diretórios compartilhados no servidor NFS com os seguintes comandos:
mount -t nfs4 172.20.10.4:/nfsshare/data /home/data
mount -t nfs4 172.20.10.4:/nfsshare/backup /home/backup
Agora você pode verificar os compartilhamentos NFS montados com o seguinte comando:
df -h
Você deverá ver a seguinte saída:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 92G 36G 51G 42% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 65M 1.9G 4% /run/shm
none 100M 44K 100M 1% /run/user
/dev/sda5 184G 104G 71G 60% /home
172.20.10.4:/nfsshare/data 13G 1.8G 11G 14% /home/data
172.20.10.4:/nfsshare/backup 13G 1.8G 11G 14% /home/backup
Se você deseja desmontar os compartilhamentos NFS, execute os seguintes comandos:
umount /home/data
umount /home/backup
Montar automaticamente compartilhamentos NFS
Se você deseja montar os compartilhamentos NFS automaticamente a cada reinicialização, edite o arquivo /etc/fstab na máquina cliente:
nano /etc/fstab
Adicione as seguintes linhas:
172.20.10.4:/nfsshare/data /home/data nfs4 rw,sync,hard,intr 0 0
172.20.10.4:/nfsshare/backup /home/backup nfs4 rw,sync,hard,intr 0 0
Salve e feche o arquivo quando terminar.
Agora você pode reiniciar a máquina e os pontos de montagem serão permanentes mesmo após a reinicialização.
Conclusão
Parabéns! você instalou e configurou com sucesso o servidor e cliente NFS no CentOS 8. Seu servidor agora está pronto para servir arquivos. Lembre-se de que o NFS não tem muita segurança, por isso é recomendado habilitar a autenticação Kerberos.