Linux LVM kann mehrere physische Datenträger in einer Gruppe zusammenfassen und den Speicherplatz dieser Gruppe auf logische Datenträger verteilen.
Wenn der Gruppe langsame Geräte hinzugefügt werden, kann dies alle logischen Datenträger verlangsamen. Gibt es eine Möglichkeit, ein Gerät hinzuzufügen, es dem System aber nur im Hungerfall zu erlauben, es zu verwenden?
Antwort1
Dies hängt davon ab, welche Art von Striping Sie verwenden möchten. Sie können steuern, wie logische Volumes physische Volumes überspannen, indem Sie die Reihenfolge der LV-Erstellung und PV-Hinzufügung festlegen. Beispiel:
- hinzufügen
pv0
- erstellen
lv0
- hinzufügen
pv1
- erstellen
lv1
Wenn sich also jetzt lv0
alles erstreckt pv0
, lv1
wird es sich erstrecken pv1
(im Fall von linearem Striping). Das Dateisystem wird zuerst die Blöcke am Anfang des Geräts verwenden, d. h. im linearen Fall, wenn sich das FS über mehrere PV erstreckt, wird das letzte PV nur verwendet, wenn das Dateisystem voll genug ist.
Wenn Sie nichtlineares Striping über schnelle Geräte hinweg benötigen, können Sie VG nur mit diesen Geräten erstellen. Erstellen Sie dann darin ein RAID-LV. Verwenden Sie dieses LV dann als PV. Erstellen Sie also ein VG der zweiten Ebene aus LV. Und fügen Sie dann diesem VG der zweiten Ebene auf linearer Basis ein langsames Gerät hinzu.
Antwort2
Befehle lvcreate
und lvextend
verfügen über einen optionalen Parameter, mit dem Sie angeben können, welcher PV verwendet werden soll (der PV muss Teil des VG sein).
Zum Beispiel:
Erstellt ein lineares logisches Volume „vg00/lvol1“ unter Verwendung der physischen Extents /dev/sda:0-7 und /dev/sdb:0-7 zur Zuweisung von Extents:
lvcreate -L 64M -n lvol1 vg00 /dev/sda:0-7 /dev/sdb:0-7
Erweitert die Größe des logischen Volumes "vg01/lvol10" um 54MiB auf dem physischen Volume /dev/sdk3. Dies ist nur möglich, wenn /dev/sdk3 Mitglied der Volume-Gruppe vg01 ist und genügend freie physische Extents darin vorhanden sind:
lvextend -L +54 /dev/vg01/lvol10 /dev/sdk3