===== 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|LVM]]
* [[sammlung:raid|RAID Grundlagen]]
* [[sammlung:software_raid_ubuntu|Software RAID unter Ubuntu]]
* [[sammlung:backup|Backup und Restore]]
{{tag>lvm raid storage linux}}