EMC XtremIO Data Protection (XDP): La protección de los datos en XtremIO (es)

Questo post è anche disponibile in italiano

En este post vamos a hablar de la protección de datos en XtremIO (XtremIO Data Protection o XDP) describiendo los beneficios de este esquema único en el mercado de protección RAID.

XDP es un algoritmo patentado de protección  RAID para los discos SSD (Solid State Disks o discos flash) que proteje contra fallos y como se podrá ver, XDP tiene varias propiedades exclusivas que permiten a XtremIO  hacer algunas cosas muy sofisticadas.

EMC XtremIO XDP Pillars
EMC XtremIO XDP Pillars

XDP es el cuarto de los cuatro pilares tecnológicos distintivos de XtremIO. XDP ofrece la posibilidad de maximizar el espacio útil del array, proporciona una mayor duración de los discos flash y permite obtener un rendimiento superior a cualquier otro tipo de algoritmo RAID. Este post describe a grandes líneas los objetivos de la realización del diseño de este esquema de protección haciendo breves comparaciones con las tecnologías RAID actuales tradicionales para que podamos entender mejor cómo funciona XDP.

En la figura siguiente se enumeran los cinco objetivos claves del diseño de XDP.

EMC XtremIO XDP design goals
EMC XtremIO XDP design goals

Uno de estos objetivos es ofrecer el máximo nivel de protección manteniendo la capacidad máxima utilizable de almacenamiento. Un segundo objetivo es de no tener la necesidad de utilizar discos “hot spare”. ¿Por qué es importante no tener que utilizar discos “hot spare” en el sistema? Simplemente porque los clientes compran el array y consideran toda la capacidad presente en los discos, por lo tanto un objetivo importante es desarrollar un esquema de protección capaz de preservar la inversión.

Otro aspecto que se consideró en el desarrollo de XDP fue ofrecer un rendimiento superior en comparación con otros algoritmos RAID. Esto fue posible porque XDP tiene un “overhead” más bajo con respecto a los tradicionales sistemas RAID. XDP tiene un mejor rendimiento no solo durante las normales operaciones de lectura y escritura, sino también en eventos de fallas de un SSD y durante la reconstrucción de los datos. Con XDP, por último, XtremIO ha mejorado también la longevidad de los discos flash. Confrontado con algoritmos RAID tradicionales, con XDP es necesario escribir menos sobre los discos aumentando de este modo su  longevidad manteniendo al mismo tiempo un mayor nivel de seguridad.

¿Cómo se ha realizado todo esto? Como se ha mencionado anteriormente,  el esquema de protección XDP de XtremIO tiene una sobrecarga (overhead) baja, alrededor del 8 % en comparación con una sobrecarga del 50 % de un esquema R1 o de 25 % de un esquema de R5. Esto significa que, en general,  con XDP se accede mucho menos a los SSDs que utilizando un tipo tradicional de RAID. En lugar de dedicar discos de paridad que implican un espacio adicional del 50% (para el RAID 1) o un 25% más de espacio (para un RAID 5), en XtremIO existe el concepto de ” hot-space”; de los 25 discos que componen un Xbrick, el espacio dedicado a la paridad es cerca 2 discos, esto significa una sobrecarga de sólo el 8 % (23/25).

También es importante señalar que con XtremIO no hay necesidad de hacer ningún ajuste especial o puesta a punto para configurar el esquema de protección de datos. En un array tradicional es necesario definir protecciones específicas para los distintos grupos de raid. XDP XtremIO no hay que hacer nada de eso. XDP es automáticamente configurado para el entero array.

Empecemos con un ejemplo de lo que sucede en una array flash “legacy” que utiliza una tecnología RAID tradicional, desde que el array está vacío y empieza a llenarse.

EMC XtremIO XDP empty array
EMC XtremIO XDP empty array

En un esquema RAID tradicional podemos empezar escribiendo en los espacios vacíos, en este caso la idea es escribir líneas o rayas completas (“full stripes”), una tras otra hasta que el array se vuelve relativamente completo. A continuación, a un cierto punto, habrá un problema porque no tendremos más a disposición líneas completas donde escribir. En este punto, todos los array comienzan un proceso de lectura, escritura y sobre-escritura necesario para crear nuevo espacio y poder escribir nuevos datos.

Todos los esquemas RAID tradicionales y todos los array flash tradicionales utilizan este proceso llamado “Garbage Collection”.

EMC XtremIO XDP Garbage Collection
EMC XtremIO XDP Garbage Collection

