Buscar este blog

martes, 12 de febrero de 2019

Montar NFS en QNAP

El sistema operativo de los NAS de Qnap es muy completo y cómodo de usar, pero al menos hasta la versión 4.3.3, el poder montar una directorio externo (en otro NAS) usando NFS no está automatizado. En cambio si lo está para carpetas compartidas vía CIFS/SMB o FTP. La verdad es que es un poco extraño.


Desde la aplicación "FileStation" podríamos montar CIFS/SMB o FTP de forma automatizada, pero no NFS.




Lo que si permite QNAP es tener el servicio NFS, pero en este caso nos estamos refiriendo a que haga de servidor, no de cliente.

Pero no está todo perdido, lo podemos hacer a mano, tirando de la consola. El proceso consite en motar una carpeta remota. El problema está en que una vez montada, si se reinicia el QNAP, habrá que volver a montarla. Por lo tanto, vamos a realizar un montaje que se ejecute de forma automática cada vez que se inicie el QNAP. 

IMPORTANTE: NFS no utiliza para la autenticación ni usuarios ni contraseñas, utiliza solo el "userID" (UID). Por ese motivo solo debe ser utilizado en redes LAN de confianza.

Tenemos que buscar y modificar el archivo "autorun.sh", el cual indica los comandos que se ejecutan de forma automática al iniciar el equipo.

Indicar que la carpeta remota está en un sistema XigmaNAS (antes FreeNAS), donde está activado el servidio NFS. Pero debería funcionar para cualquier sistema. La configuración en el XigmaNAS es la siguiente:




Centrandonos ya en el QNAP, el primer paso es activar en "Control Panel" -> "Hardware" una opción que indica que se ejecuten los procesos definidos por el usuario.


Desde ahí podemos ver un enlace que nos muestra el "autorun.sh" actual.

Es hora de abrir una consola vía "ssh" usando por ejemplo "putty" en el caso de Windows o "ssh" desde un GNU/Linux.

A partir de aquí hay que tener en cuenta el equipo QNAP, dependiendo del modelo se realiza una cosa u otra, en mi caso es un QNAP TS-121.
Para otros modelos puedes orientarte en esta guía general: web


Recomiendo hacer el montaje de la carpeta remota la primera vez de forma manual desde la consola para comprobar que el comando es correcto y ver si se puede acceder a la carpeta.

En primer lugar creamos la carpeta en el QNAP que va a contener la carpeta remota:
mkdir /share/HDA_DATA/Multimedia/NAS_NFS

A continuación hariámos lo siguiente:
mount 192.168.1.14:/mnt/RAID5/NFS_QNAP   /share/HDA_DATA/Multimedia/NAS_NFS -o nolock

Comprobamos que todo funciona accediendo desde el entorno gráfico mediante el FILESTATION y vamos a la carpeta Multimedia/NAS_NFS. Tambien lo podemos hacer desde el terminal:
ls -l /share/HDA_DATA/Multimedia/NAS_NFS

Si todo fue bien, y aparecen los ficheos de la carpeta remota, entonces ya podemos desmontar:
umount NAS_NFS

Si ya sabemos que el montaje funciona, solo queda automatizarlo. Los pasos a seguir son los siguientes:

El paso más llamativo y que además depende del modelo de QNAP es tener que montar "config ramblock" que se encuentra en "/dev/mtdblock5":
    mount -t ext2 /dev/mtdblock5 /tmp/config

Ahora ya es posible editar el fichero "autorun.sh":
    vi /tmp/config/autorun.sh

En mi caso el fichero quedaría de la siguiente forma:
mount 192.168.1.14:/mnt/RAID5/NFS_QNAP   /share/HDA_DATA/Multimedia/NAS_NFS -o nolock
 # Lo que sigue ya estaba en el fichero 
/bin/cp /tmp/config/login.sh /tmp ; /bin/sh /tmp/login.sh restart &

Lo importante del comando "mount" es indicar la IP del equipo que comparte la carpeta vía NFS (192.168.1.14), la dirección de la carpeta compartida "/mnt/RAID5/NFS_QNAP" y a continuación la carpeta en el disco del QNAP donde se hace el montaje "/share/HDA_DATA/Multimedia/NAS_NFS". Si algo falla comprueba los permisos.



Una vez guardados los cambios toca poner permisos de ejecución (si no los tenía ya) al "autorun.sh":
    chmod +x /tmp/config/autorun.sh

IMPORTANTE, ahora hay que desmontar:
    umount /tmp/config

Si reinicias el QNAP, debería montar automáticamente la carpeta compartida vía NFS. Puedes ver el contenido del "autorun.sh" desde el panel de control pinchando en el enlace que ya se comentó, en mi caso el resultado es el esperado:



Si vamos a retocar muchas veces el "autorun.sh", podemos crear un script "editautorun.sh" que poniendolo en el path (o la carpeta que lo contiene) o llamándolo con un alias. El script sería el siguiente:

mount -t ext2 /dev/mtdblock5 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "unmounting /tmp/config..."
umount /tmp/config



!Y ya está! una vez más la consola nos ha salvado la situación ;-)























G
M
T
La función de sonido está limitada a 200 caracteres

No hay comentarios:

Publicar un comentario