Virtual Server Appliance Benutzerhandbuch (Version 2.0.0)  
 

7 Volumeverwaltung

Das gesamte Speichermanagement, inklusive des root-Dateisystems, wird von LVM2 (Local Volume Manager) abgewickelt. Dieser ist seit einiger Zeit Bestandteil von Linux. Der LVM hat den Vorteil, dass er eine sehr flexible und dynamische Verwaltung für Festplatten, Volumegruppen und Partitionen erlaubt, ohne dass er an ältere Partitionsformate gebunden ist. Ausführlichere Hintergrundinformationen zum LVM finden Sie unter: de.wikipedia.org/wiki/Logical_Volume_Manager. Die Funktionalität ähnelt dem Volumemanagement von IBM AIX oder Oracle Solaris ZFS.

Da der LVM sehr leistungsfähig ist, gibt es viele Verwaltungstools. Dafür hat HELIOS den HELIOS Configuration Assistant entwickelt, der dazu dient, sämtliche interaktive Aufgaben rund um die Speicherverwaltung zu erledigen. Siehe 4.2.3 „Storage setup (data volumes)“.

Die HELIOS Virtual Server Appliance nutzt grundsätzlich zwei Volumegruppen:

7.1 LVM – Eine Übersicht

Dieser Abschnitt beschreibt besondere Merkmale der einzelnen Komponenten des LVM-Speichermanagements. Sie erhalten eine Übersicht des HELIOS Standard-Speichermanagements. Ein Beispiel finden Sie in der unten stehenden Abbildung:

Logical Volume Manager (LVM) mit einzelnen Festplatten

Abb. 7.1: Logical Volume Manager (LVM) mit einzelnen Festplatten

Hinweis:

Es gibt keinen Grund, physikalische Volumes, Volumegruppen oder logische Volumes manuell zu bearbeiten, da Ihnen der HELIOS Configuration Assistant diese Arbeit abnimmt.

7.2 Physikalische Volumes

Physikalische Volumes sind Festplatten, die einer Volumegruppe zugewiesen wurden. Der LVM verwaltet sämtliche Festplatten und RAID-Systeme. Festplatten heißen physikalisches Volumes, wenn sie von einem LVM genutzt werden. Wir verwenden für Festplatten weder eine DOS- noch eine GUID-Partitionstabelle (GPT), damit es keine Einschränkungen hinsichtlich Größe und Größenänderung gibt. LVM verwendet jede Festplatte direkt als physikalisches Volume, um diese Einschränkung zu umgehen und um eine Vergrößerung bestehender Festplatten zu ermöglichen, die im Hypervisor des virtuellen Servers vorgenommen werden kann. Eine weitere Möglichkeit besteht darin, den Hypervisor mit zusätzlichen Festplatten auszustatten, die dann automatisch verwendet werden.

Wichtig:

Herkömmliche Tools zur Partitionierung, wie z. B. „fdisk“ oder „parted“ bzw. „GParted“, erkennen ohne Partitionstabelle keine Festplatten und zeigen deshalb die LVM-Festplatte ohne Inhalt an. Diese Festplatten dürfen auf keinen Fall partitioniert werden!

Festplatten lassen sich mit dem Configuration Assistant (siehe „Show physical disk overview“ im Abschnitt Manage other volume groups (Advanced storage setup)) oder über den LVM-Befehl „lvmdiskscan“ scannen.

Physikalische Volumes lassen sich im Configuration Assistant (siehe List physical volumes (disks used)) oder über die LVM-Befehle „pvs“, „pvdisplay“, „pvscan“ auflisten.

7.3 Volumegruppen

Bei einer Volumegruppe (z. B. „datavg“) handelt es sich um einen Container, der mehrere physikalische Volumes miteinander verbindet. Festplatten lassen sich einer Volumegruppe hinzufügen oder aus dieser entfernen, vorausgesetzt, es ist genügend Speicherplatz vorhanden. Volumegruppen verbinden physikalische Volumes und stellen logische Volumes (Partitionen mit Dateisystemen) mit Speicherblöcken zur Verfügung.

