Un registro de intenciones de ZFS restaura las escrituras NAS confirmadas tras una pérdida de energía manteniendo un registro duradero de las operaciones síncronas que ZFS reconoció antes de que sus bloques de datos finales se comprometieran mediante la ruta normal del grupo de transacciones.
Después del reinicio, ZFS puede reproducir esos registros de log y completar las operaciones interrumpidas. Esto preserva las promesas de almacenamiento hechas a las aplicaciones, pero no recupera todas las escrituras asíncronas ni repara daños no relacionados en el hardware y el sistema de archivos.
¿Qué promesa hace una escritura síncrona?
Una escritura síncrona solicita al sistema de almacenamiento que no informe éxito hasta que la operación tenga un registro de recuperación duradero. las escrituras síncronas pasan por el ZIL para que un cliente pueda confiar en el reconocimiento tras un fallo.
Las bases de datos, cargas de trabajo NFS, máquinas virtuales y aplicaciones que usan fsync pueden depender de esta garantía. Avanzan su propio estado de transacción después de que el almacenamiento informa que la escritura requerida es segura.
Las escrituras asíncronas siguen una promesa diferente. Pueden permanecer en memoria volátil hasta un compromiso posterior del grupo de transacciones, por lo que los cambios recientes no confirmados pueden desaparecer tras una pérdida repentina de energía sin violar un contrato de durabilidad síncrona.
¿Cómo funcionan juntos el ZIL y los grupos de transacciones?
ZFS recopila datos sucios normales en grupos de transacciones y los escribe eficientemente en el grupo principal. El registro de intenciones registra operaciones síncronas pendientes como una vía de recuperación de corta duración hasta que el grupo de transacciones relacionado se compromete de forma segura.
El registro no es el hogar permanente de los datos del archivo. Una vez que el grupo de transacciones llega al árbol de almacenamiento principal, los registros de intenciones anteriores ya no son necesarios y su espacio puede reutilizarse.
Esta separación permite que ZFS preserve la durabilidad de baja latencia para escrituras seleccionadas mientras organiza el grupo principal en compromisos de grupos de transacciones más grandes y eficientes.
¿Qué sucede con el registro de intenciones después de una pérdida de energía?
Cuando el NAS se reinicia, ZFS importa el pool y verifica si las operaciones síncronas reconocidas no fueron incluidas en el último grupo de transacciones comprometido. Si es necesario, el registro de intenciones se reproduce durante la recuperación.
La reproducción vuelve a emitir las operaciones registradas en un nuevo grupo de transacciones consistente. El proceso restaura las escrituras reconocidas sin requerir que las aplicaciones adivinen qué transacciones confirmadas se perdieron.
El alcance de la recuperación es deliberadamente pequeño porque el registro cubre operaciones síncronas recientes, no todo el pool. ZFS aún depende de su árbol copy-on-write comprometido para el estado más amplio del sistema de archivos.
¿Qué cambia cuando el ZIL usa un dispositivo SLOG separado?
Cada pool tiene un mecanismo de registro de intenciones, pero un dispositivo de registro separado opcional mueve sus registros duraderos fuera de los vdevs principales de datos. Un SLOG de baja latencia puede acortar las confirmaciones síncronas cuando el pool principal es más lento para persistir escrituras pequeñas forzadas.
El SLOG no es una caché de escritura general y normalmente no se lee durante la operación saludable. Los grupos principales de transacciones aún escriben los datos autorizados en el pool regular.
Un SLOG rápido solo ayuda a cargas de trabajo que emiten escrituras síncronas significativas. La transmisión de medios, las lecturas ordinarias y las copias de archivos mayormente asíncronas pueden mostrar poco o ningún beneficio.
¿Por qué importan más la protección contra pérdida de energía y la latencia que la capacidad?
Un dispositivo de registro de intenciones necesita preservar los registros reconocidos cuando el sistema pierde energía. la protección contra pérdida de energía preserva las escrituras SLOG que de otro modo quedarían solo en la caché volátil del dispositivo.
La latencia sostenida en escrituras pequeñas y el comportamiento de vaciado importan más que la gran capacidad anunciada. El registro activo generalmente cubre una ventana corta de operaciones síncronas pendientes en lugar de servir como una gran capa de datos a largo plazo.
Un dispositivo lento o deshonesto puede hacer que las escrituras síncronas sean más lentas o socavar la promesa de durabilidad. Los benchmarks de ráfaga de SSD para consumidores no demuestran un comportamiento seguro de escritura forzada durante una interrupción.
¿Qué no puede recuperar un registro de intenciones?
El registro de intención no puede recrear escrituras asíncronas que nunca se prometieron como duraderas, revertir una sobrescritura intencional, ni reemplazar una copia de seguridad independiente después de que cada versión en línea esté dañada.
Tampoco puede corregir RAM defectuosa, errores de firmware del controlador, vaciados deshonestos del disco, miembros del pool fallidos más allá de la redundancia, o corrupción de aplicaciones ya comprometida como un nuevo estado válido.
Un SAI, el orden correcto de escritura, sumas de verificación, instantáneas, redundancia y copias de seguridad abordan otros límites de fallos. El ZIL preserva específicamente la intención síncrona reconocida a través de una interrupción.
| Componente | Rol principal | Qué sucede después de un corte de energía |
|---|---|---|
| Grupo de transacciones | Compromete el árbol autoritativo de ZFS | El último grupo comprometido válido sigue siendo montable |
| ZIL | Registra la intención síncrona reciente | Las operaciones confirmadas pendientes pueden reproducirse |
| SLOG separado | Proporciona un dispositivo de registro duradero de menor latencia | Suministra registros de intención si se requiere reproducción |
| Copia de seguridad | Almacena una versión de recuperación independiente | Recupera fallos fuera del alcance del registro de intención |
Preguntas Frecuentes
¿Es el SLOG lo mismo que el ZIL?
No. El ZIL es el mecanismo de registro de intención de ZFS. Un SLOG es un dispositivo separado opcional usado para almacenar esos registros de intención en lugar de colocarlos en el pool principal.
¿Acelera un SLOG cada escritura en NAS?
No. Principalmente afecta a las escrituras síncronas cuya latencia está limitada por los compromisos duraderos del registro. Las escrituras asíncronas y las cargas de trabajo de lectura pueden no mejorar.
¿Se lee el ZIL durante la operación normal?
Normalmente no se usa como fuente de lecturas de archivos. Se reproduce después de una interrupción cuando las operaciones síncronas confirmadas no fueron incluidas en el último grupo de transacciones comprometido.
¿Necesita ZFS un registro de intención para mantener la consistencia del sistema de archivos?
Los grupos de transacciones copy-on-write de ZFS preservan un árbol comprometido consistente. El registro de intención añade la recuperación de operaciones síncronas reconocidas que ocurrieron después de ese punto comprometido.
Conclusión Final
Un registro de intención ZFS no acelera todo tipo de recuperación. Su función precisa es preservar y reproducir operaciones síncronas confirmadas que aún no habían llegado al grupo principal de transacciones. Un SLOG de baja latencia y protegido contra cortes de energía puede hacer que esos compromisos sean más rápidos, mientras que las copias de seguridad, la redundancia, las sumas de verificación, las instantáneas y un SAI continúan protegiendo diferentes límites de fallos.
Centro de Tecnología e IA
Más para leer

¿Por qué Home Assistant funciona de manera diferente en conexiones LAN y remotas?
Las sesiones de Home Assistant en la LAN y de forma remota utilizan rutas de red diferentes; la latencia remota añade DNS, cifrado, WAN,...

¿Home Assistant funciona de forma fiable detrás de CGNAT o una doble NAT?
CGNAT y la doble NAT normalmente no afectan al control local de Home Assistant; principalmente cambian la forma en que los clientes remotos pueden...

¿Cómo afecta la latencia de red a Home Assistant durante las interrupciones de Internet?
La pérdida de conexión a Internet y la latencia de red son fallos distintos: las rutas de los dispositivos locales pueden seguir siendo rápidas...

