Articulo de referencia

Dispositivo de bloque de registro

JBD , o dispositivo de bloques con registro de transacciones , es una capa genérica de registro de transacciones para dispositivos de bloques en el kernel de Linux, escrita por ...

JBD , o dispositivo de bloques con registro de transacciones , es una capa genérica de registro de transacciones para dispositivos de bloques en el kernel de Linux, escrita por Stephen Tweedie de Red Hat . JBD es independiente del sistema de archivos. Se sabe que ext3 , ext4 y OCFS2 utilizan JBD. [ 1 ] [ 2 ]

JBD existe en dos versiones, JBD y JBD2. JBD se creó con ext3 en 1998. [ 3 ] JBD2 se bifurcó de JBD en 2006 con ext4, con el objetivo de admitir un número de bloque de 64 bits (a diferencia de los 32 bits solamente en JBD). Como resultado, el tamaño máximo del volumen en ext4 se incrementó a 1 EiB en comparación con 16 TiB en ext3 (suponiendo bloques de 4 KiB). [ 4 ] JBD2 es retrocompatible. OCFS2 a partir de Linux 2.6.28 usa JBD2. [ 5 ] El antiguo JBD se eliminó con el controlador dedicado ext3 en Linux 4.3 (2015). [ 6 ]

Estructuras JBD

Mango atómico

Un identificador atómico es básicamente una colección de todos los cambios de bajo nivel que ocurren durante una única actualización atómica de alto nivel del sistema de archivos. El identificador atómico garantiza que la actualización de alto nivel se produzca o no, ya que los cambios reales en el sistema de archivos se guardan solo después de registrar el identificador atómico en el diario. [ 2 ]

Transacción

En aras de la eficiencia y el rendimiento, JBD agrupa varios identificadores atómicos en una sola transacción, que se escribe en el registro después de que transcurre un tiempo fijo o cuando no queda espacio libre en el registro para almacenarla.

La transacción tiene varios estados: [ 2 ]

  • En ejecución: significa que la transacción sigue activa y puede aceptar más identificadores.
  • Bloqueado: no se aceptan manijas nuevas, pero las existentes aún están sin terminar.
  • Flush: la transacción se ha completado y se está registrando en el libro diario.
  • Confirmar: la transacción se escribe en el diario y ahora los cambios se aplican al sistema de archivos.
  • Finalizado: la transacción se ha registrado completamente en el diario y en el dispositivo de bloques. Se puede eliminar del diario.

Recuperación

En función de los estados de las transacciones, el JBD puede determinar qué transacciones deben reproducirse (o reaplicarse) al sistema de archivos. [ 2 ]

Fuentes

  1. "La API de registro de Linux" . La documentación del kernel de Linux .
  2. 1 2 3 4 Kedar Sovani (20 de junio de 2006). "Linux: El dispositivo de bloques con registro de transacciones" . KernelTrap . Archivado del original el 26 de septiembre de 2007.
  3. Stephen C. Tweedie (mayo de 1998). "Registro del sistema de archivos Linux ext2fs" (PDF) . Actas de la 4.ª edición anual de LinuxExpo, Durham, NC . Consultado el 23 de junio de 2007 .
  4. Mingming Cao (9 de agosto de 2006). "Bifurcación del sistema de archivos ext4 y JBD2" (Lista de correo). Lista de correo del kernel de Linux.
  5. "Linux 2.6.28" . kernelnewbies.org . 2008.
  6. Corbet, Jonathan. "rm -r fs/ext3" . LWN.net .