Hay muchos recursos disponibles en línea que analizan el uso de unidades SSD en configuraciones RAID; sin embargo, estos datan de hace unos años, y el ecosistema SSD se mueve muy rápido, justo como esperamos el lanzamiento del producto "Optane" de Intel a finales de este año. que cambiará todo ... otra vez.
Prefacio a mi pregunta afirmando que hay una diferencia cualitativa entre los SSD de grado de consumidor (por ejemplo, Intel 535) y los SSD de grado de centro de datos (por ejemplo, Intel DC S3700).
Mi principal preocupación se relaciona con el TRIM
soporte en escenarios RAID. A mi entender, a pesar de que han pasado más de 6 años desde que se introdujeron los SSD en las computadoras de nivel de consumidor y 4 años desde que NVMe estaba disponible comercialmente, los controladores RAID modernos todavía no admiten la emisión de TRIM
comandos a los SSD adjuntos, con la excepción de los controladores RAID de Intel en modo RAID-0.
Me sorprende que el TRIM
soporte no esté presente en el modo RAID-1, dada la forma en que las unidades se duplican entre sí, parece sencillo. Pero yo divago.
Observo que si desea tolerancia a fallas con los discos (tanto HDD como SSD), los usaría en una configuración RAID, pero como los SSD estarían sin TRIM significa que sufrirían amplificación de escritura, lo que resulta en un desgaste adicional, lo que a su vez, causaría que los SSD fallaran prematuramente; esta es una ironía desafortunada: un sistema diseñado para proteger contra fallas en la unidad podría terminar directamente resultando en esto.
Entonces:
¿Es
TRIM
necesario el soporte para los SSD modernos (era 2015-2016)?1.1. ¿Hay alguna diferencia en la necesidad de
TRIM
soporte entre SSD SATA, SATA-Express y NVMe?A menudo, las unidades se anuncian como mejoradas de recolección de basura incorporada; ¿Eso obvia la necesidad de
TRIM
? ¿Cómo funciona su proceso de GC en entornos RAID?1.1. Por ejemplo, vea este QA de 2010 que describe una degradación del rendimiento bastante mala debido a la no-TRIMming ( https://superuser.com/questions/188985/how-badly-do-ssds-degrade-without-trim ) - y esto El artículo de 2015 expone que se recomienda utilizar TRIM ( http://arstechnica.com/gadgets/2015/04/ask-ars-my-ssd-does-garbage-collection-so-i-dont-need-trim -derecho / ). ¿Cuál es su respuesta a estos fuertes argumentos por la necesidad de
TRIM
?Una gran cantidad de artículos y debates de años anteriores se refieren a SLC vs MLC flash y que SLC es preferible, debido a su vida útil mucho más larga, sin embargo, parece que todos los SSD de hoy (independientemente de dónde se sientan en el espectro de consumidor a empresa) son MLC en la actualidad, ¿es esta distinción de relevancia ya?
1.1 ¿Y qué hay del flash TLC?
Los SSD empresariales tienden a tener límites de resistencia / escritura mucho más altos (a menudo medidos en cuántas veces puede sobrescribir completamente la unidad en un día, durante la vida útil esperada de 5 años de una unidad), si su límite de ciclo de escritura es muy alto (p. Ej. 100 escrituras completas por día) ¿significa esto que no las necesitan
TRIM
en absoluto porque esos límites son muy altos o, al contrario, esos límites solo se pueden lograr con el usoTRIM
?
Respuestas:
Intentemos responder una pregunta a la vez:
Respuesta corta: en la mayoría de los casos, no. Respuesta larga: si reserva suficiente espacio libre (~ 20%), incluso la unidad de nivel de consumidor generalmente tiene valores de consistencia de rendimiento bastante buenos (pero debe evitar las unidades que, en cambio, se ahogan en escrituras sostenidas). Las unidades de nivel empresarial son aún mejores, tanto porque tienen mayor espacio libre de forma predeterminada como porque su combinación de controlador / firmware está optimizada para el uso continuo de la unidad. Por ejemplo, eche un vistazo a la unidad S3700 a la que hizo referencia: incluso sin recortar, tiene muy buena consistencia de escritura.
El recolector de basura de la unidad hace su magia dentro de la caja de arena de la unidad: no sabe nada sobre el entorno exterior. Esto significa que (en su mayoría) no se ve afectado por el nivel RAID de la matriz. Dicho esto, algunos niveles de RAID (el basado en la paridad, básicamente) a veces (y en alguna implementación específica) pueden aumentar el factor de amplificación de escritura, por lo que esto a su vez significa un mayor trabajo para las rutinas de GC.
Las unidades SLC básicamente han desaparecido de la empresa, relegadas principalmente a tareas militares y algunas tareas industriales. La empresa marcada ahora se divide en tres grados:
En realidad, cualquiera de los tipos de flash anteriores debería proporcionarle una gran capacidad de escritura total y, de hecho, puede encontrar unidades empresariales con todos los tipos de flash anteriores.
La diferenciación real entre las unidades empresariales y de consumo son:
Los controladores de grado empresarial son mejores principalmente debido a sus controladores y condensadores de potencia, en lugar de debido a un mejor flash.
Como se indicó anteriormente, las unidades de grado empresarial tienen un espacio libre predeterminado mucho mayor (~ 20%) que, a su vez, reduce drásticamente la necesidad de TRIM regulares
De todos modos, como nota al margen, considere algunos RAID de software que admiten TRIM (¿alguien dijo Linux MDRAID? )
fuente
TRIM no es algo de lo que me preocupe cuando uso SSD en controladores RAID modernos. Los SSD han mejorado, las características del controlador RAID de hardware se han optimizado para estas cargas de trabajo y, por lo general, se implementan informes de resistencia.
TRIM es para unidades SATA de gama baja. Para los SSD SAS, tenemos un mapa SCSI, y quizás esa es la razón por la que no encuentro las necesidades de TRIM ...
Pero el otro comentarista es correcto. El almacenamiento definido por software (SDS) está cambiando la forma en que usamos SSD. En las soluciones SDS, los controladores RAID son irrelevantes. Y cosas como TRIM tienden a ser menos importantes porque los SSD están cumpliendo roles específicos. Pienso en la memoria caché de lectura de almacenamiento de Nimble o en ZFS L2ARC y ZIL ... Todos satisfacen necesidades específicas y el software está aprovechando los recursos de manera más inteligente.
fuente
Niveles RAID con SSD Una respuesta anterior sugiere que los niveles RAID con paridad, como RAID 5, aumentan la amplificación de escritura. Realmente hay más de una forma de interpretar eso: el impacto en una unidad o el impacto en el conjunto de unidades.
En comparación con la no redundancia, RAID 5 agrega escrituras al conjunto, ya que agrega paridad de suma de verificación. En comparación con una matriz RAID 0 de unidades (n-1), el impacto por unidad de la matriz RAID 5 con n unidades no es nada. Cada una de las n unidades recibe la misma cantidad de escrituras. RAID 5 agrega 1 / (n-1) escrituras adicionales al conjunto. RAID 1 y RAID 10, sin embargo, agregan 100% de escrituras adicionales al conjunto, porque todo lo escrito en un SSD se escribe en su espejo.
Por lo tanto, en términos de escritura en un conjunto RAID 5 frente a un conjunto RAID 10 con el mismo número de unidades, los SSD en el conjunto RAID 5 recibirán menos escrituras. Y eso se mantiene incluso si aumenta la cantidad de SSD en el conjunto RAID 10 para igualar la capacidad utilizable.
fuente
Shodanshok tocó la respuesta real aquí. Si reserva espacio adicional, el "exceso de aprovisionamiento", la resistencia de su SSD y la coherencia del rendimiento de escritura mejorarán con el tiempo, y la falta de soporte TRIM se vuelve irrelevante. La reserva de ese espacio adicional se puede hacer tan simple como, comenzando con un nuevo SSD, dividiendo menos de la capacidad total. La mayoría de los controladores en el disco tratan el espacio nunca utilizado de la misma manera que el espacio reservado y, por lo tanto, reducen significativamente la amplificación de escritura. Para el arranque y el sistema operativo, el 10% de espacio reservado es probablemente suficiente. Para las unidades que se reescriben con frecuencia, aumente ese espacio.
fuente