El proceso de “Garbage Collection” consume muchos recursos de back-end del array debido a la gran cantidad de lecturas / escrituras que tienen que ser hechas para crear nuevo espacio. Como es posible imaginar, esta actividad hace que sea difícil servir al mismo tiempo los IOPs de front-end provenientes de los servidores y aplicaciones. La “Garbage Collection” causa no solo una pérdida de rendimiento, provoca también un uso intensivo de las unidades flash que disminuyen su duración.

El esquema de protección XDP de XtremIO fue diseñado de una manera única para manejar esta situación. Los algoritmos RAID tradicionales están diseñados para la secuenciación de las escrituras, o sea para escribir líneas completas de datos (“full stripes”) con el fin de optimizar el proceso de escritura pensando a discos rotacionales. En XDP en vez es posible escribir líneas parciales (“partial stripes”) y esto permite a XtremIO de escribir los datos velozmente en cualquier lugar donde haya espacio disponible.

 

EMC XtremIO XDP is different
EMC XtremIO XDP is different

Con XDP XtremIO no tiene necesidad de mover (leer / escribir / sobreescribir) los datos dentro del array para crear nuevo espacio vacío, los datos se pueden escribir en los espacios existentes sin mover nada optimizando así el rendimiento.  Este diseño particular representa una gran ventaja ya que permite a XtremIO de mantener un comportamiento coherente y tener el mismo rendimiento cuando el array tiene líneas enteras donde escribir o cuando el espacio disponible es poco. Nota: se podría pensar que para evitar este efecto, bastaría dejar siempre espacio vacío en el array. En realidad esto no es así. En mi post Flash 101 explico el porqué.

Gracias a este diseño, XtremIO consume menos ciclos extra de escritura sobre los discos flash lo que aumenta la duración de los mismos.

Con XDP lo que obtenemos es una combinación de los mejores beneficios de cada algoritmo RAID pre-existente R1, R5, R6, todos juntos con el fin de conseguir el alto rendimiento típico del R1, el buen uso en capacidad del R5 y la óptima protección del R6, todo esto sin la necesidad de realizar ninguna configuración particular.

 

EMC XtremIO XDP advantages
EMC XtremIO XDP advantages

En XtremIO no existe el concepto de disco o discos “hot spare” y que los SSD pueden efectuar el “fail-in-place”. Apenas XtremIO detecta un disco con problemas inicia automáticamente el proceso de reconstrucción sin necesidad de ninguna intervención del operador.  Con XDP la reconstrucción es muy rápida, ya que sólo el espacio utilizado en el disco se copia. En XDP se habla de “hot space” en vez de “hot spare”, de hecho en cada disco del array XDP configura un pequeño espacio libero. Durante la reconstrucción XDP utiliza este espacio en todos los discos a la vez lo que acelera enormemente el proceso.

Este diseño también permite a XDP de tolerar varios fallos en los SSD (hasta 6 discos), mientras haya espacio libre el proceso de reconstrucción puede llevarse a cabo sin ningún tipo de interrupción del servicio a los usuarios y sin ninguna pérdida de rendimiento.

Con el esquema de protección XDP, XtremIO mantiene un rendimiento casi idéntico aun cuando el array está cerca del lleno total. En la figura anterior, lo que se puede ver en la parte superior es un XtremIO parcialmente lleno (66%) y luego otro lleno al 100% con aproximadamente la misma carga de trabajo en ambos. En la figura es posible notar como en los dos casos el rendimiento es prácticamente igual.

Esto es algo que ningún otro producto en el mercado es capaz de hacer. La mayoría de los otros vendors recomiendan no utilizar el array más allá del 80% y está quien sugiere de no utilizar el array algunas horas durante el día para permitir la ejecución del proceso de Garbage Collection.

El hecho de que XtremIO mantenga tanto su rendimiento como su baja latencia a estos niveles de utilización de la capacidad es algo verdaderamente notable. Trate de que con cualquier otro array.

Para resumir

En este post hemos visto algunos aspectos importantes de la implementación del sistema de protección de datos de XtremIO.

XDP permite a XtremIO de:

  • Ser optimizado para escribir en “partial stripes” disminuyendo así las escrituras sobre los SSD consiguiendo un mayor rendimiento y un menor desgaste de los discos
  • Ofrecer siempre un rendimiento consistente aun cuando el array estè prácticamente lleno
  • Tolerar numerosos fallos en los SSD manteniendo siempre una protección completa
EMC XtremIO XDP big picture
EMC XtremIO XDP big picture

 


Para mayor información:

XtremIO Data Protection (XDP)