Continuando con el post anterior (https://www.jorgedelacruz.es/2014/08/14/zimbra-almacenamiento-asequible-con-ceph/ ), lo primero que haremos en cambiar el sistema de ficheros. Este cambio es a consecuencia de que EXT4, no permite congelar el sistema de ficheros y esto es de gran ayuda cuando vamos a trabajar con SnapShots. El procedimiento que realizaré es la recuperación de un fichero: “OscarMas.txt”, después de haber hecho un SnapShot con RBD.
Lo primero que haremos, es desmontar la partición de ficheros en EXT4, formatearemos el sistema en XFS, el cual nos permitirá congelar nuestro sistema de ficheros y posteriormente montaremos la partición:
[syntax type=”php”]
root@zimbra:~# mount | grep opt
root@zimbra:~# umount /opt
root@zimbra:~# mkfs.xfs -f /dev/rbd/rbd/foo
root@zimbra:~# mount | grep opt
[/syntax]
Crearemos un fichero dentro de nuestra partición de Ceph, para eliminar dicho fichero y recuperarlo posteriormente:
[syntax type=”php”]
root@zimbra:~# echo “test” > /opt/OscarMas.txt
root@zimbra:~# ls -la /opt/ | grep OscarMas
[/syntax]
Volcaremos los datos que hayan en los buffers de nuestro sistema operativo ( comando: sync ) y seguidamente congelaremos nuestro sistema de ficheros XFS ( comando: xfs_freeze ). Si tenemos un sistema de Zimbra montado en Ceph, es un buen momento para páralo (zmcontrol stop)
[syntax type=”php”]root@zimbra:~# sync && xfs_freeze -f /opt[/syntax]
Crearemos nuestro SnapShot y verificaremos que se ha realizado correctamente. Os recuerdo que en el post anterior, cuando creamos nuestro sistema de RBD, lo llamamos “foo”:
[syntax type=”php”]
root@zimbra:~# rbd –pool rbd snap create –snap miprimersnapshot foo
root@zimbra:~# rbd –pool rbd snap ls foo
[/syntax]
Descongelamos la partición y eliminamos el fichero OscarMas.txt anteriormente creado:
[syntax type=”php”]
root@zimbra:~# xfs_freeze -u /opt/
root@zimbra:~# rm -rf /opt/OscarMas.txt
[/syntax]
Mapearemos nuestro SnapShot y montaremos el SnapShot que hemos creado en “/snapshot_ori”
[syntax type=”php”]
root@zimbra:~# rbd showmapped
root@zimbra:~# rbd map rbd/foo@miprimersnapshot
root@zimbra:~# mkdir /snapshot_ori
root@zimbra:~# mount -t xfs -o ro,norecovery,nouuid “/dev/rbd/rbd/foo@miprimersnapshot” “/snapshot_ori”
[/syntax]
Ahora, ya podemos recuperar el fichero de nuestro SnapShot:
[syntax type=”php”]
root@zimbra:~# ls -la /snapshot_ori | grep OscarMas
root@zimbra:~# cp /snapshot_ori/OscarMas.txt /opt/
[/syntax]
Y una vez recuperado, desmontaremos la partición y eliminaremos el SnapShot:
[syntax type=”php”]
root@zimbra:~# umount /snapshot_ori
root@zimbra:~# rbd –pool rbd snap rm –snap miprimersnapshot foo
root@zimbra:~# rbd –pool rbd snap ls foo
root@zimbra:~# rbd snap purge rbd/foo
[/syntax]
Espero que os sirva cuando haya que recuperar algún fichero de vuestro sistema de Ceph.









Leave a Reply