RAID o no RAID: SSD y virtualización

8

Me estoy acercando a ese momento en que mi PC principal se ha desacelerado lo suficiente debido a la podredumbre de Windows que probablemente debería reinstalar. En lugar de pasar una semana luchando con el brazo, reinstalando y configurando solo para descubrir que olvidé hacer una copia de seguridad de mis configuraciones de Visual Studio una vez más , voy a actualizar. Ya he comprado todas las piezas y estoy en el proceso de evaluación comparativa para encontrar la mejor configuración.

Compré dos SSD Crucial M4 de 120 GB (actualizado al último firmware a partir de abril '12:) 00Fy he estado ejecutando algunos puntos de referencia rápidos utilizando CrystalDiskMark . Aquí hay algunos resultados:

Unidad individual:

Rendimiento de unidad individual

RAID 0a través del controlador de chipset Intel Z77 :

RAID 0

Estos puntos de referencia obviamente no son exhaustivos, pero creo que me dan una buena idea de qué esperar entre varias configuraciones.

Tengo entendido que para los patrones de uso más comunes, es decir, el desarrollo con Visual Studio (mi uso principal), las 4Klecturas y escrituras son mucho más comunes, incluso durante las compilaciones. Entre RAID 0y no, hay poca diferencia. Pero con 512Ky SequentialR / W, las diferencias son suficientes para merecer atención.

La cuestión es que, para evitar futuros problemas de podredumbre, y, francamente, porque puedo, voy a confiar mucho más en la virtualización. Mi plan es segmentar diferentes partes de mi entorno de desarrollo en máquinas virtuales usando VMware Workstation : Visual Studio y las herramientas que lo acompañan en una, SQL Server en otra, Adobe Design Suite en otra, etc. Aprovechando las instantáneas de VM y lo fácil que es crear o clonar nuevos, creo que veré una mejora en la confiabilidad a largo plazo (y solo veré las ventanas emergentes de actualización de Adobe cuando lo desee).

Entonces, mi pregunta es, ¿la virtualización merece el uso de una RAID 0configuración SSD sobre una configuración tradicional (en mi caso, SO y aplicaciones de metal en una SSD, VM en la otra)? ¿La virtualización aprovechará las fortalezas 512Ky SequentialR / W de RAID 0?


Una observación:

He leído que algunos SSD modernos son capaces de administrar la recolección de basura por sí mismos, por lo que no tenerlos TRIMes un problema menor. Sin embargo, no sé cómo habilitar esto en mis SSD o incluso ver si lo admiten.


Editar:

Con respecto a la recuperación ante desastres, este sistema también tiene grandes unidades de disco estándar para el almacenamiento de archivos y un controlador RAID secundario que eventualmente usaré en una matriz duplicada. En combinación con las copias de seguridad locales nocturnas, la copia de seguridad constante fuera del sitio a través de Carbonite y los controles constantes de control de origen fuera del sitio, tengo un medio suficiente para evitar la pérdida de datos.

Chad Levy
fuente
1
Me mantendría alejado de RAID 0 sin un plan exhaustivo de recuperación ante desastres, pero la virtualización definitivamente aprovechará la velocidad mejorada de los SSD en esa configuración.
Buen punto. Olvidé mencionar que también tengo algunas unidades estándar a bordo y tengo copias de seguridad de múltiples cabezales en el sitio y fuera del sitio. Por lo tanto, no estoy completamente jodido si una unidad muere, pero ese es un buen punto porque olvidé que si una unidad en una matriz RAID 0 falla, todos los datos se pierden.
Chad Levy
1
Otro posible problema que puede merecer algo de atención: la ejecución de RAID puede requerir que todas las E / S estén en unidades de un tamaño de banda particular. Es probable que las máquinas virtuales no realicen E / S alineadas con estos tamaños de bandas, y provocará una amplificación de escritura masiva que puede reducir significativamente la vida útil de sus unidades.
Afrazier

Respuestas:

5

Primero, se sabe que el código de compilación está en gran medida vinculado a la CPU, por lo que no espere mejoras en un solo SSD allí.

En su punto de referencia, aunque el rendimiento de la profundidad de la cola de 4k 0 no aumenta, la profundidad de la cola de 4k 32 (QD32) aumenta bastante linealmente. En mi opinión, este resultado debe impulsar su decisión.

Aunque las estaciones de trabajo no son servidores de bases de datos con profundidades de cola constantemente grandes, las profundidades de cola de 2-20 son comunes al menos en ráfagas durante el uso semiintensivo de la estación de trabajo, en cuyo caso la E / S aleatoria mejorará con RAID 0. Considerando que VM agrega un Una capa adicional de actividad simultánea del sistema operativo (y puede terminar usando más de 2 máquinas virtuales simultáneas eventualmente), creo que esta métrica debería mejorar las cosas en su escenario.

Puede monitorear el uso actual de profundidad de cola en el Monitor de rendimiento de Windows (Agregar contador ... Disco físico ... Promedio de lectura / escritura de profundidad de cola) para tener una idea.

RAID agrega una capa de complejidad (y problemas de copia de seguridad / recuperación), pero tener una partición más grande de 240 gb es definitivamente una ventaja adicional. Verifique cualquier problema de TRIM antes de usar RAID con sus unidades, podría ser un obstáculo.

mtone
fuente
Gran información, gracias. Con respecto al soporte de TRIM: creo que TRIM está funcionando, o al menos está habilitado de acuerdo con fsutil. ¿Habilitaría Windows TRIM si los comandos no se pasaran a través de la interfaz RAID?
Chad Levy
1
No estoy demasiado familiarizado (solo tengo 1 SSD aquí ...), pero creo que dado que los controladores RAID no son compatibles con TRIM, nunca verás una referencia a él en ningún lado. En otras palabras, TRIM estaría técnicamente deshabilitado, por lo que debe tener la confianza de que el firmware de su SSD está haciendo una gestión decente de basura internamente (sin embargo, no me cite sobre eso). Tenga en cuenta que se espera que los controladores Intel RST admitan RAID TRIM a veces en 2012, si eso es lo que está utilizando. Otros controladores probablemente seguirán.
mtone
3

La velocidad del disco duro es importante para el rendimiento general de Visual Studio. Scott Guthrie lo toca bien en esta publicación :

Las CPU de varios núcleos en las máquinas se han vuelto lo suficientemente rápidas en los últimos años como para que, en los escenarios de aplicaciones más comunes, no termines bloqueando la capacidad de procesador disponible en tu máquina.

Cuando está desarrollando con Visual Studio, termina leyendo / escribiendo muchos archivos y dedicando una gran cantidad de tiempo a realizar actividades de E / S en disco. Los grandes proyectos y soluciones pueden tener cientos (o miles) de archivos fuente (incluidas imágenes, CSS, páginas, controles de usuario, etc.). Cuando abre un proyecto, Visual Studio necesita leer y analizar todos los archivos de origen para proporcionar inteligencia. Cuando se alista en el control de código fuente y revisa un archivo, está actualizando archivos y marcas de tiempo en el disco. Cuando realiza una compilación de una solución, Visual Studio verificará si hay ensamblados actualizados desde múltiples ubicaciones de ruta de disco, escribirá múltiples ensamblajes nuevos en el disco cuando se complete la compilación, y también conservará los archivos de símbolos de depurador .pdb en el disco con ellos (todos como operaciones de guardado de archivos separados).

En mi experiencia personal, el uso de un SSD ha ayudado mucho, pero dado que una gran cantidad de E / S del disco es probablemente pequeñas lecturas aleatorias, RAID 0 podría no ser una gran mejora. La otra cosa que puede encontrar es que la E / S del disco virtual consume algunas de sus ganancias.

Brad Patton
fuente
3

Intel Z77 admite Trim con RAID, y es uno de los primeros conjuntos de chips de bajo presupuesto en hacerlo. Pero debe especificar en la configuración de almacenamiento que está utilizando un SSD.

Daniel
fuente