Páginas

lunes, 27 de septiembre de 2021

FreeBSD checkpoint ZFS


FreeBSD posee una característica muy interesante llamada 'zpool checkpoint'.

https://sdimitro.github.io/post/zpool-checkpoint/
https://oshogbo.vexillium.org/blog/79/
https://zedfs.com/zpool-checkpoints/

Los puntos de control de zpool o checkpoint, en lugar de tomar una única instantánea (snapshot) del conjunto de datos, toma una instantánea de todo el pool. Eso significa que no sólo se revierten los datos sino también todos los metadatos.

Esta característica es increíblemente útil, especialmente cuando se actualiza un sistema operativo, o cuando necesite experimentar con conjuntos de datos adicionales.

El punto de control zpool recuerda todo el grupo de transacciones (TXG). Eso significa que ningún dato desaparecerá mientras exista el punto de control.

Recuerda todo el estado del grupo en el momento en que fue tomado y el usuario puede volver a él más tarde o descartarlo. 

Un caso de uso genérico es un administrador/a que está a punto de realizar un conjunto de acciones destructivas para ZFS como parte de un procedimiento crítico. Ella toma un punto de control del grupo antes de realizar las acciones, luego retrocede a él si uno de ellos falla o pone el grupo en un estado inesperado.

# zpool status -x
all pools are healthy

# zpool list

NAME      SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
backups    37G  6.63G  30.4G        -         -     0%    17%  1.00x    ONLINE  -
zroot     109G  20.7G  88.3G        -         -     4%    18%  1.00x    ONLINE  -
Crear checkpoint
# zpool checkpoint zroot

# zpool list
NAME      SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
backups    37G  6.63G  30.4G        -         -     0%    17%  1.00x    ONLINE  -
zroot     109G  20.7G  88.3G     240K         -     4%    18%  1.00x    ONLINE  -

En el menú del cargador (loader menu) tiene una nueva entrada acompañada de un número, en este caso 8. Si pulsa la tecla 8 se revertirán los cambios y Rewind ZFS checkpoint pasará de Rewind ZFS checkpoint: NO a Rewind ZFS checkpoint: YES.

Todo estará tal y como estaba en el momento de la creación del checkpoint.

Listar zpool
# zpool list


Ahora no aparece el checkpoint, ya se ha utilizado. De lo contrario si no pulsa el número correspondiente en la mencionada entrada el checkpoint aún permanece.


Zpool Checkpoint funciones:


 Para crear un checkpoint:

# zpool checkpoint <pool>


 Retrocede el estado al punto de control y elimina el checkpoint:

# zpool import -- rewind-to-checkpoint <pool>


 Eliminar el checkpoint:

# zpool checkpoint --discard <pool> o zpool checkpoint -d <pool>

FreeBSD es genial!.

No hay comentarios:

Publicar un comentario