Cómo uso NFS para compartir carpetas entre diferentes sistemas en la configuración de Homelab

Cuando tienes varios sistemas en tu red, especialmente si los virtualizas como en un homelab oa través de tu organización, tener carpetas compartidas es sumamente conveniente y útil para hacer tu trabajo más fácil y rápido.

Yo para example, tengo una carpeta que comparto entre diferentes máquinas virtuales. De esta forma, lo que sea que se descargue en un sistema, estará inmediatamente disponible en el otro sistema.

Tengo la carpeta ubicada en un servidor virtualizado NFS de uso compartido de archivos centralizado. Esta carpeta se comparte con un contenedor que ejecuta una aplicación de torrents donde descargo archivos que están disponibles al mismo tiempo para otro contenedor que también puede usar estos mismos archivos para su procesamiento.

Básicamente, centro mis archivos en una ubicación que luego comparto entre diferentes dispositivos e instancias por conveniencia y funcionalidades.

¿Usa un NFS normal o usa una aplicación para compartir archivos NAS?

En mi caso, simplemente ejecuto un uso compartido de NFS, porque no tengo suficientes recursos para ejecutar una aplicación NAS, que también haría el mismo trabajo. Es por eso que configuré esto de la manera más simple y básica que pude.

Configuración de la fuente para compartir

Para hacer esto, primero configuré un servidor Debian simple y configuré un par de carpetas en él que están destinadas a ser compartidas entre mis dispositivos internos.

Dependiendo de cómo planee compartir estas carpetas y su entorno particular (hogar, oficina, mundo externo, etc.), debe considerar cómo configurar los permisos.

Suponiendo que esto es solo para su red interna y que ya tiene firewalls adecuados que se encargan de la seguridad, abriremos esto de par en par:

                      
                        sudo chown nobody:nogroup /home/helder/SharingFolder
sudo chmod 777 /home/helder/SharingFolder
                      
                    

Una vez que tengo estas carpetas, tuve que instalar nfs-kernel-server, para que mi servidor pueda “entender” cómo compartir cosas a través de NFS.

Dependiendo de su distribución, puede configurar esto de una forma u otra, pero como estaba usando Debian, usé:

                      
                        sudo apt install nfs-kernel-server
                      
                    

Después de esto, primero tuve que proporcionar acceso a las carpetas que quiero compartir y configurarlo para que sea persistente. Esto se hace a través del archivo de exportaciones.

Además, tenía que saber con quién quería compartir esto en mi red, así que sabía que tenía 2 contenedores diferentes que iban a consumir esta carpeta, y previamente identifiqué sus IP internas: 192.10.10.20 y 192.10.10.30:

                      
                        sudo vi /etc/exports
                      
                    

Como puede ver, estoy otorgando permisos de lectura y escritura a mis contenedores, ya que esto era necesario en mi caso. En su lugar, puede otorgar permiso de solo lectura, si es algo que no debería hacer ningún cambio en los archivos compartidos.

Por último, en esta parte del proceso, debe hacer que sus cambios sean válidos y funcionales. Para hacer eso:

                      
                        sudo exportfs -a
                      
                    
                      
                        sudo systemctl restart nfs-kernel-server
                      
                    

Esto activará sus exportaciones y comenzará a compartir con las IP proporcionadas.

Configuración de los participantes receptores

Ahora es el momento de configurar el otro extremo, los consumidores de estas carpetas compartidas.

Para ello, debe iniciar sesión en cada una de las instancias receptoras y seguir los mismos pasos. Para este artículo, solo mostraré uno de ellos (192.10.10.20), pero debe hacerlo en todos los lugares donde desee tener acceso a estos.

Nuevamente, como hice esto en los contenedores de Ubuntu , los comandos pueden variar en otras distribuciones, pero en esencia es lo mismo.

En concepto, lo que debe hacerse es configurar un punto de montaje en sus receptores. Estos puntos de montaje funcionarán como carpetas normales en su recurso compartido, pero la realidad es que básicamente estarán vinculados a la carpeta física en el recurso compartido (en mi caso, el contenedor de Ubuntu).

Comenzamos creando las carpetas en la máquina receptora:

                      
                        mkdir /home/helder/ReceivingShare
                      
                    

Ahora, debemos asegurarnos de que las capacidades de NFS estén instaladas en nuestro contenedor receptor, así que haremos esto:

                      
                        sudo apt install nfs-common
                      
                    

Ahora, suponiendo que desee que esto sea un recurso compartido permanente en su contenedor, para que pueda acceder a él en cualquier momento que lo necesite. Por lo tanto, configuremos esto como un recurso compartido persistente en el contenedor a través del archivo /etc/fstab:

                      
                        sudo vi /etc/fstab
                      
                    

Después de hacer esto, sugiero reiniciar cualquier contenedor o máquina receptora para que fstab se pruebe y confirme, y ahora debería tener una carpeta común compartida en su red con sus dispositivos configurados.

Related Posts