Artikel mit Tag volume group

LVM Anleitung - Volume Group umbenennen (Ubuntu/Mint)

Nachdem ich vor ein paar Tagen auf LVM und einen Update Fehler eingegangen bin, möchte ich heute kurz zeigen, wie eine Volume Group umbenannt werden kann.

Unter Ubuntu/Mint ist das an sich nur ein Befehl, allerdings sollten noch weitere Dateien angepasst werden, da es sonst zu Problemen kommt.

fstab

LVM - Volume Group umbenennen

Informationen zur vorhandenen Volume Group anzeigen

sudo vgdisplay

 

Volume Group umbenennen

sudo vgrename Ubuntu16 ubuntu

  Volume group "Ubuntu16" successfully renamed to "ubuntu"

 

File system table editieren und Name anpassen

sudo  nano /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>

/dev/mapper/ubuntu-root /               ext4    errors=remount-ro 0   1

/dev/mapper/ubuntu-tmp  /tmp            ext4    errors=remount-ro 0   1

/dev/mapper/ubuntu-var  /var            ext4    errors=remount-ro 0   1

 

Initramfs anpassen, ebenfalls hier den neuen Namen einfügen

sudo nano /etc/initramfs-tools/conf.d/resume

 

Danach muss noch der Grand Unified Bootloader GRUB angepasst werden

sudo nano /boot/grub/grub.cfg

 

Ab Ubuntu 18.04 gilt es einen weitereren Eintrag zu editieren

sudo nano /boot/grub/menu.lst

 

Nun muss noch das initial ram filesystem neu gebaut werden

sudo  update-initramfs -u -k all

 

Mögliche Fehlermeldung

update-initramfs: Generating /boot/initrd.img-5.4.0-52-generic

cryptsetup: ERROR: Couldn't resolve device

Solltet ihr cryptsetup nicht verwenden, dann könnt ihr diesen Fehler ignorieren oder auch gleich deinstallieren

sudo apt-get remove cryptsetup

Alles auf einmal

Hier nochmal alle Schritte zusammengestellt. Der Einfachheit halber, können Änderungen mit sed gemacht werden

#!/bin/bash

altevolumegroup="ubuntu16"
neuevolumegroup="ubuntu"

vgrename ${altevolumegroup} ${neuevolumegroup}
sed -i "s/${altevolumegroup}/${neuevolumegroup}/g" /etc/fstab
sed -i "s/${altevolumegroup}/${neuevolumegroup}/g" /boot/grub/grub.cfg
sed -i "s/${altevolumegroup}/${neuevolumegroup}/g" /boot/grub/menu.lst
sed -i "s/${altevolumegroup}/${neuevolumegroup}/g" /etc/initramfs-tools/conf.d/resume
update-initramfs -c -k all

Anstatt des Namens kann übrigens auch die UUID genommen werden. Allerdings solltet ihr das Script dann so nicht verwenden.

vgrename Zvlifi-Ep3t-e0Ng-U44h-o0ye-KHu1-nl7Ns4 ubuntu

 

LVM Fehler nach Ubuntu 20.04 Update - VG is using an old PV header, modify the VG to update

Neulich ist mir ein Fehler beim Update von Ubuntu 16.04 auf Ubuntu 20.04 im LVM aufgefallen. Und zwar wurde eine Meldung angezeigt, die auf alte PV (Physical Volume) Header in einer VG (Volume Group) anspielt.

Ich hatte zum Thema LVM vor langer Zeit mal einen Artikel verfasst, falls es jemanden interessiert.

Der Fehler lässt sich mit dem Befehl vgck, welcher die Konsistenz von VGs prüft, nachstellen:

sudo vgck
  WARNING: PV /dev/sda2 in VG derVolumeGroupName is using an old PV header, modify the VG to update.
  WARNING: PV /dev/sda5 in VG derVolumeGroupName is using an old PV header, modify the VG to update.


Mit dem gleichen Tool lässt sich der Fehler beheben, und zwar mit der Option updatemetadata, laut man pages kann er folgendes:

