Corrupción de datos

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 2 de abril de 2022; la verificación requiere 1 edición .

La corrupción de datos se refiere a errores de datos informáticos que se producen durante la escritura, lectura, almacenamiento, transferencia o procesamiento de datos y que representan cambios no deseados en los datos originales. La computadora, los sistemas de transmisión y los sistemas de almacenamiento toman muchas medidas para mantener la integridad de la información o la ausencia de errores.

En general, cuando se dañan los datos, un archivo que contiene esos datos producirá resultados inesperados cuando lo utilice el sistema o la aplicación. El resultado puede variar desde una pequeña pérdida de datos hasta un bloqueo del sistema. Por ejemplo, si un archivo de documento está dañado, cuando el usuario intenta abrir este archivo usando el editor de documentos, puede recibir un mensaje de error , entonces el archivo puede no abrirse o puede abrirse con alguna distorsión (o en algunos casos completamente corrompido). Además, si el archivo de imagen está dañado, se pierde gran parte de la información.

Algunos tipos de malware pueden destruir archivos intencionalmente escribiendo basura, aunque los virus benignos también pueden destruir archivos sin querer cuando intentan acceder a ellos. Si un virus o troyano intenta cambiar el método de acceso a archivos críticos en el sistema operativo de la computadora, todo el sistema puede volverse inestable.

Algunos programas pueden solicitarle que repare los archivos automáticamente (en caso de error) y algunos programas no pueden repararlos. Todo depende del nivel de destrucción y la funcionalidad integrada de las aplicaciones que manejan el error. Hay varias razones para la destrucción.

Resumen

Hay dos tipos de corrupción de datos asociados con los sistemas informáticos: no reconocidos y reconocidos. La corrupción de datos no reconocida, también conocida como corrupción silenciosa de datos , conduce a los errores más peligrosos porque no hay síntomas de que los datos sean incorrectos. La corrupción de datos reconocida puede ser permanente con pérdida de datos o temporal, donde algunas partes del sistema pueden detectar y corregir el error. En el último caso, no hay corrupción de datos real.

La corrupción de datos puede ocurrir en cualquier nivel del sistema, desde el sitio central hasta los medios de almacenamiento. Los sistemas actuales intentan detectar corrupción en muchos niveles y luego recuperar los datos o reparar la corrupción. Esta operación casi siempre tiene éxito, pero en casos muy raros, la información obtenida en la memoria del sistema se corrompe y puede tener consecuencias impredecibles.

La corrupción de datos durante la transmisión tiene varias causas. La interrupción de la transmisión de datos provoca la pérdida de información . Las condiciones ambientales pueden afectar la transmisión de datos, especialmente cuando se trata de métodos de transmisión inalámbrica. Las nubes densas pueden bloquear la transmisión por satélite. Las redes inalámbricas son susceptibles a la interferencia de dispositivos como hornos de microondas.

Las fallas de hardware y software son las dos principales causas de pérdida de datos . La radiación de fondo , la destrucción de la cabeza y el envejecimiento o desgaste mecánico del dispositivo entran en la primera categoría, mientras que los errores de software generalmente ocurren debido a errores en el código del programa. Los rayos cósmicos causan la mayoría de los errores recuperables en DRAM [1] .

Corrupción de datos no reconocida

Algunos errores pasan desapercibidos sin ser detectados por el firmware del disco o el sistema operativo de la computadora. Estos errores se conocen como corrupción silenciosa de datos .

Hay muchas fuentes de errores además del propio sistema de disco. Por ejemplo, los cables pueden estar sueltos, la energía puede ser inestable [2] , las vibraciones como los ruidos fuertes [3] pueden verse afectados , las redes pueden introducir errores de transmisión no reconocidos, [4] los rayos cósmicos y muchas otras causas similares provocan errores en la memoria del software , y así sucesivamente. En 39 000 sistemas de almacenamiento analizados, se encontró que entre el 5% y el 10% de los errores del sistema fueron causados ​​por errores en el software integrado (firmware) de los sistemas [5] . En resumen, cabe señalar que el número de errores no reconocidos según las observaciones del CERN supera significativamente un error por cada 10 16 bits [6] . La tienda en línea Amazon.com reconoce una cantidad similar de corrupción de datos en sus sistemas [7] .

