Blog del grupo de investigación GRITS. Redes de próxima generación para el Internet del futuro, Fog Computing e Internet de las cosas para implementar nuestros diseños personalizados en nubes híbridas ciberseguras, en sistemas de almacenamiento a gran escala y comunicaciones de larga distancia.

01 Febrero 2015 | Publicado por Editorial Team GRITS

La revolución de los sistemas de almacenamiento

Cloud-storage-safe

Estos últimos años, los sistemas y tecnologías Cloud han revolucionado prácticamente todos y cada uno de los aspectos de las redes y sistemas informáticos. Los sistemas de computación han hecho un avance increíble gracias a la virtualización, que permite ejecutar múltiples sistemas operativos en un mismo host. Con esto se consigue reducir el consumo energético y maximizar la utilización de la infraestructura.

Por otro lado, las redes han evolucionado muchísimo. El estándar de conectividad en un CPD ya es hoy en día 10Gbps como mínimo. Estos caudales son necesarios dado que la potencia de los equipos se ha incrementado hasta tal punto que un rack puede manejar más de 1Tbps usando blade servers que permiten incrementar la densidad de equipos.

Pero no nos olvidemos del almacenamiento. La principal evolución de estos sistemas a nivel físico son los SSD. Los SSD son medios de almacenamiento basados en memoria Flash, en vez de los tradicionales discos duros compuestos de partes mecánicas, móviles y magnéticas. Estos nuevos medios permiten incrementar hasta límites insospechados años atrás, con ratios de IOPS (Input Output Per Second) superiores a los 100.000 mientras que los discos tradicionales se mantienen alrededor de 75-120 para los discos SATA de 7200RPM. Si nos vamos a los discos duros SAS de 10000RPM esta cifra asciende hasta los 200IOPS en el mejor de los casos.

Para hacernos una idea de la magnitud de operaciones de entrada y salida, NetAPP dispone de una cabina capaz de llegar a los 1.200.000IOPS mediante 1440 discos tradicionales de 15000RPM. Un único medio SSD basado en conectividad PCI como podría ser el ioDrive de Fusion-IO de generación actual puede logar 1.100.000IOPS. La próxima generación de estas unidades permitirá rozar los 10 millones de IOPS.

Este tipo de almacenamiento que permite tantas operaciones de entrada y salida, tiene una gran utilidad para los servidores que gestionan datos de tipo transaccional, es decir, bases de datos con una carga de peticiones altísima. Pero estas unidades tienen un inconveniente muy grande a día de hoy: la capacidad. Mientras ya existen en el mercado unidades de 8TB basadas en almacenamiento tradicional y por un coste bajísimo, las unidades SSD de mayor capacidad están sobre los 2TB a un precio órdenes de magnitud mayor que los discos duros tradicionales.

Hay otro factor muy a tener en cuenta para escoger un sistema de almacenamiento: el precio. Actualmente el mercado se divide en dos tipos principales: el sector doméstico y el sector empresarial. Los equipos de calidad empresarial tienen un MTFB muy superior al de un equipo doméstico y ha superado controles de calidad mucho mas rigurosos. El problema es el precio, que puede ser más del doble o del triple cuando ofrecen prestaciones muy similares.

Una tendencia que se muestra bastante clara durante los últimos años es reducir los costes lo máximo posible y intentar mantener las prestaciones globales. Para ello, el almacenamiento que tiene que ser rápido, hoy  en día la elección es una cabina de discos iSCSI o FCoE basada en almacenamiento Flash. Este almacenamiento es caro pero útil para que desempeñen correctamente las bases de datos. Para almacenar objetos dónde interesa la permanencia y que tienen una mutabilidad muy baja, no son necesarios muchos IOPS pero si capacidad. Y en este caso lo que se busca es maximizar la relación capacidad/precio. Por lo tanto, hay que intentar prescindir de las carísimas cabinas de discos EMC/NetAPP y de los discos duros SAS para pasar a los SATA, que son 2 a 5 veces mas económicos. Es decir, usar 'commodity' hardware para el almacenamiento. Prescindir de los sistemas RAID que añaden redundancia a costa de la pérdida de capacidad. Simplemente usar un disco duro para guardar la información. Para ello en vez de cabinas de discos, hay que colocar los discos en equipos/servidores con capacidad para el máximo número de discos y un consumo lo menor posible.

En vez de acceder a la información mediante protocolos de bajo nivel como iSCSI o FCoE, se usan APIs REST. El rendimiento de estas soluciones dista de la ofrecida por los sistemas tradicionales pero proporciona una escalabilidad enorme y la redundancia se ofrece mediante replicación de la información entre distintos equipos múltiples veces. Este tipo de replicación también hay que hacerlo con el almacenamiento tradicional dado que, por muy fiable sea un equipo, nada garantiza que no vaya a fallar.

El ejemplo de referencia de este tipo de almacenamiento es Amazon S3. Y aún teniendo en cuenta la utilización de 'comodity' hardware consiguen logar un ejemplar 99.999999999% de permanencia de información y una disponibilidad del 99,99% anual. Probablemente el caso mas ejemplar que usa S3 es Dropbox, y todos conocemos sus buenas características y disponibilidad.

Dentro de la plataforma de virtualización de OpenStack, existe el módulo Swift que vendría a ser una réplica del sistema de almacenamiento de Amazon. Incluso la API que proporciona Swift para acceder a la información es compatible con la de S3. Estos sistemas crear lo que llaman 'contenedores' que sería la carpeta principal de un proyecto o de una empresa/usuario. Dentro de ese proyecto se pueden crear pseudocarpetas y dentro de estas se suben los distintos archivos. Cuando un usuario se autentica, se le devuelve la ruta de su contenedor principal y a partir de ahí puede acceder a toda su información. Además se pueden definir permisos de lectura o escritura para distintos usuarios que ataquen el mismo contenedor.

Share

Añadir nuevo comentario

CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.
12 + 1 =
Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.