====== Instalando y configurando NFSv4 en Debian ====== ===== Introducción ===== El propósito de este instructivo es describir una configuración básica de un servidor NFS versión 4. Entre otras ventajas, brinda soporte mejorado de permisos y autenticación Kerberos. ===== Instalando los paquetes necesarios ===== Actualizar previamente el sistema de paquetes: apt-get update && apt-get upgrade Luego instalar los paquetes requeridos por NFS: apt-get install nfs-kernel-server portmap nfs-common ===== Configurando portmap ===== Para configurar portmap, se debe editar /etc/default/portmap. En ese archivo, verificar que la siguiente variable se encuentre vacía para poder aceptar conexiones desde la intranet: OPTIONS="" Luego se debe permitir conexiones a portmap desde la intranet, utilizando el archivo /etc/hosts.allow: portmap: 192.168.10. ===== Configurando idmapd ===== El rpc.idmapd es el demonio que mapea IDs en nombres. Provee funcionalidad al kernel cliente y servidor NFSv4, con el cual se comunica mediante upcalls, para traducir IDs de grupo y usuario en nombres, y viceversa. Se debe editar el archivo /etc/default/nfs-common, y configurar la línea: NEED_IDMAPD=YES La configuración está en el archivo /etc/idmapd.conf el cual por ahora se dejará tal como viene por defecto. ===== Exportando directorios ===== Primero se debe crear un directorio donde se exportarán los sistemas de archivos a los clientes: mkdir /exportados Luego se debe editar el archivo /etc/exports y configurar las listas de control de acceso para los clientes: /exportados 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0,async) La opción **async** es sumamente importante, ya que según nuestras pruebas la performance del servidor se ve muy afectada si el export usa la opción sync (que es la opción por defecto) llegando incluso a colgar durante muchos segundos al cliente y llegando a tasas de transferencia de apenas unos pocos KB; esto es especialmente notable en servidores NFS con carga considerable. Se debe tener en cuenta que esta opción "async" aumenta la posibilidad de pérdida o corrupción de datos si el servidor se apaga incorrectamente o cuelga mientras se realiza la transferencia. Para más información sobre este archivo, ver: man 5 exports ==== Nota sobre el pseudo sistema de archivos /exportados ==== El directorio /exportados actúa como la raíz del pseudo sistema de archivos para la exportación. Se necesita montar todos los sistemas de archivos necesarios bajo este directorio. Por ejemplo, si se desea compartir /home, /datos y /usr: cd /exportados mkdir {home,datos,usr} Y luego montar allí los directorios en cuestión: mount --bind /home home mount --bind /datos datos mount --bind /usr usr Si se desea montarlos automáticamente en el inicio del sistema, editar /etc/fstab y agregar: /home /exportados/home none bind /usr /exportados/usr none bind /datos /exportados/datos none bind Hecho esto, reiniciar los servicios: /etc/init.d/portmap restart /etc/init.d/nfs-common restart /etc/init.d/nfs-kernel-server restart ===== Configuración de los clientes ===== En el cliente se necesitan los siguientes paquetes: apt-get install nfs-common portmap Para ver los sistemas de archivos exportados: showmount -e servidor Para montar los directorios compartidos: mkdir /mnt/datos mount.nfs4 servidor:/datos /mnt/datos También se puede montar la raíz de exportación: mkdir /mnt/todo mount.nfs4 servidor:/ /mnt/todo Si se desea montar los compartidos en forma automática, editar /etc/fstab y agregar algo como: servidor:/datos /mnt/datos nfs4 soft,intr,rsize=8192,wsize=8192 ===== Bibliografía ===== - http://www.cyberciti.biz/faq/nfs4-server-debian-ubuntu-linux/ - http://www.crazysquirrel.com/computing/debian/servers/setting-up-nfs4.jspx