Uno de los problemas es que la capacidad de las unidades de disco crece constantemente, mientras que el porcentaje de errores en ellas se mantiene sin cambios. La tasa de corrupción de datos permanece constante a lo largo del tiempo, lo que significa que las unidades modernas no son más confiables que las más antiguas. En unidades más antiguas, la posibilidad de corrupción de datos era muy pequeña debido a la pequeña cantidad de datos almacenados. Las unidades modernas son mucho más probables porque almacenan muchos más datos sin volverse más confiables. Por lo tanto, la corrupción latente de datos no es una preocupación seria siempre que los dispositivos de almacenamiento sigan siendo relativamente pequeños y lentos. En consecuencia, los usuarios de unidades de baja capacidad rara vez descubren corrupción oculta, por lo que la corrupción de datos no se consideró un problema que deba abordarse. Sin embargo, hoy en día con la llegada de unidades grandes y controladores RAID muy rápidos, los usuarios pueden transferir 10 16 bits en un tiempo lo suficientemente corto como para alcanzar fácilmente el umbral de corrupción de datos [8] .

Como ejemplo, el creador de ZFS , Jeff Bonwick, afirma que una base de datos rápida en Greenplum , una empresa que se especializa en el desarrollo y análisis de software de grandes almacenes de datos, detecta la corrupción de datos cada 15 minutos [9] . Como otro ejemplo, un estudio realizado por NetApp en más de 1,5 millones de HDD durante 41 meses encontró más de 400 000 corrupciones de datos latentes, de las cuales más de 30 000 no fueron detectadas por los controladores RAID. Otro estudio realizado por el CERN durante más de seis meses sobre más de 97 petabytes de datos encontró unos 128 megabytes de datos completamente corruptos [10] [11] .

La corrupción de datos latente puede provocar caídas en cascada , en las que el sistema puede ejecutarse durante un período de tiempo con un error inicial no detectado que provoca un aumento gradual en la cantidad de problemas hasta que se descubre la corrupción [12] . Por ejemplo, las fallas en los metadatos del sistema de archivos pueden provocar la corrupción parcial de varios archivos, o incluso hacer que todo el sistema de archivos sea inaccesible.

Contramedidas

Cuando la corrupción de datos se comporta como un proceso de Poisson , donde cada bit de datos tiene una pequeña probabilidad independiente de ser cambiado, la corrupción de datos se puede detectar mediante sumas de verificación y, a menudo, se puede corregir mediante códigos de corrección de errores .

Si se encuentran daños irreparables en los datos, se pueden utilizar procesos como la retransferencia automática de datos o la restauración desde una copia de seguridad . Algunos niveles de arreglos RAID tienen la capacidad de recordar y usar bits de paridad para datos almacenados en un conjunto de discos y pueden recuperar datos corruptos si uno o más discos fallan, según el nivel de RAID implementado. Algunas arquitecturas de CPU utilizan varias comprobaciones transparentes para detectar y mitigar la corrupción de datos en las memorias caché del procesador , los búferes de la CPU y la canalización informática . Por ejemplo, la tecnología Intel Instruction Replay está disponible en los procesadores Intel Itanium . [13]

Las unidades de disco detectan y corrigen muchos errores utilizando códigos ECC / CRC [14] que se almacenan en el disco para cada sector. Si la unidad detecta errores de lectura de múltiples sectores, hace una copia del sector defectuoso a otra parte del disco, marcando el sector defectuoso como vacío sin que el sistema operativo esté involucrado (aunque esto puede retrasarse hasta la próxima escritura en el sector) . Esta "solución silenciosa" puede ser controlada por SMART y, para la mayoría de los sistemas operativos, hay herramientas disponibles para verificar automáticamente la unidad en busca de fallas inminentes debido a la degradación de SMART.

Algunos sistemas de archivos , como Btrfs , HAMMER , ReFS y ZFS , utilizan la suma de verificación de datos y metadatos internos para detectar daños latentes en los datos. Además, si se detecta corrupción y el sistema de archivos utiliza mecanismos RAID que brindan redundancia de datos , dichos sistemas de archivos pueden reconstruir la corrupción de manera transparente [15] . Este enfoque permite una mejor protección de la integridad de los datos que cubre toda la  ruta de datos , lo que se conoce como protección de datos de extremo a extremo , en comparación con otros enfoques que no cubren otros niveles de protección de la integridad y permiten la corrupción de datos cuando los datos se mueven de un nivel a otro [ dieciséis]

de datos es otro método para reducir la posibilidad de corrupción de datos cuando se detectan y corrigen errores de disco antes de que se acumulen muchos errores. En lugar de verificar la paridad en cada lectura, la lectura se verifica durante un escaneo de disco regular, que a menudo se ejecuta como un proceso en segundo plano de baja prioridad. Tenga en cuenta que la operación de "limpieza de datos" activa la verificación de paridad. Si el usuario simplemente ejecuta un programa normal que lee datos del disco, la paridad no se verificará hasta que la paridad de lectura sea compatible y esté habilitada en el subsistema del disco.