Volumegruppen lassen sich im Configuration Assistant (siehe „List volume groups and volumes“ in Abschnitt Manage other volume groups (Advanced storage setup)) oder über die LVM-Befehle „vgs“, „vgdisplay“ auflisten.

7.4 Logische Volumes (Dateisysteme)

Logische Volumes werden in einer Volumegruppe erzeugt und stellen ein sogenanntes Block Device dar, das mit einem Dateisystem genutzt werden kann. LVM unterstützt Snapshots von logischen Volumes. Die HELIOS Virtual Server Appliance verwendet ext4-basierte Dateisysteme, die mit dem Befehl mkfs.ext4 auf dem Block Device erzeugt werden. Ein Block Device lässt sich vergrößern, weshalb das Dateisystem konvertiert werden muss, um die neue Größe zu unterstützen. Der HELIOS Configuration Assistant nimmt diese Umwandlung automatisch vor und verwaltet den Speicherplatz auf sichere Art und Weise.

Logische Volumes lassen sich im Configuration Assistant (siehe List logical volumes) oder über den LVM-Befehle „lvs“, „lvdisplay“, „lvscan“ auflisten.

Hinweis:

Werden Festplatten erst einmal vom LVM verwaltet, stehen sie in keiner Konfigurationsdatei, da LVM die Festplatten direkt verwaltet indem alle Geräte gescannt werden und dadurch physikalische Volumes, Volumegruppen sowie logische Volumes aktiviert werden. Dies geschieht ebenfalls unabhängig vom Slot, in dem die Festplatten sitzen oder von ihrer SCSI-ID. Dadurch wird eine sehr hohe Flexibilität verglichen mit einer statischen Konfiguration erreicht.

Die Datensicherheit (RAID oder Mirroring) wird vom LVM nicht gewährleistet, was bedeutet, dass – wenn mehrere Festplatten einer Volumegruppe hinzugefügt wurden – eine fehlerhafte Festplatte die gesamte Volumegruppe unbrauchbar machen kann. Deshalb ist eine Hardware-Spiegelung oder eine RAID-Lösung erforderlich, um die Datensicherheit bei Verwendung eines LVM zu gewährleisten. Eine weitere Möglichkeit besteht darin, eine Volumegruppe mit seinen logischen Volumes neu zu initialisieren und alle Daten aus einem Backup wieder herzustellen.

7.5 Snapshots von logischen Volumes

Snapshots erlauben im laufenden Betrieb Kopien von logischen Volumes – entweder mit Lese- oder mit Lese- und Schreibberechtigung – aus denen Backups erstellt werden können. Der Configuration Assistant erzeugt ausschließlich Snapshots mit Lese- und Schreibberechtigung. Ein Snapshot spiegelt den Status eines logischen Volumes zu einem bestimmten Zeitpunkt wieder.

LVM unterstützt mehrere Snapshots pro logischem Volume.

7.5.1 Vorteile von Snapshots

Wird ein Snapshot angelegt, können die Originaldaten weiter bearbeitet werden, ohne dass die Snapshot-Daten davon betroffen sind. Ein Snapshot dient als temporäre Datensicherung und lässt sich als Ausgangspunkt für die Erstellung eines vollständigen Dateisystem-Backups nutzen. Während dieses Prozesses können Sie an den Originaldaten weiterarbeiten und diese modifizieren.

Wurde ein vollständiges Backup erstellt, können Sie den Snapshot löschen.

7.5.2 Wie ein Snapshot funktioniert

Ein Snapshot erfordert freien Festplattenspeicherplatz in der Volumegruppe, in der sich das logische Volume befindet. Im Snapshot werden nur die Abweichungen zum logischen Quellvolume gespeichert, weshalb bei einem erneuten Snapshot nicht die gesamte Größe des logischen Volumes benötigt wird. Stattdessen wird die Maximalgröße der Abweichungen als Snapshotgröße definiert. Wir empfehlen mindestens einen Wert von 10% der Größe des Quellvolumes. Dies bedeutet, dass 10% des logischen Volumes geändert werden können, bevor der Speicherplatz für den Snapshot aufgebraucht ist und dieser deaktiviert wird.

