Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:lvm

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:lvm [2017/01/17 15:12]
ingo_wichmann [Snapshot erstellen]
admin_grundlagen:lvm [2024/02/25 05:00]
ingo_wichmann [LV anlegen]
Zeile 7: Zeile 7:
 {{ :​admin_grundlagen:​lvm.png?​200 |}} {{ :​admin_grundlagen:​lvm.png?​200 |}}
 ====== LVM einrichten ====== ====== LVM einrichten ======
-Pakete installieren ​Debian ​)+===== Pakete installieren ​====== 
-  ​aptitude ​install lvm2 parted+Debian: 
 +  ​apt install lvm2 parted
  
-Kernel Modul laden (Ubuntu)+openSuSE
-  ​modprobe dm_mod +  ​zypper install ​lvm
- +
-Boot-Initialisierung einrichten: ( SuSE ) +
-  /​etc/​init.d/​boot.lvm start +
-  chkconfig boot.lvm on +
- +
-Boot-Initialisierung einrichten: ( Debian -6) +
-  service lvm2 start +
-  /​etc/​init.d/​lvm2 start+
  
 +===== Partitionierung =====
 LVM-Partition anlegen: LVM-Partition anlegen:
   parted /dev/sda print   parted /dev/sda print
   parted /dev/sda set 2 lvm on   parted /dev/sda set 2 lvm on
   parted /dev/sda set 3 lvm on   parted /dev/sda set 3 lvm on
 +
 +Alte Metadaten löschen:
 +  wipefs -af /dev/sda2
 +  wipefs -af /dev/sda3
 +
 +Partitionen anzeigen:
 +  fdisk -l | grep -i lvm
 +in der Ausgabe sollten 2 LVM-Partitionen erscheinen:
 +<​file>​
 +/​dev/​sda2 ​  ​30212096 ​ 59572223 29360128 ​   14G Linux LVM
 +/​dev/​sda3 ​  ​59572224 ​ 90114190 30541967 ​ 14,6G Linux LVM
 +</​file>​
  
 ====== LV anlegen ====== ====== LV anlegen ======
-Physical Volume anlegen:+erstes ​Physical Volume anlegen:
   pvcreate /dev/sda2   pvcreate /dev/sda2
-  pvcreate /dev/sda3 
  
 Bestehende Physical Volumes anzeigen: Bestehende Physical Volumes anzeigen:
   pvs   pvs
  
-Volume Group anlegen ​( bestehend aus den zwei physical volumes ):+Volume Group mit Namen ''​vg_system'' ​anlegen:
 (( ''​-''​ ( Minus ) in VG und LV Namen besser vermeiden )) (( ''​-''​ ( Minus ) in VG und LV Namen besser vermeiden ))
-''​vg_system''​ ist hier der Name der VolumeGroup +  ​vgcreate vg_system /dev/sda2
-  ​vgcreate vg_system /​dev/​sda2 ​/dev/sda3+
  
-Volume Group aktivieren:+Volume Group aktivieren: ​(optional)
   vgchange -a y vg_system   vgchange -a y vg_system
  
Zeile 45: Zeile 49:
   vgs   vgs
  
-Logical Volume ​anlegen: ​''​lv_test'' ​ist hier der Name des LogicalVolume+Logical Volume ​mit Namen ''​lv_test'' ​anlegen:
   lvcreate --size 5G --name /​dev/​vg_system/​lv_test   lvcreate --size 5G --name /​dev/​vg_system/​lv_test
  
Zeile 51: Zeile 55:
   lvs   lvs
  
-Formatieren ( hier mit ext3-FilesSystem ): +Formatieren ( hier mit ext4-FilesSystem ): 
-  mkfs.ext3 /​dev/​vg_system/​lv_test+  mkfs.ext4 /​dev/​vg_system/​lv_test
  
 === Testen === === Testen ===
Zeile 58: Zeile 62:
   mkdir /​mnt/​lv_test   mkdir /​mnt/​lv_test
  
