miércoles, 23 de septiembre de 2015

¿Qué tipos de flash tienen más sentido para la virtualización?

El almacenamiento basado en flash puede solucionar una amplia variedad de problemas de rendimiento, especialmente los causados por el entorno de servidor virtualizado. Pero todavía hay mucho misterio rodeando a estos dispositivos: ¿Se puede confiar con ellos y qué tipos de flash tienen más sentido para un entorno virtualizado?


Flash es una tecnología de memoria que, a diferencia de la RAM, conserva la información almacenada en él, incluso cuando no hay energía. Si bien flash no es tan rápido como RAM en las operaciones de escritura y lectura, supera con creces el rendimiento de un disco duro típico. Más importante aún, se puede acceder a los datos en ella sin ninguna rotación de medios, lo que significa casi ninguna latencia. La tecnología es ideal para I/O aleatorias, que los entornos de servidores virtualizados tienen en abundancia.

La única preocupación importante con el almacenamiento flash es la forma en que maneja las escrituras. Flash tiene un número finito de veces en las que se puede escribir. Esto significa que los proveedores de almacenamiento flash necesitan desarrollar una tecnología de controlador sofisticada que gestione la manera en que los módulos de memoria flash se escriben, de manera que cada celda flash reciba el mismo número de solicitudes de escritura.

Hay tres tipos de flash en la actualidad, y cada uno tiene diferentes niveles de durabilidad. Flash de celda de un solo nivel (SLC) escribe un bit por celda y es el más duradero. Flash de celda multinivel (MLC) escribe múltiples bits por celda y tiene un nivel medio de durabilidad. Flash de celda de tripe nivel (TLC) escribe tres bits por celda y es el menos duradero de los tres. Más bits por celda significa mayor capacidad por celda, lo que disminuye el costo por GB. También significa una esperanza de vida más corta.

SLC era el estándar para los centros de datos, pero las mejoras continuas a la tecnología de controlador hicieron al comercial MLC aceptable para la mayoría de los casos de uso. Esto es especialmente cierto cuando hay algún tipo de protección de datos instalado, tales como la duplicación (mirroring) o RAID, para el nivel de flash que se está utilizando.
Comprendiendo los formatos de flash

Con flash, generalmente hay tres factores de forma a tener en cuenta para un entorno virtualizado.

El más común es la unidad de estado sólido (SSD), que tiene el mismo formato que una unidad de disco duro (HDD). Este tipo de flash se puede instalar fácilmente dentro de un servidor o en una matriz de almacenamiento, aprovechando los mismos compartimientos para unidades que utilizan los discos duros.

Los inconvenientes del formato SSD son el rendimiento y la densidad. Poner memoria flash en el formato SSD significa que todas las I/O de almacenamiento se enrutan a través de la pila SCSI. En comparación con otros formatos, este enrutamiento añade algo de latencia. Aun así, estos sistemas, especialmente los arreglos, ofrecen cientos de miles de IOPS, así que pocos entornos en realidad se verán afectados por los SSD que requieran usar el protocolo SCSI. La densidad es también una preocupación menor de lo que solía ser. Los proveedores de flash SSD han desarrollado formas ingeniosas de meter tanto flash como sea posible en un formato de unidad, y por lo general ahora ofrecen una mayor capacidad por factor de forma de lo que ofrece un disco duro equivalente.

Hay entornos en los que la latencia añadida por SCSI es un problema, aunque, con una excepción, estos no son típicamente entornos virtualizados. Cuando la latencia es una preocupación, el formato SSD de elección es Peripheral Component Interconnect Express (PCIe) SSD. Estos son dispositivos flash integrados en una placa PCIe. Ellas a menudo evitan la pila de protocolo de almacenamiento estándar (SCSI) y tienen acceso nativo a la CPU. Esto significa que requieren un controlador, pero los controladores para los tres entornos virtualizados más populares son algo común.

PCIe debe ser considerado para entornos de servidores virtuales como una extensión de la memoria RAM. Debido a su baja latencia, PCIe proporciona un bloque de memoria virtual de rendimiento extremadamente alto, tanto es así que la RAM dinámica (DRAM) para "almacenar" salidas de página casi no tienen impacto en el rendimiento.

La otra forma de flash que está ganando popularidad es el flash de bus de memoria. El flash de bus de memoria se instala en las ranuras de memoria del servidor, en lugar de en el bus PCIe. Se parecen a los módulos de memoria dual en línea DRAM, pero en realidad contienen flash. Este método de implementación reduce la latencia incluso más allá que PCIe y SSD, y proporciona un camino privado, de alto rendimiento a la CPU. Los casos de uso en servidores virtualizados son limitados, pero el uso de flash de bus de memoria como memoria de intercambio virtual en lugar de costosos DRAM puede ser beneficioso. Este formato es también ideal para servidores blade, 1U y 2U, donde las ranuras PCIe son difíciles de conseguir. searchdatacenter.techtarget