stringtranslate.com

Corrupción de datos

Corrupción de datos de fotografías; en este caso, como resultado de una recuperación fallida de datos desde una unidad de disco duro

La corrupción de datos se refiere a errores en los datos informáticos que ocurren durante la escritura, lectura, almacenamiento, transmisión o procesamiento, que introducen cambios no deseados en los datos originales. Los sistemas informáticos, de transmisión y de almacenamiento utilizan una serie de medidas para proporcionar integridad de datos de extremo a extremo o ausencia de errores.

En general, cuando se produce corrupción de datos, un archivo que contiene esos datos producirá resultados inesperados cuando el sistema o la aplicación relacionada acceda a ellos. Los resultados pueden variar desde una pérdida menor de datos hasta una falla del sistema. Por ejemplo, si un archivo de documento está dañado, cuando una persona intenta abrir ese archivo con un editor de documentos puede recibir un mensaje de error , por lo que es posible que el archivo no se abra o se abra con algunos de los datos dañados (o en algunos casos , completamente corrupto, dejando el documento ininteligible). La imagen adyacente es un archivo de imagen corrupto en el que se ha perdido la mayor parte de la información.

Algunos tipos de malware pueden dañar intencionalmente archivos como parte de sus cargas útiles , generalmente sobrescribiéndolos con código basura o inoperativo, mientras que un virus no malicioso también puede dañar archivos involuntariamente cuando accede a ellos. Si un virus o troyano con este método de carga útil logra alterar archivos críticos para el funcionamiento del software del sistema operativo o del hardware físico de la computadora, todo el sistema puede quedar inutilizable.

Algunos programas pueden sugerir reparar el archivo automáticamente (después del error) y otros no pueden repararlo. Depende del nivel de corrupción y de la funcionalidad integrada de la aplicación para manejar el error. Hay varias causas de la corrupción.

Descripción general

Foto de un Atari 2600 con RAM corrupta.
Un vídeo que se ha corrompido. Advertencia sobre epilepsia: este video contiene imágenes brillantes y parpadeantes.

Hay dos tipos de corrupción de datos asociados con los sistemas informáticos: no detectados y detectados. La corrupción de datos no detectada, también conocida como corrupción de datos silenciosa , produce los errores más peligrosos ya que no hay indicios de que los datos sean incorrectos. La corrupción de datos detectada puede ser permanente con la pérdida de datos, o puede ser temporal cuando alguna parte del sistema es capaz de detectar y corregir el error; en este último caso no hay corrupción de datos.

La corrupción de datos puede ocurrir en cualquier nivel de un sistema, desde el host hasta el medio de almacenamiento. Los sistemas modernos intentan detectar la corrupción en muchos niveles y luego recuperarla o corregirla; Esto casi siempre tiene éxito, pero muy raramente la información que llega a la memoria del sistema está dañada y puede provocar resultados impredecibles.

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

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

Silencioso

Algunos errores pasan desapercibidos y no son detectados por el firmware del disco ni por el sistema operativo host; Estos errores se conocen como corrupción silenciosa de datos . [2]

Hay muchas fuentes de error más allá del propio subsistema de almacenamiento en disco. Por ejemplo, los cables pueden estar ligeramente sueltos, el suministro de energía puede no ser confiable, [3] vibraciones externas como un sonido fuerte, [4] la red puede introducir daños no detectados, [5] radiación cósmica y muchas otras causas de errores de memoria blanda , etc. En 39.000 sistemas de almacenamiento que se analizaron, los errores de firmware representaron entre el 5% y el 10% de las fallas de almacenamiento. [6] En total, las tasas de error observadas por un estudio del CERN sobre la corrupción silenciosa son muy superiores a uno de cada 10 16 bits. [7] La ​​tienda web Amazon.com ha reconocido tasas altas de corrupción de datos similares en sus sistemas. [8] En 2021, se identificaron núcleos de procesador defectuosos como una causa adicional en publicaciones de Google y Facebook; Se descubrió que los núcleos estaban defectuosos a un ritmo de varios entre miles de núcleos. [9] [10]