-logical volume ​an Mount-Point ​in Dateisystem ​einhängen:+logical volume ​am Mount-Point einhängen:
   mount /​dev/​vg_system/​lv_test /​mnt/​lv_test   mount /​dev/​vg_system/​lv_test /​mnt/​lv_test
  
-Testweise bin-Verzeichnis kopieren: +Testweise ​Daten aus ''/​usr/​bin''​-Verzeichnis kopieren: 
-  cp -a /home/. /​mnt/​lv_test+  cp -a /usr/bin/. /​mnt/​lv_test
  
 ====== LV vergrößern / verkleinern ====== ====== LV vergrößern / verkleinern ======
 Der Vorteil eines LV ist, daß es zur Laufzeit vergrößert werden kann. Ein LV kann auch verkleinert werden, dass geht aber nur bei ext4 und auch da nur nach umount. ​ Der Vorteil eines LV ist, daß es zur Laufzeit vergrößert werden kann. Ein LV kann auch verkleinert werden, dass geht aber nur bei ext4 und auch da nur nach umount. ​
  
-===== Volume Group um PV vergrößern ===== 
-nur falls auf Volume Group nicht mehr genug Platz 
-  vgextend <Name Volume group> <Name physical volume> 
-  vgextend vg_system /dev/sda5 
  
 ===== Logical Volume & Dateisystem vergrößern ===== ===== Logical Volume & Dateisystem vergrößern =====
-  ​lvresize --size +1g --resizefs /​dev/​vg_system/​LogVol01 +==== Volume und Dateisystem in einem Schritt ==== 
-oder +(geht nicht bei btrfs) 
-  lvextend -L +2g /​dev/​vg_system/​LogVol00+  ​lvresize --size +1g --resizefs /​dev/​vg_system/​lv_test
  
-Dateisystem ​vergrößern:​ +==== Volume und Dateisystem ​in zwei Schritten ==== 
-  ​* ext3+  ​lvextend -L +2g /​dev/​vg_system/​lv_test
  
-  resize2fs ​/dev/​vg_system/​LogVol00+Dateisystem vergrößern:​ 
 +=== ext3/4 ===
  
-  ​* xfs+  ​resize2fs /​dev/​vg_system/​lv_test
  
-  ​xfs_growfs /home+=== xfs === 
 +((Volume muss nach ''/​mnt/​lv_test''​ gemountet sein)) 
 +  ​xfs_growfs /mnt/lv_test
  
-====== ​Snapshot erstellen ======+=== btrfs === 
 +((Volume muss nach ''/​mnt/​lv_test''​ gemountet sein)) 
 +  btrfs filesystem resize max /​mnt/​lv_test
  
 +====== Snapshots ======
 (( Falls das Kernel Modul dm-snapshot noch nicht geladen ist: (( Falls das Kernel Modul dm-snapshot noch nicht geladen ist:
   modprobe dm-snapshot   modprobe dm-snapshot
 )) ))
-  mount -o remount,ro /​dev/​vg_system/​lv_test +===== Snapshot erstellen & löschen ===== 
-  lvcreate --snapshot --size ​100M --name lv_snapshot1 /​dev/​vg_system/​lv_test+==== Snapshot erstellen ==== 
 + 
 +  lvcreate --snapshot --size ​200M --name lv_snapshot1 /​dev/​vg_system/​lv_test
   mkdir /​mnt/​snapshot1   mkdir /​mnt/​snapshot1
-  mount -o ro /​dev/​vg_system/​lv_snapshot ​/​mnt/​snapshot1+  mount -o ro,​noatime ​/​dev/​vg_system/​lv_snapshot1 ​/​mnt/​snapshot1
  
 (( bei XFS (( bei XFS
 +UUID vor dem Mounten anpassen: (verändert den Snapshot)
 +  uuid
 +  xfs_admin -U 97194112-5d40-11ee-9311-a7af42c4cc96 /​dev/​vgsystem/​lvtest1
 +oder Mount-Option ''​nouuid''​ (ohne Änderung am Snapshot)
   mount -o ro,nouuid /​dev/​vg_system/​lv_snapshot /​mnt/​snapshot1   mount -o ro,nouuid /​dev/​vg_system/​lv_snapshot /​mnt/​snapshot1
 oder (falls es ohne ''​norecovery''​ nicht geht) oder (falls es ohne ''​norecovery''​ nicht geht)
   mount -o ro,​nouuid,​norecovery /​dev/​vg_system/​lv_snapshot /​mnt/​snapshot1   mount -o ro,​nouuid,​norecovery /​dev/​vg_system/​lv_snapshot /​mnt/​snapshot1
 )) ))
