Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Telecomunicaciones y Electrónica TRABAJO DE DIPLOMA Diseño de un sistema de almacenamiento distribuido utilizando FreeNAS Autor: Dayron Casanova Castro. Tutor: Ing. Rolando Evelio Pérez Versón. Santa Clara 2013 "Año 55 de la Revolución" Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Telecomunicaciones y Electrónica TRABAJO DE DIPLOMA Diseño de un sistema de almacenamiento distribuido utilizando FreeNAS Autor: Dayron Casanova Castro. e-mail: [email protected] Tutor: Ing. Rolando Pérez Versón. Departamento de Telecomunicaciones y Electrónica Facultad de Ingeniería Eléctrica e-mail: [email protected] Santa Clara 2013 "Año 55 de la Revolución" Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada. Firma del Autor Firma del Jefe de Departamento donde se defiende el trabajo Firma del Responsable de Información Científico-Técnica i PENSAMIENTO “All the great things are simple, and many can be expressed in single words: freedom, justice, honor, duty, mercy, hope.” Winston Churchill ii DEDICATORIA A mis padres, familia y amigos, por nunca perder la confianza en mí incluso cuando yo ya la había perdido. iii AGRADECIMIENTOS Nuestro Héroe Nacional José Martí expresó: Cuando nací, la naturaleza me dijo: ¡Ama! Y mi corazón dijo: ¡Agradece! y desde entonces yo amo al bueno…y abrazo a cuantos me hacen bien. Agradecer primeramente a mis padres por darme la vida y todo su amor. Agradecer a mi tutor y amigo Rolando, muchas gracias por tu apoyo desinteresado e incondicional. Agradecer a Brianna por regalarle al mundo esa bella sonrisa, a mis abuelos Eridia, Reinaldo, Tomas por el amor que me brindan cada día, y no puede faltar el agradecimiento a abuela Gisela que el señor la tenga en la gloria por todo lo que me quiso cuando era pequeño. Agradecer a mis tías Raquel y Vivian, y a mi tío Oves, así como a mis primas Kenia, Lisbeth y Beatriz y a mi primo Alexis por apoyarme y quererme siempre. También agradecer a mis amigos Yuniel, Rodolfo, Dariel, por ser los hermanos que nunca tuve. iv TAREA TÉCNICA 1. Estudio de los diferentes tipos de almacenamiento y sus aplicaciones en entornos de red. 2. Elaboración del modelo del sistema utilizando diferentes tipos de servidores para determinar el más efectivo para la problemática que se presenta. 3. Realización de pruebas en el terreno para ver los resultados del diseño y su posible aplicación práctica. 4. Creación de la interfaz usuario-sistema. 5. Evaluación de la efectividad de la propuesta en el entorno de red. Firma del Autor Firma del Tutor v RESUMEN Durante los últimos años el crecimiento exponencial de la generación de datos informáticos ha obligado a los fabricantes y especialistas del mundo de la tecnología a desarrollar ideas creativas con el fin de garantizar una capacidad de almacenamiento acorde con las exigencias del momento. A partir de esa problemática fueron surgiendo soluciones de hardware, software e integración de ambas, que con el paso de los años han revolucionado la forma de conservar la información hasta llegar al sistema de almacenamiento online que en los días de hoy conocemos como La Nube. De esta forma el objetivo del siguiente trabajo es la realización de un sistema de almacenamiento distribuido del tipo NAS, a partir de la utilización de herramientas de software libre, que permita una fácil integración con los servicios de IPTV que brinda la empresa TeleCable Internacional en la Cayería Norte de Villa Clara. La realización de este proyecto presupone su inmediata instalación con el fin de garantizar la calidad del servicio que se brinda. La evaluación del sistema en un escenario real nos introdujo en resultados satisfactorios, demostrando su eficiencia y justificando su uso para el servicio que se va a prestar. vi TABLA DE CONTENIDOS PENSAMIENTO .....................................................................................................................i DEDICATORIA .................................................................................................................... ii AGRADECIMIENTOS ........................................................................................................ iii TAREA TÉCNICA ................................................................................................................iv RESUMEN ............................................................................................................................. v INTRODUCCIÓN .................................................................................................................. 1 Organización del informe ................................................................................................... 2 CAPÍTULO 1. 1.1 Revisión Bibliográfica ............................................................................... 4 Introducción a la arquitectura TCP/IP ...................................................................... 4 1.1.1 Capa de aplicación ............................................................................................ 5 1.1.2 Capa de transporte ............................................................................................ 6 1.1.3 Capa de Interconexión IP .................................................................................. 6 1.1.4 Capa de Interfaz de Red .................................................................................... 7 1.2 Sistemas de almacenamiento físico .......................................................................... 8 1.2.1 1.3 Interfaces de interconexion de hardware .......................................................... 8 Sistemas de almacenamiento en red ....................................................................... 13 1.3.1 DAS (Direct Atached Storage) ........................................................................... 14 1.3.2 SAN (Storage Area Network) ............................................................................ 15 vii 1.3.3 NAS: Network Attached Storage ....................................................................... 15 1.3.4 Híbrido SAN-NAS ............................................................................................. 17 1.4 Almacenamiento en Nube ...................................................................................... 17 1.4.1 Servicio de almacenamiento en Nube ................................................................ 18 1.4.2 Optimizador de la Unidad de Almacenamiento de Datos en Nube .................... 19 1.4.3 Acelerador de red de la Unidad de Almacenamiento de Datos en Nube ........... 20 1.4.4 Ventajas y desventajas del almacenamiento de datos de nube ........................... 20 1.5 Conclusiones del Capítulo...................................................................................... 22 CAPÍTULO 2. Servidores de almacenamiento ................................................................ 23 2.1 Almacenamiento de ficheros multimedia............................................................... 23 2.2 Almacenamiento de datos mediante plataformas NAS .......................................... 26 2.2.1 CryptoNAS ..................................................................................................... 26 2.2.2 NASLite .......................................................................................................... 27 2.2.3 OpenNAS ........................................................................................................ 28 2.2.4 FreeNAS ......................................................................................................... 29 2.3 Sistema de Ficheros................................................................................................ 29 2.3.1 NTFS ............................................................................................................... 30 2.3.2 ZFS.................................................................................................................. 30 2.3.3 UFS ................................................................................................................. 31 2.4 Sistema de almacenamiento con FreeNAS. ........................................................... 31 2.4.1 Sección Sistema de FreeNAS ......................................................................... 33 2.4.2 Sección Configuración de Red de FreeNAS ................................................... 37 2.4.3 Sección Almacenamiento de FreeNAS........................................................... 39 2.5 Integración con ambientes Microsoft Windows .................................................... 42 viii 2.5.1 Active Directory ............................................................................................. 42 2.5.2 CIFS ................................................................................................................ 44 2.6 Gestión global de usuarios con LDAP ................................................................... 45 2.7 Monitoreo del sistema con SNMP ......................................................................... 48 2.8 FreeNAS Shell ....................................................................................................... 50 2.9 Conclusiones del Capítulo...................................................................................... 51 CAPÍTULO 3. 3.1 Resultados y discusión ............................................................................ 52 Instalación y configuración de un servidor FreeNAS ............................................ 52 3.1.1 Configuración del sistema FreeNAS mediante la Interfaz web ...................... 54 3.1.2 Configuración de usuarios .............................................................................. 55 3.1.3 Configuración de los Servicios ....................................................................... 56 3.2 Compartición de ficheros utilizando FreeNAS ...................................................... 58 3.2.1 3.3 Compartir el almacenamiento mediante CIFS de Windows ........................... 58 Evaluación del sistema en un escenario experimental. .......................................... 59 3.3.1 Análisis de las gráficas resultantes del experimento. ..................................... 60 3.4 Análisis económico ................................................................................................ 66 3.5 Conclusiones del Capítulo...................................................................................... 67 CONCLUSIONES Y RECOMENDACIONES ................................................................... 68 Conclusiones ..................................................................................................................... 68 Recomendaciones ............................................................................................................. 68 REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 70 ANEXOS .............................................................................................................................. 72 Anexo 1 Solución de problemas de replicación. ............................................................... 72 INTRODUCCIÓN 1 INTRODUCCIÓN Las primeras redes que fueron empleadas en las comunicaciones fueron del tipo telegráfico o telefónico, las cuales evolucionan a las llamadas redes de datos. En la década de 1960 con la creación de las minicomputadoras surgen las redes de computadoras, estas tenían como propósito original compartir recursos y periféricos. El propósito de una red hoy es mayormente compartir información aunque se mantiene su aplicación original; uno de los periféricos que es comúnmente compartido mediante la red es el de almacenamiento, o discos duros, cuya producción fue aumentando en capacidad a medida que la tecnología avanzaba y los usuarios necesitaban más espacio debido a la digitalización de las imágenes, lo mismo captadas por cámaras fotográficas, que por la introducción de la alta definición en cámaras de video, o las grabaciones de audio de calidad, todos estos ocupan mucho espacio debido al tamaño de los archivos. El hecho de poder compartir el periférico de almacenamiento les permitió a los usuarios almacenar su información en servidores donde su información estuviera asegurada por la existencia de copias, con el uso de las redes para el acceso a las mismas y la utilización de sistemas de almacenamiento para su gestión, administración y almacenamiento. En la actualidad estos sistemas de almacenamiento aun habiendo sufrido una gran evolución siguen basándose en el disco duro como unidad mínima, sobre estas unidades mínimas se añaden capas de hardware y software que ayudan a dotar a los sistemas de mayor rendimiento utilizando nuevas formas de acceso en escritura y en lectura, disminuyendo los tiempos de acceso a disco y además se facilitan las labores de administración diarias, evitando así que puedan ocurrir errores humanos y como consecuencia pérdida irremediable de información. INTRODUCCIÓN 2 El empleo de tecnologías de almacenamiento a nivel nacional está muy generalizado debido a sus características, por el hecho de aumentar el rendimiento y las velocidades de acceso de los servidores las empresas se han dispuesto a sustituir sus servidores corrientes por servidores donde se aplican sistemas de almacenamiento. El más popular es el sistema NAS, debido a que es de menos costo y mejor aplicable a lugares donde existen máquinas antiguas con pocos recursos. El hecho de tener que invertir solamente en una supercomputadora que se emplea como servidor central debido a los requerimientos del sistema y la instalación en esta de un sistema “Free” con el empleo de la misma tecnología ya existente como apoyo, hace de esta la solución más idónea al problema del almacenamiento de datos centralizado. La aplicación del sistema de almacenamiento SAN es menor debido a los altos costos de los equipos necesarios para su implementación. En la UCLV en estos momentos los sistemas de almacenamiento empleados son SAN y NAS. La mayoría de los servidores no funcionan empleando uno de los dos sistemas de almacenamiento solamente sino que parte del servidor es SAN y la otra parte es NAS, como especie de un híbrido, un ejemplo de este tipo es el servidor de correo, en estos no se emplean servidores NAS profesionales por el alto costo de los mismos, sino que se aplica el software libre FreeNAS como sistema operativo en la gestión del almacenamiento en servidores. En estos servidores están almacenados bases de datos, repositorios de software, etc. En el caso de la empresa TeleCable Internacional la utilización de variantes de almacenamiento que sean mucho más eficientes que compartir un simple disco duro, es una necesidad; por lo cual la realización de este trabajo presupone ser pionero de la utilización de este tipo de arquitectura en servicios que están directamente relacionados con la generación de ingresos económicos para el país. Organización del informe El informe de la investigación se estructurará en introducción, capitulario, conclusiones, referencias bibliográficas, bibliografía y anexos. Introducción INTRODUCCIÓN 3 Se define la importancia, actualidad y la necesidad de los sistemas de almacenamiento distribuidos en entornos de red, además de otros aspectos relacionados con el tema. Desarrollo CAPITULO I: Caracterización de los sistemas de almacenamiento DAS, SAN, NAS y SAN/NAS, y los mecanismos para el intercambio de información de manera segura en entornos de red. CAPITULO II: Se describen las características de los servidores NAS para el intercambio y streaming de contenidos multimedia, se describen los principales módulos del sistema operativo FreeNAS. CAPITULO III: Se muestran los resultados y validación del esquema de intercambio de ficheros mediante la instalación y monitoreo del servidor FreeNAS. Conclusiones Recomendaciones Bibliografía Anexos CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 4 CAPÍTULO 1. Revisión Bibliográfica En este capítulo se hace un recorrido por la arquitectura TCP/IP y los protocolos utilizados para el intercambio de archivos en redes de datos, se describen las interfaces de hardware y las estructuras lógicas que controlan los discos duros modernos y se abordan los temas relacionados con los sistemas de almacenamiento DAS, SAN, NAS y su evolución hasta la nube. 1.1 Introducción a la arquitectura TCP/IP En la actualidad es imposible hablar sobre Internet sin mencionar la arquitectura TCP/IP. Para la comunicación entre computadoras es necesario el empleo de ciertos estándares llamados protocolos tales como el TCP y el IP los cuales proporcionan las reglas para el enlace y permiten especificar o entender la comunicación de datos sin depender de un conocimiento detallado sobre los dispositivos de hardware de red que se emplean. La arquitectura TCP/IP es un modelo jerárquico compuesto por cuatro etapas, donde la de mayor jerarquía puede solicitar servicios a cualquiera de nivel inferior. La Figura 1.1 muestra un esquema que representa este modelo. Figura 1.1 Modelo jerárquico de la arquitectura TCP/IP. CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 5 De forma general dentro del conjunto de protocolos TCP/IP se ejecutan las diferentes funciones: Direccionamiento: Mediante las direcciones IP las cuáles identifican a cada estación (host) en una Red, permitiendo entregar los datos a la estación correcta. Encaminamiento: Se realiza a través de dispositivos de encaminamiento (Routers o Gateways) los cuáles entregan los datos a la red correcta gracias a los diferentes métodos de actualización de sus tablas de rutas. Multiplexado: Permite que los protocolos y los puertos numerados entreguen los datos al módulo de software correcto dentro de una estación. En una red TCP/IP los Enrutadores o Conmutadores de Capa 3 proporcionan todas las interconexiones entre las redes físicas. Sin embargo es necesario recordar que para garantizar el funcionamiento de esta arquitectura debe estar instalado el software TCP/IP sobre cada una de las interfaces de red. 1.1.1 Capa de aplicación Dentro de la arquitectura TCP/IP la Capa de Aplicación es la encargada de definir las aplicaciones, puertos y sockets usados para procesar las demandas de los usuarios, la cual está compuesta entre otros por los siguientes protocolos: Telnet, FTP, SMTP, DNS, SNMP. Un puerto es básicamente una dirección para encaminar los datos hacia la aplicación apropiada. Hay 65536 puertos TCP, los puertos del 1 al 1023 son llamados puertos “Bien conocidos” o reservados. Los puertos del 1024 al 49151 son llamados puertos registrados y los puertos del 49152 al 65535 son denominados puertos dinámicos o privados. Estos puertos son designados por la ICANN (Internet Corporation for Assigned Names and Numbers). (Breasley, Jeffrey S. 2008) Ejemplos de puertos bien conocidos lo constituyen HTTP que es el puerto 80, el HTTPS que es el puerto 443, y el SSH que es el puerto 22. Las aplicaciones emplean estos puertos para comunicarse con otras aplicaciones. CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 6 1.1.2 Capa de transporte La Capa de Transporte define el tipo de conexiones establecidas entre los usuarios, y cómo los reconocimientos son enviados, esta capa está compuesta por los protocolos TCP y UDP. Los protocolos de capa de transporte son muy importantes en TCP/IP debido a que se encargan de la conexión de red, administrando la entrega de datos entre el usuario fuente y el usuario destino, y terminando la conexión de datos. El protocolo TCP establece una serie de reglas para realizar la conexión y verificar la entrega de paquetes de datos a través de la red e incluye soporte para chequeo de errores y recuperación de datos perdidos, así como, especifica los procedimientos para terminar la conexión. (Breasley, Jeffrey S. 2008) En el caso de UDP o Protocolo de Datagrama de Usuario, no es orientado a la conexión, lo que significa que un paquete UDP puede ser transportado por la red sin haber establecido una conexión y sin reconocimiento de que los paquetes de datos llegaron al destino. UDP es empleado en aplicaciones como las video-conferencias y audio en tiempo real, donde los reconocimientos y la integridad de los datos no son requeridos, así como no realiza el procedimiento de terminar la conexión. 1.1.3 Capa de Interconexión IP La Capa de Internet de TCP/IP define los protocolos usados para direccionar y enrutar los paquetes de datos, algunos de estos protocolos son el IP, ARP, ICMP, IGMP. (Breasley, Jeffrey S. 2008) El protocolo IP define el mecanismo usado para identificar las direcciones fuente y destino de los paquetes de datos que son entregados sobre una red. La dirección IP, es una dirección lógica dividida en dos partes: la dirección de red y la dirección de usuario, la porción que pertenece a la red es usada para direccionar los datos a la red apropiada, la dirección de usuario identifica la dirección local asignada al usuario. La porción de la dirección de red y la de usuario son empleadas para enrutar los paquetes de datos hacia el destino. Protocolo ARP CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 7 El protocolo ARP (Address Resolution Protocol) busca, qué dirección de hardware tiene esa dirección IP, para entregarle el paquete de datos al destino. El usuario asignó la réplica de la dirección IP con la réplica ARP al protocolo que contenía la dirección del hardware del usuario destino (Breasley, Jeffrey S. 2008). Protocolo ICMP El protocolo ICMP (Internet Control Message Protocol) es empleado para controlar el flujo de datos en la red, para reportar errores y diagnósticos de rendimiento. Un dispositivo de red como por ejemplo un Router puede enviar un paquete ICMP debido a la petición de un usuario de ralentizar la transferencia de datos. Una de las herramientas más importantes del protocolo ICMP es el comando ping el cual es usado para verificar conectividad con otro usuario en la red. El usuario destino puede estar en una LAN o en Internet. El comando ping usa una serie de solicitudes echo y los dispositivos de red que reciben las solicitudes echo responden con una serie de réplicas del mismo tipo para probar una conexión de red. Protocolo IGMP El protocolo IGMP (Internet Group Message Protocol) es usado cuando un usuario necesita enviar datos a muchos usuarios destino, es lo que se conoce como multicasting. Las direcciones usadas para mandar un paquete de datos multicast son direcciones reservadas que no están asignadas a los usuarios de la red, un ejemplo de una aplicación que usa paquetes IGMP es cuando un Router usa multicasting para compartir las tablas de rutas, otro ejemplo es cuando un usuario quiere transmitir cadenas de datos hacia múltiples usuarios. Transmitir cadenas significa que los datos son enviados sin esperar por algún reconocimiento, de que el paquete de datos fue entregado; propiedad que es muy empleada para la transferencia de audio y video sobre internet. De hecho al protocolo IGMP no le preocupa si el destino recibe el paquete. Otra característica del protocolo IGMP es que los datos son entregados a la capa de aplicación como mismo llegó, lo que lleva a la aplicación apropiada a comenzar a procesar los datos. 1.1.4 Capa de Interfaz de Red La Capa de Interfaz de Red del modelo TCP/IP define la forma en que los usuarios se conectan con la red, siendo el usuario, una computadora personal o un dispositivo de red. CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 8 El tipo de red a la que el usuario se conecta no es determinado por el protocolo TCP/IP, el usuario se pudo haber conectado a una red Ethernet, Frame Relay o ATM. TCP/IP no depende de una tecnología específica de red, además puede ser adaptada para correr en nuevas tecnologías tal como MPLS. En la capa de Interfaz de Red cada paquete de datos TCP/IP debe tener una dirección MAC de fuente y destino en el encabezado TCP/IP. La dirección de hardware o MAC se encuentra en la conexión o interfaz de red del usuario y está constituido por 12 caracteres hexadecimales. Por ejemplo la interfaz de red puede tener una dirección MAC: 00-10-A413-99-2E. La dirección de hardware es usada para entregar los paquetes de datos al próximo destino en una red, los primeros 6 números hexadecimales representan la organización que manufacturó la tarjeta de red y es llamado OUI (Organizational Unit Identifier). (Breasley, Jeffrey S. 2008) 1.2 Sistemas de almacenamiento físico De forma paralela al desarrollo de las redes de datos, se ha experimentado un aumento exponencial en la generación de información digital, lo cual ha impulsado el surgimiento de diversas soluciones para lograr el almacenamiento de estos datos. Desde el punto de vista técnico podemos encontrar tres tipos principales de sistemas de almacenamiento: óptico, magnético y electrónico. Dentro de los soportes ópticos se destacan el CD, DVD y Blue Ray, en el caso de los magnéticos los más destacados son los Discos Duros, mientras que la tecnología Flash y los Discos de Estado Sólido han inundado el mercado con sus modernos sistemas electrónicos. En este trabajo nos enfocaremos al análisis de los Discos Duros Magnéticos por ser los dispositivos más utilizados en la actualidad en los entornos profesionales. 1.2.1 Interfaces de interconexión de hardware Varios tipos de interfaces de interconexión de hardware han sido empleadas en las computadoras a través de los años, aunque muchas de estas ya están obsoletas fueron las precursoras de las empleadas en la actualidad. Siendo las primeras la ST-506/412 y la ESDI las cuales fueron pioneras en emplear un controlador y un disco, aunque estos no estaban CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 9 combinados en un solo dispositivo, las mismas ya están obsoletas (Mueller´s, Scott 2011). La versión de IDE Non-ATA fue usada por el sistema PS/2 de IBM y esta se encuentra también obsoleta. En la Tabla 1.1 se muestra un resumen de las principales interfaces organizadas cronológicamente desde su surgimiento. Tabla 1.1 Principales interfaces de interconexión de hardware Interfaz Usado desde Usado hasta ST-506/402 1978 1989 (obsoleta) ESDI 1983 1991 (obsoleta) IDE Non-ATA 1987 1993 (obsoleta) SCSI 1986 Presente PATA (IDE) 1986 Presente SATA 2003 Presente La interfaz que conecta los discos con una PC es típicamente conocida como IDE (Integrated Drive Electronics); sin embargo, el nombre oficial de esta interfaz es ATA (Advanced Technology Attachment). La denominación ATA se refiere al hecho de que esta interfaz fue diseñada originalmente para conectarla combinación de un disco y una controladora directamente con un bus de 16 bits que comenzó a ser usado en 1984 particularmente en las PC-AT de IBM y otras computadoras compatibles. Aunque ATA es el nombre oficial de la interfaz, IDE es un término de marketing originado por algún fabricante de discos para describir la combinación disco/controladora usada en discos que emplean interfaz ATA. IDE se refiere al hecho de que la interfaz electrónica o controladora es construida dentro del disco y no es una placa separada, como en las primeras interfaces de discos. (Mueller´s, Scott 2011) ATA fue originalmente una interfaz en paralelo de 16 bits, lo que significa que 16 bits son transmitidos simultáneamente por el cable de la interfaz. A finales del año 2000 fue CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 10 introducido oficialmente una nueva interfaz llamada Serial ATA (SATA) y fue adoptada en Sistemas de Escritorio en los comienzos del 2003 y en laptops a principios del 2005. SATA envía un bit a la vez, permitiendo el uso de cables más finos y cortos, así como brinda una mejora en el rendimiento debido al aumento en la velocidad. Aunque SATA es un diseño completamente diferente de interfaz física, es compatible con versiones anteriores de ATA Paralelo (PATA) a nivel de software. En la Figura 1.2 se muestran los conectores de Datos y Alimentación de Energía de PATA y SATA respectivamente. Figura 1.2 Conectores de Datos y Alimentación de Energía en PATA y SATA Las interfaces ATA tienen una serie de estándares, entre los más recientes se pueden mencionar: ATA-7 y ATA-8; los cuales incorporan interfaces en paralelo y en serie. Cada una es compatible con las versiones previas, lo que significa que las versiones más nuevas son extensiones de las anteriores con adición de nuevas características. A continuación se destacan las principales características de algunos de estos: ATA-1 ATA-1 definió la interfaz ATA original, la cual fue un bus de integración entre el disco y los sistemas anfitriones (host) basados en el bus ISA (AT). Las características más importantes, las cuales fueron introducidas y documentadas en la especificación son: Cables y conectores de 40/44 pines. Opciones de configuración de Amo/Esclavo (Master/Slave) o selección por cable. CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 11 Temporización por señal para modos básicos de Programación de I/O (PIO) y acceso directo a memoria. Sistemas de direccionamiento mediante parámetros tales como cilindros, cabezas, sectores y direccionamiento de bloques lógicos, soportando capacidades de discos mayores que los 267386880 sectores o 136,9 GB. La interfaz ATA-1 soporta capacidades teóricas en disco mayores que 136.9 GB (267 386 880 sectores), esto puede ser posible si no se direccionó las limitaciones del BIOS que detienen la capacidad a los 528 MB (1024 × 16 × 63 = 1 032 192 sectores). Las limitaciones del BIOS pueden ser direccionadas en versiones subsecuentes de ATA porque en ese momento no existían discos mayores de 528 MB. (Tropens, U., Müller-Friedt, W., Wolafka, R., Erkens R., Haustein, N. 2009) ATA-2 El estándar ATA-2 fue una importante actualización para el estándar ATA original, quizás el cambio más grande fue uno filosófico. ATA-2 fue actualizado para definir una interfaz entre los sistemas anfitriones (host) y los dispositivos de almacenamiento en general y no solo para discos. La característica más importante adicionada al ATA-2 comparada con el estándar ATA original incluye los siguientes aspectos: Programación de I/O (PIO) y acceso directo a memoria (DMA) Modos de transferencia PIO (Programación de I/O) y DMA (acceso directo a memoria) más rápidos. Soporte para administración de potencia. Soporte para dispositivos extraíbles. Soporte para dispositivos PCMCIA (tarjetas PC). Comandos para identificar discos que reportan más información. Definió métodos de traducción del estándar CHS/LBA para discos con capacidad mayor a los 8.4 GB. Las adiciones más importantes en ATA-2 fue el soporte de modos PIO y DMA más rápidos, así como métodos para activar en el BIOS la función que permite soportar capacidades mayores que 8.4 GB. El hecho de que el BIOS soportara capacidades mayores CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 12 fue necesario porque también ATA-1 fue diseñado para soportar discos de más de 136,9 GB de capacidad y el BIOS de las PC podía originalmente manejar discos de más de 528 MB de capacidad. Adicionar la capacidad de traducir parámetros ahora permitía al BIOS manejar discos de más de 8.4GB. ATA-2 también caracterizó el comando de identificación de discos que activaba la capacidad de un disco de decir a algún software cuáles son exactamente sus características; esta característica es esencial para PnP (Plug and Play) y para compatibilizar con futuras revisiones del estándar. El trabajo en la implementación de ATA-2 comenzó en 1993, el estándar no fue publicado oficialmente hasta 1996 como “ANSIX3.279-1996 Interfaz AT indexada con Extensiones”. El ATA-1 fue oficialmente cancelado como estándar en el 2001. ATA/ATAPI-6 ATA-6 incluye Ultra-ATA/100 también llamada Ultra-DMA o UDMA/100, la cual aumenta la velocidad de transferencia de Ultra-ATA reduciendo los tiempos del Setup y aumentando la velocidad del reloj. Al igual que con ATA-5, el modo más rápido requiere el cable mejorado de 80 conductores. El uso del modo ATA/100 requiere que tanto el disco como la motherboard tengan un interfaz que soporte ese modo. El trabajo en ATA-6 comenzó en el 2000 y el estándar fue finalizado y publicado oficialmente en el 2002 como “ANSI NCITS 361-2002, ATA-6 con Paquete de Interfaces.” Las revisiones más importantes que se adicionaron en el ATA-6 fueron las que siguen: El modo 5 de Ultra-DMA (UDMA), el cual permite transferencias a 100MBps llamado UDMA/100, Ultra-ATA/100, o solamente ATA/100. Conteo de sectores por comando aumentando desde 8 bits (256 sectores, o 131 KB) hasta 16 bits (65,536 sectores, o 33.5MB), permitiendo que archivos más grandes sean transferidos más eficientemente. Direccionamiento LBA fue extendido hasta 248 sectores, soportando discos de más de 144.12 PB. Esta característica es frecuentemente referida como LBA 48 bits. Además de adicionar la velocidad de transferencia a 100 MBps de UDMA Modo 5, ATA-6 aumentó la capacidad de los discos, el ATA-5 y los estándares anteriores soportaban solo CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 13 discos de más de 137 GB de capacidad lo que significa una limitación a medida que discos más grandes fueron disponibles. ATA/ATAPI-7 El trabajo en ATA-7, comenzó a finales del 2001, finalizó y fue oficialmente publicado en 2004. Tal como ocurrió en estándares ATA anteriores ATA-7 fue construido sobre el estándar precedente (ATA-6), con algunas adiciones. Las principales adiciones al estándar ATA-7 incluyen las siguientes: Inclusión del modo 6 de Ultra-DMA (UDMA). Esto permitió transferencias a 133 MBps llamadas UDMA/133, Ultra-ATA/133, o simplemente ATA/133.Igual que con el modo 5 de UDMA (100 MBps) y con el modo 4 de UDMA (66MBps), era requerido el uso de cables con 80 conductores. Soporte para sectores físicos largos. Esto permitió que los dispositivos fueran formateados con múltiples sectores lógicos por cada sector físico. Soporte para sectores lógicos largos. Esto permitió que más bytes de datos adicionales pudieran ser usados por sector (520 o 528 bytes además de los 512 bytes normales) para aplicaciones en servidores. Los dispositivos que usan sectores lógicos largos no son compatibles con dispositivos predecesores o sus aplicaciones que empleaban sectores de 512 bytes, tales como computadoras de escritorio estándar o laptops. SATA fue incorporado como parte del estándar ATA-7. La eficiencia en el intercambio de información fue aumentando entre la controladora del disco y la motherboard a través de los modos UDMA, la mayoría de los discos ATA incluso aquellos con capacidades de transferencia de Modo 6 de UDMA (133 MBps) desde el disco a la motherboard todavía tienen un promedio máximo sostenido de velocidad de transferencia de datos de menos de 60 MBps. 1.3 Sistemas de almacenamiento en red Un Sistema de Almacenamiento en red se basa en el empleo de discos duros, o arreglos de estos, como unidad mínima para compartir datos mediante la red. Donde la topología a CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 14 emplear es definitiva en cuanto a rendimiento y costo del sistema que es utilizado para brindar el servicio en cuestión. Existen varios tipos de sistemas de almacenamiento, estos definidos por la forma en que acceden al almacenamiento, existen dos tipos: Acceso a Nivel de Bloque-En este caso la aplicación hace sus peticiones de datos directamente al sistema de archivos y este a su vez a los discos de almacenamiento. Acceso a Nivel de Archivo -En este caso las aplicaciones realizan peticiones de datos al sistema de ficheros de manera remota, ya que el almacenamiento es local al sistema de ficheros. 1.3.1 DAS (Direct Attached Storage) Es la forma más tradicional y sencilla de conectar un servidor al almacenamiento, DAS accede a la información a través de peticiones directas de la Aplicación al Sistema de Ficheros, este a su vez se encarga de localizar los datos dentro del Almacenamiento Físico y de presentarlos a la entidad solicitante; la principal desventaja del empleo de DAS radica en su incapacidad de compartir recursos o datos con otros servidores. En la Figura 1.3 se muestra un esquema del modelo DAS. Figura 1.3 Esquema del modelo DAS. CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 15 1.3.2 SAN (Storage Area Network) Las redes SAN (Storage Area Network) son redes de almacenamiento dedicadas que proporcionan acceso a nivel de bloque; funcionan a nivel de unidades lógicas virtuales que son montadas en el ordenador del usuario y una vez configuradas ofrecen acceso a los datos de forma transparente, como en la topología DAS. Una SAN es una red concebida para conectar servidores, arreglos de discos y equipos de respaldo, está basada en tecnología Fibre Channel, o SCSI. El tráfico que circula por una red SAN es muy similar al de los discos SCSI, ATA o SATA, aunque actualmente la mayoría de los sistemas utilizan el protocolo SCSI. Si bien los sistemas SAN utilizan el protocolo SCSI para comunicarse, no están conectados físicamente de este modo, solamente hacen uso de este protocolo para la comunicación entre los medios de almacenamiento y los servidores. Las redes SAN pueden contar con diferentes topologías, pueden estar conectadas en cascada, en anillo, o en malla, y todas proveen capacidades diferentes. Las redes SAN utilizan como medio físico, mayoritariamente, fibra óptica; lo que le proporciona un gran ancho de banda, por lo que, un inconveniente de su empleo es el coste elevado de toda su infraestructura. En la Figura 1.4 se muestra un esquema del modelo SAN. Figura 1.4 Esquema del modelo SAN. 1.3.3 NAS (Network Attached Storage) En las redes NAS las aplicaciones y programas de usuario realizan peticiones de datos al sistema de ficheros de manera remota, ya que el almacenamiento es local al sistema de ficheros, a diferencia de SAN y DAS que realizan la peticiones directamente al sistema de CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 16 ficheros. NAS es una tecnología de almacenamiento dedicada, utilizada para compartir información entre servidores o computadoras dentro de una red, usualmente empleando para esto el conjunto de protocolos TCP/IP. (Schulz, Greg 2012) Se podría considerar que un servidor Windows que comparte sus unidades por red es un sistema NAS, pero la definición de NAS apunta al empleo de equipamiento y software específico. Los dispositivos NAS utilizan usualmente más de un dispositivo de almacenamiento, en la mayoría de los casos están compuestos por arreglos de discos lo que aumenta la capacidad de almacenamiento, la seguridad, y la velocidad de acceso a la información. Un sistema NAS se implementa mediante un dispositivo de hardware simple, llamado “NAS box” o “NAS head”, este actúa como interfaz entre el sistema NAS y los clientes. Los clientes se conectan al “NAS head” a través de una conexión Ethernet. NAS aparece en la LAN como un simple nodo que representa la Dirección IP del dispositivo “NAS head” (Schulz, Greg 2012). En la Figura 1.5 se muestra un esquema del modelo NAS. Figura 1.5 Esquema del modelo NAS. Los protocolos de comunicaciones NAS son basados en archivos por lo que, los clientes, cuando hacen una solicitud de algún archivo, lo toman completo desde el servidor y pasan a manejarlo de manera local, lo que indica que los sistemas NAS están orientados al manejo de archivos pequeños. Los protocolos utilizados en NAS son usados para compartir archivos tal es el caso de NFS (Network File System) y CIFS (Common Internet File System). CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 17 1.3.4 Híbrido SAN-NAS Consiste en una caja o cabeza (NAS box o NAS head) NAS conectada a un terminal (back end) SAN y permite el acceso al almacenamiento a nivel de bloques y a nivel de archivos. Estas tecnologías no son totalmente excluyentes dado que pueden convivir en una misma solución al problema de la necesidad de almacenamiento. En la Figura 1.6 se muestra un esquema del modelo Híbrido SAN-NAS. Figura 1.6 Esquema del modelo Híbrido SAN-NAS. 1.4 Almacenamiento en Nube Una unidad de Almacenamiento en Nube es un enrutador de almacenamiento de información. La unidad oculta la complejidad de los protocolos subyacentes, lo que le permite su fácil implementación en prácticamente todas las arquitecturas conocidas. En la actualidad ha aumentado considerablemente su popularidad incluyéndose dentro de las ofertas de grandes compañías, productos como: Microsoft Azure, Amazon S3, EC2 de Amazon, Rackspace, EMC Atmos, Nirvanix, GoGrid, vcloud, Zetta, Scality, Dunkel, Mezeo, Box.net, FTP y Webdav. Desde el punto de vista técnico La Nube es simplemente implementar almacenamiento de información mediante un SAN IP. (Figura 1.7) CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 18 Figura 1.7 Esquema de unidad de Almacenamiento en Nube. La unidad de almacenamiento en nube es como un SAN IP que nunca se ejecuta fuera del espacio. A medida que aumenta el uso, la unidad inicia la "descarga" de datos mediante el uso de un proveedor de red a otras unidades, de esa forma garantiza la sensación de ser un enorme disco duro que nunca se llena. La unidad de almacenamiento en nube emplea cachés y optimiza el almacenamiento de información para aumentar el rendimiento y la disponibilidad, reduciendo también el tráfico en la red. Desde la LAN se accede a los equipos remotos mediante el protocolo iSCSI. El servicio de almacenamiento de información se establece a través de una conexión a internet con el proveedor de almacenamiento. Cuando el iniciador iSCSI guarda los datos en el servidor de almacenamiento, inicialmente almacena la información en la memoria caché local. Cada unidad de datos se encuentra únicamente en la memoria caché local y se marca como "online" o "sin conexión" en los servidores del proveedor de almacenamiento. Todas las unidades de datos de la caché local se comprueban periódicamente para su uso, las unidades de datos menos utilizadas recientemente, son cargadas en el servidor, marcadas como "sin conexión" y eliminadas de la memoria caché local. 1.4.1 Servicio de almacenamiento en Nube El servicio de almacenamiento en nube es fácil de instalar y configurar. Puede instalarse en una gran gama de hardware para uso personal, empresarial o de servicios. Una vez es CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 19 instalado y configurado, muchos clientes pueden conectarse a él mediante el protocolo iSCSI. El servicio de almacenamiento de información reduce los requerimientos de almacenamiento de datos mientras mantiene el rendimiento moviendo los datos menos usados recientemente por el proveedor, así como emplea uno o más aceleradores de almacenamiento. La unidad de almacenamiento acelera el rendimiento suponiendo que la escritura real de los datos puede ocurrir en cualquier momento antes de una lectura a los mismos datos, o mediante la programación en los períodos de baja actividad y no descargando datos desde el proveedor de almacenamiento en nube cuando los datos de escritura están retrasados totalmente debido a que estos sobrescriben los datos almacenados en la nube. La unidad de almacenamiento de datos en nube acelera más el rendimiento asumiendo que al eliminar las operaciones de escritura y lectura estas pueden ocurrir en cualquier momento después de que los datos se descargan. 1.4.2 Optimizador de la Unidad de Almacenamiento de Datos en Nube Un componente opcional es el optimizador de la unidad de almacenamiento, el cual mejora el rendimiento, así como reduce el ancho de banda y reduce los requerimientos de almacenamiento. El optimizador debe instalarse en todos los clientes iSCSI mediante el servicio de almacenamiento en nube. El optimizador de almacenamiento tiene acceso al disco duro virtual para optimizar los datos almacenados en la caché local. El optimizador periódicamente lee los archivos virtuales para compartir metadatos incluyendo directorios, nombres de archivo, permisos y atributos para mantener los datos en la caché local o unidad de disco duro virtual. De esta manera, el optimizador de almacenamiento de datos también acelera el rendimiento del servidor impidiendo que los datos se identifiquen como inactivos. El optimizador de almacenamiento de datos también reduce los requerimientos de almacenamiento del servidor sobrescribiendo periódicamente "ceros" a las partes no utilizadas de la unidad de disco duro virtual. El optimizador de almacenamiento también se adapta a ejecutar de manera periódica utilidades que se encargan de registrar la unidad de disco duro virtual para impedir que las estructuras de datos de sistemas de archivo interno que son importantes estén marcados como inactivos. CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 20 1.4.3 Acelerador de red de la Unidad de Almacenamiento de Datos en Nube El acelerador de red de la unidad de almacenamiento de datos en nube es un componente opcional, el cual mejora el rendimiento y la disponibilidad del servicio de almacenamiento de información. Este componente se puede instalar en todos los equipos de la casa, la oficina o la empresa. Los aceleradores de red permiten en la oficina recuperar todos esos "pequeños espacios" de almacenamiento de datos que están disponibles en los cientos o miles de equipos dentro de la empresa. Una oficina típica de 100 equipos tienen en promedio 100 GB de espacio potencialmente disponible por lo que en la oficina hay 100 equipos x 100 GB = 10 TB de espacio de almacenamiento de datos por recuperar y consolidar este espacio no utilizado. Los aceleradores de red aumentan el rendimiento y mejoran la capacidad de resistencia ante la lentitud o falta de disponibilidad de los proveedores, almacenando los datos cargados por el proveedor en la red local en los ya existentes espacios no utilizados de forma redundante. Los aceleradores de red funcionan como una caché masiva dentro de la empresa. En el ejemplo anterior, se sustituyó la caché local de servicios de almacenamiento con una caché física de 10 TB ejecutada en toda la empresa. La unidad de almacenamiento en nube aumenta aparentemente la disponibilidad del proveedor. Si la caché local satisface el 99% de las solicitudes de datos sin requerir al proveedor, la disponibilidad del proveedor debe aumentar 100 veces y el 99% de los accesos a datos ocurren a la velocidad de la red local en lugar de la velocidad de la conexión de red con el proveedor. La unidad de almacenamiento en nube administra también el formato de datos y la comunicación con el proveedor de almacenamiento mientras permite el acceso transparente a los datos utilizando protocolos estándar como iSCSI y NFS. Además, la unidad de almacenamiento en nube permite procesamientos simultáneos de lectura y escritura según diferentes solicitudes de datos, así como sincronizar y serializar el acceso a los mismos datos. 1.4.4 Ventajas y desventajas del almacenamiento de datos en nube El servicio de almacenar grandes volúmenes de información en una red de área local (LAN) es caro debido a que los dispositivos de almacenamiento de datos de alta capacidad, como CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 21 servidores de archivos, redes de área de almacenamiento (SAN) y redes conectadas de almacenamiento (NAS) proporcionan alto rendimiento y almacenamiento de datos de alta disponibilidad, accesible a través de interfaces estándar de la industria. Sin embargo, dispositivos de almacenamiento de datos electrónicos tienen muchas desventajas, incluidos los que son muy costosos, los cuales tienen una limitada duración, por lo que requieren de sistemas de respaldo y recuperación, su presencia física requiere determinadas condiciones ambientales, requieren personal administrador y consumen cantidades considerables de energía y enfriamiento. Existen varios proveedores de almacenamiento de datos en nube que prestan diferentes servicios, tales como AmazonS3. Este proveedor proporciona un servicio barato de almacenamiento de información electrónica, virtualmente ilimitado, alojado en instalaciones de forma remota. La información almacenada por estos proveedores es accesible a través de internet o red de área extensa (WAN). Las economías de escala permiten a los proveedores proporcionar almacenamiento de datos más barato que los dispositivos de almacenamiento de datos equivalentes. El almacenamiento de datos en nube tiene muchas ventajas, es barato, no requiere instalación, no necesita reemplazo, tiene sistemas de respaldo y recuperación, no necesita presencia física, no requiere condiciones ambientales, no requiere personal y no necesita energía o enfriamiento. Sin embargo, el almacenamiento de datos en nube tiene varios inconvenientes importantes, incluyendo el rendimiento, la disponibilidad, tiene interfaces incompatibles y falta de normas. El rendimiento del almacenamiento de datos en nube está limitado por el ancho de banda, las velocidades de Internet y de las WAN son típicamente de 10 a 100 veces más lentas que la velocidad de una LAN. Por ejemplo, tener acceso a un archivo típico de una LAN tarda 1 segundo, acceder al mismo archivo de datos en la nube de almacenamiento puede tardar de 10 a 100 segundos. Los consumidores están acostumbrados a cierta demora en sus descargas de internet de acuerdo a la velocidad de descarga que tengan contratada con el proveedor del servicio, pero no están acostumbrados a esperar largos períodos, por ejemplo a esperar el tiempo que se demora en cargar un documento o una hoja de cálculo. La falta de disponibilidad de los datos almacenados en la nube es un problema grave. CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA 22 El almacenamiento en nube se basa en la conectividad de redes, entre la LAN y el proveedor de almacenamiento. La conectividad de la red puede verse afectada por cualquier número de cuestiones como las interrupciones de las redes mundiales, erupciones solares, que estén cortados los cables subterráneos y también por problemas en los satélites. El almacenamiento de datos en nube tiene muchos puntos de falla y no es resistente a las interrupciones de la red las cuales implican que el almacenamiento de datos en nube no esté completamente disponible. Los proveedores de almacenamiento de datos en nube utilizan protocolos de red que a menudo no son compatibles con servicios normales de la LAN. El acceso al almacenamiento a menudo implica que programas ad-hoc sean utilizados para corregir la diferencia entre los protocolos. La industria de almacenamiento de datos en nube no tiene un conjunto de protocolos estándar común. Esto significa que deben crearse diferentes interfaces para tener acceso a los proveedores. Intercambiar o elegir entre proveedores es complicado debido a que sus protocolos son incompatibles. La unidad de almacenamiento de datos en nube es lo suficientemente pequeña como para ser utilizada en equipos portátiles, así como, tener funciones de clase empresarial que permitan escalar a la organización más grande. 1.5 Conclusiones del Capítulo En este capítulo hemos descrito brevemente los sistemas de almacenamiento empleados para compartir archivos mediante una red, en cuanto al hardware y software necesario para su funcionamiento; así como los diferentes sistemas de almacenamiento en red y su evolución hasta la nube. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 23 CAPÍTULO 2. Servidores de almacenamiento En este capítulo se abordan las principales características del empleo de un sistema de almacenamiento distribuido mediante el uso del sistema operativo FreeNAS. Se describe el proceso de compartición de archivos y las diferentes configuraciones que se deben activar para garantizar un desempeño eficiente en entornos de alta demanda, como por ejemplo, prestar el servicio de IPTV en instalaciones hoteleras. 2.1 Almacenamiento de ficheros multimedia Los datos de multimedia brindan una representación directa del mundo físico en formato digital, como ejemplo tenemos las fotografías, sonidos y videos que vemos cada día. Por lo que cualquier imagen visible y sonido audible son datos de multimedia. Los datos de multimedia son almacenados y procesados en formato digital lo que representa muchos beneficios tales como: Los datos digitales son 100% reproducibles, son precisos, es posible hacer muchas copias exactas siendo estas iguales a la original, y es independiente del almacenamiento por lo que nuevos sistemas de almacenamiento pueden surgir en el futuro y en ellos pueden ser creadas o transferidas copias exactas de los datos cuando sea necesario. Los sistemas de almacenamiento de multimedia son similares a los sistemas de computadoras en términos de su arquitectura. Ambos tipos de sistema tienen una unidad central de procesamiento (CPU), tienen memoria de acceso aleatorio, y discos duros; la CPU se conecta a la memoria y a otros componentes mediante el bus de memoria y se conecta a los periféricos mediante el bus de entrada/salida (I/O). Con el fin de procesar cadenas de multimedia continuas, los sistemas de almacenamiento de multimedia son construidos con rígidos requerimientos de tiempo de procesamiento. Cada componente del CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 24 sistema de cómputo necesita poder procesar grandes cantidades de datos constituidos por archivos de gran tamaño y datos en paralelo, y garantizar que se termine el procesamiento dentro de un tiempo limitado. Si esto no ocurre, efectos indeseables pueden llevar a la degradación de la calidad de las cadenas multimedia. Cuando los servidores de almacenamiento se diseñan para manejar cadenas de multimedia, la arquitectura de los servidores también deben poder manejar los requerimientos de tiempo de procesamiento debido a que su fin es brindar a los clientes acceso continuo a los datos, de acuerdo a sus peticiones. Un servidor de almacenamiento o sistema de almacenamiento de multimedia está compuesto por un subsistema de almacenamiento y un subsistema de procesamiento. El subsistema de procesamiento cumple los pedidos de los clientes realizados mediante la red, y mantiene la calidad de cadenas que son entregadas a los clientes. Cuando son requeridos cierta cantidad de datos manda un pedido al subsistema de almacenamiento, la principal responsabilidad del subsistema de almacenamiento es almacenar los archivos multimedia y todos son almacenados en dispositivos en el subsistema de almacenamiento. La principal razón para separar el subsistema de almacenamiento del subsistema de procesamiento es por la carga de trabajo, ya que los archivos son grandes y la cadenas son largas, toma mucho tiempo entregarle las cadenas a los clientes. La carga de trabajo en los subsistemas de almacenamiento es muy grande, si los subsistemas de almacenamiento están corriendo en el mismo servidor, la habilidad de las aplicaciones del servidor para responder interactivamente al usuario puede ser adversamente afectada al punto que el usuario tenga que esperar un largo tiempo por recibir la respuesta de un comando. Con el fin de solucionar estas dificultades un sistema de servidores de multimedia distribuido tiene cinco objetivos (Tse, P.K.C. 2008): Almacenar mayor cantidad de archivos: varios servidores en el sistema de servidores de multimedia distribuido tienen más discos para almacenar más archivos de multimedia que un simple servidor de multimedia. Para almacenar mayor número de archivos, el espacio de almacenamiento en los servidores debe ser usado con cuidado, de acuerdo a la popularidad de acceso de los archivos se deben crear copias extras de estos y cuando se deban almacenar nuevos archivos las copias CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 25 extras deben ser borradas para liberar el espacio de almacenamiento para el nuevo archivo. Atender una mayor cantidad de clientes: a menos que los pedidos sean servidos por un solo servidor ya que un sistema de servidores distribuidos puede servir a mayor cantidad de clientes que un solo servidor. Con el fin de brindar la mayor cantidad de cadenas, los archivos de multimedia deben estar distribuidos de manera tal que los pedidos deben ser dispersados entre los servidores. Además las cargas de trabajo en los servidores deben estar bien balanceadas. Reducir la carga de trabajo en la red: la cual también depende de la distancia entre los servidores hasta los clientes que realizaron los pedidos. Si el servidor está lejos del cliente que realizó el pedido, los datos deben recorrer distancias largas desde el servidor al cliente por lo que la carga impuesta a la red es muy grande. Si el servidor está cerca del cliente que realizó el pedido, la red va a tener poca carga ya que los datos pueden realizar pocos saltos desde el servidor al cliente. Esparcir la carga por la red: si los servidores están cerca uno del otro, ellos podrán mandar paquetes desde los routers vecinos en la red. Cuando los servidores están ocupados sirviendo a los clientes la carga alrededor de estos aumenta, si la distancia entre los servidores es grande, entonces las rutas entre los servidores y sus clientes puede que no se sobrecargue ya que la carga de trabajo puede ser dispersa por mayor cantidad de rutas. Balancear la carga en los servidores: Mientras un servidor está ocupado sirviendo algunas cadenas de multimedia, este podría no contar con suficientes recursos tales como, carga disponible en el disco para brindar una nueva cadena adicional. Las cadenas nuevas deben entonces esperar si otros servidores están disponibles para brindar esta cadena, la cual será servida inmediatamente. La carga de trabajo en los servidores ocupados es entonces transferida a otros servidores, por lo que la carga en los servidores estará balanceada. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 2.2 26 Almacenamiento de datos mediante plataformas NAS A lo largo de este trabajo nos hemos referido a los diferentes sistemas de almacenamiento compartidos mediante la red, el empleo de los cuales está definido por el ambiente en que se van a utilizar, las necesidades, servicios que se van a prestar, así como el presupuesto a emplear en la realización del proyecto. Las opciones a emplear más comunes son la SAN que es la que se emplea cuando los límites de presupuesto y longitud del terreno a aplicar son altos, así como son un requerimiento la fiabilidad y disponibilidad del servicio por el uso de fibra óptica; la otra opción es la NAS, la cual es más adecuada cuando las limitaciones de presupuesto son un impedimento. Los servidores NAS ofrecen un sitio central donde puedes almacenar, acceder, y compartir archivos y documentos en una red local y posiblemente sobre internet, son de mucho uso especialmente en múltiples ambientes de Sistemas Operativos ya que soportan diferentes protocolos empleados para compartir. Los servidores NAS profesionales, los cuales están listos para su conexión y entrada en funcionamiento en una red, presentan altos precio de adquisición en el mercado que oscilan entre los $500 y los $2000 USD pudiendo aumentar de acuerdo a sus aplicaciones y capacidades. 2.2.1 CryptoNAS CryptoNAS es llamado formalmente CryptoBox, es un proyecto NAS concentrado en la encriptación de los discos. Tiene una edición en Live CD que incorpora encriptación con un servidor NAS, además ofrecen un paquete que es instalable basado en Linux, e incluye una interfaz web para su configuración. (Figura 2.1) CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 27 Figura 2.1 Interfaz web de CryptoNAS Una vez activado el volumen encriptado mediante la interfaz web, CryptoNAS, es accesible por toda la red local mediante protocolos de compartición de ficheros, como el SMB/CIFS Las particiones encriptadas de los discos son volúmenes LUKS que se pueden abrir desde otras computadoras usando el software FreeOTFE. La edición en Live CD requiere como mínimo una CPU a 200MHz y 64MB de RAM, conexión a la red y un disco de almacenamiento. El disco de almacenamiento puede ser cualquier disco soportado por el kernel de Linux versión 2.6.20 tal como el IDE, SCSI, USB, FireWire, SATA, y discos RAID. El paquete del servidor puede ser instalado en un sistema Linux existente con un kernel mínimo de 2.6, y soporte para cryptsetup con LUKS para aplicar la encriptación del dispositivo mapeador y Python 2.4. Es decir corre en casi cualquier distribución de Linux pero solo proporcionan paquetes para Ubuntu y otras distribuciones de Debian. 2.2.2 NASLite NASLite es una distribución de Linux comercial, disponible como una imagen en formato ISO por un costo de $34.95, diseñada para transformar una computadora basada en CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 28 tecnología a 32bit con interfaz PCI en un dispositivo NAS. NASLite inicia solo como un Live CD y se ejecuta totalmente virtualizado, permitiendo que toda la capacidad del disco duro sea empleada para almacenamiento. NASLite soporta servir archivos a sistemas como Windows, Linux, Mac OS X. Todas las versiones de NASLite y sus variantes contienen componentes de propietarios. Los componentes GPL están disponibles para los usuarios mediante GPLv2. NASLite posee mínimos requerimientos de hardware ya que corre perfectamente en equipos con hardware obsoleto, pero requiere al menos una computadora con una interfaz PCI. Otros requerimientos mínimos son una CPU 486DX o Pentium, 16MB de RAM, una tarjeta PCI Ethernet y un disco duro. NASLite tiene 3 variantes, soportando diferentes protocolos para compartir archivos tales como CIFS o Samba para poder interactuar con clientes de Microsoft Windows, NFS para servir a sistemas operativos basados en Unix, o FTP (solamente a clientes anónimos de FTP). Otros que protocolos que soporta son AFP, HTTP, RSYNC, DAAP y UPnP. 2.2.3 OpenNAS OpenNAS es un servidor especializado de almacenamiento basado en FreeBSD. Para compartir archivos por la red emplea protocolos como el CIFS, FTP, NFS, RSYNC, AFP, iSCSI. OpenNAS utiliza HAST para lograr alta disponibilidad, soporta S.M.A.R.T. y posee una interfaz web para configurarlo. Las funciones que realiza OpenNAS están definidas por los servicios que puede prestar: Servicios de red. Iniciador y destino ISCSI. Servicios del sistema. Replicación. Monitoreo online. Soporte para SNMP. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 29 2.2.4 FreeNAS FreeNAS es un proyecto NAS de distribución mínima del FreeBSD 7.2 con una interfaz web, programación en PHP y documentación basada en m0n0wall. Puede ser instalado en una Memoria USB, o en un disco duro. FreeNAS incorpora una edición en Live CD. FreeNAS soporta los siguientes protocolos: SMB/CIFS (Windows), AFP (Apple/Mac), NFS (Unix/Linux), FTP, TFTP, RSYNC, Unison, iSCSI y UPnP. También incluye soporte para RAID (0, 1,5) por software, ZFS, y encriptación de discos. Sus funciones de red incluyen soporte para etiquetado VLAN, agregación de conexiones, y WoL (Wake on LAN). Las funciones de monitoreo que se incluyen son S.M.A.R.T, alertas email, SNMP, Syslog, y soporte para UPS (NUT). También se pueden encontrar servicios extras como: clientes bittorent, servidores UPnP (FUPPES), servidores iTunes/DAAP (Firefly), webserver (lighttpd), y medidores del ancho de banda de la red (Iperf). 2.3 Sistema de Ficheros Los sistemas de archivos o ficheros, estructuran la información guardada en una unidad de almacenamiento que puede ser un disco duro de una computadora, que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos manejan su propio sistema de archivos. Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos mediante una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud a los cuales se les conoce también como clústers. El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la práctica, un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red sin la intervención de un dispositivo de almacenamiento. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 30 2.3.1 NTFS NTFS (New Technology File System) es un sistema de archivos de Windows NT incluido en las versiones de Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, Windows 7 y Windows 8. Está basado en el sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativo OS/2, y también tiene ciertas influencias del formato de archivos HFS diseñado por Apple. Este sistema permite definir el tamaño del clúster a partir de 512 bytes (tamaño mínimo de un sector) de forma independiente al tamaño de la partición. Puede manejar volúmenes de, teóricamente, hasta 264–1 clústeres. En la práctica, el máximo volumen NTFS soportado es de 232–1 clústeres que son aproximadamente 16 TB usando clústeres de 4 KB. Su principal inconveniente es que el sistema de archivos necesita mucho espacio en disco duro, por lo que no es recomendable su uso en discos con menos de 400 MB libres. El tamaño mínimo recomendado para la partición es de 10 GB. Aunque son posibles tamaños mayores, el máximo recomendado en la práctica para cada volumen es de 2 TB y el tamaño máximo de ficheros viene limitado por el tamaño del volumen. Hay tres versiones de NTFS: v1.2 en NT 3.51, NT 4, v3.0 en Windows 2000 y v3.1 en Windows XP, Windows 2003 Server, Windows Vista y v5.1 en Windows 2008. Las versiones más recientes han incluido algunas características nuevas, tales como cuotas de disco y puntos de montaje de volúmenes. 2.3.2 ZFS ZFS (Zettabyte File System) es un sistema de archivos desarrollado por Sun Microsystems para su sistema operativo Solaris. El significado original era 'Zettabyte File System', pero ahora es un acrónimo recursivo. El anuncio oficial de ZFS se produjo en septiembre de 2004. El código fuente del producto final se integró en la rama principal de desarrollo de Solaris el 31 de octubre de 2005 y fue lanzado el 16 de noviembre de 2005 como parte del build 27 de Open Solaris. ZFS fue diseñado e implementado por un equipo de Sun liderado por Jeff Bonwick. El sistema se CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 31 destaca por su gran capacidad, integración de los conceptos anteriormente separados de sistema de ficheros y administrador de volúmenes en un solo producto, es una nueva estructura sobre el disco que incluye sistemas de archivos ligeros y una administración de espacios de almacenamiento sencilla. ZFS es un sistema de ficheros de 128 bits lo que representa 27 veces la capacidad de un sistema de ficheros de 64 bits. Los límites de ZFS están diseñados para ser tan grandes que no se encuentren nunca en la práctica. 2.3.3 UFS Unix File System (UFS) es un sistema de archivos utilizado por varios sistemas operativos UNIX y POSIX. Es un derivado del Berkeley Fast File System (FFS), el cual es desarrollado desde FSUNIX. Casi todos los derivativos de BSD incluyendo a FreeBSD, NetBSD, OpenBSD, NeXTStep, y Solaris Operating Enviroment utilizan una variante de UFS. En Mac OS X está disponible como una alternativa al HFS. En Linux existe soporte parcial al sistema de archivos UFS de solo lectura, y utiliza sistema de archivos nativo de tipo ext3, con un diseño inspirado en UFS. Un sistema de archivos UFS se compone de las siguientes partes: Unos pocos bloques al inicio de la partición reservados para bootstrap, el cual debe ser inicializado separadamente del sistema de archivos. Un súper-bloque que contiene un número mágico que lo identifica como un UFS, y algunos otros números vitales que describen la geometría y algunos parámetros de su comportamiento. Una colección de grupos de cilindros. 2.4 Sistema de almacenamiento con FreeNAS. FreeNAS es un software que transforma una simple computadora en un potente servidor NAS, es un sistema operativo compacto y eficiente en la tarea específica a la que se dedique. Soporta el acceso de diferentes sistemas operativos a sus archivos tales como: Microsoft Windows, Apple OS X, Linux, y FreeBSD. También soporta redundancia en CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 32 discos duros, el acceso al sistema se realiza mediante una interfaz gráfica web (Figura 2.2), lo que significa que el servidor puede prescindir de periféricos fijos conectados. Figura 2.2 Muestra la interfaz web de FreeNAS El empleo de FreeNAS tiene una serie de ventajas para el manejo de archivos multimedia sobre otros servidores de archivos tradicionales como son: Incremento de la seguridad: Como el servidor solo corre un sistema operativo dedicado para proveer acceso a los datos, no hay otros servicios corriendo como son servidores de e-mail o servidores web de propósitos generales que pueden tener riesgos potenciales de seguridad. Aumento de la disponibilidad: lo que significa menos inactividad por fallas, puede ofrecer modelos de redundancia para los discos duros permitiendo que las fallas del hardware no signifiquen pérdidas de datos valiosos. Fácil administración y uso: la mayoría de las configuraciones pueden hacerse mediante la interfaz web. FreeNAS divide su interfaz de configuración en diferentes secciones, las cuales agrupan varias funciones de acuerdo a sus características. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 33 2.4.1 Sección Sistema de FreeNAS Dentro de la sección Sistema de FreeNAS se encuentran las opciones de configuración general, entre las más relevantes podemos mencionar: Tareas Programadas, Pruebas S.M.A.R.T y Configuraciones Globales. Tareas Programadas (Cron) Se basa en la programación de tareas ya sean de mantenimiento, de escritura, de creación o borrado de copias de archivos. Cron es un controlador de periféricos que corre uno o varios comandos programados regularmente, por un usuario específico (Figura 2.3). Figura 2.3 Creación de una Tarea Programada Normalmente el usuario que quiere programar una tarea manualmente crea una crontab empleando una sintaxis que puede ser complicada para nuevos usuarios Unix, pero gracias al empleo de la interfaz gráfica de FreeNAS se puede hacer fácilmente. Debido a una limitación del FreeBSD los usuarios con nombres de usuarios que contengan espacio o excedan los 17 caracteres no pueden crear Tareas Programadas. En la Tabla 2.1 se muestra un listado con las principales opciones que se pueden activar en las Tareas Programadas. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 34 Tabla 2.1 Opciones de la característica Tareas Programadas. Opciones Usuario Valor Descripción Menú desplegable Estar seguro que el usuario seleccionado tiene los permisos para correr los comandos especificados Comando Cadena Camino completo de localización del comando o bloque de programación Corta Cadena Opcional descripción Minuto Seleccionar menú Si se emplea menú desplegable cron job ocurre cada desplegable o minutos N minutos, si se selecciona minuto específico cron específico Hora job ocurre en el minuto especificado. Seleccionar desplegable menú Si se emplea menú desplegable cron job ocurre cada u hora N horas, si se selecciona hora específica cron job específica Día del Seleccionar mes desplegable ocurre en la hora especificada. menú Si se emplea menú desplegable cron job ocurre cada u específica Día(s) de Casillas de marcar hora N días, si se selecciona día específico cron job ocurre en el día especificado. Cron job ocurre en los días seleccionados. la semana S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) La tecnología S.M.A.R.T. es una propiedad de los discos duros que consiste en su capacidad de detección de fallos. La detección con anticipación de fallos en la superficie permite al usuario poder realizar una copia de su contenido, o reemplazar el disco, antes de que se produzca la pérdida irrecuperable de los datos. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 35 Este tipo de tecnología tiene que ser compatible con el BIOS de la motherboard, estar activada y además que el propio disco duro la soporte. Es un sistema de monitoreo de discos duros de computadoras para detectar y reportar varios indicadores de fiabilidad. Como son: Temperatura del disco: El aumento de la temperatura a menudo es señal de problemas de motor del disco. Velocidad de lectura de datos: Reducción en la tasa de transferencia de la unidad puede ser señal diversos problemas internos. Tiempo de partida (spin-up): Cambios en el tiempo de partida pueden reflejar problemas con el motor del disco. Contador de sectores reasignados: La unidad reasigna muchos sectores internos debido a los errores detectados, esto puede significar que la unidad va a fallar definitivamente. Velocidad de búsqueda (Seek time) Altura de vuelo del cabezal: La tendencia a la baja en altura de vuelo a menudo presagia un accidente del cabezal. ECC y Conteo de errores: El número de errores detectados por la unidad, aunque se corrijan internamente, a menudo señala problemas con el desarrollo de la unidad. La tendencia es, en algunos casos, más importante que el conteo real. La mayoría de los discos ATA modernos, IDE y SCSI-3 tienen S.M.A.R.T habilitado, los valores de los atributos que lo caracterizan van del número 1 al 253, siendo 1 el peor valor. Los valores normales son entre 100 y 200. Estos valores son guardados en un espacio reservado del disco duro. La Figura 2.4 muestra la pantalla de configuración de una nueva prueba S.M.A.R.T. Para prevenir problemas, es recomendable no activar el servicio S.M.A.R.T. si el disco tiene una controladora RAID, debido a que corresponde a la controladora realizar ese trabajo y marcar el disco como posible falla mientras está funcionando. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 36 Figura 2.4 Configuración de una prueba S.M.A.R.T. En la Tabla 2.2 se muestra un listado con las principales opciones que se pueden activar en la opción Prueba S.M.A.R.T. Tabla 2.2 Opciones de la característica Prueba S.M.A.R.T. Opciones Valor Descripción Disco Lista Marcar disco (s) a monitorear Tipo Menú desplegable Seleccionar tipo de test a realizar, algunos test degradan el rendimiento o sacan de funcionamiento los discos Hora Menú desplegable o Si usas Menú desplegable el test ocurre cada N seleccionar hora horas; si usas seleccionar hora el test ocurre a la hora seleccionada CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO Día del mes 37 Menú desplegable o Si usas Menú desplegable el test ocurre cada N días; seleccionar día si usas seleccionar día el test ocurre el día seleccionado Mes Casilla de marcar Seleccionar el mes en el que quieres que ocurra el test Día de la Casilla de marcar Seleccionar el día de la semana que quieres que semana ocurra el test 2.4.2 Sección Configuración de Red de FreeNAS Dentro de la sección Configuración de Red de FreeNAS se encuentran las opciones de configuración de interconexión, entre las más relevantes podemos mencionar: VLANs, Rutas Estáticas y Configuración de Interfaces. Rutas Estáticas El sistema FreeNAS no tiene rutas estáticas definidas por defecto, por lo cual es necesario establecerlas antes de realizar cualquier tarea en el entorno de red. (Figura 2.5) Figura 2.5 Creación de una nueva Ruta Estática Los campos red de destino y Gateway son obligatorios, siendo el de descripción opcional. Cada ruta que se adicione se puede ver en el campo View Static Routes y cada ruta puede tener la opción de editarse y borrarse. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 38 VLANs Una VLAN es un método de crear redes lógicas independientes dentro de una misma red física. Una VLAN consiste en una red de computadoras que se comportan como si estuviesen conectados al mismo switch, aunque pueden estar en realidad conectados físicamente a diferentes segmentos de una red de área local. Los administradores de red configuran las VLANs mediante software en lugar de hardware, lo que las hace extremadamente flexibles. Una de las mayores ventajas de las VLANs surge cuando se traslada físicamente alguna computadora a otra ubicación: puede permanecer en la misma VLAN sin necesidad de cambiar la configuración IP de la máquina. El protocolo de encapsulamiento empleado es el IEEE 802.1q que permite que múltiples redes lógicas puedan compartir de manera transparente el mismo medio físico. (Lavigne, Dru 2012) FreeNAS emplea la interfaz FreeBSD VLANs para demultiplexar tramas con etiquetas IEEE 802.1q, esto permite que los nodos de diferentes VLANs se comuniquen a través de los switch o router capa 3. A cada interfaz VLAN se le debe asignar una etiqueta con la interfaz fuente (parent interface) y el número de la VLAN. Una sola interfaz fuente puede ser asignada a múltiples interfaces VLAN con diferentes etiquetas. (Figura 2.6) Figura 2.6 Creación de VLANs El etiquetado VLAN es la única característica de 802.1q que esta implementada, además no todas las interfaces Ethernet soportan este tipo de procesamiento. En la Tabla 2.3 se muestra un listado con las principales opciones que se pueden activar en la opción VLANs. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 39 Tabla 2.3 Opciones de la característica VLANs Opciones Interfaz Virtual Valor Cadena Descripción Usa el formato VLANX donde la X es un número que representa la interfaz VLAN Interfaz Menú Usualmente es una tarjeta de red conectada al puerto Fuente(Parent) desplegable de un switch correctamente configurado Etiqueta VLAN Entero Debe coincidir con una etiqueta de la red Descripción Cadena Opcional 2.4.3 Sección Almacenamiento de FreeNAS Dentro de la Sección de Almacenamiento de FreeNAS se configuran los volúmenes compartidos y las tareas de replicación de archivos, en este trabajo nos referiremos especialmente a este último aspecto. Tareas de Replicación de Archivos FreeNAS permite crear copias instantáneas de los volúmenes ZFS a otro sistema del mismo tipo sobre una conexión encriptada, esto permite garantizar una copia de respaldo remota en el momento que se considere necesario. En nuestro caso nos vamos a referir al proceso en que el sistema crea la instantánea del ZFS como PUSH y al proceso en que el otro sistema recibe la instantánea como PULL. Para crear una tarea de replicación el sistema debe cumplir los siguientes requisitos: Un volumen ZFS debe existir en ambos procesos, PUSH y PULL. Una instantánea periódica debe ser creada en el proceso PUSH. No se puede crear una tarea de replicación antes de que exista la primera instantánea. El servicio SSH (Secure Shell permite a los archivos ser transferido de manera segura sobre una red encriptada) debe estar activo en el proceso PULL, la primera vez que el servicio sea activo este crea las llaves SSH requeridas para el proceso. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 40 Una tarea de replicación usa las siguientes llaves: /data/ssh/replication.pub: llave publica usada para autentificar los usuarios del proceso de replicación PULL. Esta llave hay que copiarla en la cuenta de usuario root en la parte PULL. /etc/ssh/ssh_host_dsa_key.pub: llave publica del proceso PULL empleada para autenticar el lado receptor para prevenir un ataque de hombre en el medio. Esta llave hay que ponerla en la tarea de replicación en el proceso PUSH. Proceso de replicación ZFS En la figura 2.7, se muestra la ventana de configuración del Proceso de Replicación ZFS. En la Tabla 2.4 se muestra un listado con las principales posibilidades que se pueden activar en esta opción. Figura 2.7 Ventana de configuración del Proceso de Replicación ZFS Tabla2.4 Opciones de configuración del Proceso de Replicación ZFS Opciones Valor Descripción Sistema de Menú El volumen ZFS en PUSH contiene las instantáneas archivos/Volumen desplegable que van a ser replicadas; el Menú desplegable puede estar en blanco si no existe instantánea. Sistema de archivos Cadena El volumen ZFS en PULL que puede almacenar la CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO ZFS remoto 41 instantánea; es asumida /mnt/ y no debe ser incluida en la dirección. Replicación Periódica Casilla (recursively) de Si está marcado puede crear pequeños datasets y marcar reemplazar instantáneas previas almacenadas en PULL Reiniciar lado remoto Casilla de Realiza un reset una vez que el sistema quiere marcar destruir los datos de replicación en PULL antes de operar normalmente; usar esta opción si las replicaciones se atascan. Limite (kB/s) Entero Limita la velocidad de replicación al valor especificado en kilobytes/segundos; el valor por defecto “0” significa sin límite. Comienzo Menú La replicación no puede iniciar antes de este desplegable tiempo; los tiempos seleccionados en los campos comienzo y final determinan la ventana de tiempo en la que puede ocurrir la replicación. Final Menú La replicación debe iniciar antes de este tiempo; desplegable una vez iniciada, la replicación va a durar hasta que termine. Nombre de usuario Cadena Dirección IP o nombre del DNS de PULL Cadena Debe coincidir con el puerto que está siendo usado remoto Puerto remoto por el servicio SSH en PULL Activar Cifradores de Casilla de Notar que los Cifradores son más rápidos porque alta velocidad marcar tienen poca fuerza Llave de usuario Cadena Emplear el botón de escanear Llave SSH para remoto recuperar la llave pública de PULL. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 42 El tiempo de comienzo y fin de los procesos de replicación pueden ser usados para crear ventanas de tiempo entre una replicación y otra. Cambiar el tiempo por defecto (el cual permite que las réplicas ocurran en cualquier momento del día) si la tarea de tomar una instantánea está programada durante las horas de oficina debido a que estas deben ocurrir después del horario de oficina. Para el tiempo final debe tener en consideración, qué tan larga va a ser la replicación para que termine antes del principio del horario de oficina del otro día. Una vez que la tarea de replicación está creada, se mostrará la opción PUSH en la categoría View Replication Tasks. (Figura 2.8) Figura 2.8 Opción PUSH en la categoría View Replication Tasks. PUSH intentará inmediatamente crear una réplica de la última instantánea en PULL, si la réplica ocurre satisfactoriamente, la instantánea aparecerá en la tabla de PULL que se encuentra en la categoría Storage. 2.5 Integración con ambientes Microsoft Windows FreeNAS se puede integrar de forma eficiente con entornos Microsoft Windows, para ello contiene un módulo para asociarse a un servicio de directorio activo e implementa el protocolo CIFS para el intercambio de ficheros. En los epígrafes posteriores se abordaran con mayor profundidad estos aspectos. 2.5.1 Active Directory Active Directory (AD) es el término que usa Microsoft para referirse a su implementación de servicio de directorio en una red distribuida de computadoras. Su estructura jerárquica permite mantener una serie de objetos relacionados con componentes de una red, como CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 43 usuarios, grupos de usuarios, permisos y asignación de recursos y políticas de acceso. Active Directory permite a los administradores establecer políticas a nivel de empresa, desplegar programas en muchas computadoras y aplicar actualizaciones críticas a una organización entera. Active Directory almacena información de una organización en una base de datos central, organizada y accesible. Pueden encontrarse desde directorios con cientos de objetos para una red pequeña hasta directorios con millones de objetos. Es un servicio para compartir recursos en una red Windows. AD puede ser configurado en un servidor Windows que está corriendo Windows Server 2000 o mayor o en un sistema operativo del tipo Unix como la versión 4 de Samba. AD proporciona servicios de autenticación y autorización para los usuarios de la red, no hay que volver a crear esta cuenta de usuario en el sistema FreeNAS. Incluso se puede configurar el servicio Active Directory para importar la información de las cuentas de usuario de otro sistema y estos usuarios pueden ser autorizados a compartir por CIFS en el sistema FreeNAS. Antes de configurar el servicio Active Directory, revise que la resolución del nombre está configurada correctamente haciendo ping al dominio del nombre del controlador del dominio del Active Directory del Shell en el sistema FreeNAS. Active Directory trabaja junto a Kerberos, el cual es un protocolo sensible al tiempo, lo que significa que el sistema FreeNAS y el Controlador de Dominio de Active Directory tienen que estar sincronizados en tiempo, como mínimo estos pueden estar desfasados en unos pocos minutos. La mejor manera de asegurar que el mismo tiempo está corriendo en ambos sistemas es configurándolos para que: Usen el mismo servidor NTP en el sistema FreeNAS en System → NTP Servers Tengan la misma Zona de Tiempo Estén configurados para su tiempo local o el tiempo universal en el nivel BIOS. Ya configurado el servicio Active Directory inícialo en Services → Control Services, lo cual puede tomar varios minutos para que la información de Active Directory sea desplegada por todo el sistema FreeNAS, los usuarios y grupos AD pueden estar disponibles en los menús que se despliegan al dar click en la pantalla de permisos de un Volumen/basededatos (volume/dataset). Por razones de rendimiento puede que todos los CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 44 usuarios no se muestren en la lista, además autocompletará todos los usuarios cuando se comience a introducir un nombre de usuario. Se puede verificar cual usuario o grupo de Active Directory ha sido importado al sistema FreeNAS usando el comando siguiente en Shell: wbinfo –u, para ver usuarios; wbinfo –g, para ver grupos. Para chequear manualmente que un usuario específico puede autentificarse usar: net adsjoin -S dcname -U username 2.5.2 CIFS El Sistema de Archivos común para Internet (Common Internet File System CIFS) es un protocolo de red que ofrece servicio de archivos para computadoras que emplean Windows. Los sistemas del tipo Unix que brindan un cliente CIFS pueden también conectar con el servicio de compartir de CIFS (CIFS shares), antes de configurar este servicio, se debe primero crear un servicio de compartir de CIFS en “Sharing → Windows (CIFS) Shares → Add Windows (CIFS) Share”. Después de configurar el servicio ir a “Services → Control Services” para iniciar el servicio. El servicio de compartir de CIFS puede no estar disponible en la red si no está funcionando. Después de iniciar el servicio CIFS puede tomar varios minutos para que ocurra la elección que realiza el buscador maestro y para que sea accesible el sistema FreeNAS en el Windows Explorer. Al iniciar este servicio se pueden abrir los siguientes puertos en el sistema FreeNAS: • TCP 139 (smbd) • TCP 445 (smbd) • UDP 137 (nmbd) • UDP 138 (nmbd) Al iniciar la versión FreeNAS® 8.0.3-RELEASE, se cambian las configuraciones de CIFS y el servicio de compartir de CIFS toma efecto inmediatamente. Para versiones previas, los cambios realizados no tomaran efecto hasta que manualmente se paren e inicien los servicios CIFS. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 45 Es muy importante no marcar como parámetro auxiliar, al parámetro tamaño de la caché de nombre del directorio (directory name cache size). Debido a las diferencias en como Linux y BSD manejan los descriptores de archivos, el nombre del directorio de caché es deshabilitado en los sistemas BSD con el fin de mejorar el rendimiento. Comparado con otros protocolos de red, CIFS no es rápido, activar las siguientes casillas puede ayudar a aumentar el rendimiento (throughput) de la red: Soporte a grandes RW (Large RW support), Emplear “sendfile (2)” para enviar archivos [Send files with sendfile (2)] y activar AIO. Ajustar la configuración para que el tamaño de las lecturas y escrituras AIO sea mínimo para que se acomode a la infraestructura de la red y esto puede mejorar o degradar el rendimiento. Los parámetros de escritura de caché del Samba mejoran el rendimiento en la escritura en algunas configuraciones y puede agregarse al campo parámetros auxiliares, se usa un valor entero el cual es un múltiplo de _SC_PAGESIZE, el valor típico es 4096 para evitar la fragmentación de la memoria. Esto puede aumentar los requerimientos de memoria del Samba y no debe ser usado en sistemas limitados en RAM. El sistema Windows automáticamente guarda en caché la información referente al servicio de compartir, si se realizan cambios a un CIFS compartido o a los permisos de un volumen/basededatos que está siendo compartida por CIFS y no es posible acceder a los archivos que están siendo compartidos, prueba cerrando la cuenta de usuario y vuelve a ingresar en el sistema Windows. Si es posible, evita usar diferentes nombres en los archivos para evitar confusión en los usuarios de Windows, representando y resolviendo los nombres de los archivos con Samba el cual expone los archivos con mayor detalle. 2.6 Gestión global de usuarios con LDAP LDAP son las siglas de Protocolo Ligero de Acceso a Directorios (Lightweight Directory Access Protocol) que hacen referencia a un protocolo a nivel de aplicación el cual permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también es considerado una base de datos, aunque su sistema de almacenamiento puede ser diferente, a la que pueden realizarse consultas. CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 46 Un directorio es un conjunto de objetos con atributos organizados de manera lógica y jerárquica. El ejemplo más común es el directorio telefónico, que consiste en una serie de nombres de personas u organizaciones que están ordenados alfabéticamente, con cada nombre teniendo una dirección y un número de teléfono adjuntos. Un árbol de directorio LDAP a veces refleja varios límites políticos, geográficos u organizacionales, dependiendo del modelo elegido. Los despliegues actuales de LDAP tienden a usar nombres de Sistema de Nombres de Dominio (DNS) para estructurar los niveles más altos de la jerarquía. Conforme se desciende en el directorio pueden aparecer entradas que representan personas, unidades organizacionales, impresoras, documentos, grupos de personas o cualquier cosa que representa una entrada dada en el árbol o múltiples entradas. Habitualmente, almacena la información de autenticación de cada usuario y su contraseña y es utilizado para autenticarse aunque es posible almacenar otra información como datos de contacto del usuario, ubicación de diversos recursos de la red, permisos, certificados. A manera de síntesis, LDAP es un protocolo de acceso unificado a un conjunto de información sobre una red. Figura 2.9 Ventana de configuración de los parámetros LDAP CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 47 El sistema FreeNAS incluye un cliente OpenLDAP para acceder a la información de un servidor. Un servidor LDAP brinda servicios de directorio para encontrar recursos de red tales como usuarios y los permisos asociados a este, ejemplos de servidores LDAP pueden ser Microsoft Server (2000 y más reciente), Mac OS X Server, Novell eDirectory, y OpenLDAP corriendo en un sistema BSD o Linux. Si un servidor LDAP está corriendo en tu red, se debe configurar el servicio LDAP de FreeNAS para que el usuario de la red pueda autentificarse en el servidor LDAP y entonces pueda ser autorizado a tener acceso a los datos almacenados en el sistema FreeNAS. Luego de configurar el servicio LDAP, se puede iniciar en Services → Control Services. Si el servicio no inicia referirse dentro de la guía a los errores comunes encontrados cuando se usan software OpenLDAP para ver los errores comunes y como solucionarlos. Tabla 2.5 Opciones de configuración de OpenLDAP Opciones Nombre de Valor Descripción Cadena Nombre de usuario o dirección IP del servidor LDAP Cadena Nivel superior del árbol del directorio LDAP para ser usuario Base DN utilizado en la búsqueda de recursos. Permitir Casilla de Da instrucciones al servidor LDAP de permitir o no conexiones marcar acceso de lectura/escritura a cualquier cliente. Cadena Nombre de usuario del administrador del servidor anónimas Conexión entre usuario root y LDAP DN Contraseña entre usuario root y Cadena Contraseña para la conexión entre root y DN CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 48 DN Encriptación de Menú Seleccionar un tipo soportado por el servidor LDAP; contraseña desplegable posibilidades: en blanco (no encriptado), cryp, md5, nds, racf, ad, exop. Sufijo de usuario Cadena Opcional, puede ser adicionado al nombre de usuario cuando la cuenta de usuario se introduce al directorio LDAP Sufijo de grupo Cadena Opcional, puede ser adicionado al nombre de grupo cuando el grupo se introduce al directorio LDAP Sufijo de Cadena contraseña Sufijo de Opcional, puede ser adicionado a la contraseña cuando la contraseña se introduce al directorio LDAP Cadena máquina Opcional, puede ser adicionado a la máquina cuando el sistema se introduce al directorio LDAP Modo de Menú encriptación desplegable Certificado auto- Cadena firmado Posibilidades: “Off”, SSL o TLS Usado para verificar certificado del servidor LDAP, si se usan conexiones SSL; tiene como salida el comando “openssls_client-connectserver:portshowcerts” Parámetros Cadena Una por línea, no están incluidas en otras opciones. auxiliares 2.7 Monitoreo del sistema con SNMP El Protocolo Simple de Administración de Red o SNMP (Simple Network Management Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Permite a los administradores CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 49 supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento. El Protocolo de Administración Simple de Red (Simple Network Management ProtocolSNMP) es usado para monitorear dispositivos conectados a la red en condiciones que garantizan atención administrativa. FreeNAS puede ser configurado como un servidor bsnmpd usando el simple y extensible controlador de periféricos SNMP de FreeBSD. Si se activa SNMP, se activan los siguientes puertos en el sistema FreeNAS: • UDP 161 (el bsnmpd escucha los pedidos de SNMP) Los MIBS disponibles están en /usr/share/SNMP/mibs y /usr/local/share/SNMP/mibs. Figura 2.10 Ventana de configuración de los parámetros SNMP Tabla 2.6 Opciones de configuración del servicio SNMP Opciones Localización Valor Cadena Descripción Descripción opcional de la localización del sistema FreeNAS Comunidad Cadena Contraseña usada en la red SNMP, la opción por defecto es acceso público y debe ser cambiado por razones de seguridad Enviar trampas Casilla de Solo disponible en modo avanzado; una trampa es un CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO (traps) SNMP marcar 50 mensaje de notificación ante la ocurrencia de algún evento Parámetros auxiliares 2.8 Cadena Parámetros adicionales no cubiertos en las otras opciones. FreeNAS Shell El término Shell se emplea para referirse a aquellos programas que proveen una interfaz de usuario para acceder a los servicios del sistema operativo. Estos pueden ser gráficos o de texto simple, dependiendo del tipo de interfaz que empleen. La ventana Shell está diseñada para facilitar la forma en que se invocan o ejecutan los distintos programas disponibles en la computadora. En la versión 8.2.0 de FreeNAS, se incluyó dentro de la interfaz gráfica web, la opción de ejecutar una ventana de comando, facilitándoles así a los administradores, ejecutar herramientas mediante líneas de comando desde el navegador web. En versiones previas de FreeNAS, se debía tener acceso físico al teclado conectado a la consola FreeNAS o tener activado el servicio SSH y crear un usuario en el grupo “wheel” e introducir la contraseña del usuario root para poder acceder a la consola de comandos (shell). Ambos métodos de acceso pueden ser considerados riesgos de seguridad en algunos ambientes. La Figura 2.11 indica que el usuario actual es root, el nombre de usuario es freenas y no especifica el directorio local del usuario root. Mientras la ventana de comandos está abierta el usuario root no tiene acceso a los otros menús de la GUI, si estás en la venta de comandos para solucionar problemas y necesitas dejar la ventana de comandos para modificar alguna configuración dar click en la x en la esquina superior derecha de la ventana. La próxima vez que entres a la ventana de comandos esta retorna a tu última sesión. Cuando terminaste de usar la ventana de comandos, dar click en “exit” para cerrar completamente la sesión. La ventana de comandos brinda una historia, empleando la flecha arriba del teclado, se pueden ver los comandos anteriores y si aprietas “enter” cuando estas encima de un comando este se repite en la línea de comando actual. Si se aprieta “tab” en el teclado mientras están CAPÍTULO 2. SERVIDORES DE ALMACENAMIENTO 51 marcadas algunas letras estas se agregan al nombre de un comando o al nombre de archivo del directorio actual. Figura 2.11 Vista de la Shell de FreeNAS No todas las características de la ventana de comandos de FreeNAS funcionan correctamente en todos los navegadores, por lo cual se recomienda utilizar Firefox v.14 o superior. 2.9 Conclusiones del Capítulo En este capítulo se abordaron los temas relacionados a los servidores de almacenamiento con especial énfasis en las características con que deben contar para almacenar archivos multimedia. Se explicó las diferentes características con que cuentan los sistemas operativos de la plataforma NAS y con mayor detalle el sistema FreeNAS, incluyendo sus ventajas y desventajas para su empleo en servidores de almacenamiento; así como, los sistemas de fichero con los que se formatean los discos en los que se va a almacenar la información y las funciones que le permiten su integración con ambientes de Microsoft Windows. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 52 CAPÍTULO 3. Resultados y discusión En este capítulo trataremos los pasos más importantes del proceso de instalación del Sistema Operativo FreeNAS, así como su configuración y puesta en marcha con el fin de prestar servicios de compartición de archivos mediante una red. Se realiza además el análisis del desempeño del sistema en un escenario experimental. 3.1 Instalación y configuración de un servidor FreeNAS El sistema operativo FreeNAS se puede descargar gratuitamente de diferentes formas y formatos, donde el tipo de archivo adquirido, define la forma en que se puede instalar. Siendo las dos formas: una imagen con extensión .img.xz para descomprimirla en una Flash USB o en una Flash compacta e iniciar el programa desde esta; o una imagen con extensión .ISO a ser descomprimida en un CD-ROM o para su empleo en una máquina virtual. La primera pantalla que se observa en el monitor conectado al servidor en el proceso de instalación se muestra en la Figura 3.1, en la cual se muestran una serie de opciones que pueden ser empleadas por el usuario en caso de presentar problemas con alguna instalación previa, y se divide en las siguientes funciones: Instalación completa: permite realizar el formateo del disco duro e instala el sistema de ficheros de manera local. Arranque con archivos mínimos: carga solo los archivos imprescindibles para el sistema. Arranque normal: procede al inicio de todas las funciones y servicios del servidor, esta función activa la interfaz de configuración web. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 53 Figura 3.1 Pantalla de inicio de FreeNAS Una vez concluido el proceso de instalación en la máquina local aparece la consola de administración (Figura 3.2), en la cual se configuran las diferentes opciones básicas del sistema. Figura 3.2 Pantalla de configuración de FreeNAS A continuación se describen las opciones de configuración por defecto: Configuración de las interfaces de red: Mediante las cuales los usuarios podrán acceder al servidor ya sea desde un FTP, IP, mediante la web como administrador, o usando alguno de los diferentes protocolos del sistema. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 54 Configuración de nuevas conexiones: permite la agregación de múltiples interfaces de red en una simple interfaz virtual; lo que brinda tolerancia a fallos e intercambio de información de alta velocidad, así como multi-conexión. Los protocolos de agregación soportados determinan que puertos son usados para tráfico saliente y cual puerto específico acepta tráfico entrante. Creación de interfaz VLAN: para demultiplexar tramas con etiquetado IEEE 802.1q permitiendo a nodos en diferentes VLANs comunicarse a través de router o switch capa 3. Configuración de rutas por defecto: Activar en IPv4 o IPv6 el Gateway por defecto. Configuración de rutas estáticas: ya que hay rutas por defecto configuradas en el sistema y no se van a alcanzar algunas porciones de la red, es necesario incluir la red destino y la dirección IP del gateway. Configuración de DNS: requiere el nombre del dominio DNS y la dirección IP del primer servidor DNS. Reiniciar las credenciales administrativas de la web: si el administrador está imposibilitado de entrar mediante su nombre de usuario y contraseña, borrando los valores anteriores del nombre de usuario y contraseña de la cuenta admin. Reiniciar a configuración por defecto: elimina todas las configuraciones realizadas a la interfaz administrativa. Shell: para introducir comandos en lenguaje FreeBCD. Reboot: para reiniciar el sistema. Shutdown: apagar. Es importante destacar que la dirección web mostrada en la parte inferior es la interfaz de red configurada para acceder a la página. 3.1.1 Configuración del sistema FreeNAS mediante la Interfaz web Luego de instalado el sistema FreeNAS y configurada la interfaz de red, es posible acceder mediante la red a la página web del sistema usando la dirección que fue configurada. En la parte superior derecha de la página web aparece una advertencia que parpadea cada vez que alguna parte del sistema no funciona correctamente, pero en esta ocasión parpadea por CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 55 razones de seguridad debido a que el sistema no cuenta con un nombre de usuario y contraseña por defecto para la cuenta de administrador, el botón cambia su estado cuando es configurada la contraseña de este usuario que cuenta con permisos especiales sobre el sistema. Así cómo, es posible que los datos introducidos para la cuenta de administrador sean comunes con los de la cuenta root, la cual posee también permisos especiales sobre el sistema. Figura 3.3 Pantalla de configuración del nombre de usuario del administrador. Figura 3.4 Pantalla de configuración de la contraseña del administrador. 3.1.2 Configuración de usuarios Luego de cambiado el nombre y la contraseña de la cuenta de administrador es necesario configurar los diferentes usuarios y los permisos con que estos cuentan sobre el almacenamiento que se va a compartir mediante los diferentes protocolos. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 56 Figura 3.5 Pantalla de configuración de usuarios. 3.1.3 Configuración de los Servicios La Figura 3.6 muestra la sección de Servicios de la GUI, la cual permite configurar, iniciar o detener los servicios que componen el sistema. FreeNAS soporta los siguientes servicios: Active Directory: es un servicio para compartir recursos en una red Windows. AFP: el Apple Filing Protocol es un protocolo de red que brinda servicios de archivos para computadoras Mac. El servicio de compartir mediante AFP no va a estar activo en la red si este servicio no está corriendo. CIFS: Common Internet File System es un protocolo de red que ofrece servicios de archivos para computadoras Windows. Dynamic DNS: es útil en un sistema FreeNAS solo si está conectado a un ISP (Internet Service Provider) que cambie periódicamente la dirección IP del sistema. Con Dynamic DNS el sistema puede asociar automáticamente su dirección IP actual con un nombre de dominio, lo que permite acceder al sistema FreeNAS incluso si la dirección IP cambia. FTP: Una vez configurado e iniciado el servicio, los clientes pueden buscar y descargar datos usando un buscador web o una aplicación cliente de FTP. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 57 iSCSI: es un protocolo estándar para la consolidación del almacenamiento de datos. iSCSI permite a FreeNAS actuar como una SAN sobre una conexión de red Ethernet existente. LDAP: es usado para acceder desde un servidor LDAP, existente en la red, a la información que brinda el cliente OpenLDAP de FreeNAS. NFS: es un protocolo para compartir archivos en una red. Plugins: es un ambiente FreeBSD para instalar software adicional. Rsync: es el servicio que puede brindar permisos especiales en el almacenamiento a un usuario o grupo específico. S.M.A.R.T.: es una comprobación programable de algunos parámetros del disco duro para poder predecir una posible rotura de este. SNMP: es un protocolo usado para monitorear cualquier evento que ocurra en los dispositivos adjuntos a la red y le avisa al administrador mediante su dirección email. SSH: permite que los archivos sean transferidos con seguridad sobre una red encriptada. TFTP: es una versión ligera de FTP usada para transferir archivos de configuración o booteo entre dispositivos, tales como routers, en un ambiente local. TFTP brinda un set de comandos extremadamente limitado sin autenticación. UPS: es un servicio de apagado remoto configurado en un servidor para cuando la batería de respaldo está agotándose. Figura 3.6 Pantalla de configuración de servicios. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 3.2 58 Compartición de ficheros utilizando FreeNAS La Figura 3.7 muestra las diferentes opciones que brinda el sistema FreeNAS para la configuración del almacenamiento: -Administrador de Volumen: es utilizado con el fin de agregar discos que no estén ya configurados o formateados y convertirlos en volúmenes del sistema. -Importar Volumen: es empleada para adicionar discos que ya tengan un formato aceptado por el sistema y no sea necesario formatearlo. Es posible importar discos que contengan información y esta no se altera ya que el disco no es formateado o escrito durante el proceso. -Auto Importar Volumen: Es posible configurar el sistema FreeNAS para auto importar volúmenes; solo del tipo RAID UFS o ZFS. -View Disks: muestra los diferentes discos y sus propiedades, configuraciones de seguridad y de mantenimiento. Figura 3.7 Pantalla de configuración del almacenamiento. 3.2.1 Compartir el almacenamiento mediante CIFS de Windows La Figura 3.8 muestra la página de configuración del servicio de compartir el almacenamiento, así como los diferentes protocolos que se van a utilizar con este fin; CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 59 dependiendo del tipo de sistema operativo que sea más común en las computadoras conectadas a la red mediante la cual se va a compartir el almacenamiento. El sistema brinda tres posibilidades: - Mediante el empleo del protocolo AFP compartir archivos con Sistemas Operativos de Apple. - Mediante el empleo del protocolo NFS compartir archivos con Sistemas Operativos de UNIX. - Mediante el empleo del protocolo CIFS compartir archivos con Sistemas Operativos de Windows. Figura 3.8 Pantalla de configuración del servicio de compartir. 3.3 Evaluación del sistema en un escenario experimental. Para la puesta en marcha del sistema NAS se emplea el sistema operativo FreeNAS 8.3.0 el cual se instaló mediante la utilización de un CD-ROM en una computadora que cuenta con un microprocesador Pentium IV a 3 GHz de frecuencia y bus de 400 FSB, con dos memorias RAM de 256 MB funcionando en dual-chanel, así como un disco duro de 80 GB. Luego de estar configurado el sistema, sus dispositivos de almacenamiento y usuarios, así como las capacidades y permisos sobre los volúmenes del almacenamiento que posee cada uno de ellos, se configuró el servicio Plugins para utilizar un software compatible que permitiera compartir video mediante un servidor UPnP (Universal Plug and Play es un software libre que define protocolos y procedimientos comunes para garantizar la inter- CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 60 operatividad entre PCs de diferentes fabricantes, aplicaciones y dispositivos inalámbricos por la red.) para monitorear el rendimiento del servidor central del sistema NAS ante la carga que este servicio supone. 3.3.1 Análisis de las gráficas resultantes del experimento. Una de las propiedades que más se emplea de la interfaz web del sistema FreeNAS es el acceso a un reporte o informe del estado del servidor central en forma de gráficas. Comportamiento de la carga del sistema: La Figura 3.9 muestra el comportamiento del sistema en cuanto a los picos de carga debido a los pedidos de los usuarios durante una hora de funcionamiento. El sistema realiza una comparación de la carga en diferentes intervalos de tiempo, notándose que mientras pasaba el tiempo más usuarios se fueron conectando y aumentó considerablemente los pedidos y como consecuencia la carga del sistema. Figura 3.9 Gráfica de carga del servidor NAS Comportamiento de los procesos del sistema: La Figura 3.10 muestra la cantidad de procesos que se ejecutaron durante una hora de funcionamiento del sistema, la cual se mantuvo constante; había procesos activos, inactivos y en espera, ya que solo se estaba prestando un servicio. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 61 Figura 3.10 Gráfica de procesos del servidor NAS Comportamiento del espacio ocupado en los medios de almacenamiento: En nuestro escenario experimental se emplearon tres medios de almacenamiento: 1-Disco de 80GB que fue empleado para instalar el sistema operativo FreeNAS 8.3.0 y como luego de instalado, el tamaño que ocupa este varia poco, la gráfica se mantiene constante. Figura 3.11 Gráfica de espacio ocupado en el disco media. 2-Memoria Flash de 4GB, en la configuración del servicio Plugins hay que proporcionarle un medio de almacenamiento al sistema para desempaquetar los Plugins que se vayan a instalar, como se instaló solo un Plugins el contenido del disco no fue alterado nuevamente por lo que la gráfica permanece constante. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 62 Figura 3.12 Gráfica de espacio ocupado en el disco media1. 3-Memoria Flash de 4GB, es el dispositivo de almacenamiento que se compartió, el cual fue configurado como un volumen y utilizado para copiar los archivos de video que se utilizaron en el servidor UPnP; primeramente tenía el espacio ocupado por 1,1GB de videos a las 11:59 minutos y luego se le agregó 700MB para completar los 1,8GB de espacio ocupado. Figura 3.13 Gráfica de espacio ocupado en el disco media2. Comportamiento del tiempo que ha estado encendido el sistema: La Figura 3.14 muestra un registro del tiempo que ha estado funcionando el sistema, sin interrupción. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 63 Figura 3.14 Gráfica del tiempo encendido. Comportamiento del uso de la CPU: La siguiente gráfica expresa mediante picos de carga, el uso aproximado que le da el sistema a la unidad central de procesamiento del servidor NAS. Los momentos de mayor consumo fueron en ocurrencia de eventos en el almacenamiento, como copias de archivos que resultó en un pico de consumo mayor al 100 % a las 12:00 AM y el empleo por el servidor UPnP resultó en un consumo constante entre las 12:00 y las 12:50 AM. Figura 3.15 Gráfica del uso de la CPU. Comportamiento de la utilización del espacio de intercambio: La memoria flash de 4GB que fue utilizada para almacenar los archivos a compartir fue formateada con ZFS; en los discos o volúmenes ZFS es utilizado parte del disco para espacio de intercambio (swap), espacio de intercambio o memoria virtual es una zona del disco (fichero o partición) que se usa para guardar imágenes de los procesos que no han de CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 64 mantenerse en memoria física, tales como procesos inactivos. El ZFS emplea 2GB de espacio de intercambio que toma de todos los volúmenes. Figura 3.16 Gráfica del uso del espacio de intercambio. Comportamiento de la utilización de memoria física: El servidor NAS cuenta con 512MB de memoria RAM física, de esta comparte más de 12MB para video. Emplea casi toda la memoria RAM disponible en procesos activos, inactivos o para memoria caché del sistema, por lo que solo queda libre entre 10 y 53,7 MB de memoria RAM. Lo que implica que sea necesario un aumento en memoria RAM para lograr una mejoría considerable en el rendimiento del sistema, debido a que esta cantidad de memoria es suficiente para el uso de este servicio con una cantidad mínima de usuarios. El aumento de la cantidad de usuarios puede significar la sobrecarga del sistema y el colapso del servidor. Figura 3.17 Gráfica del uso de la memoria física. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 65 Comportamiento del tráfico por interfaz: Las gráficas que se muestran a continuación monitorean el tráfico de tres interfaces que posee el FreeNAS, las cuales pueden ser físicas o virtuales. La Figura 3.18 se refiere a la interfaz física de conexión del servidor con el almacenamiento compartido expresando en Mb/s el tráfico de recepción cuando son copiados datos al almacenamiento en la que el sistema registra picos de más de 60Mb/s, y transmisión que registra el tráfico de la información que solicitan los usuarios del servicio y este se mantiene relativamente constante dependiendo de la cantidad de usuarios. Figura 3.18 Estado de la interfaz virtual sk0. En las Figuras 19 y 20 se muestran las gráficas referidas al monitoreo de interfaces virtuales que posee el sistema FreeNAS para la comunicación entre sus procesos internos. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 66 Figura 19 Estado de la interfaz virtual Bridge0 Figura 20 Estado de la interfaz virtual Epair0a 3.4 Análisis económico Para llevar a cabo la instalación profesional de un sistema de almacenamiento distribuido es necesario la inversión de cierta cantidad de recursos de hardware. En la Tabla 3.1, se muestra el análisis económico correspondiente a un dimensionamiento de 1000 usuarios, con la posible instalación dentro de la red corporativa de la empresa TeleCable Internacional en la Cayería Norte de Villa Clara. Tabla 3.1 Análisis económico. Elemento Servidor NAS Cantidad Precio 2 890.00 CUC 2 1300.00 CUC Intel Core i7 Hdd 500 GB 8 GB RAM Datacenter NAS Intel Core i7 2 x Hdd 1500 GB CAPÍTULO 3. RESULTADOS Y DISCUSIÓN 67 16 GB RAM Total 3.5 3880.00 CUC Conclusiones del Capítulo En este capítulo se abordaron los resultados obtenidos a partir de la instalación y configuración del servidor NAS para, mediante el uso del servicio Plugins, compartir video usando un servidor UPnP y así poder monitorear el comportamiento de los diferentes parámetros del sistema FreeNAS en un escenario experimental, el cual demostró la eficiencia del sistema ante la carga proporcionada, justificando su uso para prestar servicios de IPTV; que brinda la empresa TeleCable Internacional en la Cayería Norte de Villa Clara. CONCLUSIONES Y RECOMENDACIONES 68 CONCLUSIONES Y RECOMENDACIONES Conclusiones Con la realización de este trabajo se obtuvieron las conclusiones siguientes: 1. Cuando las necesidades de dimensionamiento en función del almacenamiento son elevadas es mejor la utilización de SAN sobre NAS. 2. En caso de diseñar un sistema de almacenamiento distribuido, lo mejor es utilizar discos duros de alta calidad, debido a la alta demanda y carga a la que son sometidos. 3. Es conveniente el empleo de varios discos duros de menor capacidad en configuración RAID, para garantizar la protección de los datos con la presencia de redundancia. 4. La utilización de sistemas operativos de software libre especializados en la compartición de ficheros, garantiza la reducción de gastos económicos en software, permitiendo la selección de hardware más eficiente. 5. FreeNAS es una de las herramientas más versátiles y potentes cuando se necesita realizar una implementación profesional de intercambio de ficheros y se posee una cantidad limitada de recursos económicos y computacionales. Recomendaciones 1. Continuar con el estudio de los sistemas de almacenamiento distribuidos, en especial las últimas aplicaciones relacionadas con La Nube y sus derivados. CONCLUSIONES Y RECOMENDACIONES 69 2. Comparar el método de intercambio de archivos con otros sistemas operativos especializados equivalentes a FreeNAS para evaluar su desempeño en entornos de red. 3. Comprobar el comportamiento de FreeNAS, cuando se utiliza para prestar conjuntamente otros tipos de servicios de alta demanda, junto a streaming de video. 4. Implementar un clúster con servidores FreeNAS para disminuir la carga de la red entre varios sistemas, y evaluar su desempeño con la prestación de servicios de alta demanda, como videojuegos y 3DTV. REFERENCIAS BIBLIOGRÁFICAS 70 REFERENCIAS BIBLIOGRÁFICAS ADAPTEC. 2013. Available: http://www.adaptec.com [Accesed] Bradley, Kevin 2007. Hacia un Sistema de Almacenamiento y Preservación en Código Abierto. Organización de las Naciones Unidas para la Educación, la Ciencia y la Cultura. París. Breasley, Jeffrey S. 2008. Prentice Hall Networking. Clark, Tom 2003. Designing Storage Area Networks: A Practical Reference for Implementing Fibre Channel and IP SANs, Second Edition Coumer, Douglas E. 1996. Redes Globales de información con Internet y TCP/IP. Department of Computer Sciences Purdue University West Lafayette. Hewlett-Packard Development Company. 2005. Guía de soluciones Easy as NAS. Available: http://www.hp.com [Accesed] InfoTech/Admin/FHCRC/V/Dops 2005. History & Plumbing: What Happens under the Hood in DAS, NAS, and SAN. Available: http://www.skendric.com/san[Accesed] Lavigne, Dru 2012. FreeNAS 8.3 Users Guide Mueller´s, Scott 2011. Upgrading and repairing pcs, 20th Edition. Indianápolis Schulz, Greg 2012. Cloud and Virtual Data Storage Networking. Sims, Larry 2008. Learning FreeNAS. Birminghan-Mumbay. Thomas, Tim, Sun Microsystems, Systems Engineering Team, Storage Group 2006. SAN Fundamentals. Santa Clara, University of California. Tropens, U., Müller-Friedt, W., Wolafka, R., Erkens R., Haustein, N. 2009. Storage Networks Explained. Heidelberg, Germany REFERENCIAS BIBLIOGRÁFICAS 71 Tse, P.K.C. 2008. Multimedia Information Storage and Retrieval: Techniques and Technologies. University of Hong Kong, China Valenzuela Jiménez, Jorge 2010. Estudio, diseño e implementación de un servidor de almacenamiento remoto multiprotocolo sobre plataforma virtual. Universidad Carlos III de Madrid. Dimitroff, J. and M. C. A. Nguyen (2004). System and method for managing data flow and measuring service in a storage network, Google Patents. Glider, J. S. and W. Scales (2003). "The software architecture of a SAN storage control system." IBM Systems Journal 42(2): 232-249. Menon, J., D. A. Pease, et al. (2003). "IBM Storage Tank—a heterogeneous scalable SAN file system." IBM Systems Journal 42(2): 250-267. Monday, P. R. (2001). Dynamic logical storage volumes, Google Patents. Nolan, S. J., J. S. Nespor, et al. (2003). Method for configuration and management of storage resources in a storage network, Google Patents. Preston, C. (2007). Using SANs and NAS: Help for Storage Administrators, O'Reilly Media. Prust, M. (2005). Network-based remote data storage system having multiple access interfaces, Google Patents. Rabe, B. R., M. Clifford, et al. (2007). Storage area network (SAN) management system for discovering SAN components using a SAN management server, Google Patents. XIE, C.-s. and W. Jin (2004). "Research and Design of the Implementation of Network Level Storage Visualization of SAN [J]." Application Research of Computers 4: 067. ANEXOS 72 ANEXOS Anexo 1 Solución de problemas de replicación. Si has seguido los pasos y hay instantáneas PUSH que no se replicaron en PULL, ver si el SSH está funcionando correctamente. Entra en PUSH, abrir Shell y trata de entrar mediante SSH en PULL. Cambia el nombre de usuario_o_ip (hostname_or_ip) con el valor de PULL empleando la siguiente sentencia: ssh -vv -i /data/ssh/replication hostname_or_ip Este comando no debe pedir contraseña, si lo hace la autenticación del SSH no está funcionando. Ir a Storage → Replication Tasks → View Replication Tasks y dar click en el botón "View Host Key", asegurarse de que es igual que el valor /etc/ssh/ssh_host_dsa_key.pub que está en PULL. También ir a /var/log/auth.log en PULL para ver las indicaciones del error. Si la llave es correcta y la replicación todavía no funciona, borrar todas las instantáneas en PULL excepto la más reciente, en Storage → Periodic Snapshot Tasks → View Periodic Snapshot Tasks → ZFS Snapshots marcar las casillas que están al lado de cada una excepto la última (marcar todas las que tienen 2 iconos y no la que tiene 3), y click en el botón Destroy global en la parte superior del escritorio. Una vez tengas una sola instantánea abrir Shell en PUSH y usar el comando mandar de ZFS. Para continuar el ejemplo, la instantánea ZFS en la base de local/data del PUSH se llama auto-20110922.1753-2h, la dirección IP del PULL es 192.168.2.6, y el volumen ZFS en PULL es remoto. El @ es empleada para separar el nombre del volumen/basededatos del nombre de la instantánea: zfs send local/[email protected] | ssh -i 192.168.2.6 zfs receive local/[email protected] ANEXOS 73 Si el comando termina con el error “no se puede recibir nuevas cadenas del Sistema de archivo: el destino tiene instantáneas” marcar la casilla “inicializar lado remoto una vez” en la tarea de replicación e intenta nuevamente. Si el comando, mandar, de ZFS falla de nuevo, necesitas abrir Shell en PULL y usar el comando zfs destroy –R volume_name@snapshot_name para borrar la instantánea atascada. Entonces puedes usar el comando zfs list –t snapshot en PULL para confirmar que la instantánea fue replicada exitosamente. Después de transmitir correctamente la instantánea, chequea luego de que pase el periodo entre instantáneas para ver si la próxima se transmitió correctamente. Si todavía no funciona, manualmente puedes enviarle una copia incremental de la última instantánea que hay en los dos sistemas al actual con el siguiente comando: zfs send local/[email protected] | ssh -i /data/ssh/replication \ 192.168.2.6 zfs receive local/[email protected]