Hola a todos.ubuntu
redhat01 icon
Hoy me he visto en la necesidad de montar un sistema de ficheros de red y voy a documentar los pasos necesarios de forma general para todo aquel que lo necesite.
Para el montaje se necesita en el sistema el paquete nfs-common. Así que lo instalamos sin mas problema con:

sudo aptitude install nfs-common

root@ubuntuEEEBox:/var/lib/vmware/VirtualMachines# aptitude install nfs-common
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes… Hecho
Se instalarán los siguiente paquetes NUEVOS:
libevent1{a} libgssglue1{a} libnfsidmap2{a} librpcsecgss3{a} nfs-common portmap{a}
0 paquetes actualizados, 6 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 351kB de ficheros. Después de desempaquetar se usarán 1171kB.
¿Quiere continuar? [Y/n/?]
Escribiendo información de estado extendido… Hecho
Des:1 http://es.archive.ubuntu.com intrepid/main portmap 6.0-6ubuntu1 [36,2kB]
Des:2 http://es.archive.ubuntu.com intrepid/main libevent1 1.3e-3 [44,7kB]
Des:3 http://es.archive.ubuntu.com intrepid/main libgssglue1 0.1-2 [22,3kB]
Des:4 http://es.archive.ubuntu.com intrepid/main libnfsidmap2 0.20-1 [23,2kB]
Des:5 http://es.archive.ubuntu.com intrepid/main librpcsecgss3 0.18-1 [32,4kB]
Des:6 http://es.archive.ubuntu.com intrepid-updates/main nfs-common 1:1.1.2-4ubuntu1.1 [192kB]
Descargados 351kB en 1s (234kB/s).
Preconfigurando paquetes …
Seleccionando el paquete portmap previamente no seleccionado.
(Leyendo la base de datos …
167883 ficheros y directorios instalados actualmente.)
Desempaquetando portmap (de …/portmap_6.0-6ubuntu1_i386.deb) …
Seleccionando el paquete libevent1 previamente no seleccionado.
Desempaquetando libevent1 (de …/libevent1_1.3e-3_i386.deb) …
Seleccionando el paquete libgssglue1 previamente no seleccionado.
Desempaquetando libgssglue1 (de …/libgssglue1_0.1-2_i386.deb) …
Seleccionando el paquete libnfsidmap2 previamente no seleccionado.
Desempaquetando libnfsidmap2 (de …/libnfsidmap2_0.20-1_i386.deb) …
Seleccionando el paquete librpcsecgss3 previamente no seleccionado.
Desempaquetando librpcsecgss3 (de …/librpcsecgss3_0.18-1_i386.deb) …
Seleccionando el paquete nfs-common previamente no seleccionado.
Desempaquetando nfs-common (de …/nfs-common_1%3a1.1.2-4ubuntu1.1_i386.deb) …
Procesando activadores para man-db …
Configurando portmap (6.0-6ubuntu1) …
* Starting portmap daemon…                                                                                                                              [ OK ]

Configurando libevent1 (1.3e-3) …

Configurando libgssglue1 (0.1-2) …

Configurando libnfsidmap2 (0.20-1) …

Configurando librpcsecgss3 (0.18-1) …

Configurando nfs-common (1:1.1.2-4ubuntu1.1) …

Creating config file /etc/idmapd.conf with new version

