sammlung:lvm_raid
Inhaltsverzeichnis
LVM auf RAID-Leveln
Kurzfassung - LVM kann logische Volumes direkt als RAID1/5/6/10 verwalten, ohne separate mdadm-Arrays. - Dadurch lassen sich Redundanz und flexible Größenanpassung in einer Verwaltungsoberfläche kombinieren.
Voraussetzungen
- Linux mit installiertem Paket lvm2 (sudo apt install lvm2)
- Mindestens zwei freie Datenträger bzw. Partitionen (z. B. /dev/sdb, /dev/sdc)
- Root- oder sudo-Rechte
- Backup wichtiger Daten, da Partitionierung und LV-Erstellung destruktiv sind
Schritte
Physische Volumes vorbereiten
sudo pvcreate /dev/sdb sudo pvcreate /dev/sdc sudo pvcreate /dev/sdd sudo pvs
Volume Group anlegen
sudo vgcreate vgraid /dev/sdb /dev/sdc /dev/sdd sudo vgdisplay vgraid
RAID1-Logical-Volume erstellen (Spiegel)
sudo lvcreate --type raid1 -m1 -L 100G -n lv_mirror vgraid sudo lvs -a -o +devices
RAID5-Logical-Volume erstellen (Striping mit Parität)
sudo lvcreate --type raid5 -i2 -L 300G -n lv_raid5 vgraid sudo lvs -a -o +seg_monitor
RAID10-Logical-Volume erstellen
sudo lvcreate --type raid10 -i2 -m1 -L 200G -n lv_raid10 vgraid
Dateisysteme anlegen und mounten
sudo mkfs.ext4 /dev/vgraid/lv_mirror sudo mkdir -p /srv/lvmraid echo '/dev/vgraid/lv_mirror /srv/lvmraid ext4 defaults 0 2' | sudo tee -a /etc/fstab sudo mount -a df -h | grep vgraid
Kapazität erweitern (Beispiel RAID5)
sudo vgextend vgraid /dev/sde sudo lvextend -l +100%FREE /dev/vgraid/lv_raid5 sudo resize2fs /dev/vgraid/lv_raid5 # bei ext4; xfs_growfs für XFS
Monitoring und Ausfallszenarien
sudo lvdisplay -m /dev/vgraid/lv_raid5 sudo lvconvert --repair /dev/vgraid/lv_raid5 sudo lvconvert --replace /dev/vgraid/lv_mirror /dev/sdf
Hot-Spare vorbereiten
sudo pvcreate /dev/sdf sudo vgextend vgraid /dev/sdf sudo pvchange --allocatable n /dev/sdf # als Hot-Spare reservieren sudo lvs -a -o +devices
* Bei einem Ausfall lvconvert –repair ausführen; LVM nutzt den reservierten PV automatisch. * Nach Tausch des defekten Laufwerks neues PV anlegen und wieder als Hot-Spare markieren.
Reparatur eines LVM-RAID
Mit Hot-Spare
- Status prüfen und defektes PV identifizieren:
sudo lvs -a -o +devices
sudo lvdisplay -m /dev/vgraid/lv_raid5
- Reparatur auslösen; LVM bindet das Hot-Spare automatisch ein:
sudo lvconvert --repair /dev/vgraid/lv_raid5
- Fortschritt überwachen und anschließend erneut prüfen:
sudo lvs -a -o +devices,seg_monitor
sudo pvs -a -o +lv_name
- Hot-Spare nach erfolgreicher Synchronisation wieder reservieren, falls es automatisch allokiert wurde:
sudo pvchange --allocatable n /dev/sdf
Ohne Hot-Spare
- Defektes Gerät entfernen und LV degradieren:
sudo lvconvert --repair --keep-log /dev/vgraid/lv_raid5
sudo vgreduce --removemissing vgraid
- Ersatzdatenträger vorbereiten:
sudo pvcreate /dev/sdx
sudo vgextend vgraid /dev/sdx
- Wiederaufbau starten (PV ersetzen):
sudo lvconvert --replace /dev/sdx /dev/vgraid/lv_raid5
- Abschluss prüfen und ggf. Stripe/Spiegel-Zustand kontrollieren:
sudo lvdisplay -m /dev/vgraid/lv_raid5
sudo lvs -a -o +raid_sync_action,devices
- Optional: altes defektes PV aus der VG entfernen, sobald es ersetzt wurde:
sudo vgreduce vgraid /dev/sdy
Parameter
| Parameter | Beschreibung |
|---|---|
| –type raid1/raid5/raid10 | RAID-Level für das Logical Volume festlegen. |
| -m1 | Anzahl der Spiegelkopien (1 bedeutet zwei Kopien insgesamt). |
| -i2 | Anzahl der Stripes pro Segment, beeinflusst Performance. |
| -L 100G | Absolute Größe des Logical Volume in GiB definieren. |
| -n lv_name | Name des anzulegenden Logical Volume festlegen. |
| -l +100%FREE | Über freie Extents der VG vergrößern (prozentual). |
| –repair | Defekte PVs im RAID-Verbund automatisch ersetzen. |
| –replace /dev/sdf | Spezifisches Ersatzgerät für ein Spiegel- oder RAID-LV wählen. |
Hinweise
+ RAID1 benötigt -m1 (eine Kopie); RAID5/6 verlangen mindestens drei bzw. vier PVs. + stripe_size (--stripesize) und --regionsize beeinflussen Performance; Defaults prüfen. + lvconvert --repair ersetzt fehlerhafte PVs automatisch, benötigt aber freie Ersatz-PVs in der VG. + LVM-RAID unterstützt snapshots; ausreichend freien Speicher in der VG vorhalten. + Hot-Spare-PVs bleiben mit pvchange --allocatable n reserviert und werden nur im Fehlerfall genutzt.
Siehe auch
sammlung/lvm_raid.txt · Zuletzt geändert: von Branislav Zeljak
