Neste post será apresentado como trabalhar com snapshots do client RBD.

Um snapshot é uma cópia somente leitura do estado de uma imagem em um determinado ponto no tempo. Um dos recursos avançados do Ceph block storage  é que você pode criar snapshots das imagens para manter um histórico do estado de uma imagem. O Ceph também suporta layering de snapshots, que permitem clonar imagens (por exemplo, uma imagem de VM) de maneira rápida e fácil.

Se um snapshot for executado enquanto existir um processo de I/O na imagem, o snapshot poderá não obter os dados exatos ou mais recentes da imagem e o snapshot poderá ter que ser clonada para uma nova imagem para ser montada.



1) Laboratório

Neste post utilizamos o laboratório do site e configuramos o client RBD.
https://cephbrasil.com/configurando-o-cliente-rbd/
https://cephbrasil.com/laboratorio-do-site/


2) Snapshot Hands On Lab

Vamos executar o comando fsfreeze onde a imagem está montada.

[root@client ~]# fsfreeze /opt/labrbd 

Podemos observar que não foi possível escrever no mount point .

Crie um snapshot da imagem RBD com a sintaxe abaixo

#rbd snap create <POOL NAME>/<IMAGE NAME>@<SNAP NAME> 


# rbd snap create rbd/rbd1@snapshot1

Vamos listar o snapshot para ver se foi criado

# rbd snap ls <POOL NAME>/<IMAGE NAME>


# rbd snap ls rbd/rbd1

Execute o processo de unfreeze no mount point

[root@client vagrant]# fsfreeze -u  /opt/labrbd 


4) Fazendo rollback de um snapshot

Vamos criar abaixo alguns arquivos para gerarmos um snapshot .

 for i in $(seq 0 50); do touch /opt/labrbd/snapshotlab-$i; done

Vamos agora gerar um snapshot

rbd snap create rbd/rbd1@snapshot-labrollback

Listando o snapshot

Deletando os arquivos do mountpoint

[root@client vagrant]# rm -rf /opt/labrbd/*


Para evitarmos o erro abaixo vamos desabilitar o exclusive lock da imagem.

Desabilitando o exclusive lock da imagem

rbd feature disable rbd/rbd1 exclusive-lock


Desmounte o mount point

umount /opt/labrbd


Rollback do snapshot

rbd snap create <POOL NAME>/<IMAGE NAME>@<SNAP NAME>

Monte o mount point

mount /opt/labrbd


A imagem abaixo representa o processo completo de rollback


Renomeie o snapshot snapshot-labrollback para snapshot-test

 rbd snap rename <POOL NAME>/<IMAGE NAME>@<ORIGINAL SNAP>
<POOL NAME>/<IMAGE NAME>@<NEW SNAP>


Delete a imagem

rbd snap rm  <POOL NAME>/<IMAGE NAME>@<SNAP NAME>

No próximo post será apresentado o trabalho com clones e layering de imagem .

Translate »