La configuración principal del servidor NFS es el archivo /etc/exports. Este es el archivo que usa para especificar qué directorios desea compartir con los clientes NFS. La sintaxis de este archivo es:
Directory hostname(options)
El valor de Directorio debe reemplazarse con el nombre del directorio que desea compartir (por ejemplo, /usr/share/doc). El valor nombre de host debe ser un nombre de host de cliente que se pueda resolver en una dirección IP. Las opciones El valor se usa para especificar cómo se debe compartir el recurso.
Por ejemplo, la siguiente entrada en el archivo /etc/exports compartiría el directorio /usr/share/doc con el cliente NFS client01 (con las opciones de lectura y escritura) y el cliente NFS client02 (con la opción de solo lectura). ):
# vi /etc/exports /usr/share/doc client01(rw) client02(ro)
Tenga en cuenta que hay un espacio entre el nombre y las opciones de client01 y client02, pero no hay espacio entre el nombre de host y su opción correspondiente. Un error común de los administradores novatos es proporcionar una entrada como la siguiente:
/usr/share/doc client01 (rw)
La línea anterior compartiría el directorio /usr/share/doc con el host client01 con las opciones predeterminadas, y todos los demás hosts tendrían acceso a este recurso compartido como lectura y escritura.
Cuando especifica un nombre de host en el archivo /etc/exports, se permiten los siguientes métodos:
- nombre de host :un nombre de host que se puede resolver en una dirección IP.
- grupo de red :un grupo de red NIS que usa la designación @groupname.
- dominio :Un nombre de dominio que usa comodines. Por ejemplo, *.onecoursesource.com incluiría cualquier máquina en el dominio onecoursesource.com.
- Red :una red definida por direcciones IP que utilizan VLSM (máscara de subred de longitud variable) o CIDR (enrutamiento entre dominios sin clase). Ejemplos:192.168.1.0/255.255.255.0 y 192.168.1.0/24.
Hay muchas opciones diferentes para compartir NFS, incluidas estas:
- rw :Compartir como lectura-escritura. Tenga en cuenta que aún se aplican los permisos normales de Linux. (Tenga en cuenta que esta es una opción predeterminada).
- ro :Compartir como solo lectura.
- sincronizar :Los cambios en los datos del archivo se realizan en el disco inmediatamente, lo que tiene un impacto en el rendimiento, pero es menos probable que provoque la pérdida de datos. En algunas distribuciones, este es el valor predeterminado.
- asincrónico :Lo contrario de sincronización; los cambios de datos de archivo se realizan inicialmente en la memoria. Esto acelera el rendimiento, pero es más probable que provoque la pérdida de datos. En algunas distribuciones, este es el valor predeterminado.
- raíz_calabaza :asigne el usuario raíz y la cuenta de grupo del cliente NFS a las cuentas anónimas, normalmente la cuenta de nadie o la cuenta de nfsnobody. Consulte la siguiente sección, "Asignación de ID de usuario", para obtener más detalles. (Tenga en cuenta que esta es una opción predeterminada).
- no_root_squash :asigne la cuenta de grupo y usuario raíz del cliente NFS a las cuentas de grupo y raíz locales.
Asignación de ID de usuario
Para que el proceso de compartir recursos del servidor NFS al cliente NFS sea lo más transparente posible, asegúrese de que se utilicen los mismos UID (ID de usuario) y GID (ID de grupo) en ambos sistemas.
Comandos del servidor NFS
El comando exportfs se puede usar en el servidor NFS para mostrar lo que se comparte actualmente:
# exportfs /share [world]
El comando exportfs también se puede usar para compartir temporalmente un recurso, suponiendo que los servicios NFS ya se hayan iniciado:
# exportfs -o ro 192.168.1.100:/usr/share/doc # exportfs /usr/share/doc 192.168.1.100 /share [world]
El -o opción se utiliza para especificar las opciones de acciones. El argumento incluye el nombre de los sistemas para compartir, así como el directorio para compartir, separados por dos puntos (:).
Si realiza cambios en el archivo /etc/exports, cualquier recurso compartido recién agregado se habilitará después de reiniciar. Si desea habilitar estos cambios de inmediato, ejecute el siguiente comando:
# exportfs –a
El nfsstat El comando puede mostrar información útil de NFS. Por ejemplo, el siguiente comando muestra lo que están montados actualmente los clientes NFS:
# nfsstat -m /access from 10.0.2.15:/share Flags: rw,vers=3,rsize=131072,wsize=131072,hard,proto=tcp,timeo=600, retrans=2,sec=sys,addr=10.0.2.15
El comando showmount muestra información similar:
# showmount -a All mount points on onecoursesource.localdomain: 10.0.2.15:/share
Configuración de un cliente NFS
Montar un recurso compartido NFS no es muy diferente de montar una partición o un volumen lógico. Primero cree un directorio regular:
# mkdir /access
A continuación, utilice el comando de montaje para montar el recurso compartido NFS:
# mount 192.168.1.22:/share /access
Puede verificar que el montaje se realizó correctamente ejecutando el comando de montaje o viendo el /proc/mounts expediente. La ventaja de ver el archivo /proc/mounts es que proporciona más detalles:
# mount | tail -1 192.168.1.22:/share on /access type nfs (rw,addr=192.168.1.22)
# tail -1 /proc/mounts 192.168.1.22:/share /access nfs rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp, timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.22,mountvers=3, mountport=772,mountproto=udp,local_lock=none,addr=192.168.1.22 0 0
Si se reinicia el cliente NFS, este montaje no se restablecerá después de que se inicie el sistema. Para que este sea un montaje persistente en los reinicios, agregue una entrada como la siguiente en /etc/fstab archivo:
# tail -1 /etc/fstab 192.168.1.22:/share /access nfs defaults 0 0
Después de agregar esta entrada al archivo /etc/fstab, desmonte el recurso compartido NFS (si es necesario) y pruebe la nueva entrada proporcionando solo el punto de montaje al ejecutar el comando de montaje:
# umount /access # mount /access # mount | tail -1 192.168.1.22:/share on /access type nfs (rw,addr=192.168.1.22)