Bislang habe ich, um die Datenkonsistenz der Backups von Mailservern sicherzustellen, eigentlich immer offline gesichert. D.h. Postfix und Cyrus gestoppt, die Daten mit rsync weggesichert und die Mailserverdienste wieder gestartet. Ein sehr unbefriedigendes Mittel, auch wenn die Offline-Zeiten des MTA sehr absehbar sind und um 3 Uhr morgens nicht wirklich jemanden stören.
Aus diesem Grund machte ich mich vor der letzten Mailserver-Installation auf die Suche nach einer besseren Backup-Methode, einer die möglichst ohne Mailserver-Auszeit auskommen sollte.
Und da ersuchmaschinte ich ein Feature des Linux Logical Volume Manager (LVM), dass ich persönlich bis dato gar nicht kannte: Snapshots.
Für diejenigen, die noch nicht mit dem LVM gearbeitet haben:
Was sind Logical Volumes?
Theoretisch können mehrere physikalische Datenträger (oder Partitionen) zu einer logischen großen Einheit (der sog. Volumegroup, oder kurz VG) zusammengefasst werden, die sich, vereinfacht gesagt, nach außen hin als eine großer Datenträger präsentiert.
In der erstellten Volume-Group werden dann wieder Logische Volumes (sinnigerweise als LV abgekürzt) erstellt, die sich als formatierbare Partitionen darstellen.
Warum diese ganze Bastelei?
Nun, man stelle sich vor, in einem Server hängen zwei Platten mit je 50GB Plattenplatz, man benötigt aber für eine Partition 80GB. Im Normalfall müsste man nun einen 80GB-Datenträger zusätzlich in den Rechner hängen, damit man eine entsprechend große Partition anlegen kann. Mit dem LVM erstellt man stattdessen einfach für die beiden vorhandenen Platten je ein Physical Volume (PV) und hängt diese in eine Volume Group. So erhält man einen virtuellen Datenträger mit 100GB. Nun kann man darauf ein logisches Volume mit 80GB erstellen und erhält somit die gewünschte Partition, die sich jetzt einfach formatieren und anschließend mounten lässt.
Und was ist ein Snapshot?
Vereinfacht gesagt, funktioniert das so: Wird ein Snapshot für ein Logical Volume angelegt, friert der Zustand des Volumes quasi ein und wird als eigenes Device zur Verfügung gestellt.
Solange der Snapshot aktiv ist, laufen alle Dateioperationen auf das eigentliche LV in eine Art “Puffer”. Dieser Puffer wird nach dem Aushängen des Snapshots wieder in das LV integriert, die Anwendungen, die mit dem betroffenen Volume arbeiten, merken von dieser Aktion nichts und können ganz normal weiterlaufen.
Der Snapshot selbst ist konsistent, man sichert also Daten von einem Datenträger, dessen Inhalte sich in einem definierten Zustand befinden und sich während des Backup-Vorgangs nicht ändern.
Wer weitere Informationen zum LVM haben möchte, dem sei das LVM Howto von AJ Lewis als Lesematerial empfohlen.
Aber jetzt auf zur Praxis:
Zum vollständigen Beitrag »