linux-suse-opensuse storage lvm yast sles opensuse

LVM on SUSE: Enterprise Storage Management (Artikel 151)

Konfiguration und Verwaltung von Logical Volumes unter SUSE. Erfahren Sie alles über die Kombination von LVM mit Btrfs und XFS sowie das Management via YaST LVM.

# LVM on SUSE: Flexibilität unter dem Standard-Layout

TL;DR / Management Summary Obwohl SUSE standardmäßig auf Btrfs setzt, ist LVM (Logical Volume Manager) weiterhin das Rückgrat für viele Enterprise-Setups, besonders bei der Nutzung von XFS für Datenbanken oder beim Management von großen Storage-Arrays. Ein Senior Admin nutzt den YaST LVM Manager, um Volume Groups über mehrere SAN-LUNs zu spannen und Snapshots für Applikationen zu erstellen, die kein Btrfs unterstützen.


# 1. Einführung & Architektur

Das Schichtenmodell unter SUSE.

In SUSE wird LVM oft als Unterbau für Dateisysteme genutzt, die kein natives Volume-Management mitbringen (wie XFS oder Ext4).

# Die Hierarchie (Mermaid)

graph TD
    A[Hardware: SAN / Local Disk] --> B[Physical Volume: PV]
    B --> C[Volume Group: VG system_vg]
    C --> D[Logical Volume: lv_root - Btrfs]
    C --> E[Logical Volume: lv_data - XFS]
    C --> F[Logical Volume: lv_swap]
    D --> G[OS / Subvolumes]
    E --> H[Database / Apps]

# 2. LVM Management mit YaST

Der visuelle Weg.

Das Modul yast2 lvm ist Teil des Expert Partitioners.

# Volume Group erstellen

  1. sudo yast2 lvm.
  2. Wählen Sie die freien Partitionen/Platten aus und fügen Sie diese einer neuen Volume Group hinzu.
  3. Erstellen Sie darauf Logical Volumes.
  4. Vorteil: YaST berechnet automatisch die korrekten Offsets und stellt sicher, dass die Boot-Parameter (initrd) angepasst werden.

# 3. Besonderheit: Btrfs über LVM

Zwei Welten kombinieren.

Manchmal wird SLES so installiert, dass das Btrfs-Root-Dateisystem in einem LVM-Volume liegt.

  • Warum?: Um die Flexibilität von LVM (Disk-übergreifend) mit den Snapshots von Btrfs zu kombinieren.
  • Achtung: Doppeltes Snapshotting (LVM Snapshots + Btrfs Snapshots) sollte vermieden werden, da es unübersichtlich ist und Performance kostet.

# 4. Day-2 Operations: Resizing in SUSE

Kapazität anpassen.

# LV vergrößern via CLI

# 1. VG erweitern (falls nötig)
vgextend data_vg /dev/sdc

# 2. LV vergrößern und Dateisystem anpassen
lvextend -r -L +20G /dev/data_vg/lv_data

Das Flag -r (resizefs) erkennt in SUSE automatisch, ob XFS, Ext4 oder Btrfs vorliegt und führt den passenden Befehl aus.


# 5. Troubleshooting & “War Stories”

Wenn die Metadaten hängen.

# Story 1: “Der Boot-Hänger nach VG-Umbenennung”

Symptom: Ein Admin benennt die System-VG um (vgrename). Nach dem Reboot landet der Server in der Grub-Rescue Shell. Ursache: Der Bootloader und das Initramfs suchen nach dem alten Namen. Lösung: Nutzen Sie für solche Operationen immer YaST. Es führt im Hintergrund mkinitrd und grub2-mkconfig aus, damit die neuen Namen überall bekannt sind.

# Story 2: “Duplicate PV Warning”

Symptom: pvs zeigt Warnungen über doppelte UUIDs an. Ursache: Eine LUN wurde via Multipath doppelt erkannt (einmal pro Pfad) oder eine Disk wurde 1:1 geklont. Lösung: Konfigurieren Sie den LVM-Filter in /etc/lvm/lvm.conf, um Multipath-Devices zu bevorzugen und die rohen Devices zu ignorieren: filter = [ "a|/dev/mapper/.*|", "r|.*|" ].


# 6. Fazit & Empfehlung

  • Datenbanken: Nutzen Sie XFS auf LVM für maximale I/O Performance bei relationalen DBs.
  • System: Nutzen Sie das Standard Btrfs-Layout ohne LVM für die Root-Partition, um die Komplexität gering zu halten.
  • Snapshots: Nutzen Sie LVM-Snapshots nur für Applikationen, die kein natives Snapshotting unterstützen.

# Anhang: Cheatsheet

Aufgabe SUSE / LVM Befehl
PV scannen pvscan
VG Details vgdisplay
LV erstellen lvcreate -L 10G -n mylv myvg
LV Snapshot lvcreate -L 1G -s -n mysnap /dev/myvg/mylv
Alles löschen lvremove, vgremove, pvremove
YaST Modul yast2 lvm
Metadata Check pvck /dev/sda2