Montaje NFS desde Emtec Q800

QNAP TS-210

Hace unos días he comprado un NAS, el QNAP TS-210, y por alguna extraña razón, el acceso mediante samba desde mi reproductor multimedia (un Emtec Q800) no iba nada fino. Según las pruebas que he estado haciendo, el acceso Samba desde otros dispositivos al QNAP funciona perfectamente, y el acceso Samba desde el Emtec a otros servidores también funciona correctamente, pero entre ellos no iba nada fino y los problemas eran muy extraños. Los ficheros .avi y las fotos, se reproducían correctamente, pero ni los .mpg ni las imagenes de DVD se reproducían en absoluto, aparecía un “Fatal error” seguido de un “Buffering” y como resultado, no se reproducía nada de nada.

Emtec Q800

Después de darle muchas vueltas al tema de Samba y no encontrar ninguna solución, decidí buscar otro camino para conseguir el mismo resultado. El QNAP exporta contenidos por unos cuantos protocolos, y en concreto me interesé por NFS. El Emtec es un pequeño Linux (BusyBox) que permite acceso por telnet, y me permitía hacer montajes NFS manuales sin mayor complicación. Pero claro, la imagen del sistema está en almacenamiento flash de solo lectura y no permite hacer ningún cambio, hasta que encontré una forma de hacerlo.

En /usr/local/etc hay varios ficheros con permiso de lectura/escritura cuyos cambios son permanentes cuando se apaga el dispositivo. Así que, lo primero que intenté fue añadir el comando para montar el volumen NFS en /usr/local/etc/rcS, de esta forma:

mount -t nfs 192.168.1.137:/share/HDA_DATA/Multimedia /tmp/hdd/volumes/HDD1/nfs

Pero no funcionaba, me aparecía este error:


mount: 192.168.1.137:/share/HDA_DATA/Multimedia failed, reason given by server: Permission denied
mount: nfsmount failed: Bad file descriptor
mount: Mounting 192.168.1.137:/share/HDA_DATA/Multimedia on /tmp/nfs failed: Bad file descriptor

Y problema de permisos de servidor no era, porque el montaje manual funciona correctamente desde esta misma máquina. Comprobé mediante trazas que la red estaba operativa y había conectividad con el servidor antes de ejecutar el comando de montaje, y también que el punto de montaje estaba disponible, pero el error continuaba.

Temía que había algo que todavía no estaba bien montado, o terminado de cargar correctamente y que debía retrasar el montaje del volumen un poco más hasta que la máquina terminara de arrancar. Así que cambié la línea del rcS por esta otra:


/usr/local/etc/mount_nfs.sh &

Y el contenido de ese fichero contiene lo siguiente:


#!/bin/sh
sleep 30
mount -t nfs 192.168.1.137:/share/HDA_DATA/Multimedia /tmp/hdd/volumes/HDD1/nfs -o ro,vers=3

De esta forma, la máquina termina de arrancar y cargar lo que le faltara y el volumen se monta un tiempo después de arrancar.

Problema solucionado!!!

PD: Por cierto, aunque probé a actualizar el firmware del Emtec Q800 hasta la última 906, esta solución solo me ha funcionado con la 751 (tuve que cargar versiones más antiguas) porque el contenido de /usr/local/etc/rcS parece no ejecutarse en las versiones posteriores.

Novedades de Solaris 11

Hoy he asistido a un seminario sobre las novedades de Solaris 11 en Core Networks, y esto es un resumen de lo que nos han contado:

  • IPS (Image Packaging System): se incluye por fin un sistema de gestión de paquetes al estilo Linux (dpkg o rpm), que permite instalar paquetes directamente desde repositorios oficiales o mirrors, y resuelve dependencias, así que se acabó la instalación de parches para actualizar el sistema. Como curiosidad, los paquetes no son tal en sentido estricto porque no están empaquetados en un solo fichero, sino que cuando instalas un paquete se bajan todos los ficheros de forma individual del repositorio correspondiente.
    Está integrado con el boot environment para poder actualizar el sistema y poder hacer una marcha atrás en caso de necesidad, aunque no conozco los detalles de cómo se hace.
  • Instalación: cambia la filosofía, y a partir de ahora se instalará lo mínimo y a partir de ahí, cada uno podrá instalar de los repositorios todo lo que necesite en cada equipo. Cambia el JumpStart a un sistema llamado Automated Installation, con el mismo objetivo de poder hacer instalaciones desatendidas.
  • Configuración del sistema: Se acabó el editar ficheros de configuración, (casi) todos los cambios de configuración se tendrán que hacer a base de comandos, basado en SMF. Ejemplos: ya no vale cambiar el /etc/resolv.conf para cambiar los DNS, ya no vale cambiar el /etc/hosts para cambiar la IP de un interfaz, …
  • Zonas: mejora la gestión de las VNIC en cada zona, se puede ajustar por ejemplo el ancho de banda asociado a cada una. Se pueden crear redes privadas entre zonas. Las zonas son totalmente independientes de la zona global. Mejora de la monitorización de recursos en las zonas.
  • Red: Todos los interfaces de red tendrán el mismo nombre independientemente del fabricante: net0, net1, … (nos podemos olvidar de los e1000g0, bnx0, …). IP multipath mejorado y opciones para hacer balanceo de carga de tráfico entrante (por ejemplo a distintas zonas). Comando para la gestión de configuración a nivel IP: ipadm (olvidarse de ifconfig). Comando para gestión a nivel de enlace: dladm. Para estadísticas: dlstats.
  • Almacenamiento: ZFS obligatorio en partición /. Se puede activar deduplicación en ZFS. Posibilidad de cifrado de datasets. Posibilidad de ver los cambios en un snapshot ZFS.
  • Seguridad: Por defecto, se activan los servicios de red imprescindibles, no como hasta ahora. Por defecto, no se puede hacer login como root, se usa sudo y no te puedes hacer root ni sabiendo su contraseña, sino que debes tener el rol de admin configurado.
  • Nivel usuario: se han actualizado las aplicaciones utilidades GNU a las versiones actuales, por fin. Solo disponible como entorno gráfico GNOME (adiós a CDE). Bash como shell por defecto.
  • Migración de Solaris 10 a 11: No hay actualización posible de Solaris 10 a Solaris 11. Hay que hacer una migración tradicional, o migrar los actuales Solaris 10 como zonas de una máquina con Solaris 11, similar a hacer un P2V en otros entornos.