Si existen mecanismos apropiados para detectar y tratar la corrupción de datos, esto puede garantizar la integridad de los datos. Esto es particularmente importante en aplicaciones comerciales (como bancos ) donde un error no detectado podría destruir un índice de base de datos o cambiar datos, lo que podría tener efectos drásticos en una cuenta bancaria. Al cifrar o comprimir datos, un pequeño error puede inutilizar un gran conjunto de datos [6] .

Véase también

Notas

  1. Científico americano . Tormentas solares: Datos rápidos . Nature Publishing Group (21 de julio de 2008). Consultado el 8 de diciembre de 2009. Archivado desde el original el 26 de diciembre de 2010.
  2. Eric Lowe. ¡ZFS salva el día (-ta)! (Blog). Oracle: volcados de núcleo del cerebro de un pirata informático del kernel: blog de Eric Lowe . Oráculo (16 de noviembre de 2005). Consultado el 9 de junio de 2012. Archivado desde el original el 5 de febrero de 2012.
  3. bcantrill. Gritando en el centro de datos (archivo de video). youtube _ Google (31 de diciembre de 2008). Consultado el 9 de junio de 2012. Archivado desde el original el 3 de julio de 2012.
  4. jforonda. El puerto FC defectuoso cumple con ZFS (Blog). Blogger: fuera de la caja . Google (31 de enero de 2007). Consultado el 9 de junio de 2012. Archivado desde el original el 26 de abril de 2012.
  5. ¿Son los discos el contribuyente principal de las fallas de almacenamiento? Un estudio completo de las características de falla del subsistema de almacenamiento . USÉNIX. Consultado el 18 de enero de 2014. Archivado desde el original el 25 de enero de 2022.
  6. 1 2 Bernd Panzer-Steindel. Borrador 1.3 . integridad de los datos . CERN (8 de abril de 2007). Consultado el 9 de junio de 2012. Archivado desde el original el 13 de octubre de 2012.
  7. Observaciones sobre errores, correcciones y confianza de los sistemas dependientes . Archivado desde el original el 29 de octubre de 2013.
  8. Corrupción silenciosa de datos en matrices de discos: una solución (PDF). NEC (2009). Consultado el 24 de octubre de 2013. Archivado desde el original el 29 de octubre de 2013.
  9. Una conversación con Jeff Bonwick y Bill Moore . Association for Computing Machinery (15 de noviembre de 2007). Consultado el 6 de diciembre de 2010. Archivado desde el original el 16 de julio de 2011.
  10. David SH Rosenthal . Mantener los bits seguros: ¿Qué tan difícil puede ser? , ACM Queue  (1 de octubre de 2010). Archivado desde el original el 17 de diciembre de 2013. Consultado el 2 de enero de 2014.
  11. Lakshmi N. Bairavasundaram; Garth R. Goodson; Pasupatía de Shankar; Jiri Schindler. Un análisis de errores de sector latentes en unidades de disco  (indefinido)  // Actas de la Conferencia internacional sobre medidas y modelado de sistemas informáticos (SIGMETRICS'07). - San Diego, California, Estados Unidos: ACM, 2007. - Junio. - S. 289-300 . doi : 10.1145 / 1254882.1254917 .
  12. David Fiala; Frank Mueller; Christian Engelmann; Rolf Riesen; Kurt Ferreira; Ron Brightwell. Detección y corrección de corrupción silenciosa de datos para computación de alto rendimiento a gran escala . fiala.me _ IEEE (noviembre de 2012). Fecha de acceso: 26 de enero de 2015. Archivado desde el original el 7 de noviembre de 2014.
  13. Steve Bostián. Aumente la confiabilidad para aplicaciones de misión crítica: Tecnología Intel de reproducción de instrucciones (PDF). Inteligencia (2012). Fecha de acceso: 27 de enero de 2016. Archivado desde el original el 2 de febrero de 2016.
  14. Lectura de gravedades de errores y lógica de gestión de errores . Consultado el 4 de abril de 2012. Archivado desde el original el 7 de abril de 2012.
  15. Margarita Bierman; Lenz Grimmer. Cómo utilizo las capacidades avanzadas de Btrfs . Corporación Oracle (agosto de 2012). Fecha de acceso: 2 de enero de 2014. Archivado desde el original el 2 de enero de 2014.
  16. Yupu Zhang; Abhishek Rajimwale; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau. Integridad de datos de extremo a extremo para sistemas de archivos: un estudio de caso de ZFS (PDF). Departamento de Ciencias de la Computación, Universidad de Wisconsin (4 de febrero de 2010). Consultado el 12 de agosto de 2014. Archivado desde el original el 26 de junio de 2011.

Literatura

Enlaces