Introducción
Este es un tema rico que contiene mucha información que puede interesarle si está en el área de almacenamiento para ser un sistema, almacenamiento o puede ser un administrador de copias de seguridad.
Hay varios tipos de sistemas de archivos y nuestro tema principal de hoy es sobre uno de ellos y es NFS.
Tipos de almacenamiento
Los tres tipos principales de almacenamiento son:
– DAS
– SAN
–NAS
NAS (almacenamiento conectado a la red)
De forma sencilla, NAS es compartir carpetas para que otros almacenen sus datos en lugar de sus discos locales. Debe tener conectividad entre el servidor y los clientes para que esto funcione y, por supuesto, discos con espacio libre en el servidor. NAS es un almacenamiento a nivel de archivos, lo que significa que usted formatea los discos en el lado del servidor y los comparte con el sistema de archivos formateados.
Y aquí viene nuestro NFS sistema de archivos, es uno de los sistemas de archivos que puede formatear su NAS discos con, y esto es lo que queremos hacer ahora, usar nuestro sistema operativo Linux como un NFS servidor, lo que en realidad significa que lo usamos como un NAS servidor pero con nuestros discos formateados con NFS sistema de archivos
NFS (intercambio de archivos en red)
Es un protocolo que le permite compartir directorios y archivos con otros clientes Linux a través de una red. Los directorios compartidos normalmente se crean en un servidor de archivos, ejecutando el NFS componente del servidor. Los usuarios les agregan archivos, que luego se comparten con otros usuarios que tienen acceso a la carpeta.
Un NFS El recurso compartido de archivos se monta en una máquina cliente, lo que lo hace disponible como las carpetas que el usuario creó localmente. NFS es particularmente útil cuando el disco no tiene espacio y necesita intercambiar datos públicos entre computadoras cliente.
servidor NFS lado
Primero instale paquetes NFS
# yum install nfs-utils rpcbind
Ahora habilite los servicios en el momento del arranque
# systemctl enable nfs-server
# systemctl enable rpcbind
Iniciar los servicios
# systemctl start rpcbind
# systemctl start nfs-server
Creemos el directorio compartido para que los clientes almacenen o lean sus datos
# mkdir /sharednfs
Establezca permisos para que cualquier usuario en la máquina cliente pueda acceder a la carpeta (en el mundo real, debe considerar si la carpeta necesita una configuración más restrictiva).
# sudo chown nobody:nogroup /sharednfs
# sudo chmod 777 /sharednfs
Otorgar acceso a clientes NFS
Para otorgar acceso a los clientes NFS, necesitaremos definir un archivo de exportación. El archivo normalmente se encuentra en /etc/exports
Edite el archivo /etc/exports en un editor de texto y agregue una de las siguientes opciones
ro / rw :
a) ro:permite a los clientes acceso de solo lectura al recurso compartido.
b) rw:permite a los clientes acceso de lectura y escritura al recurso compartido.
sincronización/asincronización :
a) sincronización:el servidor NFS responde a la solicitud solo después de que los cambios realizados por la solicitud anterior se escriban en el disco.
b) async:especifica que el servidor no tiene que esperar.
wdelay / no_wdelay
a) wdelay :el servidor NFS retrasa la confirmación de solicitudes de escritura cuando sospecha que otra solicitud de escritura es inminente.
b) no_wdelay:use esta opción para deshabilitar el retraso. La opción no_wdelay solo se puede habilitar si la sincronización predeterminada la opción está habilitada.
no_all_squash / all_squash :
a) no_all_squash:no cambia el mapeo de usuarios remotos.
b) all_squash:para aplastar a todos los usuarios remotos, incluido el root.
root_squash / no_root_squash :
a) root_squash:evita que los usuarios root conectados de forma remota tengan acceso de root. Aplastando efectivamente los privilegios de raíz remota.
b) no_root_squash :deshabilita el aplastamiento de raíces.
Ejemplo 1 (cliente único):
# vi /etc/exports
/sharednfs {clientIP}(rw,sync,no_subtree_check)
Ejemplo 2 (múltiples clientes):
# vi /etc/exports
/sharednfs {clientIP-1}(rw,sync,no_subtree_check)
{clientIP-2}(...)
{clientIP-3}(...)
Ejemplo 3 (subred):
# vi /etc/exports
/sharednfs {subnetIP}/{subnetMask}(rw,sync,no_subtree_check)
Hacer que el recurso compartido de NFS esté disponible para los clientes
Exporte el recurso compartido para que el directorio esté disponible para los clientes
# sudo exportfs -a
-a : exports entries in /etc/exports but do not synchronize with /var/lib/nfs/etab
-i : ignore entries in /etc/exports and uses command line arguments
-u : un-export one or more directories
-o : specify client options on command line
-r : re-exports entries in /etc/exports and sync /var/lib/nfs/etab with /etc/exports
Luego reinicie el servicio
# systemctl restart nfs-server
Configuración del cortafuegos
De forma predeterminada, todos los puertos que no están en uso están deshabilitados en Linux, por lo que debemos permitir NFS puertos en la configuración del cortafuegos.
Para hacerlo, haga lo siguiente
firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload
Lado del cliente
Necesitamos instalar el paquete en la máquina cliente también
yum install -y nfs-utils
Para verificar las carpetas compartidas en el servidor especificado que están disponibles para nuestro cliente
showmount -e {serverIP}
Mostrará algo como lo siguiente
Export list for {serverIP}:
/sharednfs {clientIP}
Montar las carpetas compartidas
Ahora, es hora de montar las carpetas compartidas en nuestro lado del cliente
Primero, necesitamos crear un directorio de puntos
mkdir /mnt/sharednfs
Hora de montar
mount {serverIP}:/sharednfs /mnt/sharednfs
Para verificar, intente crear un directorio o un archivo en el punto montado
touch /mnt/sharednfs/test
Para montar automáticamente los recursos compartidos de NFS
Editar en archivo fstab
vi /etc/fstab
añade esta línea
{serverIP}:/sharednfs /mnt/sharednfs nfs nosuid,rw,sync,hard,intr 0 0
Para desmontar el NFS acciones
umount /mnt/sharednfs
Finalmente, no olvide agregar las reglas de firewall en el lado del cliente también
firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload
Conclusión
NFS es un excelente protocolo para centralizar sus datos en un solo lugar o en una carpeta compartida en lugar de almacenarlos localmente en cada dispositivo. Esto también le brinda la oportunidad de acceder al espacio limitado local en su dispositivo.
Con la conectividad y la configuración adecuadas, tendrá la solución perfecta para almacenar sus datos en un solo lugar.