16 agosto 2011

Análisis de equipos NAS comerciales y libres

El verano es la época del año en la que, por contar con más tiempo libre, solemos aprovechar para hacer un flush a aquellas tareas que suelen encontrarse en los To Do de cada uno. Que si pintar la casa, ordenar los armarios, organizar la colección de discos, de libros, de sellos, etc… o en caso de un informático, migrar el servidor de versión de sistema operativo o de darle una pensada a cómo mejorar la red de casa.

En mi caso ha tocado cambiar la máquina que tenía con CentOS 4.X a CentOS 6 en un equipo más moderno. Además he decidido unificar todos los contenidos que tengo en discos duros, DVDs y CDs sueltos a un sistema centralizado y compartido de almacenamiento: un NAS o Network-Attached Storage.

Ya hemos hablado en SbD sobre buenas prácticas para garantizar la diponibilidad de un sistema y por supuesto, hacer backups es algo que a todos, en más de una ocasión, nos ha hecho resoplar de tranquilidad tras una hecatombe. En el caso de los NAS, su utilidad está clara. Aparte de ofrecer espacio de almacenamiento masivo para contenidos digitales, puede ser utilizado para guardar remotamente nuestros backups, ya sean copias frías, incrementales, diferenciales o simplemente como repositorios de gran capacidad para redundar nuestros datos.

Buscando por diferentes tiendas en Internet, la oferta es muy variada: desde equipos de una sola bahía, más bien considerados discos duros de red, hasta "filers" de varias bahías. Para un uso casero, suele ser suficiente un equipo con un par de bahías capaz de de expandirse hasta unos 3 ó 4 TB. Estos dispositivos, suelen distinguirse por su sencillez, formados por una placa base y un procesador de muy bajo consumo, así como poca memoria RAM. Pensemos que la idea es tener un equipo disponible 24x7 para poder servir películas o música (por supuesto todo comprado legalmente, faltaría más!) a través de la red de casa.

Los fabricantes más reputados de este tipo de equipos para el mercado SOHO, por lo que he visto, son Synology, QNAP y Thecus, ditinguiéndose estos por proporcionar, además de recursos de almacenamiento, otro tipo de servicios como clientes P2P, servidores web y hasta de base de datos, así como cuidadas interfaces de configuración, en equipos de bajo consumo y sonoridad, si se comparan con PCs convencionales. Si bien éstos suelen ser más caros (desde unos 200 euros sin discos), comparados con los que encontramos en la siguiente línea: D-Link o Netgear, que tienen menos funcionalidades, pero cumplen con el objetivo de compartir recursos de almacenamiento a través de una red. Éstos son más baratos (desde unos 90 euros) y por lo que he leído, la sensación es de ser más "plasticoso" o peor calidad, así como un rendimiento bastante más bajo en las comparativas. La causa de este "bajo" rendimiento suele ser los procesadores Atom de entre 500-800 Mhz y 64-128 MB de RAM en los NAS de gama más baja o "algo mejor" con los procesadores de 1,2 Ghz y 256 MB de RAM de los de primera división.

En mi caso que soy bastante meticuloso, tanto con rendimiento, ruido, posibilidades de expansión y en una buena medida también el consumo del dispositivo, he decidido crear mi propio NAS re-aprovechando el equipo Core 2 Duo con 4 GB de RAM que en el que tenía el anterior servidor. Sinceramente, lo primero que se me ocurrió fue, instalo una distribución mínima de Linux, quito todos los servicios que no voy a utilizar, monto SAMBA y a correr. Sin embargo, encontré varios proyectos libres pensados y diseñados para ofrecer el servicio de NAS. Los dos más conocidos que te permiten montar tu propio NAS son FreeNAS y Openfiler.

Para mis pruebas, descargué las imágenes de instalación de ambas soluciones y creé dos máquinas virtuales en Parallels para Mac. Cada máquina virtual tiene un disco de instalación de sistema operativo de NAS (el tamaño depende de la solución a probar) y tres discos de 1 GB cada uno para definir "recursos compartidos". Aquí os cuento mis conclusiones de ambas.


FreeNAS 8
  • Basado en FreeBSD
  • Se instala en Compact Flash o pendrive USB (se puede instalar en un disco, pero ocupa poco y el resto del disco no puede utilizarse para almacenar datos), consumiendo muy pocos recursos.
  • Kernel muy optimizado y se nota muy ágil.
  • Se crean volúmenes en base a discos físicos y se configura el tipo de sistema de ficheros UFS o ZFS, con posibilidades de Mirroring, Stripping y/o RAID-Z
  • Creación de recursos compartidos como Apple (AFP), UNIX (NFS) y Windows (CIFS).
  • Excelente compatibilidad con Time Machine de Apple. Si bien es verdad, echo de menos poder definir un límite de tamaño máximo para un recurso definido. He leido que hay que hacerlo a nivel de sistema de ficheros en /etc/fstab configurando un tamaño máximo por cada usuario.
  • Permite configurar interfaces bonding o teaming, de manera que se pueda hacer LAGG (Link AGGregation), permitiendo aumentar el ancho de banda disponible y además mejoramos la tolerancia a fallos en caso que un interfaz de red o un cable falle.
  • Excelente interfaz de administración web. Muy buenas capacidades de gestión de permisos, usuarios y grupos. Asimismo, permite de una forma fácil el exportar/importar la configuración global del sistema. Muestra en un dashboard diferentes estadísticas de ocupación de CPU, memoria y disco de la máquina.

  • Permite integración con repositorios externos de usuarios: LDAP o Directorio Activo. De esta manera se puede otorgar permisos de lectura/escritura a usuarios y grupos que pertenecen a repositorios externos, sin tener que definir usuarios locales.
  • Servicios añadidos como SNMP y SMART para monitorización y notificación mediante traps de alarmas producidas por el sistema a un servidor SNMP (y permitir consultas bastante detalladas del estado del sistema), así como tests SMART a los discos, notificando (se supone) en caso de fallo.
  • Existe una aplicación para iPhone llamada mFreeNAS que es válida, al menos para FreeNAS 7. Desconozco si para FreeNAS 8 seguirá siendo compatible.
