Un pequeño ejemplo para configurar NFS en red hat 6, seguramente funciona en otras distros (centos,fedora)
Primero NFS es un sistema de comparticion (network filesystem)
lo que vamos a compartir es un filesystem/carpeta de un server/pc a otro.
para eso ingresamos como root o superusuario al servidor host
y revisaremos la instalacion de los siguientes paquetes
nfs-utils y rpcbind, esto lo podemos hacer con
yum list nfs-util rpcbind
si no se encuentran instalados, procedemos a bajarlos de los repos o bien bajamos los rpms ya sea de la red de red hat u otra fuente.
yum
install nfs-utils rpcbind
//yo me fui a la segura con yum y los repos base
una vez instalados, nos vamos a editar el archivo (con nano o vim etc...)
/etc/exports y agregamos el folder que queremos compartir.
por poner un ejemplo como la siguiente línea :
/home/downloads/musica
*(rw,sync,no_root_squash)
explicando un poco la línea de arriba
1.- la ruta que queremos compartir : /home/downloads/musica
2.- la opción " * " : es la computadora a la que la queremos compartir, en este caso * es un wildcard/comodin que significa todas o cualquier maquina.
3.- opcion rw: esta opción dentro del parentesis otorga permisos de lectura y escritura, hay mas opciones pueden ir al man de nfs para saber más.
4.-opción sync: mantiene la escritura sincronizada entre los servers, esto permite que se actualice mas rapido la información en la carpeta compartida pero consume mas recursos de red, hay que tener en cuenta esta opción en caso de que se vea afectado el rendimiento por una alta cantidad de escritura, en ese caso quizá podamos revisar la opción async.
5.-no_root_squash : en este caso la opción yo la active por que el usuario root no era capaz de escribir en el filesystem, solo cualquier otro usuario entonces al activar esta opción ya me permitió escribir en el filesystem sin líos, el detalle es que los archivos son visibles con el user "nobody" que pertenece a los usuarios reservados del sistema y permite la lectura,escritura y ejecución a cualquiera.
ahora editamos el archivo
/etc/hosts.allow y agregamos las siguientes lineas
sshd: ALL
nfsd: ALL
rpcbind:
ALL
con la instrucción anterior abri los puertos para ssh y el uso de nfs y rpc, hay que vigilar bien la configuración de este archivo, si el entorno requiere alta seguridad valdría la pena revisar las opciones que deseamos así como las ips que se van a agregar.
luego cambio el runlevel de los servicios para que el filesystem sea montado en automatico con cada reinicio y reiniciamos los servicios involucrados.
chkconfig
nfs on o bien chkconfig --add nfs
chkconfig
netfs on o bien chkconfig --add netfs
service
nfs start o /sbin/service/ nfs restart
service
rpcbind start
para ver los filesystems exportados ejecuta 'exportfs' ,
cada que realicemos un cambio al archivo /etc/exports tendrás que ejecutar
'exportfs
-ra' para que el servicio de NFS vuelva a releer el archivo y tomar la configuración.
ahora revisemos el portmapper
ejecutamos rpcinfo -p y deberíamos tener una salida similar a la siguiente imagen
<<<Ahora las siguientes instrucciones tendrán que aplicarse en el servidor o máquina cliente/destino (a donde queremos compartir la carpeta)>>>
-editamos
/etc/fstab y agregamos una linea como la que sigue (todo en una línea)
mi_ip_o_mihostserver:/home/downloads/musica /home/downloads/musica nfs nfsvers=3 0
recuerda que al editar /etc/fstab estamos dando de alta un punto de montaje, así que tiene que existir la carpeta a donde queremos montar (compartir). para más información revisa las opciones de man fstab o busca más detalle, en otros post hablaré más a detalle sobre el archivo fstab.
-editamos el archivo
/etc/hosts.allow y agregamos las siguientes líneas.
sshd: ALL
nfsd: ALL
rpcbind:
ALL
-y finalmente ejecutamos mount -a para montar el nuevo NFS en /home/downloads/musica
o bien la opción
mount -t
nfs mi_ip_o_mihostserver:/home/downloads/musica /home/downloads/musica
-ahora bien revisemos los runlevels con chkconfig --list nfs y si esta apagado (off) ejecuta:
chkconfig nfs on o bien chkconfig --add nfs
chkconfig
netfs on o bien chkconfig --add netfs
para que funcione de manera estándar yo sugeriría que estuvieran los modos 1,3,4,y 5 prendidos (on) que abarcan los modos de un solo usuario, multiusuario y multiusuario con entorno gráfico al iniciar el sistema, no es el propósito de este post sobre los runlevels y a profundidad el manejo de servicios sin embargo dejo el pequeño tip o referencia.
solución de algunos errores:
en algunos casos puede ser necesario reiniciar el servicio de sshd o bien reiniciar los servicios de red o reiniciar ambos servers para que lean nuevamente la configuración de ssh y la configuración del archivo sshd_config, ejecuta esto solo cuando nfs no pueda arrancar.
service network restart
o service sshd restart
o reiniciamos el sistema con init 6 o reboot
finalmente espero les sirva, ya en un post anterior agregue un link para configurar NFS pero dado que se encuentra en ingles y variaba un poco de lo que me funciono, agrego este post como medida complementaria.