Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

lunes, 2 de noviembre de 2009

Instalar un servidor NFS (Network File System)

Hoy voy a explicar como se instala y configura un servidor NFS fácilmente. Cuando digo fácil, sobreentiendo que por lo menos se sabe lo que es un servidor NFS (Network File System) y que tienes conocimientos básicos de administración.
Podemos instalarlo mediante linea de comandos (bash por ejemplo) o mediante synaptic. 

  • apt-get install nfs-common
nfs-common: "Use this package on any machine that uses NFS, either as client or server. Programs included: lockd, statd, showmount, nfsstat, gssd and idmapd. "
root@miservidor:~# apt-get install nfs-common
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
libevent1 libgssglue1 libnfsidmap2 librpcsecgss3 portmap
Se instalarán los siguientes paquetes NUEVOS:
libevent1 libgssglue1 libnfsidmap2 librpcsecgss3 nfs-common portmap
0 actualizados, 6 se instalarán, 0 para eliminar y 12 no actualizados.
Necesito descargar 368kB de archivos.
After this operation, 1229kB of additional disk space will be used.
¿Desea continuar [S/n]? S
Des:1 http://es.archive.ubuntu.com hardy/main libevent1 1.3e-1 [49,3kB]
Des:2 http://es.archive.ubuntu.com hardy/main libgssglue1 0.1-1 [22,2kB]
Des:3 http://es.archive.ubuntu.com hardy/main libnfsidmap2 0.20-0build1 [24,7kB]
Des:4 http://es.archive.ubuntu.com hardy-updates/main librpcsecgss3 0.17-1ubuntu2 [33,8kB]
Des:5 http://es.archive.ubuntu.com hardy/main portmap 6.0-4 [34,6kB]
Des:6 http://es.archive.ubuntu.com hardy-updates/main nfs-common 1:1.1.2-2ubuntu2.2 [203kB]
Descargados 368kB en 1s (206kB/s)
Preconfigurando paquetes ...
Seleccionando el paquete libevent1 previamente no seleccionado.
(Leyendo la base de datos ... 
19264 ficheros y directorios instalados actualmente.)
Desempaquetando libevent1 (de .../libevent1_1.3e-1_amd64.deb) ...
Seleccionando el paquete libgssglue1 previamente no seleccionado.
Desempaquetando libgssglue1 (de .../libgssglue1_0.1-1_amd64.deb) ...
Seleccionando el paquete libnfsidmap2 previamente no seleccionado.
Desempaquetando libnfsidmap2 (de .../libnfsidmap2_0.20-0build1_amd64.deb) ...
Seleccionando el paquete librpcsecgss3 previamente no seleccionado.
Desempaquetando librpcsecgss3 (de .../librpcsecgss3_0.17-1ubuntu2_amd64.deb) ...
Seleccionando el paquete portmap previamente no seleccionado.
Desempaquetando portmap (de .../portmap_6.0-4_amd64.deb) ...
Seleccionando el paquete nfs-common previamente no seleccionado.
Desempaquetando nfs-common (de .../nfs-common_1%3a1.1.2-2ubuntu2.2_amd64.deb) ...
Configurando libevent1 (1.3e-1) ...

Configurando libgssglue1 (0.1-1) ...

Configurando libnfsidmap2 (0.20-0build1) ...

Configurando librpcsecgss3 (0.17-1ubuntu2) ...

Configurando portmap (6.0-4) ...
* Starting portmap daemon...                                                                                                                                                                     [ OK ]

Configurando nfs-common (1:1.1.2-2ubuntu2.2) ...

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

Creating config file /etc/default/nfs-common with new version
Adding system user `statd' (UID 106) ...
Adding new user `statd' (UID 106) with group `nogroup' ...
Not creating home directory `/var/lib/nfs'.
* Starting NFS common utilities                                                                                                                                                                  [ OK ]

Processing triggers for libc6 ...
ldconfig deferred processing now taking place

 y ahora el servidor:

  • apt-get install nfs-kernel-server
nfs-kernel-server: "The NFS kernel server is currently the recommended NFS server for use with Linux"
root@miservidor:/etc# apt-get install nfs-kernel-server
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes NUEVOS:
  nfs-kernel-server
0 actualizados, 1 se instalarán, 0 para eliminar y 12 no actualizados.
Necesito descargar 162kB de archivos.
After this operation, 414kB of additional disk space will be used.
Des:1 http://es.archive.ubuntu.com hardy-updates/main nfs-kernel-server 1:1.1.2-2ubuntu2.2 [162kB]
Descargados 162kB en 1s (121kB/s)    
Seleccionando el paquete nfs-kernel-server previamente no seleccionado.
(Leyendo la base de datos ... 
19352 ficheros y directorios instalados actualmente.)
Desempaquetando nfs-kernel-server (de .../nfs-kernel-server_1%3a1.1.2-2ubuntu2.2_amd64.deb) ...
Configurando nfs-kernel-server (1:1.1.2-2ubuntu2.2) ...

Creating config file /etc/exports with new version

Creating config file /etc/default/nfs-kernel-server with new version
 * Starting NFS common utilities                                                                                                                                                                  [ OK ]
 * Exporting directories for NFS kernel daemon...                                                                                                                                                 [ OK ]
 * Starting NFS kernel daemon               
En resumen:
  1. apt-get install nfs-common
  2. apt-get install nfs-kernel-server
o directactamente:
  apt-get install nfs-common nfs-kernel-server

Ahora pasamos a compartir (exportar) alguna carpeta con otro equipo de la red. Para ello simplemente tenemos que editar un archivo llamado exports dentro de la carpeta /etc (/etc/exports):

root@miservidor:/# cat /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#        to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes  gss/krb5i(rw,sync)
#

/mnt/ftp_temporal ip_otro_servidor(rw,no_root_squash)


En donde ip_otro_servidor es la IP del otro equipo que quiero que tenga acceso a la carpeta /mnt/ftp_temporal. Las opciones rw significan read-write, así que si lo que queremos es de sólo lectura, la opción deberia ser ro.
Cada vez que realizamos un cambio en el archivo /etc/exports, reiniciaremos el servicio (no el servidor) mediante esta instrucción:
/etc/init.d/nfs-kernel-server restart



Recordad que si no sois root, debereis poner delante de las instrucciones sudo (o equivalente)

Resumen final:
  1. apt-get install nfs-common nfs-kernel-server
  2. gedit /etc/exports
  3. /etc/init.d/nfs-kernel-server restart

El ejemplo ha sido realizado en un Ubuntu 8.04.2, ya que es el último servidor LTS (Long Term Support) a la fecha de publicación de esta entrada.


Más info:
http://www.nfsv4.org/


That u don't know what you've got 'til it's gone