Openfiler
  • Basado en Linux, yo diría que la última versión deriva de RHEL/CentOS 6 (por  el kernel 2.6.32-71.18.1.el6) y la forma típica de arranque de CentOS/RHEL/Fedora.
  • Se puede instalar en uno de los discos integrados en la máquina y compartir el resto.
  • Requiere al menos 8 GB de tamaño en disco para el sistema operativo y 2 GB para Swap. Hay alternativas de sistemas Linux más reducidos. 
  • En Parallels, donde yo hice mis primeras pruebas, (estoy en Portugal de vacaciones y no tengo acceso a pruebas con máquinas físicas), no me detecta los discos definidos para los volúmenes. Inicialmente los definí como SATA y no los reconocía. Luego probé como SCSI y tampoco. Posiblemente sea algún problema en la emulación.
  • He buscado referencias para configurar recursos AFP a compartir en sistemas operativos Apple, pero los resultados han sido que se iba a incluir en el roadmap, pero luego se desestimó el hacerlo. Para mí esto es un show stopper y paré de mirar. Realmente FreeNAS ya cumple mis espectativas suficientemente.
Conclusiones: 
  • Está bien claro, en mi caso, probaré con FreeNAS. Me ha dado el mejor feeling hasta ahora.
  • Utilizaré la máquina que tenía anteriormente: Un Intel Core 2 Duo a 1,8 Ghz y 4 GB RAM con tarjeta de red Gigabit. Tengo claro que por problemas de rendimiento no va a ser. Monitorizaré el consumo con la factura de la luz y en caso que éste se dispare o que el ruido del ventilador de la máquina se escuche demasiado, me plantearé la compra de un barebone con mecanismos de refrigeración pasiva y con un menor consumo/potencia (Una vez movidos todos los datos, no será tanta la necesidad de procesamiento).
  • Entre comprar un NAS ya hecho y hacértelo a tu gusto, además hay que contar como punto positivo que en caso de que la capacidad de los discos SATA que dispongo no sean suficientes, aún quedan otras dos interfaces SATA en la placa base para añadir más discos y definir nuevos volúmenes y recursos compartidos.

9 comments :

tarman dijo...

Yo utilizo una Netgear ReadyNAS Pro (Intel dual core 1GB) de 6 bahías. Lo bueno es el soporte AFP, el Time Machine (que estaba convenientemente actualizado para la salida de Lion), servidor DLNA incorporado (esto no tiene precio), volúmenes expandibles (si cambias un disco de 2GB por otro de 3GB aprovecha el espacio nuevo), y linux basado en Debian. Lo malo? son muy caras!

laProbeta dijo...

Lleno de ideas y sugerencias sobre el "state of the art" casero, ¡muy bueno!

Aunque ya va siendo hora de empezar a separar el almacenamiento en casa, en mi caso lo dejaré para las largas tardes de invierno ;P

Manuel Bermúdez Casado Bermúde dijo...

Hola, Yo tuve esta misma duda e hice una comparativa parecida. Los problemas tanto de FreeNAS como de OpenFiler es que no soportan cifrado. FreeNAS en la versión 7 parece que si que soportaba pero no en la 8. Una amiga me pidio que integrase una NAS en su negocio, y al tener datos sensibles y siendo tan paranoicos como somos los que nos dedicamos a seguridad, al final instale una debían con SAMBA. Además Cuando empecé a juguetear en serio con FreeNAS me empezó a decepcionar.

Hay un proyecto que se llama cryptoNAS, pero ese proyecto esta abandonado.

Jose María Zaragoza dijo...

¿ Cómo piensas instalar FreeNAS en tu PC ? Quiero decir, que si requiere que sea en un Pendrive USB o similar (¿CD-Live?) pero no sirve una particion pequeña de arranque (/boot) en el mismo disco físico de los datos  ¿ cual es la mejor opción para un PC casero ?

Lorenzo_Martinez dijo...

A las malas siempre puedes cifrar en una capa superior utilizando un contenedor cifrado del tipo Truecrypt o Bestcrypt...
Sería una buena sugerencia a la hora de crear el recurso (una pestaña "cifrado" por ejemplo) aunque penalizaría más el rendimiento que si se hace a nivel de cliente

Lorenzo_Martinez dijo...

Se requiere que se instale en un pendrive o compact flash... Si lo instalas en un disco duro, pierdes entero ese disco

Diego Cruz dijo...

En FreeNAS 8 ya no es posible utilizar una partición para el sistema y el resto del disco para datos. Yo probé con un pendrive y anda joya!

Manuel Bermúdez Casado Bermúde dijo...

 El problema de Truecript es cuando varios usuarios tienen que acceder a los mismos ficheros. Al final lo cifre con LUKS.

5N4K3 dijo...

Hola pana, sabes utilizo Freenas pero no he logrado unirla a un dominio windows server 2008, al ver las opciones solo me lo permite hasta el windows server 2003... alguna idea amigo...

Gracias por el post...