-(( <​del>​Vorsicht bei XFS, das Snapshot wird nicht lesbar sein. Generell eine gute Idee, das Volume vorher read-only zu mounten</​del>​ Ich glaube das stimmt nicht mehr. Siehe ''​man fsfreeze''​. )) 
  
-== Snapshot entfernen == +==== Snapshot entfernen ​==== 
-wie jedes lv +  ​umount /​mnt/​snapshot1 
-  lvremove /​dev/​vg_system/​lv_snapshot+  lvremove /​dev/​vg_system/​lv_snapshot1 
 + 
 +====== Snapshot erstellen & wiederherstellen ====== 
 +==== Snapshot erstellen ==== 
 +  lvcreate --snapshot --size 200M --name lv_snapshot2 /​dev/​vg_system/​lv_test 
 +==== Daten im Original LV ändern ==== 
 + 
 +===== Snapshot wiederherstellen ===== 
 + 
 +  lvconvert --merge /​dev/​vg_system/​lv_snapshot1 
 +  lvchange --refresh /​dev/​vg_system/​lv_test 
 ====== Physical Volume entfernen ====== ====== Physical Volume entfernen ======
 +zweites Physical Volume anlegen:
 +  pvcreate /dev/sda3
 +  vgextend vg_system /dev/sda3
 +
   pvmove /dev/sda2   pvmove /dev/sda2
-  vgreduce ​myvg /dev/sda2+  vgreduce ​vg_system ​/dev/sda2
   pvremove /dev/sda2   pvremove /dev/sda2
-====== Hinweise ====== 
  
-Falls man vergessen hat das LVM in die Fstab einzutragen,​ sind diese nach einem Neustart verschwunden. +====== Logical Volume spiegeln (RAID 1) ====== 
-  ​lvdisplay +zweites Physical Volume anlegen: 
-listet die LVMs dann als "LV Status ​             NOT available"​ auf.+  ​pvcreate /dev/sda2 
 +  ​vgextend vg_system /dev/sda2
  
-Lösung: Vgs von Hand aktivieren:+Logical Volume zu RAID 1 konvertieren: 
 +  lvconvert --type raid1 /​dev/​vg_system/​lv_test 
 +  journalctl -kf 
 +(warten bis "​recovery done" erscheint)
  
-  lvchange ​-vg_system +((Unter CentOS 8 testen: 
- +  lvconvert --raidintegrity ​y /dev/vg_system/lv_test 
-Es kann praktisch sein, die //extent size// zu ändern, z.B. um sie passend für ein RAID-stripe set zu machen+  blkdiscard ​/dev/sda6 
 +))
  
-  vgchange ​-s 1m +====== Deduplizierung ====== 
-  ​vgs -v+Debian: [[https://​github.com/​dm-vdo/​kvdo/​issues/​53|Kernel Modul noch nicht mainline und nicht in Debian stable]] 
 +  ​* https://​blog.defaultroutes.de/​talks/​sys4-storage/ 
 +  * RedHat Doku
  
-====== Links ====== 
-  * http://​tldp.org/​HOWTO/​LVM-HOWTO 
-  * http://​www.linux-magazin.de/​heft_abo/​ausgaben/​2005/​10/​ueber_alle_fallen 
-  * https://​www.redhat.com/​docs/​manuals/​enterprise/​RHEL-5-manual/​Cluster_Logical_Volume_Manager/​index.html 
-  * http://​www.novell.com/​documentation/​sles10/​sles_admin/​data/​cha_advdisk.html 
  
admin_grundlagen/lvm.txt · Zuletzt geändert: 2024/03/19 10:37 (Externe Bearbeitung)