Open Storage Cómo resolver las necesidades de almacenamiento con las ventajas económicas del mundo open (DOWN COST TECHNOLOGY) Ivan Ricondo [email protected] http://www.flickr.com/photos/simon_and_you/1062318106 Objetivos Introducción a tecnologías de almacenamiento y conceptos relacionados. Revisar las diferentes soluciones disponibles en Open Storage Demo de solución “elegida”. 2 Evolución Almacenamiento Direct Attached Storage (DAS) • Almacenamiento directamente conectado al servidor • Almacenamiento disperso • Tecnologías SCSI, FC, IDE, SATA, SAS… Network Attached Storage (NAS) • Almacenamiento conectado a la LAN • Centraliza almacenamiento • Protocolos NFS, CIFS, FTP… • Servidor NAS utiliza almacenamiento DAS o SAN 3 Storage Area Network (SAN) • Almacenamiento conectado a red de alta velocidad dedicada • Protocolos FC, iSCSI… • Muchas mas funcionalidades • Reduce TCO Tradicionalmente más económicas que SAN Suelen ser más pequeñas Rendimiento menor que SAN No vale para ciertos servicios SAN NAS NAS vs SAN 4 Tradicionalmente más caras que NAS Tradicionalmente suelen ser para instalaciones grandes (por los costes) Valen para todos los servicios (hasta grandes servidores de BBDD) Por qué centralizar almacenamiento Rendimiento Disponibilidad Gestión Funcionalidades • Mayor velocidad de acceso a datos • Repartir operaciones de IO por muchos discos • Almacenamiento varias capas/Caching • Redundancia en discos (RAID-1, RAID-5…) • Posibilidad de tener caminos redundantes para acceso a discos • Tiempos de recuperación ante desastres menores • Gestión centralizada e independiente de la plataforma • Dar a cada máquina lo que necesita con total flexibilidad (ej. Disco de 20GB) • Adaptación a requerimientos del cliente (ej. crecimiento disco) • • • • Réplicas Snapshots Acceso de varias máquinas a mismo disco (Clusters) … 5 Funcionamiento discos RAID Objetivo: para entender por qué aumenta rendimiento, entender los diferentes tipos de RAID y saber cuando se usan RAID 0 o Striping • No tiene redundancia de datos • Se usa para aumentar rendimiento RAID 1 o Mirroring: RAID 5 Otros RAID • Tiene • RAID 6: igual que redundancia RAID5 pero con • Tiene 2 discos de • Mínimo 3 discos redundancia redundancia • Soporta el fallo • Cada disco tiene (mínimo 5 discos) de 1 disco una copia • RAID • Pierde capacidad • Pierde mucho combinados de 1 disco por espacio (RAID-10, RAIDRAID • Buen rendimiento 50…) • Rendimiento peor que RAID-1 6 Ejemplo RAID-0 o Striping 7 RAID-1 o Mirroring Tiene redundancia, se “pierde” 50% almacenamiento 8 Ejemplo RAID-5 (con 3 discos) Tiene redundancia, se “pierde” 33% almacenamiento 9 RAID-10 / RAID-50 10 Cabina Almacenamiento SAN No DAS, sino compartido Cada máquina recibe el almacenamiento que necesita. Flexibilidad de cambios Rendimiento mejorado Más funcionalidades Discos spare 11 Almacenamiento Lógico De forma lógica se ve un “volumen” sobre el que se crean discos Cada máquina recibe el disco que necesita Flexibilidad para crecer o decrecer Rendimiento discos “repartido” 12 Funcionalidades (I) Snapshot Clone • • • • • • Copia de un disco en un momento dado Se hace de forma inmediata No ocupa todo el espacio, sólo las diferencias Se puede montar un snapshot (normalmente sólo lectura) Se puede devolver un disco al estado de su snapshot Algunas utilidades típicas: backup, puestas producción • • • • • Copia de un disco completa El clon ocupa tanto como ocupaba el disco original Normalmente tarda en hacerse (por la copia de los sectores) Se puede montar en lectura y escritura Es disco independiente que se puede montar en lectura y escritura • Utilidad típica: entornos de preproducción 13 Funcionalidades (II) Deduplicación • Información que sea igual en lugar de almacenarse varias veces, se almacena sólo una. • Juntándolo con clones puede hacer que se hagan de forma inmediata y no ocupen casi espacio. • Para no disminuir rendimiento en acceso a disco requiere mucha memoria o determinados tipos de discos. Discos • Casi cualquier cabina SAN permite hacer todo tipo de RAID (0,1, 5, 6, 10, 50…) y utilizar spares • Posibilidad tener RAID mejorados Almacenamiento varias capas • Acelerar acceso a disco poniendo discos SSD empresariales en configuración especial: • Discos de log para acelerar escritura • Discos de cache para acelerar lectura 14 Funcionalidades (III) Thin provisioning • Capacidad de asignar espacio a máquinas y aprovisionarlo cuando se necesite Replicación • Posibilidad de tener la información redundada en varias cabinas • Replicaciones síncronas/asíncronas Cluster • Para dar alta disponibilidad posibilidad de crear dos cabinas que funcionen como una 15 Funcionalidades (IV) Clusters Multipathing •Necesidad de acceso de dos máquinas a mismos ficheros •Ejemplo: Microsoft Cluster, o VMWare •Tener varios caminos para llegar al disco •Para dar redundancia en el acceso a los discos 16 Conexión a cabina SAN Fibre Channel (FC) iSCSI 17 • Velocidad 8Gpbs • Más cara que iSCSI • Más rendimiento que iSCSI • Velocidad conexión máxima 10Gbps • Utiliza Ethernet para la conexión (encapsula protocolo SCSI sobre IP) • Más barato que FC • Menor rendimiento que FC Open Storage Open Storage rompe mucho de los paradigmas clásicos Pueden crearse cabinas a precio reducido y sin tener que pagar un “canon” por cada funcionalidad que se necesite Es Software que se instala sobre en hardware estándar (más económico que hardware propietario de almacenamiento). Al instalar una cabina basada Open no te casas con proveedor para siempre (como con cabinas propietarias) Compra de discos se hacen a precio de mercado 18 Soluciones Open Storage Desde el Laboratorio de Strelia se han analizado las siguientes soluciones: Linux con LVM2/DRBD Linux OpenFiler 2.3 Linux Open-E FreeNAS 0.7.1 OpenSolaris 9.6 Otras soluciones (Gluster, webdav, …) NexentaStor 3.0.4 19 Qué se buscaba Crear SAN en entorno empresarial Acceso a SAN mediante iSCSI Ver posibilidades de crear dos cabinas replicadas Una vez decidida solución se ha medido el rendimiento 20 Linux con LVM2/DRBD Se ha instalado una máquina Debian, configurando LVM2, DRBD, MDADM, iSCSI Acceso desde máquina con Windows 7 por iSCSI. Configuración de funcionalidades básicas y replicación síncrona de complejidad media. Administración compleja (todo es demasiado manual) Instalar máquinas en cluster es complicado (instalar Hearbeat y hacer muchas pruebas) Todo el software necesario es gratuito, salvo si se quisiera hacer replica asíncrona. 21 OpenFiler OpenFiler es directamente una distribución con instalación sencilla (CD y sencillo Wizard). La configuración se realiza desde entorno Web. Parece ser la distribución más utilizada en entornos no empresariales. Se puede configurar dos máquinas para tener replicación de datos, o incluso alta disponibilidad, pero de forma complicada desde el entorno de líneas de comando (documentada en un libro de documentación que es necesario comprar). Se puede instalar de forma gratuita y después si se quiere contratar el soporte y los manuales con la documentación. 22 Linux Open-E Igual que el anterior es una distribución directamente. En su momento no la probamos por no tener alta disponibilidad, recientemente la hemos probado. Es una distribución orientada a mercado Empresarial. Tiene funcionalidades básicas, pero poco a poco van añadiendo más (ej. Replicación). Precio de versión ilimitada: 2.716$ 23 OpenSolaris Se ha instalado sobre una máquina con 36discos de 2T y se han creado varios discos ZFS, compartidos por iSCSI. A esta máquina se ha accedido desde un ordenador con Windows 7. A nivel de complejidad es parecida que la solución con Linux LVM2/DRBD Lo bueno, el File System ZFS. Lo malo, es que esta solución NO va a tener continuidad. 24 FreeNAS Esta distribución está basada en BSD. Tiene soporte nativo para ZFS y va a tener continuidad…. No tiene el número de usuarios que OpenFiler No tiene posibilidad de configurar alta disponibilidad. Precio es gratuito. La nombramos por tener la referencia completa. 25 Otras soluciones Gluster • Es una solución de almacenamiento DISTRIBUIDA • Información se divide entre varios equipos que tienen su almacenamiento DAS • Es un FileSystem no un NAS/SAN • Sobre él se puede montar NAS/SAN Almacenamiento Cloud • Dentro de proyectos de Cloud sobre linux, se han creado otros FS, por ejemplo: • Dentro de Eucalyptus el EBS (Elastic block store) • Dentro de OpenStack el OpenStack Object Storage •… 26 Nexenta Tiene posibilidad de TODAS las funcionalidades descritas Dispone de dos versiones: Community y Enterprise Cabina es NAS y SAN Community no tiene soporte, tiene límite de 18TB y no se pueden poner plugins de pago Enterprise es de pago (se paga por TB) Funcionalidades de Replicación, Cluster y conexión FC son de pago. Basado en sistema de ficheros abierto (ZFS). Certificado con VMWare. 27 Sobre ZFS Creado por Sun Microsystems a finales del 2005. Posibilidad de almacenar gran cantidad de datos (ZetaByte). Velocidad de acceso muy rápida. Posibilidad de hacer deduplicación. Chequeo de todo los sectores leídos/escritos y reparación automática de errores. Posibilidad de hacer snapshots ilimitados sin pérdida de rendimiento. 28 Funcionalidades de Nexenta (I) Todo tipo de RAID Gestión centralizada y flexible Funcionalidades SAN y NAS Snapshots Clones Presentar discos a varias máquinas Multipathing 29 Funcionalidades de Nexenta (II) RAID mejorados Almacenamiento a dos capas Snapshots mejorados Clones mejorados • RAIDZ1, RAIDZ2 y RAIDZ3 • RAID sin perdida de rendimiento en escritura • Caching de escritura/lectura sobre discos SSD • Posibilidad snapshots ilimitados • Sin perdida de rendimiento • Se realizan de forma inmediata • Prácticamente no ocupan espacio Deduplicación • Almacenar datos repetidos menos veces • Nos ayuda a contener crecimiento necesidad de almacenamiento Thin provisioning • Asignación dinámica del espacio • Nos ayuda a contener crecimiento necesidad de almacenamiento Fiabilidad Rendimiento mejorado Información Rendimiento • Chequeo sectores leídos y escritos con recuperación de datos • Todas las mejoras y la forma de funcionar mejoran rendimiento y dan un gran rendimiento • Datos de performance ricos y accesibles 30 Funcionalidades de Nexenta (III) Pago por TB de almacenamiento raw Varios tipos de soporte (silver, gold…) Replicación (síncrona y asíncrona) Acceso a los discos por Fibre Channel Montaje de clusters de cabinas … Todas las funcionalidad se pueden ir implantando según las necesitemos 31 Instalación y configuración Instalación mediante CD que instala “appliance” (sistema operativo y Nexenta). Gestión mediante sencillo entorno web 32 Experiencia En Strelia hay cabina Nexenta en producción desde julio de 2010 Montado sobre máquina de 36 discos (Supermicro) con 72TB de información Rendimiento muy bueno Precio por GB muy barato 33 Ejemplo Configuración: StreliaStor 4U-72T • Hasta 72TB disponibles de almacenamiento (36x2TB SAS HDDs) • 36 bahías de disco Hot-swap SAS/SATA en sólo 4U • Configuración base lleva 31 discos de 2TB • Posibilidad de mejorar rendimiento con 3 discos SSD de STEC • 24/48GB memoria • Procesador Intel Quad Core • Fuentes de alimentación de 1400W nivel Gold (93%+ eficiencia) • IPMI 2.0 Integrada • Gran capacidad de crecimiento (hasta 192GB de memoria y 7 PCI-E 2.0 x8, en Ideal para entornos slot x16) de backup 34 Ejemplo Configuración: StreliaStor 2U-24T-SSD1 • 9 discos de 2TB SAS • 2 x 50GB STEC Mach16IOPS SLC SSD (Write Cache) • 1 x 200GB STEC Mach16IOPS MLC SSD (Read Cache) • 24GB memoria • Procesador Intel Quad Core • IPMI 2.0 Integrada • Gran capacidad de crecimiento (hasta 192GB de memoria y 7 PCIE 2.0 x8, en slot x16) • Alto rendimiento, hasta 7500IOPS 35 Solución Entry para entornos alto rendimiento Ejemplo Configuración: StreliaStor HA • Doble controladora de disco • 12 discos SAS de 600TB a 15000RPM • 2 x 8GB STEC RAM Drive SSD (Write Cache) • 1 x 400GB STEC ZeusIOPS MLC SSD (Read Cache) • 48GB memoria por cada nodo • 2 x Procesador Intel Quad Core por cada nodo • IPMI 2.0 Integrada • Alto rendimiento, hasta 100.000 IOPS 36 Ideal entornos críticos Non-Stop con el rendimiento más eficiente posible Ejemplo Configuración: StreliaStor a medida • Posibilidad de generar configuraciones a medida. Ejemplo: • Dos nodos conectados a cabinas JBOD • 100 discos de almacenamiento • Replicado con una segunda cabina • Gran rendimiento de disco con Caché de lectura y escritura discos SSD STEC 37 DEMO Conclusiones Desde Strelia se cree que la solución más empresarial y seria es la de Nexenta. Nexenta es Open Storage (que no Free) Por defecto trae la mayoría de las funcionalidades habituales (resto de funcionalidades de pago) Hardware para montar cabinas muy grandes es complicado de conseguir Pero en cabinas medianas es una alternativa Puede poner al alcance de Pymes (o delegaciones de grandes empresas) funcionalidades que normalmente sólo contratan grandes empresas por su precio 39 40