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:
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