stringtranslate.com

Depuración de datos

La depuración de datos es una técnica de corrección de errores que utiliza una tarea en segundo plano para inspeccionar periódicamente la memoria principal o el almacenamiento en busca de errores y, a continuación, corrige los errores detectados utilizando datos redundantes en forma de diferentes sumas de comprobación o copias de datos. La depuración de datos reduce la probabilidad de que se acumulen errores únicos corregibles, lo que reduce los riesgos de errores no corregibles.

La integridad de los datos es una preocupación de alta prioridad en la escritura, lectura, almacenamiento, transmisión o procesamiento de datos en sistemas operativos de computadoras y en sistemas de almacenamiento y transmisión de datos de computadoras. Sin embargo, solo unos pocos de los sistemas de archivos existentes y utilizados actualmente brindan protección suficiente contra la corrupción de datos . [1] [2] [3]

Para solucionar este problema, la depuración de datos permite realizar comprobaciones rutinarias de todas las inconsistencias en los datos y, en general, prevenir fallos de hardware o software. Esta función de "depuración" se produce habitualmente en memorias, matrices de discos, sistemas de archivos o FPGA como mecanismo de detección y corrección de errores. [4] [5] [6]

RAID

Con la depuración de datos, un controlador RAID puede leer periódicamente todos los discos duros de una matriz RAID y comprobar si hay bloques defectuosos antes de que las aplicaciones puedan acceder a ellos. Esto reduce la probabilidad de corrupción silenciosa de datos y pérdida de datos debido a errores a nivel de bit. [7]

En los entornos RAID de Dell PowerEdge , una función denominada "lectura de patrulla" puede realizar la limpieza de datos y el mantenimiento preventivo . [8]

En OpenBSD , la bioctl(8)utilidad permite al administrador del sistema controlar estas lecturas de patrulla a través del BIOCPATROL ioctl en el /dev/bio pseudodispositivo ; a partir de 2019, esta funcionalidad es compatible con algunos controladores de dispositivos para controladores LSI Logic y Dell; esto incluye mfi(4)desde OpenBSD 5.8 (2015) y mfii(4)desde OpenBSD 6.4 (2018). [9] [10]

En FreeBSD y DragonFly BSD , la patrulla se puede controlar a través de una utilidad específica del controlador RAIDmfiutil(8) desde FreeBSD 8.0 (2009) y 7.3 (2010). [11] La implementación de FreeBSD fue utilizada por los desarrolladores de OpenBSD para agregar soporte de patrulla a su marco genérico bio(4) y la utilidad bioctl , sin necesidad de una utilidad específica del controlador separada.

En NetBSD en 2008, el marco bio(4) de OpenBSD se amplió para incluir soporte para controles de consistencia, que se implementó para /dev/bio pseudodispositivos bajo el comando BIOCSETSTATE ioctl , con las opciones start y stop ( BIOC_SSCHECKSTART_VOLy BIOC_SSCHECKSTOP_VOL, respectivamente); esto es compatible solo con un único controlador a partir de 2019: arcmsr(4). [12]

Linux MD RAID , como una implementación RAID de software , permite realizar comprobaciones de la consistencia de los datos y proporciona una reparación automática de las inconsistencias detectadas en los datos. Estos procedimientos se realizan normalmente configurando un trabajo cron semanal . El mantenimiento se realiza emitiendo las operaciones check , repair o idle a cada uno de los dispositivos MD examinados. Los estados de todas las operaciones realizadas, así como los estados generales de RAID, están siempre disponibles. [13] [14] [15]

Sistemas de archivos

Btrfs

Como sistema de archivos de copia en escritura (CoW) para Linux , Btrfs proporciona aislamiento de fallas, detección y corrección de corrupción y limpieza del sistema de archivos. Si el sistema de archivos detecta una falta de coincidencia en la suma de comprobación al leer un bloque, primero intenta obtener (o crear) una buena copia de este bloque desde otro dispositivo, si se utilizan sus técnicas de duplicación interna o RAID. [16]

Btrfs puede iniciar una verificación en línea de todo el sistema de archivos activando un trabajo de limpieza del sistema de archivos que se realiza en segundo plano. El trabajo de limpieza escanea todo el sistema de archivos para comprobar su integridad e intenta automáticamente informar y reparar cualquier bloque defectuoso que encuentre en el proceso. [17] [18]

ZFS

Las características de ZFS, que es una combinación de sistema de archivos y administrador de volúmenes lógicos , incluyen la verificación contra modos de corrupción de datos , verificación continua de la integridad y reparación automática. Sun Microsystems diseñó ZFS desde cero con un enfoque en la integridad de los datos y para proteger los datos en los discos contra problemas como errores de firmware de disco y escrituras fantasma. [ verificación fallida ] [19]

ZFS proporciona una utilidad de reparación llamada scrubque examina y repara la corrupción silenciosa de datos causada por la descomposición de datos y otros problemas.

Memoria

Debido a la alta densidad de integración de los chips de memoria de las computadoras actuales , las estructuras de las celdas de memoria individuales se volvieron lo suficientemente pequeñas como para ser vulnerables a los rayos cósmicos y/o a la emisión de partículas alfa . Los errores causados ​​por estos fenómenos se denominan errores suaves . Esto puede ser un problema para las memorias basadas en DRAM y SRAM .

La limpieza de memoria detecta y corrige errores de bits en la RAM de la computadora mediante el uso de memoria ECC , otras copias de los datos u otros códigos de corrección de errores .

FPGA