Un problema es que las capacidades de las unidades de disco duro han aumentado sustancialmente, pero sus tasas de error permanecen sin cambios. La tasa de corrupción de datos siempre ha sido aproximadamente constante en el tiempo, lo que significa que los discos modernos no son mucho más seguros que los antiguos. En los discos antiguos la probabilidad de corrupción de datos era muy pequeña porque almacenaban pequeñas cantidades de datos. En los discos modernos la probabilidad es mucho mayor porque almacenan muchos más datos, aunque no son más seguros. De esa manera, la corrupción silenciosa de los datos no ha sido una preocupación grave mientras los dispositivos de almacenamiento siguieran siendo relativamente pequeños y lentos. En los tiempos modernos y con la llegada de unidades más grandes y configuraciones RAID muy rápidas, los usuarios son capaces de transferir de 10 a 16 bits en un tiempo razonablemente corto, alcanzando así fácilmente los umbrales de corrupción de datos. [11]

Como ejemplo, el creador de ZFS, Jeff Bonwick, afirmó que la base de datos rápida de Greenplum , que es una empresa de software de bases de datos especializada en almacenamiento y análisis de datos a gran escala, se enfrenta a una corrupción silenciosa cada 15 minutos. [12] Como otro ejemplo, un estudio de la vida real realizado por NetApp en más de 1,5 millones de HDD durante 41 meses encontró más de 400.000 daños silenciosos en los datos, de los cuales más de 30.000 no fueron detectados por el controlador RAID de hardware (sólo detectados durante fregado ). [13] Otro estudio, realizado por el CERN durante seis meses y que involucró alrededor de 97  petabytes de datos, encontró que alrededor de 128  megabytes de datos se corrompieron permanentemente y silenciosamente en algún lugar del camino desde la red al disco. [14]

La corrupción silenciosa de los datos puede provocar fallos en cascada , en los que el sistema puede funcionar durante un período de tiempo sin detectar un error inicial, lo que provoca cada vez más problemas hasta que finalmente se detecta. [15] Por ejemplo, una falla que afecte los metadatos del sistema de archivos puede provocar que varios archivos se dañen parcialmente o se vuelvan completamente inaccesibles ya que el sistema de archivos se utiliza en su estado corrupto.

Contramedidas

Cuando la corrupción de datos se comporta como un proceso de Poisson , donde cada bit de datos tiene una baja probabilidad independiente de ser modificado, la corrupción de datos generalmente se puede detectar mediante el uso de sumas de verificación y, a menudo, se puede corregir mediante el uso de códigos de corrección de errores (ECC). .

Si se detecta una corrupción de datos incorregible, se pueden aplicar procedimientos como la retransmisión automática o la restauración a partir de copias de seguridad . Ciertos niveles de matrices de discos RAID tienen la capacidad de almacenar y evaluar bits de paridad para datos en un conjunto de discos duros y pueden reconstruir datos dañados en caso de falla de uno o varios discos, según el nivel de RAID implementado. Algunas arquitecturas de CPU emplean varias comprobaciones transparentes para detectar y mitigar la corrupción de datos en las cachés de la CPU , los buffers de la CPU y los canales de instrucciones ; un ejemplo es la tecnología Intel Instrucciones Replay , que está disponible en los procesadores Intel Itanium . [dieciséis]

Las unidades de disco duro detectan y corrigen muchos errores utilizando los códigos ECC [17] que se almacenan en el disco para cada sector. Si la unidad de disco detecta múltiples errores de lectura en un sector, puede hacer una copia del sector defectuoso en otra parte del disco, reasignando el sector fallido del disco a un sector de repuesto sin la participación del sistema operativo (aunque esto puede retrasarse hasta la próxima escritura al sector). Esta "corrección silenciosa" se puede monitorear usando SMART y herramientas disponibles para la mayoría de los sistemas operativos para verificar automáticamente la unidad de disco en busca de fallas inminentes al observar el deterioro de los parámetros SMART.

