NFS Setup · 4 min read · Dec 06, 2025
Configurando Um Servidor E Cliente NFS No CentOS 6.3
Este guia explica como configurar um servidor NFS e um cliente NFS no CentOS 6.3. NFS significa Network File System; através do NFS, um cliente pode acessar (ler, escrever) um compartilhamento remoto em um servidor NFS como se estivesse no disco rígido local.
1 Nota Preliminar
Estou usando dois sistemas CentOS aqui:
- Servidor NFS: server.example.com, endereço IP: 192.168.0.100
- Cliente NFS: client.example.com, endereço IP: 192.168.0.101
2 Instalando NFS
servidor:
No servidor NFS, executamos:
yum install nfs-utils nfs-utils-libEntão, criamos os links de inicialização do sistema para o servidor NFS e o iniciamos:
chkconfig --levels 235 nfs on
/etc/init.d/nfs startcliente:
No cliente, podemos instalar o NFS da seguinte forma (isso é na verdade o mesmo que no servidor):
yum install nfs-utils nfs-utils-lib3 Exportando Diretórios No Servidor
servidor:
Gostaria de tornar os diretórios /home e /var/nfs acessíveis ao cliente; portanto, devemos “exportá-los” no servidor.
Quando um cliente acessa um compartilhamento NFS, isso normalmente acontece como o usuário nobody. Normalmente, o diretório /home não é propriedade de nobody (e não recomendo mudar sua propriedade para nobody!), e como queremos ler e escrever em /home, informamos ao NFS que os acessos devem ser feitos como root (se nosso compartilhamento /home fosse somente leitura, isso não seria necessário). O diretório /var/nfs não existe, então podemos criá-lo e mudar sua propriedade; em meus testes, o usuário e grupo nobody tinham ambos o ID 99 em ambos os meus sistemas de teste CentOS (servidor e cliente); quando tentei escrever em /var/nfs a partir do cliente NFS, recebi um erro de Permissão negada, então fiz um chmod 777 /var/nfs para que todos pudessem escrever nesse diretório; escrever em /var/nfs a partir do cliente funcionou então, e no cliente os arquivos escritos em /var/nfs pareciam ser de propriedade do usuário e grupo nobody, mas no servidor eram de propriedade do usuário e grupo (inexistente) com o ID 65534; então mudei a propriedade de /var/nfs para o usuário/grupo 65534 no servidor e mudei as permissões de /var/nfs de volta para 755, e voilà, o cliente foi autorizado a escrever em /var/nfs:
mkdir /var/nfs
chown 65534:65534 /var/nfs
chmod 755 /var/nfsAgora devemos modificar /etc/exports onde “exportamos” nossos compartilhamentos NFS. Especificamos /home e /var/nfs como compartilhamentos NFS e informamos ao NFS para fazer acessos a /home como root (para saber mais sobre /etc/exports, seu formato e opções disponíveis, dê uma olhada em
man 5 exports)
vi /etc/exports| /home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check) /var/nfs 192.168.0.101(rw,sync,no_subtree_check) |
(A opção no_root_squash faz com que /home seja acessado como root.)
Sempre que modificamos /etc/exports, devemos executar
exportfs -adepois para tornar as alterações efetivas.
4 Montando Os Compartilhamentos NFS No Cliente
cliente:
Primeiro, criamos os diretórios onde queremos montar os compartilhamentos NFS, por exemplo:
mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfsDepois, podemos montá-los da seguinte forma:
mount 192.168.0.100:/home /mnt/nfs/home
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfsAgora você deve ver os dois compartilhamentos NFS nas saídas de
df -h[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home 9.7G 1.7G 7.5G 19% /mnt/nfs/home
192.168.0.100:/var/nfs
9.7G 1.7G 7.5G 19% /mnt/nfs/var/nfs
[root@client ~]#E
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#5 Testando
No cliente, você pode agora tentar criar arquivos de teste nos compartilhamentos NFS:
cliente:
touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txtAgora vá até o servidor e verifique se você pode ver ambos os arquivos de teste:
servidor:
ls -l /home/[root@server ~]# ls -l /home/
total 0
-rw-r--r-- 1 root root 0 Dec 11 16:58 test.txt
[root@server ~]#ls -l /var/nfs[root@server ~]# ls -l /var/nfs
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 11 16:58 test.txt
[root@server ~]#(Observe as diferentes propriedades dos arquivos de teste: o compartilhamento NFS /home é acessado como root, portanto /home/test.txt é de propriedade de root; o compartilhamento /var/nfs é acessado como nobody/65534, portanto /var/nfs/test.txt é de propriedade de 65534.)
6 Montando Compartilhamentos NFS Na Inicialização
Em vez de montar os compartilhamentos NFS manualmente no cliente, você pode modificar /etc/fstab para que os compartilhamentos NFS sejam montados automaticamente quando o cliente inicializa.
cliente:
Abra /etc/fstab e adicione as seguintes linhas:
vi /etc/fstab| [...] 192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0 192.168.0.100:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0 |
Em vez de rw,sync,hard,intr você pode usar diferentes opções de montagem. Para saber mais sobre as opções disponíveis, dê uma olhada em
man nfsPara testar se sua modificação em /etc/fstab está funcionando, reinicie o cliente:
rebootApós a reinicialização, você deve encontrar os dois compartilhamentos NFS nas saídas de
df -h[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home 9.7G 1.7G 7.5G 19% /mnt/nfs/home
192.168.0.100:/var/nfs
9.7G 1.7G 7.5G 19% /mnt/nfs/var/nfs
[root@client ~]#E
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#7 Links
- Linux NFS: http://nfs.sourceforge.net/
- CentOS: http://www.centos.org/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.