El scrubbing es una técnica que se utiliza para reprogramar un FPGA . Se puede utilizar de forma periódica para evitar la acumulación de errores sin necesidad de encontrar uno en el bitstream de configuración, simplificando así el diseño.

Se pueden adoptar numerosos enfoques con respecto a la depuración, desde la simple reprogramación del FPGA hasta la reconfiguración parcial. El método más simple de depuración es reprogramar completamente el FPGA a una cierta tasa periódica (normalmente 1/10 de la tasa de alteración calculada). Sin embargo, el FPGA no está operativo durante ese tiempo de reprogramación, en el orden de microsegundos a milisegundos. Para situaciones que no pueden tolerar ese tipo de interrupción, está disponible la reconfiguración parcial. Esta técnica permite reprogramar el FPGA mientras aún está operativo. [20]

Véase también

Referencias

  1. ^ "Comprobación de la integridad del sistema de archivos ZFS". Guía de administración de Oracle Solaris ZFS . Oracle. Archivado desde el original el 31 de enero de 2013 . Consultado el 25 de noviembre de 2012 .
  2. ^ Vijayan Prabhakaran (2006). "SISTEMAS DE ARCHIVOS DE HIERRO" (PDF) . Doctor en Filosofía en Ciencias de la Computación . Universidad de Wisconsin-Madison. Archivado (PDF) desde el original el 29 de abril de 2011. Consultado el 9 de junio de 2012 .
  3. ^ Andrew Krioukov; Lakshmi N. Bairavasundaram; Garth R. Goodson; Kiran Srinivasan; Randy Thelen; Andrea C. Arpaci-Dusseau; Remzi H. Arpaci-Dusseau (2008). "Paridad perdida y paridad recuperada". En Mary Baker; Erik Riedel (eds.). FAST'08: Actas de la 6.ª Conferencia USENIX sobre tecnologías de archivos y almacenamiento . Archivado desde el original el 26 de agosto de 2020. Consultado el 28 de mayo de 2021 .
  4. ^ "Análisis de la corrupción de datos en la pila de almacenamiento" (PDF) . Archivado (PDF) desde el original el 2010-06-15 . Consultado el 2012-11-26 .
  5. ^ "Impacto de la corrupción de discos en los DBMS de código abierto" (PDF) . Archivado (PDF) desde el original el 2010-06-15 . Consultado el 2012-11-26 .
  6. ^ "Baarf.com". Baarf.com. Archivado desde el original el 5 de noviembre de 2011. Consultado el 4 de noviembre de 2011 .
  7. ^ Ulf Troppens, Wolfgang Mueller-Friedt, Rainer Erkens, Rainer Wolafka, Nils Haustein. Explicación de las redes de almacenamiento: conceptos básicos y aplicaciones de SAN, NAS, ISCSI, InfiniBand y FCoE de canal de fibra. John Wiley and Sons, 2009. p.39
  8. ^ "Acerca de los controladores PERC 6 y CERC 6i". Archivado desde el original el 29 de mayo de 2013. Consultado el 20 de junio de 2013. La función Patrol Read está diseñada como una medida preventiva para garantizar el estado del disco físico y la integridad de los datos. Patrol Read busca y resuelve posibles problemas en los discos físicos configurados.
  9. ^ "/sys/dev/ic/mfi.c — Controlador RAID SAS MegaRAID de Dell y LSI Logic". Referencia cruzada de BSD . OpenBSD .
  10. ^ "/sys/dev/pci/mfii.c — Controlador RAID LSI Logic MegaRAID SAS Fusion". Referencia cruzada de BSD . OpenBSD .
  11. ^ "mfiutil — Utilidad para administrar controladores SAS LSI MegaRAID". Referencia cruzada BSD . FreeBSD .
    • "mfiutil - Utilidad para administrar controladores SAS LSI MegaRAID". Páginas del manual de FreeBSD.
  12. ^ "sys/dev/pci/arcmsr.c — Controlador RAID SATA/SAS de Areca Technology Corporation". Referencia cruzada BSD . NetBSD .
  13. ^ "Administración RAID". kernel.org . Archivado desde el original el 2013-09-21 . Consultado el 2013-09-20 .
  14. ^ "Software RAID y LVM: depuración de datos". archlinux.org . Archivado desde el original el 2013-09-21 . Consultado el 2013-09-20 .
  15. ^ "Documentación del núcleo de Linux: Documentation/md.txt". kernel.org . Archivado desde el original el 2013-09-21 . Consultado el 2013-09-20 .
  16. ^ "btrfs Wiki: Características". El proyecto btrfs. Archivado desde el original el 25 de abril de 2012. Consultado el 20 de septiembre de 2013 .
  17. ^ Bierman, Margaret; Grimmer, Lenz (agosto de 2012). "Cómo utilizo las capacidades avanzadas de Btrfs". Archivado desde el original el 2 de enero de 2014. Consultado el 20 de septiembre de 2013 .
  18. ^ Coekaerts, Wim (28 de septiembre de 2011). "btrfs scrub – ¡por favor, arreglen las corrupciones con copias espejo!". Archivado desde el original el 21 de septiembre de 2013. Consultado el 20 de septiembre de 2013 .
  19. ^ Bonwick, Jeff (8 de diciembre de 2005). «Integridad de datos de extremo a extremo de ZFS». Archivado desde el original el 6 de mayo de 2017. Consultado el 19 de septiembre de 2013 .
  20. ^ "Xcell journal, issue 50" (PDF) . FPGAs on Mars (FPGAs en Marte ). Xilinx. 2004. p. 9. Archivado (PDF) desde el original el 2019-08-30 . Consultado el 2013-10-16 .

Enlaces externos