Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
doc:ceph-backup [2022/11/04 10:12] – created - external edit 127.0.0.1doc:ceph-backup [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
---- 
-title: Dokumentation__CephBackup 
-description:  
-published: true 
-date: 2021-03-13T19:07:26.245Z 
-tags:  
-editor: markdown 
-dateCreated: 2021-03-13T18:48:12.099Z 
---- 
- 
-1.  acl: 
-    [TeamGroup](TeamGroup "wikilink"):read,write,revert,delete,admin 
-    All: 
- 
-Backup im Ceph 
-============== 
- 
-\<\<TableOfContents(3)\>\> 
- 
-Übersicht 
---------- 
- 
-Zur Zeit erstellen wir Backups von VServer-Images im Ceph. Der 
-Backupprozess läuft auf dem Host **ceph3**, unter Verwendung eines 
-logical Volumes mit 4TB vom **hamster** via nfs4 auf /backup\_ceph/ 
-gemountet. 
- 
-Wir verwenden seit November 2017 das **export-diff** Feature von Ceph 
-(bzw. das **import-diff** Feature für Restore). 
- 
-Automatischer Ablauf 
--------------------- 
- 
-Via cronjob wird das Skript /home/cavy/cephbackup auf ceph3 ausgeführt. 
-Dieses erstellt derzeit einmal pro Tag ein **Diff** vom letzten Snapshot 
-eines Images zum aktuellen Zustand. Die Diffs sind auf 
-hamster:/backup\_ceph/ zu finden und sehen so aus: 
- 
-    IMAGE_NAME@INITIALER_SNAPSHOT--AKTUELLER_SNAPSHOT.diff 
- 
-    Beispiel: 
-    nelke-var@2017-11-02-13:30:13--2017-11-02-13:37:46.diff 
- 
-Zusätzlich liegen auf hamster:/backup\_ceph/ auch Exporte der initialen 
-Snapshots. Die sehen so aus: 
- 
-    IMAGE_NAME@INITIALER?SNAPSHOT.img 
- 
-    Beispiel: 
-    nelke-srv@2017-11-02-13:12:45.img 
- 
-Restore 
-------- 
- 
-Es gibt mehrere Möglichkeiten, Dateien oder ganze Images (das geht 
-leichter) wiederherzustellen. Die zuverlässigste ist hier beschrieben. 
- 
-Nehmen wir an, wir möchten Zustand von **nelke-srv** vor dem 3. November 
-2017 wiederherstellen: 
- 
-Zuerst suchen wir den letzten Diff vor dem gewünschten Datum. Das wäre 
-in diesem Beispiel 
- 
-    nelke-srv@2017-11-02-13:12:45--2017-11-02-13:37:46.diff 
- 
-Aus diesem Diff lässt sich ein Snapshot herstellen: 
- 
-    cavy@ceph3:~$ rbd import-diff /backup_ceph/nelke-srv@2017-11-02-13:12:45--2017-11-02-13:37:46.diff images/nelke-srv 
- 
-Danach sollten zwei Snapshots für images/nelke-srv existieren: 
- 
-    cavy@ceph3:~$ rbd snap ls images/nelke-srv 
-    SNAPID NAME                   SIZE  
-     15454 2017-11-02-13:12:45 8192 MB 
-     15457 2017-11-02-13:37:46 8192 MB 
- 
-Am zuverlässigsten funktioniert nun das Klonen des Snapshots in ein 
-neues Image. Dazu muss allerdings vorher der Snapshot geschützt 
-(protected) werden: 
- 
-    cavy@ceph3:~$ rbd snap protect images/nelke-srv@2017-11-02-13:37:46 
-    cavy@ceph3:~$ rbd clone images/nelke-srv@2017-11-02-12-13:37:46 images/nelke-srv-restored 
-    cavy@ceph3:~$ rbd flatten images/nelke-srv-restored 
-    cavy@ceph3:~$ rbd snap unprotect images/nelke-srv@2017-11-02-13:37:46 
-    cavy@ceph3:~$ rbd snap rm images/nelke-srv@2017-11-02-13:37:46 
- 
-Nachdem das Image mittels **flatten** vom Snapshot gelöst ist, kann 
-dieser auf unprotected gesetzt und gelöscht werden. Nun kann entweder 
-gleich das ursprüngliche Image (nelke-srv) gelöscht, und das neue Image 
-umbenannt werden (Vorsicht wenn der VServer noch läuft bzw. das Image 
-noch gemountet ist!), oder das neue Image wird gemountet und die 
-gesuchte(n) Datei(en) von dort herauskopiert. 
- 
-Restore aus Imagedatei 
----------------------- 
- 
-Bestenfalls sind auf hamster:/backup\_ceph/ auch Exporte von Snapshots 
-vorhanden. Die können einerseits mittels der .diff Dateien und 
-**ceph-apply-diff** auf den aktuellsten Stand gebracht werden, und 
-andererseits wiederum ins ceph importiert werden. 
- 
-    cavy@ceph3:~$ ceph-apply-diff VSERVER-NAME@DATE.img VSERVER-NAME@FROM-DATE--TO-DATE.diff 
-    Reading metadata 
-    From snap: FROM-DATE 
-    To snap: TO-DATE 
-    Image size: 10737418240 (10GB) 
-    End of metadata 
-    Data at offset 1048576 of length 8192 
-    Data at offset 1576960 of length 8192 
-    Data at offset 1593344 of length 16384 
-    Data at offset 2154496 of length 4096 
-    Data at offset 4042752 of length 4096 
-    Data at offset 10485760 of length 1048576 
-    Data at offset 20144128 of length 827392 
-    Data at offset 20971520 of length 913408 
-    ... 
-    ... 
-    End of data 
-    cavy@ceph3:~$ rbd import VSERVER-NAME@DATE.img images/VSERVER-NAME 
-    Importing image: 100% complete...done. 
- 
-Weitere Infos 
-------------- 
- 
-Hier noch ein paar Links zu den entsprechenden Stellen in der Ceph Doku. 
-Alles über 
-[Snapshots](http://docs.ceph.com/docs/master/rbd/rbd-snapshot/ "wikilink"). 
-**ceph-apply-diff**: ein [externes 
-Werkzeug](https://gp2x.org/ceph/ "wikilink") um Diffs auf Imagefiles 
-anzuwenden ist auf ceph3 in /usr/bin/ installiert. Die diversen 
-Funktionen von **rbd** sind in der Manpage dokumentiert bzw. auch 
-[online](http://docs.ceph.com/docs/hammer/man/8/rbd/ "wikilink") 
-verfügbar. Hier gibt\'s noch 
-[Anwendungsbeispiele](http://ceph.com/geen-categorie/incremental-snapshots-with-rbd/ "wikilink") 
-für export-diff und import-diff. 
- 
-[zurück zur Dokumentations Übersicht](Dokumentation "wikilink") 
  
doc/ceph-backup.1667556729.txt.gz · Last modified: by 127.0.0.1