===== 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}}