Algunos sistemas de archivos , como Btrfs , HAMMER , ReFS y ZFS , utilizan sumas de comprobación de datos y metadatos internos para detectar daños silenciosos en los datos. Además, si se detecta una corrupción y el sistema de archivos utiliza mecanismos RAID integrados que proporcionan redundancia de datos , dichos sistemas de archivos también pueden reconstruir datos corruptos de forma transparente. [18] Este enfoque permite una protección de integridad de datos mejorada que cubre todas las rutas de datos, lo que generalmente se conoce como protección de datos de extremo a extremo , en comparación con otros enfoques de integridad de datos que no abarcan diferentes capas en la pila de almacenamiento y permiten que la corrupción de datos ocurren mientras los datos pasan los límites entre las diferentes capas. [19]

La depuración de datos es otro método para reducir la probabilidad de corrupción de datos, ya que los errores del disco se detectan y recuperan antes de que se acumulen múltiples errores y superen la cantidad de bits de paridad. En lugar de verificar la paridad en cada lectura, la paridad se verifica durante un análisis regular del disco, que a menudo se realiza como un proceso en segundo plano de baja prioridad. La operación de "depuración de datos" activa una comprobación de paridad. Si un usuario simplemente ejecuta un programa normal que lee datos del disco, entonces la paridad no se verificará a menos que la verificación de paridad en lectura sea compatible y habilitada en el subsistema del disco.

Si se emplean mecanismos apropiados para detectar y remediar la corrupción de datos, se puede mantener la integridad de los datos. Esto es particularmente importante en aplicaciones comerciales (por ejemplo, banca ), donde un error no detectado podría corromper el índice de una base de datos o cambiar los datos para afectar drásticamente el saldo de una cuenta, y en el uso de datos cifrados o comprimidos , donde un pequeño error puede causar un gran daño. conjunto de datos inutilizable. [7]

Ver también