Creating config file /etc/default/nfs-common with new version
Añadiendo usuario del sistema `statd’ (UID 119) …
Agregando nuevo usuario `statd’ (UID 119) con grupo `nogroup’ …
No se crea el directorio de inicio ‘/var/lib/nfs’.
* Starting NFS common utilities                                                                                                                           [ OK ]

Procesando activadores para libc6 …
ldconfig deferred processing now taking place
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes… Hecho
Escribiendo información de estado extendido… Hecho

Para el montaje del sistema de ficheros NFS usaremos el comando mount desde la máquina en la que lo queremos montar. Doy por supuesto que teneis otra máquina en la que el sistema de ficheros esta disponible, tal y como es mi caso.

mount naslocal01.local:/isos /mnt/naslocal01/isos
Warning Aviso
El punto de montaje de la máquina local DEBE existir previamente al montaje (en este caso /mnt/naslocal01/isos)

En el comando que acabamos de indicar, naslocal01.local es el nombre de la máquina que tiene el sistema de ficheros NFS, /isos es el sistema de ficheros que naslocal01 exporta y por ultimo /mnt/naslocal01/isos es la ubicación en mi máquina local donde quiero montar el sistema de ficheros remoto. Después de que el comando mount ha sido ejecutado (y el cliente tiene los permisos adecuados en el servidor naslocal01) el usuario puede lanzar sin problema el comando ls /mnt/naslocal01/isos para ver la lista de ficheros de /isos de naslocal01.

Montando sistemas de ficheros NFS usando /etc/fstab

Después de realizar con éxito el paso anterior, para mi es interesante que el sistema monte automáticamente el sistema de ficheros NFS en la ubicación indicada, asi que tendremos que usar como siempre el /etc/fstab y agregar la linea correspondiente. Esta linea debe indicar el nombre del servidor NFS, el directorio que el servidor esta exportando y el directorio en la máquina local en la que queremos que se monte. No olvidemos que para modificar el fichero /etc/fstab debemos ser root.

La linea agregada es:

naslocal01.local:/isos /mnt/naslocal01/isos nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

El punto de montaje /mnt/naslocal01/isos, como ya hemos comentado con anterioridad, debe existir en la máquina cliente. Después de añadir la linea al fichero /etc/fstab en la máquina cliente, lanzando el comando mount /mnt/naslocal01/isos en el shell de sistema veremos que monta sin problemas /isos desde el servidor.

root@ubuntuEEEBox:/var/lib/vmware/VirtualMachines# mount /mnt/naslocal01/isos/
root@ubuntuEEEBox:/var/lib/vmware/VirtualMachines# mount
/dev/mapper/vg1-lv_sistema on / type ext3 (rw,relatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
lrm on /lib/modules/2.6.27-14-generic/volatile type tmpfs (rw,mode=755)
/dev/mapper/vg1-lv_home on /home type ext3 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
/dev/sdc1 on /var/lib/vmware/VirtualMachines type ext3 (rw,_netdev)
naslocal01.local:/isos on /mnt/naslocal01/isos type nfs (rw,rsize=8192,wsize=8192,timeo=14,intr,addr=192.168.2.20)

Montando sistemas de ficheros NFS usando autofs (teórico por que no uso esta funcionalidad)

Una tercera opcion para el montaje de un sistema de ficheros NFS es usar autofs. Autofs usa el demonio auto automount para gestionar los puntos de montaje dinamicamente en el moento en el que se accede a ellos.

Autofs consulta el fichero /etc/auto.master para determinar los puntos de montaje definidos. En este momento Autofs lanza un proceso automount con los parámetros apropiados para cada punto de montaje. Cada una de las lineas del fichero define un punto de montaje y un fichero externo (map) que define el sistema de ficheros para montar por debajo de ese punto. Por ejemplo, el fichero /etc/auto.misc deberia definir un punto de montaje en el directorio /mnt/naslocal01/isos; esta relacion será definida en el fichero maestro /etc/auto.master.

Cada entrada en el fichero auto.master tiene tres campos. El primero de ellos es el punto de montaje. El segundo de los campos es la localizacion del fichero de descripcion del sistema de ficheros a montart. El tercero de los campos es opcional y contiene las opciones que queramos asociar al montaje.

Por ejemplo , para montar el directorio /isos de la máquina naslocal01.local en el punto de montaje /mnt/naslocal01/isos en nuestra máquina, deberiamos añadir la siguiente linea a nuestro fichero auto.master:

/mnt/naslocal01 /etc/auto.misc --timeout 60

Debemos añadir la linea al fichero mapeo /etc/auto.misc:

isos -rw,soft,intr,rsize=8192,wsize=8192 naslocal01.local:/isos

El primero de los campos en el fichero /etc/auto.misc es el nombre del subdirectorio en /mnt/naslocal01. Este directorio será creado automaticamante por automount. El directorio no debe existir ya en la máquina cliente. El segundo de los campos contiene las opciones de montaje como ejemplo rw para permitir lectura/escritura a los usuarios. El tercero de los campos es la declaracion de la exportacion NFS que incluye nombre de host y directorio.

Note Nota
El directorio /mnt/naslocal01 debe existir en el sistema de ficheros del cliente.

Autofs es un servicio. Para levantar el servicio en el shell podemos escribir:

/etc/init.d/autofs restart

Para ver los puntos de montaje actuales:

/etc/init.d/autofs status

Como siempre, si modificamos el fichero de configuración /etc/auto.master mientras autofs está corriendo, debemos decirle al demonio de automount que lo recargue con:

/etc/init.d/autofs reload

Pues nada mas señores, hasta aqui hemos llegado por hoy.
Solo como comentario, la ultima perte de automount no la he probado, pues es un servicio que no tengo instalado en mi máquina, así que con cautela.

You must be logged in to post a comment.