Beispiel:

Der Snapshot „data1-snap1“ vom logischen Volume „data1“ aus der Volumegruppe „datavg“ sichert während des Snapshots alle Daten, die in „data1“ geändert wurden.

Der Snapshot selbst enthält die Abweichungen („undo information“) der in „data1“ vorgenommenen Dateiänderungen. Mit dieser „undo information“ lassen sich alle Dateiänderungen, -ergänzungen und -löschungen, die nach Anlegen des Snapshots vorgenommen wurden, rückgängig machen und zeigen deshalb nur den Dateistatus zu dem Zeitpunkt, als der Snapshot erzeugt wurde.

Die Verwaltung von Snapshots ist eine einfache Angelegenheit, die in wenigen Sekunden erledigt ist. Snapshots lassen sich mit dem HELIOS Configuration Assistant anlegen und löschen (siehe Manage other volume groups (Advanced storage setup) in Kapitel 4.2.3 „Storage setup (data volumes)“).

Wichtig:

Wird der Speicherplatz für den laufenden Snapshot überschritten, funktioniert der Snapshot (Snapshot-Dateisystem) nicht mehr und kann nicht mehr verwendet werden, da er falsche Daten enthält. Das Originaldateisystem funktioniert dagegen weiterhin einwandfrei.

7.5.3 Snapshots und ihre Auswirkung auf die Geschwindigkeit

Snapshots haben einen negativen Effekt auf die Schreib- und Lesegeschwindigkeit von Festplatten und machen das System erheblich langsamer. Das kommt daher, dass sämtliche Dateiänderungen, je nach Anzahl der Snapshots, mehrmals gesichert werden müssen; einmal im Originaldateisystem und dazu noch einmal in den undo-Daten in der Snapshot-Partition.

Werden Volumegruppen von Hand aktiviert, oder automatisch beim Systemstart, werden alle bestehenden Snapshots initialisiert. Dabei müssen sämtliche Snapshot-Daten eingelesen werden, um die interne Struktur des LVM anzulegen. Je nach Geschwindigkeit der Festplatte oder des RAIDs kann dies einige Zeit in Anspruch nehmen, bei mehreren hundert Gigabytes geänderter Daten seit dem Erstellen des Snapshots auch bis zu mehreren Stunden.

Aus diesem Grund möchten wir Ihnen dringend raten, Snapshots nur temporär anzulegen, z. B. zum Erzeugen von Backups. Werden sie nicht mehr benötigt, sollten die Snapshots gelöscht werden, damit das System nicht gebremst wird bzw. der Systemstart nicht zu lange dauert.

7.5.4 HELIOS Volumes in einem Snapshot aktivieren

Standardmäßig werden sämtliche Snapshots in „/snapshots“ gemountet, z. B. „/​snapshots/​data1-snap1“. Da die Snapshots sowohl Lese- als auch Schreibberechtigung aufweisen, lässt sich ein HELIOS Volume anlegen, das auf die Snapshotkopie des Dateisystems zeigt. Das Volume könnte bestimmten Benutzern verfügbar gemacht werden, damit diese Zugriff auf ältere Datenversionen, also zu dem Zeitpunkt als der Snapshot erzeugt wurde, haben.

7.5.5 Beispiel für einen Snapshot

Die unten stehende Abbildung zeigt drei Beispiel-Snapshots des Dateisystems „/data1“ in der Volumegruppe „datavg“.

Snapshots vom logischen Volume „data1“

Abb. 7.2: Snapshots vom logischen Volume „data1“