Referencias

  1. ^ Científico americano (21 de julio de 2008). "Tormentas solares: datos breves". Grupo Editorial Naturaleza . Archivado desde el original el 26 de diciembre de 2010 . Consultado el 8 de diciembre de 2009 .
  2. ^ "Corrupción silenciosa de datos". Google Inc. 2023 . Consultado el 30 de enero de 2023 . La corrupción silenciosa de datos (SDC), a veces denominada error silencioso de datos (SDE), es un problema que afecta a toda la industria y que afecta no solo a la memoria, el almacenamiento y las redes protegidos durante mucho tiempo, sino también a las CPU de las computadoras.
  3. ^ Eric Lowe (16 de noviembre de 2005). "¡ZFS salva el día (-ta)!". Oracle: volcados de núcleo del cerebro de un hacker de kernel: blog de Eric Lowe . Oráculo. Archivado desde el original (Blog) el 5 de febrero de 2012 . Consultado el 9 de junio de 2012 .
  4. ^ bcantrill (31 de diciembre de 2008). «Gritos en el Datacenter» (archivo de vídeo) . YouTube . Archivado desde el original el 3 de julio de 2012 . Consultado el 9 de junio de 2012 .
  5. ^ jforonda (31 de enero de 2007). "El puerto FC defectuoso se encuentra con ZFS" (Blog) . Blogger: fuera de lo común . Archivado desde el original el 26 de abril de 2012 . Consultado el 9 de junio de 2012 .
  6. ^ "¿Son los discos el principal contribuyente a las fallas de almacenamiento? Un estudio exhaustivo de las características de fallas del subsistema de almacenamiento" (PDF) . USENIX. Archivado (PDF) desde el original el 25 de enero de 2022 . Consultado el 18 de enero de 2014 .
  7. ^ ab Bernd Panzer-Steindel (8 de abril de 2007). "Borrador 1.3". Integridad de los datos . CERN. Archivado desde el original el 27 de octubre de 2012 . Consultado el 9 de junio de 2012 .
  8. ^ "Observaciones sobre errores, correcciones y confianza de los sistemas dependientes". Archivado desde el original el 29 de octubre de 2013.
  9. ^ Hochschild, Peter H.; Turner, Paul Jack; Mogul, Jeffrey C.; Govindaraju, Rama Krishna; Ranganathan, Parthasarathy; Culler, David E.; Vahdat, Amin (2021). «Núcleos que no cuentan» (PDF) . Actas del taller sobre temas candentes en sistemas operativos . págs. 9-16. doi :10.1145/3458336.3465297. ISBN 9781450384384. S2CID  235311320. Archivado (PDF) desde el original el 3 de junio de 2021 . Consultado el 2 de junio de 2021 .
  10. ^ HotOS 2021: Núcleos que no cuentan (hardware divertido), archivado desde el original el 22 de diciembre de 2021 , consultado el 2 de junio de 2021
  11. ^ "Corrupción silenciosa de datos en matrices de discos: una solución". COMITÉ EJECUTIVO NACIONAL. 2009. Archivado desde el original (PDF) el 29 de octubre de 2013 . Consultado el 14 de diciembre de 2020 .
  12. ^ "Una conversación con Jeff Bonwick y Bill Moore". Asociación para Maquinaria de Computación. 15 de noviembre de 2007. Archivado desde el original el 16 de julio de 2011 . Consultado el 14 de diciembre de 2020 .
  13. ^ David SH Rosenthal (1 de octubre de 2010). "Mantener los bits seguros: ¿qué tan difícil puede ser?". Cola ACM . Archivado desde el original el 17 de diciembre de 2013 . Consultado el 2 de enero de 2014 .; Bairavasundaram, L., Goodson, G., Schroeder, B., Arpaci-Dusseau, AC, Arpaci-Dusseau, RH 2008. Un análisis de la corrupción de datos en la pila de almacenamiento. En actas de la sexta conferencia de Usenix sobre tecnologías de almacenamiento y archivos.
  14. ^ Kelemen, P. Corrupciones silenciosas (PDF) . Octavo Taller Anual sobre Clústeres Linux para Supercomputación.
  15. ^ David Fiala; Frank Mueller; Christian Engelmann; Rolf Riesen; Kurt Ferreira; Ron Brightwell (noviembre de 2012). "Detección y corrección de corrupción silenciosa de datos para informática de alto rendimiento a gran escala" (PDF) . fiala.me . IEEE . Archivado (PDF) desde el original el 7 de noviembre de 2014 . Consultado el 26 de enero de 2015 .
  16. ^ Steve Bostian (2012). "Aumente la confiabilidad para aplicaciones de misión crítica: tecnología Intel de reproducción de instrucciones" (PDF) . Intel . Archivado (PDF) desde el original el 2 de febrero de 2016 . Consultado el 27 de enero de 2016 .
  17. ^ "Leer gravedad de errores y lógica de gestión de errores". Archivado desde el original el 7 de abril de 2012 . Consultado el 4 de abril de 2012 .
  18. ^ Margarita Bierman; Lenz Grimmer (agosto de 2012). "Cómo uso las capacidades avanzadas de Btrfs". Corporación Oráculo . Archivado desde el original el 2 de enero de 2014 . Consultado el 2 de enero de 2014 .
  19. ^ Yupu Zhang; Abhishek Rajimwale; Andrea Arpaci-Dusseau ; Remzi H. Arpaci-Dusseau (2010). "Integridad de datos de un extremo a otro para sistemas de archivos: un estudio de caso de ZFS" (PDF) . Conferencia USENIX sobre tecnologías de archivos y almacenamiento . CiteSeerX 10.1.1.154.3979 . S2CID  5722163. Wikidata  Q111972797 . Consultado el 12 de agosto de 2014 . 

enlaces externos