¿Es necesaria la memoria ECC para garantizar la fiabilidad de los datos cuando se utiliza hardware de almacenamiento basado en ZFS?

Sí: dado que ZFS usa la memoria de manera más agresiva que otros sistemas de archivos, uno tiene un mayor riesgo de corrupción de datos con ZFS y memoria no ECC. Es discutible si uno corre el riesgo de perder todo el grupo o solo archivos y directorios individuales (hay muchas historias de lo último que sucede, pero aún no he encontrado ninguna historia de lo primero), pero el riesgo de corrupción de datos en sí es un hecho.

Dicho esto, hay muchas otras causas potenciales de corrupción de datos:

  • pérdida de una franja completa con la incursión 1 + 0
  • pérdida de dos discos con raidz1
  • pérdida de uno o más discos mientras otros discos están en proceso de ser reemplazados, por ejemplo, los discos a, b, c están en raidz1, el disco c se pierde y se reemplaza con el disco c ‘; sin embargo, mientras c ‘se vuelve a platear, el disco a también se pierde.

Si estas probabilidades dominan la probabilidad de errores de memoria (y, por lo tanto, de corrupción), que también depende de factores como la elevación, puede valer la pena abordar estos riesgos primero antes de comprar memoria compatible con ECC y (si aún no tiene una) placa base .

Finalmente, las instantáneas de ZFS hacen que la copia de seguridad fuera del sitio sea bastante fácil: si es aceptable perder los cambios entre las instantáneas, considere no tener memoria ECC (es decir, si la razón para usar RAID / ZFS es la capacidad, las características o el rendimiento en lugar de la confiabilidad)

Dicho esto, mi preferencia es usar la memoria ECC en cualquier máquina (incluidas las estaciones de trabajo y los escritorios) que estén en línea las 24 horas, los 7 días de la semana. Es cierto que más allá del costo de la memoria RAM ECC también existe el costo de una placa base compatible con ECC, pero generalmente hay otros beneficios de las placas base de clase servidor / estación de trabajo.

Fuente: https://blogs.oracle.com/vlad/en…

Si usa la memoria ECC, es menos probable que experimente un error de datos no detectado. La probabilidad no es cero. Pero esto es cierto para cualquier sistema de almacenamiento; ZFS no es único al requerir memoria ECC para garantizar la integridad de los datos.

Veamos el camino que toman los datos.

1. Datos enviados a ZFS desde la aplicación
2. ZFS comprueba los datos
3. ZFS escribe los datos en los discos
4. El tiempo pasa
5. ZFS lee los datos de los discos
6. ZFS verifica la suma de verificación
7a. Si la suma de comprobación coincide, ZFS pasa los datos a la aplicación
7b. Si la suma de comprobación no coincide, ZFS intenta reconstruir los datos de las réplicas. Si esto tiene éxito, vamos al paso 7a. Si no podemos reconstruir los datos, ZFS informa un error de E / S y no pasa ningún dato.

ZFS solo puede protegerlo durante los pasos 3 a 5. Es decir, si los datos se corrompen después de que se calcula la suma de verificación o antes de que se verifique, ZFS puede detectar el daño y posiblemente solucionarlo.

Si los datos se corrompen en tránsito entre ZFS y la aplicación o durante el cálculo de la suma de verificación, ZFS no puede ayudarlo. No detectará la corrupción. Almacenará y recuperará datos incorrectos. Durante estos tiempos, los datos están en RAM. La RAM ECC debería detectar cualquier error que ocurra en estos momentos. Por lo tanto, el uso de RAM ECC le brinda la mejor oportunidad de garantizar la integridad de los datos.

El problema no es que ‘ZFS usa RAM más agresivamente’. Es simplemente que sin ZFS, tenía errores de memoria y no se dio cuenta. ZFS los hace notables.

Explico esto en mi publicación de blog: ¿Realmente necesitas ECC RAM con ZFS?

Imagínese: ¿puede voltear un bit aleatorio en el código del controlador del sistema de archivos y aún así esperar que el programa funcione? Tal vez si el código es de calidad de transbordador espacial, de lo contrario, debe esperar que el “controlador” del sistema de archivos falle. Aunque para que falle, es probable que tenga que voltear bits muy específicos … y las tasas citadas de bitflips en RAM (¿ya son muy pequeñas, menos del 0.22% de probabilidad por año DIMM?) Disminuyen en un factor de digamos aproximadamente 1000 (Programa de 4 MB de 4 GB de memoria), ¿sería mi suposición?

(Dicho esto, este no es mi dominio de experiencia; tal vez hay características de redundancia muy agradables que no conozco del kernel / compilador / etc.)

La pregunta es si le interesan los datos que está escribiendo en ZFS o cualquier sistema de archivos que use. Es posible que, por ejemplo, esté procesando una imagen, y los datos que escriba de nuevo pueden tener un píxel que ha cambiado. ZFS salvaguardará sus datos, pero los datos que escribió en primer lugar se corrompieron fuera del dominio de su sistema de archivos.

Sin embargo, debido a que estos errores son tan raros, yo mismo pregunto ¿Vale la pena la RAM ECC (código de corrección de errores), en relación con otras fuentes de corrupción?

Lo siento, no estoy respondiendo realmente a tu pregunta, sino simplemente hablando de ello. Su respuesta depende de lo que quiere decir con “asegurar” y qué tolerancia contra el fracaso desea. Yo mismo tengo curiosidad acerca de la frecuencia con la que ocurren estos errores, pero debo considerar otras causas potenciales de corrupción de datos: fallan dos discos al mismo tiempo, aumento de potencia, violación de seguridad, error del usuario, fallas de respaldo silenciosas, etc.

More Interesting

¿Se puede jugar GTA en una computadora portátil con 2 GB de RAM?

¿Es mejor una configuración de un procesador i5 de cuarta generación y 8 GB de RAM que una configuración con el mismo procesador, 4 GB de RAM y 2 GB de memoria dedicada en una computadora portátil utilizada para el desarrollo del sistema en programación orientada a objetos y desarrollo de aplicaciones?

Si compro una placa base DDR3, 4 GB de RAM y un disco duro de 320 GB con un ventilador de CPU, ¿cuánto costará?

¿Por qué el máximo actual para unidades flash USB es de 200 GB en lugar de 192 GB o 256 GB?

¿Cuáles son el tamaño de RAM típico y el tamaño de la memoria del disco duro de los servidores? Ejemplos específicos son bienvenidos.

¿Hay alguna forma posible de ampliar la RAM de mi teléfono?

¿Hay una computadora portátil de 13 'o 14' con al menos CPU i5 (6a generación), 8 GB de RAM (escalable), SSD de 256 GB, gráficos de 2 GB por debajo de 80 k INR disponibles en el mercado?

Cómo usar tu HDD como RAM

¿Cuáles son las especificaciones que debemos tener en cuenta al usar dos RAM en un sistema?

¿Alguien alcanzó (uso) 5 GB de RAM en un dispositivo más?

No puedo entender el paso de fusión de tipo externo. ¿Cómo puedo ordenar 1 GB de datos en disco en 100 MB de RAM?

¿Notaré una diferencia si reemplazo mi 32 gb de 2400 mHZ RAM con 2600 mhz RAM? Lo uso para jugar un poco.

¿Es un MacBook Air con 8 GB de RAM más SSD de 128 GB lo suficientemente bueno para el desarrollo de iOS?

¿Qué juegos puedo jugar en una PC con 4 GB de RAM y una tarjeta gráfica de 1 GB (ASUS DDR3)?

¿Por qué llaman RAM 'memoria temporal'?