Dispositivo de bloques

Instantánea (snapshot)

Una instantánea de un volúmen o snapshot fija un momento del estado del dispotitivo de bloques, al que luego se puede retornar descartando los datos nuevos (posteriores a la instantánea).

Ceph al hacer una instantánea reserva un espacio en el que va escribiendo todos los cambios nuevos. En el uso, al hacer una lectura de datos, los previos a la instantánea se leen del de los bloques originales y los nuevos de la instantánea; cómo se indica en el siguiente gráfico:

Snapshot

De esta forma es muy fácil descartar la instantánea, quedando solo los datos originales, previos a la instantánea. O, por el contrario, juntar la instantánea con los datos originales y conservar las modificaciones nuevas.

Creación de snapshot

# rbd snap create rbd/client1-rbd1@snap1
# rbd snap ls rbd/ceph-client1-rbd1
SNAPID NAME    SIZE
     2 snap1 512 MB

Realizamos modificaciones en los datos del disco, ya sea borrando archivos, creando nuevo o modificando los existentes.

# rm -R /mnt/ceph-vol1/a*

Todas estas modificaciones están siendo guardadas en el snapshot, aunque para nosotros son transparentes y solo podemos acceder a los últimos cambios que hemos realizado.

Descartar snapshot

El rollback vuelve al estado anterior al snapshot recuperando nuestros archivos borrados o descartando los archivos nuevos y cambios realizados.

# rbd snap rollback rbd/client1-rbd1@snap1
Rolling back to snapshot: 100% complete...done.

Es necesario desmontar y montar el disco, a los efectos de que todo la jerarquía del sistema de archivos sea leída nuevamente.

# umount /mnt/ceph-vol1


# mount /dev/rbd1 /mnt/ceph-vol1/

Y podemos consultar si nuestros archivos borrados vuelven a aparecer.

# ls /mnt/ceph-vol1/
acpi
adduser.conf