Wie in der Abbildung zu sehen ist, können Snapshots von Dateisystemen eine leistungsfähige Lösung zur Erstellung von stabilen Backups aus dem laufenden System, d. h. während das System noch Daten bearbeitet, sein. Ein weiterer Punkt ist, dass Sie mithilfe von Snapshots auf Daten von einem früheren Zeitpunkt zugreifen können, z. B. auf Daten von heute 11:00 Uhr (siehe „Snapshot 1“ in der Abbildung oben).

7.6 Typischer Aufbau der Gruppe „datavg“ mit einem RAID

Die Abbildung unten zeigt ein RAID 5 (mit Ausfallschutz für Festplatten), das als physikalisches Volume in die Volumegruppe „datavg“ eingebunden ist, sowie auf der rechten Seite die Dateisysteme „/data1“ … „/data4“, die den Speicherplatz von „datavg“ nutzen.

Logical Volume Manager (LVM) in einem RAID-System

Abb. 7.3: Logical Volume Manager (LVM) in einem RAID-System

7.7 Festplatten oder RAID-System wechseln

Festplatten lassen sich ohne Serverunterbrechung austauschen. Dies kann beispielsweise dann erforderlich sein, wenn ein Upgrade auf größere Festplatten oder ein größeres RAID-System erforderlich ist.

7.7.1 Upgrade auf ein neues RAID-System

Um auf ein komplett neues RAID-System umzustellen, muss das neue RAID der Volumegruppe „datavg“ hinzugefügt werden. Dies lässt sich am besten mithilfe des Menüs Storage setup im HELIOS Configuration Assistant bewerkstelligen (siehe 4.2.3 „Storage setup (data volumes)“).

hsymInstruction

Verbinden Sie das neue RAID-System mit dem Hypervisor, der genutzt wird, um das RAID der VSA zuzuweisen.

hsymInstruction

Wählen Sie im Configuration Assistant den Punkt Create or extend data pool (add disks) aus, wodurch das neue RAID (im folgenden „Festplatte“ genannt) erkannt wird.

hsymInstruction

Wählen Sie die gewünschte Festplatte durch Eingabe des Gerätenamens aus (wenn Sie sich nicht sicher sind, welche Festplatte die richtige ist, vergleichen Sie die SCSI-ID mit der Konfiguration Ihres Hypervisors!).

Der Configuration Assistant fügt jetzt die Festplatte(n) der Volumegruppe „datavg“ hinzu.

hsymInstruction

Zurück im Menü Storage setup wählen Sie den Menüpunkt Reduce data pool (remove disks) aus.

hsymInstruction

Geben Sie den Gerätenamen der Festplatte des alten RAIDs ein und bestätigen Sie das Entfernen.

Dieser Vorgang dauert eine Weile, da sämtliche belegt Blöcke in das neue RAID-System verschoben werden, um das alte RAID freizugeben.

hsymInstruction

Trennen Sie das alte RAID vom Hypervisor.

7.7.2 Festplatten in einem bestehenden RAID wechseln

Das Wechseln einer oder mehrerer Festplatten im RAID-System (z. B. um die Speicherkapazität zu erhöhen) funktioniert ähnlich der Beschreibung in 7.7.1 „Upgrade auf ein neues RAID-System“. Reicht die Speicherkapazität der übrig gebliebenen Festplatten nicht aus, um die gesamten RAID-Daten übergangsweise zu speichern, benötigen Sie eine temporäre Festplatte oder ein temporäres RAID-System. Dies kann beispielsweise eine USB-Festplatte oder ein beliebiges anderes Festplattensystem sein.

hsymInstruction

Verbinden Sie die temporäre Festplatte so mit dem Hypervisor, wie Sie ein neues RAID anschließen würden (wie in 7.7.1 „Upgrade auf ein neues RAID-System“ beschrieben).

hsymInstruction

Entfernen Sie über den Menüpunkt Reduce data pool (remove disks) die alte Festplatte aus der Volumegruppe.

hsymInstruction

Entfernen Sie nun die alte physikalische Festplatte vom RAID-System und ersetzen Sie sie durch die neue Festplatte.

