Volume Snapshot Vererbung und ihre Konsequenzen

Ein Volume Snapshot ist eine häufig genutzte Art Datenverlust zu vermeiden. Allerdings ist es nicht einem vollwertigen Backup gleichzusetzen. Snapshots selbst sind unproblematisch, können aber unangenehme Konsequenzen haben.

Um ein Beispiel aufzuzeigen erstellen wir ein Volume: „Volume A“.

../_images/volsnap1.png

Als nächstes erstellen wir einen Snapshot „SA“ für das Volume „VA“.

../_images/volsnap2.png

Mithilfe des OpenStack Dashboards können wir darauf basierend neue Volumes „Volume B“ und „Volume C“ erstellen.

../_images/volsnap3.png

Daraufhin haben wir zwei neue Volumes, basierend auf dem „SnapshotA“.Nehmen wir an wir brauchen „Volume A“ nicht mehr und möchten es löschen.

../_images/volsnap4.png

Leider können wir das Volume nicht löschen, da wir vorher alle zugehörigen Snapshots entfernen müssen.

../_images/volsnap5.png

Um also das Volume „Volume A“ löschen zu können müssen wir zunächst „Snapshot A“ entfernen.

Dies wiederum ist momentan nicht möglich, da „Snapshot A“ momentan die Quelle für 2 weitere Volumes ist, nämlich „Volume B“ und „Volume C“.

Um ein Volume löschen zu können von dem Snapshot-Volumes erstellt worden sind, müssen also auch alle Snapshots dieses Volumes entfernt werden.

Zusamenfassend kann man sagen: wenn neue Volumes aus einem Snapshot erstellt werden,denken Sie an die Vererbung! „Snapshot A“ ist das Parent-Objekt für“Volume B“ und „Volume C“ (Kind-Objekte) und wenn wir“Volume A“ löschen wollen müssen wir mit der jüngsten Generation anfangen (Volume B and Volume C).

Eine andere Möglichkeit sind Backups, welche keine Verkettungen erzeugen und auch weiterbestehen nachdem das gesicherte Volume gelöscht ist.