NFS significa Sistema de archivos de red, le ayuda a compartir archivos y carpetas entre sistemas Linux / Unix, desarrollado por SUN Microsystems en 1990. NFS le permite montar un recurso compartido remoto localmente.
Esta guía le ayuda a configurar el servidor NFS en CentOS 7 / RHEL 7.
- Ventajas de NFS
- Servicios importantes
- Archivos de configuración importantes
- Entorno
- Servidor NFS
- Cliente NFS
- Configurar Servidor NFS
- Instalar servidor NFS
- Crear recurso compartido NFS
- Configurar firewall
- Configurar cliente NFS
- Instalar cliente NFS
- Comprobar el recurso compartido NFS
- Mount NFS Share
- Montar automáticamente recursos compartidos NFS
- Conclusión
Ventajas de NFS
- El uso compartido de archivos y carpetas entre * Sistemas nix
- Permite montar sistemas de archivos remotos localmente
- Se puede actuar como sistema de almacenamiento centralizado
- Se puede utilizar como Dominio de almacenamiento ( Almacén de datos) para VMware y otras Plataformas de virtualización.
- Permite a las aplicaciones compartir archivos de configuración y datos con varios nodos.
- Permite tener archivos actualizados en todo el recurso compartido.
Servicios importantes
Los siguientes son los servicios NFS importantes, incluidos en los paquetes nfs-utils.
rpcbind: El servidor rpcbind convierte los números de programa RPC en direcciones universales.
servidor nfs: Permite a los clientes acceder a recursos compartidos NFS.
nfs-lock / rpc-statd: bloqueo de archivos NFS. Implemente la recuperación de bloqueo de archivos cuando un servidor NFS se bloquea y se reinicia.
nfs-idmap: Traduce los id de usuario y de grupo en nombres, y para traducir los nombres de usuario y de grupo
en id
Archivos de configuración importantes
Trabajaría principalmente en los archivos de configuración siguientes para configurar el servidor y los clientes NFS.
/ etc / exportaciones: Es el archivo de configuración principal, controla qué sistemas de archivos se exportan a hosts remotos y especifica opciones.
/ etc / fstab: Este archivo se utiliza para controlar qué sistemas de archivos, incluidos los directorios NFS, se montan cuando se inicia el sistema.
/etc / sysconfig / nfs: Este archivo se usa para controlar en qué puertos se ejecutan los servicios RPC requeridos.
/ etc / hosts.permitir y/etc / hosts.denegar: Estos archivos se llaman envoltorios TCP, controla el acceso al servidor NFS. NFS lo utiliza para decidir si acepta o no una conexión que viene de otra dirección IP.
Entorno
Aquí, usaré CentOS 7 minimal para esta demostración. Esta guía también debería funcionar en sistemas Oracle Linux y Fedora.
Servidor NFS
Nombre de host: servidor.itzgeek.dirección IP local (CentOS 7)
: 192.168.1.10/24
Cliente NFS
Nombre de host: cliente.itzgeek.dirección IP local (CentOS 7)
: 192.168.1.20/24
Configurar Servidor NFS
Instalar servidor NFS
Instale el siguiente paquete para servidor NFS mediante el comando yum.
yum install -y nfs-utils
Una vez instalados los paquetes, habilite e inicie los servicios NFS.
systemctl start nfs-server rpcbindsystemctl enable nfs-server rpcbind
Crear recurso compartido NFS
Ahora, vamos a crear un directorio para compartir con el cliente NFS. Aquí crearé un nuevo directorio llamado nfsfileshare en la partición/.
También puede compartir su directorio existente con NFS.
mkdir /nfsfileshare
Permitir que el cliente NFS lea y escriba en el directorio creado.
chmod 777 /nfsfileshare/
Tenemos que modificar el archivo/etc / exports para hacer una entrada del directorio /nfsfileshare que desea compartir.
vi /etc/exports
Cree un NFS comparta algo como lo que se muestra a continuación.
/nfsfileshare 192.168.1.20(rw,sync,no_root_squash)
/nfsfileshare: directorio compartido
192.168.1.20: Dirección IP de la máquina cliente. También podemos usar el nombre de host en lugar de una dirección IP. También es posible definir el rango de clientes con subred como 192.168.1.0 / 24.
rw: Permiso de escritura para carpeta compartida
sincronización: Todos los cambios en el sistema de archivos correspondiente se descargan inmediatamente al disco; se esperan las operaciones de escritura respectivas.
no_root_squash: De forma predeterminada, cualquier solicitud de archivo realizada por el usuario root en el equipo cliente es tratada como por el usuario nadie en el servidor. (Exactamente a qué UID se asigna la solicitud depende del UID del usuario «nadie» en el servidor, no del cliente.) Si se selecciona no_root_squash, el usuario root de la máquina cliente tendrá el mismo nivel de acceso a los archivos del sistema que el usuario root del servidor.
Puede conocer todas las opciones en la página de manual man exports o aquí.
Exporte los directorios compartidos con el siguiente comando.
exportfs -r
Extras:
exportfs-v: Muestra una lista de archivos compartidos y opciones de exportación en un servidor.
exportfs-a: Exporta todos los directorios listados en/etc / exports.
exportfs-u: No exportar uno o más directorios.
exportfs-r: Reexportar todos los directorios después de modificar /etc / exports.
Después de configurar el servidor NFS, necesitamos montar ese directorio compartido en el cliente NFS.
Configurar firewall
Necesitamos configurar el firewall en el servidor NFS para permitir que el cliente NFS acceda al recurso compartido NFS. Para ello, ejecute los siguientes comandos en el servidor NFS.
firewall-cmd --permanent --add-service mountdfirewall-cmd --permanent --add-service rpc-bindfirewall-cmd --permanent --add-service nfsfirewall-cmd --reload
Configurar cliente NFS
Instalar cliente NFS
Necesitamos instalar paquetes NFS en el cliente NFS para montar un recurso compartido NFS remoto. Instale los paquetes NFS usando el siguiente comando.
yum install -y nfs-utils
Comprobar el recurso compartido NFS
Antes de montar el recurso compartido NFS, le solicito que compruebe los recursos compartidos NFS disponibles en el servidor NFS ejecutando el siguiente comando en el cliente NFS.
showmount -e 192.168.1.10
Salida:
Export list for 192.168.1.10:/nfsfileshare 192.168.1.20
Según la salida, el / nfsfileshare está disponible en el servidor NFS (192.168.1.10) para el cliente NFS (192.168.1.20).
Extras:
showmount-e: Muestra los recursos compartidos disponibles en su máquina local (Servidor NFS).
showmount-e < server-ip o nombre de host>: Enumera los recursos compartidos disponibles en el servidor remoto
Ahora, cree un directorio en el cliente NFS para montar el recurso compartido NFS /nfsfileshare que hemos creado en el servidor NFS.
mkdir /mnt/nfsfileshare
Use el siguiente comando para montar un recurso compartido NFS / nfsfileshare desde el servidor NFS 192.168.1.10 en / mnt / nfsfileshare en el cliente NFS.
mount 192.168.1.10:/nfsfileshare /mnt/nfsfileshare
Verifique el recurso compartido montado en el cliente NFS mediante el comando mount.
mount | grep nfs
Salida:
ssunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)nfsd on /proc/fs/nfsd type nfsd (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)
Además, puede usar el comando df-hT para comprobar el recurso compartido NFS montado.
df -hT
Salida:
Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/centos-root xfs 50G 1.2G 49G 3% /devtmpfs devtmpfs 485M 0 485M 0% /devtmpfs tmpfs 496M 0 496M 0% /dev/shmtmpfs tmpfs 496M 6.7M 490M 2% /runtmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup/dev/mapper/centos-home xfs 47G 33M 47G 1% /home/dev/sda1 xfs 1014M 154M 861M 16% /boottmpfs tmpfs 100M 0 100M 0% /run/user/0192.168.1.10:/nfsfileshare nfs4 50G 1.2G 49G 3% /mnt/nfsfileshare
Cree un archivo en el directorio montado para verificar el acceso de lectura y escritura en el recurso compartido NFS.
touch /mnt/nfsfileshare/test
Si el comando anterior no devuelve ningún error, tiene la configuración de NFS en funcionamiento.
Montar automáticamente recursos compartidos NFS
Para montar los recursos compartidos automáticamente en cada reinicio, deberá modificar el archivo / etc / fstab de su cliente NFS.
vi /etc/fstab
Agregue una entrada similar a la siguiente.
## /etc/fstab# Created by anaconda on Wed Jan 17 12:04:02 2018## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#/dev/mapper/centos-root / xfs defaults 0 0UUID=60a496d0-69f4-4355-aef0-c31d688dda1b /boot xfs defaults 0 0/dev/mapper/centos-home /home xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0192.168.1.10:/nfsfileshare /mnt/nfsfileshare nfs nosuid,rw,sync,hard,intr 0 0
Guarde y cierre el archivo.
Reinicie el equipo cliente y compruebe si el recurso compartido se monta automáticamente o no.
reboot
Verifique el recurso compartido montado en el cliente NFS mediante el comando mount.
mount | grep nfs
Salida:
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,nosuid,relatime,sync,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)
Si desea desmontar ese directorio compartido de su cliente NFS una vez que haya terminado de compartir archivos, puede desmontar ese directorio en particular mediante el comando umount.
umount /mnt/nfsfileshare
Conclusión
Ha configurado correctamente el servidor NFS y el cliente NFS en CentOS 7 / RHEL 7. Si no desea utilizar montajes estáticos, puede configurar AutoFS en CentOS 7 para montar recursos compartidos NFS solo cuando un usuario acceda a ellos.