hsymInstruction

Fügen Sie dem System die neue Festplatte mithilfe des Menüpunkts Create or extend data pool (add disks) hinzu.

hsymInstruction

Entfernen Sie über den Menüpunkt Reduce data pool (remove disks) die temporäre Festplatte aus der Volumegruppe.

hsymInstruction

Entfernen Sie abschließend die temporäre Festplatte vom Hypervisor.

Hinweis:

Bevor Sie diese Operation durchführen, ist es unabdingbar ein Backup der gesamten Serverdaten zu erstellen. Auch wenn wir davon ausgehen, dass Sie dieses Backup niemals brauchen werden, sollte jeder Anwender Backups all seiner Serverdaten haben, um sicherzustellen, dass er eine Wiederherstellungsmöglichkeit hat, falls etwas nicht wie geplant verläuft.

7.8 Speicherplatz der Volumegruppe „datavg“ vergrößern

Es gibt zwei Möglichkeiten, den Speicherplatz einer Volumegruppe zu vergrößern:

Die im Folgenden beschriebenen Maßnahmen lassen sich innerhalb einer Minute umsetzen.

7.8.1 Eine Festplatte zur Volumegruppe hinzufügen

hsymInstruction

Legen Sie in der Konfiguration des Hypervisors eine neue virtuelle Festplatte an. Das kann ein Image sein oder eine mit dem Hypervisor verbundene Hardware-Festplatte.

7.8.2 Eine bestehende Festplatte vergrößern

hsymInstruction

Vergrößern Sie in der Konfiguration des Hypervisors das Image eines der physikalischen Volumes, die der Volumegruppe zugewiesen sind.

Hinweis:

Unter VMware ESX Server ist es möglich, die Festplattengröße im laufenden Betrieb ohne Dienstunterbrechungen der HELIOS Virtual Server Appliance zu vergrößern. Der HELIOS Configuration Assistant erkennt dann automatisch die vergrößerten Festplatten und aktualisiert das entsprechende physikalische Volume und die zugrundeliegende Volumegruppe. Manche Hypervisoren erfordern allerdings ein Herunterfahren der VM, bevor die Festplatte vergrößert werden kann. In diesem Fall müssen Sie die VM herunterfahren, bevor Sie Änderungen an den Images vornehmen.

Sie können ein Image nur vergrößern, wenn die Festplatte nicht partitioniert ist, d. h. vollständig als physikalisches Volume des LVM verwendet wird. Siehe auch 7.2 „Physikalische Volumes“. Dies bedeutet, dass Sie, wenn Sie den Speicherplatz der Volumegruppe „rootvg“ vergrößern möchten, nicht die Festplatte „/dev/sda“ vergrößern, sondern der Volumegruppe stattdessen eine neue virtuelle Festplatte hinzufügen sollten.

Wichtig:

Verkleinern Sie niemals die Festplatte auf dem Host, da dadurch sämtliche Daten zerstört werden!

7.8.3 Der Volumegruppe neue oder vergrößerte Festplatte(n) hinzufügen

hsymInstruction

Wählen Sie im Menü Storage setup des Configuration Assistant den Menüpunkt Create or extend data pool aus.

Der Configuration Assistant sucht nach neuen oder vergrößerten Festplatten und bietet an, der Volumegruppe den zusätzlichen Speicherplatz hinzuzufügen. Es lassen sich gleichzeitig sowohl neue als auch vergrößerte Festplatten hinzufügen.

7.9 RAID 1 (Mirroring) auf der Systemfestplatte verwenden