Update VG metadata to correct problems.  If VG metadata was updated while a PV was missing, and the PV reappears with an old version of metadata, then this option (or any other command that writes metadata) will update the metadata on the previously missing PV.

 Der LVM Fehler sollte nach dem Ausführen von vgck zusammen mit updatemetadata nicht mehr auftauchen.

 sudo vgck --updatemetadata derVolumeGroupName

 

LVM Partitionen in Ubuntu, Linux Mint und der Konsole erstellen,vergrößern oder verkleinern - Eine Anleitung

Die Wikipedia schreibt zu LVM: „Der Logical Volume Manager (LVM) ist eine hauptsächlich im Unix- und Linux-Umfeld verbreitete Abstraktionsebene zwischen Festplatten, Partitionen und Dateisystemen. Durch den LVM ist es möglich, dynamisch veränderbare Partitionen (Logical Volumes, kurz LV) zu bilden, die sich auch über mehrere Festplatten hinweg erstrecken können. Die Größe dieser virtuellen Datenträger lässt sich auch nach dem Anlegen eines Dateisystems noch ändern, selbst wenn schon Daten darin gespeichert wurden."

Es handelt sich somit schlicht um eine Festplattenpartitionierung, diese kann unter Ubuntu oder Mint mit Hilfe einer grafischen Oberfläche oder in der Konsole erstellt werden. Zunächst etwas zum Aufbau des Systems:

Allgemeine Aufteilung innerhalb eines LVM

  • Physical Volume (PV): /dev/sda (Eine oder mehrere Festplatten)
  • Volume Group (VG): Dynamische Zusammenfassung dieser Festplatten zu einem Pool bzw. Gruppe. Das heißt eine Volume Group kann sich auch über mehrere Festplatten erstrecken.
  • Logical Volume (LV): Logische Laufwerke innerhalb dieser Gruppe (unter Windows bekannt als C:\ oder D:\)

lvm-aufbau

 

LVM automatisch erstellen

Um alles automatisch zu erstellen ist kein großer Aufwand nötig. Man wählt einfach während der Installationsroutine die geführte Partitionierung für die gesamte Festplatte mit LVM aus und Ubuntu erledigt den Rest.

LVM Partitionen unter Ubuntu oder Mint von Hand erstellen

1. Um eine Partitionierung von Hand vorzunehmen, muss von der vorhandenen Festplatte eine primäre /boot Partition am Anfang erstellt werden. Diese sollte nicht größer als 300MB sein. Hier ein Beispiel aus Linux Mint.

mint-laufwerke

2.Danach kann der Rest der Festplatte mit dem Logical Volume Manager unterteilt werden. Dazu wählt man beispielsweise unter Ubuntu „Configure the Logical Volume Manager“ aus.

lvm-ubuntu

3. Jetzt muss, wie der Unterteilung oben zu entnehmen ist, erst eine Volume Group erstellt werden ("Create Volume Group"). Wir nennen die VG „Gruppe1“ und teilen ihr „/dev/sda1“ (free space) zu.

4. Nun kann mit der Erstellung der einzelnen logischen Partitionen fortgefahren werden (siehe Partitionen unter Ubuntu Server und Desktop). Dazu wählt man im gleichen Menü "Create logical Volume“ aus und gibt den Namen und die Größe der Partition an. Es werden auf jeden Fall die root, swap und data bzw. home Partition benötigt. Hat man alle Partitionen eingerichtet, geht man auf „Finish“ und fährt mit dem nächsten Schritt fort.

mountpoint-ubuntu

5. Unter Linux ist es so, dass wir den logischen Laufwerken noch das Dateisystem (aktuell ist ext4) und sogenannte Mountpoints zuweisen müssen.

  • /root
  • /swap
  • /home bzw. /data
  • /var
  • /usr

mountpoint2-ubuntu

 

6. Ist jede Partition eingerichtet, erhaltet ihr einen Überblick, der ungefähr wie folgt aussehen sollte. Sobald ihr die Konfiguration bestätigt, wird Ubuntu in euer eigens erstellten Partitionen installiert.

