Montar un directorio remoto, vía NFS, en Linux

Que onda gente, hoy les traigo esta guía que les explicara cómo configurar un servidor NFS y un cliente de NFS. El acrónimo NFS significa (Network File System) y como a través de NFS, un cliente de acceso (lectura, escritura) compartirá con un servidor NFS, el contenido de éste último como si de un disco local se tratara. xD

1 Nota preliminar

  • Servidor NFS: server.example.com, dirección IP: 192.168.1.34
  • Cliente NFS: client.example.com, dirección IP: 192.168.1.33

2 Instalación NFS

servidor: En el servidor NFS, ejecutamos:

sudo apt-get install nfs-utils nfs-utils-lib

(yum , si usas fedora – zypper si usas opensuse)

Luego creamos los enlaces de inicio del sistema para el servidor NFS e iniciarlo:

chkconfig –levels 235 nfs on

service nfs start
o

/etc/init.d/nfs start

cliente: En el cliente podemos instalar NFS como sigue (esto es realmente lo mismo que en el servidor):

sudo apt-get install nfs-utils nfs-utils-lib

(yum , si usas fedora – zypper si usas opensuse)

3 Exportación directorios del servidor

servidor: Me gustaría hacer que los directorios /home y /var/nfs fueran accesibles al cliente; por lo tanto  debemos “Exportarlos” en el servidor.

Cuando un cliente accede a un recurso compartido de NFS, sucede normalmente como el usuario nobody. Generalmente el directorio /home no es propiedad de nadie (y no lo recomiendo cambiar su propiedad a nadie!), porque si queremos leer y escribir en /home, decimos al NFS que los accesos deben hacerse como root (si nuestra cuota/Inicio era de sólo lectura, esto no sería necesario). No existe el directorio /var/nfs , así que debemos crearlo y cambiar su propiedad,, así que hay que hacerle chmod 777 /var/nfs para que todo el mundo pudiera escribir en ese directorio.

mkdir /var/nfs
chmod 755 /var/nfs

Ahora debemos modificar /etc/exports donde “exportamos” nuestras acciones NFS. Especificamos /home y /var/nfs como compartidos e indicamos al servidor NFS que los accesos a /home se hagan como root (para aprender más acerca de /etc/exports, su formato y opciones disponibles, echa un vistazo a)

man 5 exports

Recuerde (en este ejemplo):

  • Servidor NFS: server.example.com, dirección IP: 192.168.1.34
  • Cliente NFS: client.example.com, dirección IP: 192.168.1.33

vi /etc/exports

/home           192.168.1.33(rw,sync,no_root_squash,no_subtree_check)
/var/nfs        192.168.1.33(rw,sync,no_subtree_check)

(La opción no_root_squash permite acceder como root  a /home.)

Cada vez que modificamos /etc/exports, debemos ejecutar:

exportfs -a

para hacer efectivos los cambios.

cliente: Primero creamos los directorios donde queremos montar las acciones NFS, por ejemplo:

mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfs

Posteriormente, podemos montarles como sigue (debemos hacerlo como root, o escribiendo sudo delante si es un usuario con permisos):

Recuerde (en este ejemplo):

  • Servidor NFS: server.example.com, dirección IP: 192.168.1.34
  • Cliente NFS: client.example.com, dirección IP: 192.168.1.33

mount 192.168.1.34:/home /mnt/nfs/home
mount 192.168.1.34:/var/nfs /mnt/nfs/var/nfs

 Ahora debería ver las dos acciones NFS en las salidas de “df -h”

[root@client ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
28G  2.2G   25G   8% /
/dev/sda1              99M   13M   82M  14% /boot
tmpfs                 250M     0  250M   0% /dev/shm
192.168.1.34:/home    28G  2.6G   25G  10% /mnt/nfs/home
192.168.1.34:/var/nfs
28G  2.6G   25G  10% /mnt/nfs/var/nfs
[root@client ~]#

y la salida simple de “mount”

[root@client ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (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.1.34:/home on /mnt/nfs/home type nfs (rw,addr=192.168.1.34)
192.168.1.34:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,addr=192.168.1.34)
[root@client ~]#

5 Ensayo En el cliente, ahora puede intentar crear archivos de prueba en el servidor NFS:

cliente:

touch /mnt/nfs/home/prueba.txt
touch /mnt/nfs/var/nfs/prueba.txt

Ahora vaya al servidor y compruebe que si puede ver ambos archivos de prueba:

servidor:

ls -l /home/

[root@server ~] # ls -l /home/
55540 total
-rw-r–r–1 root root 0 Sep 16 17:30 prueba.txt
[root@server ~] #

ls -l /var/nfs

[root@server ~] # ls – l /var/nfs
0 total
-rw-r–r–1 65534 65534 0 Sep 16 17:30 prueba.txt
[root@server ~] #

(Tenga en cuenta las diferentes propiedades de los archivos de prueba: el recurso compartido de NFS /home obtiene acceso como root, por lo tanto /home/test.txt es propiedad de root, obtiene acceso a la cuota de /var/nfs nobody , por lo tanto, es propiedad de nobody)

6 Montaje NFS acciones durante el arranque

En lugar de montar manualmente las acciones NFS en el cliente, se puede modificar /etc/fstab para que las acciones NFS se montan automáticamente cuando el cliente se inicia.

Recuerde (en este ejemplo):

  • Servidor NFS: server.example.com, dirección IP: 192.168.1.34
  • Cliente NFS: client.example.com, dirección IP: 192.168.1.33

cliente:

Abra /etc/fstab y agregue las siguientes lineas:

vi /etc/fstab

[…]

192.168.1.34:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0

192.168.0.34:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0

En lugar de rw, sync, hard, intr puede utilizar opciones de montaje diferentes. Para más información sobre las opciones disponibles, echa un vistazo a

man nfs

Para probar si está funcionando su modificado /etc/fstab, reinicie al cliente:

reinicio

Después del reinicio, encontrará las dos acciones NFS en las salidas de

df .-h

[root@client ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
28G  2.2G   25G   8% /
/dev/sda1              99M   13M   82M  14% /boot
tmpfs                 250M     0  250M   0% /dev/shm
192.168.1.34:/home    28G  2.6G   25G  10% /mnt/nfs/home
192.168.1.34:/var/nfs
28G  2.6G   25G  10% /mnt/nfs/var/nfs
[root@client ~]#

y

mount

/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (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.1.34:/home on /mnt/nfs/home type nfs (rw,sync,hard,intr,addr=192.168.1.34)
192.168.1.34:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,addr=192.168.1.34)
[root@client ~]#

Buenos gente espero que les sea de utilidad este tutorial Saludos xD

Fuente: linuxparty

Anuncios

6 comentarios en “Montar un directorio remoto, vía NFS, en Linux

Aviso: solo respondo a comentarios en este blog y no en las Redes Sociales!!!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s