Manche Installationen erfordern eine gespiegelte Systemfestplatte. Über diese Funktionalität verfügt die HELIOS Virtual Server Appliance nicht. Das Spiegeln von Systemfestplatten muss über ein Hardware-RAID-System erfolgen. Diese Art von RAID heißt RAID 1 (Mirroring ohne auf Block-Level verteilte Paritätsinformationen) und wird von den meisten RAID-Controllern unterstützt. Wir empfehlen Ihnen, das Image der Systemfestplatte auf einem getrennten physikalischen Laufwerk abzulegen, um so das Betriebssystem von den Anwenderdaten zu isolieren. Dadurch wird vieles vereinfacht, falls es einmal zu Problemen kommen sollte und macht darüber hinaus die Geschwindigkeit der Systemfestplatte unabhängig von der Leistung der Datenfestplatte (RAID).

7.10 RAID 5 auf der Systemfestplatte verwenden

übersetzt aus: http://en.wikipedia.org/wiki/RAID
Ein RAID 5 (Block-Level-Striping mit verteilten Paritätsinformationen) verteilt die Paritätsinformationen zusammen mit den Daten, wobei alle Festplatten bis auf eine einsatzbereit sein müssen; das Array wird beim Ausfall einer Festplatte nicht zerstört. Tritt an einer Festplatte ein Fehler auf, können alle folgenden Leseprozesse so aus den verteilten Paritätsinformationen errechnet werden, dass der Anwender den Fehler gar nicht bemerkt. Allerdings bewirkt der Ausfall einer Festplatte eine verminderte Leistung des gesamten Arrays bis die fehlerhafte Festplatte durch eine intakte ersetzt worden ist und die betreffenden Daten wiederhergestellt wurden. … Ein RAID 5 benötigt mindestens drei Festplatten.

7.11 Die Systemfestplatte wiederherstellen

Tritt an der Systemfestplatte ein Fehler auf, kann das Image der HELIOS Virtual Server Appliance neu importiert und als neue Systemfestplatte verwendet werden. In diesem Fall müssen folgende Dateien/​Verzeichnisse aus einem Backup wiederhergestellt werden:

– „/etc/fstab“
– „/etc/passwd“
– „/etc/shadow“
– „/usr/local/helios/var/“
– „/home/“

Zusätzlich müssen auch die eigenen Konfigurationseinstellungen, wie z. B. Datum/​Uhrzeit und die Netzwerkeinstellungen mit dem HELIOS Configuration Assistant neu vorgenommen werden.

Hinweis:

Wir raten Ihnen, die Home-Verzeichnisse aller Benutzer in einem logischen Volume auf „datavg“ zu definieren. Der Vorteil dabei ist, dass „rootvg“ nicht mit einer variablen Menge an Daten in den Home-Verzeichnissen belastet wird. Dies reduziert die variablen Daten in „rootvg“ auf ein paar MB, die sich schnell und einfach sichern bzw. wiederherstellen lassen.

Sämtliche Volumegruppen sowie die mit ihnen verbundenen logischen Volumes (Partitionen), z. B. „/data1“ aus der Volumegruppe „datavg“, werden beim Einbinden einer neuen Systemfestplatte oder beim Hinzufügen bestehender Festplatten in einen neuen Server automatisch erkannt. Beim Booten des Systems trägt Linux die Geräte mit den passenden Namen in „/dev/mapper“ ein, z. B.: „datavg-data1“. Werden Einträge in „/etc/fstab“ gemacht – falls diese noch nicht vorhanden sind – können diese bestehenden Dateisysteme gemountet werden.

7.12 Zusammenfassung

Mit dem HELIOS Configuration Assistant lässt sich LVM sehr einfach verwalten. Der Vorteil von LVM ist, dass Festplatten, Volumegruppen und Partitionen (logische Volumes) sehr flexibel und effizient verwaltet werden. Der Anwender spart auf diese Weise beim Hinzufügen, Ändern oder Bearbeiten des Speicherplatzbedarfs eine Menge Zeit, denn diese Aufgaben sind in ein paar Stunden oder sogar nur Minuten erledigt. Eine manuelle Verwaltung von LVM würde dagegen eine Arbeit von mehreren Tagen bedeuten.


HELIOS Website © 2015 HELIOS Software GmbH  
HELIOS Handbücher 10. August 2015