partitionen-ubuntu

LVM Partitionen über die Konsole erstellen

Natürlich kann mit dem LVM auch über die Konsole gearbeitet werden. Wer also die grafische Oberfläche scheut kann folgendermaßen vorgehen.

Das LVM System kommt mit Linux, kennt jedoch die verbauten Festplatten nicht, darum müssen diese dem System bekannt gemacht werden. Zuerst sollten die vorhanden Platten ausgelesen werden, um sie dann in den Logical Volume Manager einzulesen. Der ganze Prozess ist mit ein paar Befehlen recht schnell erledigt.

Auslesen der eingebauten Platten

df –h

Erstellt die Physical Volumes im LVM

pvcreate /dev/sda /dev/sdb

Erstellt eine Volume Group "Gruppe1" aus den eingelesenen Festplatten

vgcreate Gruppe1 /dev/sda /dev/sdb

Erstellt aus der VG "Gruppe1" das logische Laufwerk "data" mit 30GB Speicher

lvcreate -n data -L 30G Gruppe1

Das Laufwerk ist nun unter /dev/Gruppe1/data/ zu finden, nun kann das logisches Laufwerk "data" formatiert werden

mkfs.ext4 /dev/Gruppe1/data

Nun kann das Laufwerk unter "data" gemountet werden

mount /dev/Gruppe1/data /mnt/data

LVM Partition über die Konsole vergrößern

Sollte es je vorkommen, das die angelegte Partition zu klein wird. Kann diese in wenigen Schritten über die Konsole erweitert werden.

Überprüfen ob Speicherplatz auf der Volume Group vorhanden ist (Unter Free PE / Size sind die Werte zu finden)

vgdisplay Gruppe1

Ist das nicht der Fall, muss die neue Festplatte/Partition erst der VG "Gruppe1" hinzugefügt werden. Alternativ geht dies auch direkt über fdisk und co.

vgextend Gruppe1 /dev/sda2

Danach das Logische Laufwerk um 20GB vergrößern

lvextend –L +20G /dev/Gruppe1/data

Nun ist das Device vergrößert und das Dateisystem (ext3 oder ext4) muss ebenfalls vergrößert werden.

resize2fs /dev/Gruppe1/data

Alternativ kann das Laufwerk auch auf 10GB verkleinert werden

unmount /dev/Gruppe1/data

resize2fs –s -10G /dev/Gruppe1/data

lvreduce –L 10G /dev/Gruppe1/data

 

Die wichtigsten LVM Konsolenbefehle für Physical Volumes, Volume Groups und Logical Volumes

Als letzter Punkt noch einmal ein paar der wichtigsten Befehle im Überblick

  • pvcreate - Erstellen eines physikalischen Volumes
  • pvdisplay - Anzeigen der physikalischen Volumes
  • pvs - Anzeigen von Statistiken über physikalische Volumens
  • pvscan - Festplatten nach physikalischen Volumens durchsuchen
  • pvresize - verändern der Größe eines PV
  • pvmove - verschieben von PVs

 

  • vgcreate - Erstellen einer Volume Group
  • vgdisplay - Anzeigen von Volume Groups
  • vgs - Anzeigen von Statistiken über die vorhandenen Volume Groups
  • vgscan - Festplatten nach Volume Groups durchsuchen
  • vgck - Überprüfen einer Volume Group
  • vgrename - umbenennen einer Volume Group
  • vgextend - Vergrößern einer Volume Group
  • vgreduce - Verkleinern der Volume Group

 

  • lvcreate - Erstellen von logischen Laufwerken
  • lvdisplay - Anzeigen der logischen Laufwerken
  • lvs - Anzeigen der Statistiken über die logischen Laufwerken
  • lvscan - Suchen nach logischen Laufwerken im System
  • lvrename - Umbenennen von logischen Laufwerken
  • lvextend - Vergrößern von logischen Laufwerken
  • lvreduce - Verkleinern von logischen Laufwerken
  • lvresize - Größe von logischen Laufwerken anpassen