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
admin_grundlagen:lvm [2023/06/22 10:01]
natureshadow2 [Snapshot erstellen] Snapshot mergen
admin_grundlagen:lvm [2025/02/04 16:31] (aktuell)
ingo_wichmann [LV verkleinern]
Zeile 15: Zeile 15:
  
 ===== Partitionierung ===== ===== Partitionierung =====
-LVM-Partition anlegen:+Partition ​mit Typ LVM anlegen:
   parted /dev/sda print   parted /dev/sda print
   parted /dev/sda set 2 lvm on   parted /dev/sda set 2 lvm on
Zeile 33: Zeile 33:
  
 ====== LV anlegen ====== ====== LV anlegen ======
-erstes ​Physical Volume ​anlegen:+LVM-Blockdevice zum Physical Volume ​machen:
   pvcreate /dev/sda2   pvcreate /dev/sda2
  
-Bestehende Physical Volumes anzeigen:+Bestehende Physical Volumes anzeigen: ​(( oder ausführlicher mit 
 +  pvdisplay 
 +))
   pvs   pvs
  
Zeile 46: Zeile 48:
   vgchange -a y vg_system   vgchange -a y vg_system
  
-Bestehende Volume Groups anzeigen:+Bestehende Volume Groups anzeigen: ​(( oder ausführlicher mit 
 +  vgdisplay 
 +))
   vgs   vgs
  
Zeile 52: Zeile 56:
   lvcreate --size 5G --name /​dev/​vg_system/​lv_test   lvcreate --size 5G --name /​dev/​vg_system/​lv_test
  
-Bestehende Logical Volumes anzeigen:+Bestehende Logical Volumes anzeigen: ​(( oder ausführlicher mit 
 +  lvdisplay 
 +))
   lvs   lvs
  
-Formatieren ( hier mit ext4-FilesSystem ​):+Formatieren ( hier mit ext4-Dateisystem ​):
   mkfs.ext4 /​dev/​vg_system/​lv_test   mkfs.ext4 /​dev/​vg_system/​lv_test
  
 === Testen === === Testen ===
-Mount-Point ​erstellen:+Mountpoint ​erstellen:
   mkdir /​mnt/​lv_test   mkdir /​mnt/​lv_test
  
-logical volume an Mount-Point in Dateisystem ​einhängen:+Logical Volume am Mountpoint ​einhängen:
   mount /​dev/​vg_system/​lv_test /​mnt/​lv_test   mount /​dev/​vg_system/​lv_test /​mnt/​lv_test
  
 Testweise Daten aus ''/​usr/​bin''​-Verzeichnis kopieren: Testweise Daten aus ''/​usr/​bin''​-Verzeichnis kopieren:
   cp -a /usr/bin/. /​mnt/​lv_test   cp -a /usr/bin/. /​mnt/​lv_test
 +  df -h /​mnt/​lv_test
  
-====== LV vergrößern ​/ verkleinern ​======+====== LV vergrößern ======
 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. ​
- 
  
 ===== Logical Volume & Dateisystem vergrößern ===== ===== Logical Volume & Dateisystem vergrößern =====
-==== inkl. Dateisystem ====+==== Volume und Dateisystem ​in einem Schritt ​====
 (geht nicht bei btrfs) (geht nicht bei btrfs)
-  lvresize --size +1g --resizefs /​dev/​vg_system/​lv_test +  lvresize --size +2g --resizefs /​dev/​vg_system/​lv_test 
 +  df -h /​mnt/​lv_test
 ==== Volume und Dateisystem in zwei Schritten ==== ==== Volume und Dateisystem in zwei Schritten ====
 +++++ Volume und Dateisystem in zwei Schritten |
 +=== LV vergrößern ===
   lvextend -L +2g /​dev/​vg_system/​lv_test   lvextend -L +2g /​dev/​vg_system/​lv_test
  
-Dateisystem vergrößern+=== Dateisystem vergrößern === 
-=== ext3/4 ==+== ext3/4 ==
   resize2fs /​dev/​vg_system/​lv_test   resize2fs /​dev/​vg_system/​lv_test
  
-=== xfs === +== xfs == 
 +((Volume muss nach ''/​mnt/​lv_test''​ gemountet sein))
   xfs_growfs /​mnt/​lv_test   xfs_growfs /​mnt/​lv_test
  
-=== btrfs === +== btrfs == 
-(Volume muss nach ''/​mnt/​lv_test''​ gemountet sein)+((Volume muss nach ''/​mnt/​lv_test''​ gemountet sein))
   btrfs filesystem resize max /​mnt/​lv_test   btrfs filesystem resize max /​mnt/​lv_test
  
-====== ​Snapshot erstellen ​====== +++++ 
 +====== ​LV verkleinern ​====== 
 +++++ LV verkleinern | 
 +geht nur mit ext2/3/4 Dateisystem 
 +  cd /mnt 
 +  df -hT . lv_test 
 +Backup erstellen:​ 
 +  tar -caf lv_test.tar.zst lv_test/ 
 +ext4-Dateisystem aushängen & prüfen: 
 +  umount /​mnt/​lv_test 
 +  fsck.ext4 -f /​dev/​mapper/​vg_system-lv_test 
 +(( ext4-Dateisystem verkleinern:​ 
 +  resize2fs /​dev/​mapper/​vg_system-lv_test 3G 
 +)) 
 +ext4-Dateisystem und LV verkleinern:​ 
 +  lvreduce --size 3G --resizefs /​dev/​mapper/​vg_system-lv_test 
 +Dateisystem wieder einhängen:​ 
 +  mount /​dev/​mapper/​vg_system-lv_test /​mnt/​lv_test 
 +Wenn die Daten ok sind, Backup löschen: 
 +  rm lv_test.tar.zstd 
 +++++ 
 +====== 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
 )) ))
-  lvcreate --snapshot --size 100M --name lv_snapshot1 /​dev/​vg_system/​lv_test +===== Snapshot erstellen & löschen ===== 
-  mkdir /​mnt/​snapshot1 +==== Snapshot erstellen ====
-  mount -o ro /​dev/​vg_system/​lv_snapshot1 /​mnt/​snapshot1+
  
 +  lvcreate --snapshot --extents 10%ORIGIN --name lv_snapshot1 /​dev/​vg_system/​lv_test
 +  mkdir /​mnt/​snapshot1
 +  mount -o ro,noatime /​dev/​vg_system/​lv_snapshot1 /​mnt/​snapshot1
 (( bei XFS (( bei XFS
-  ​mount -o ro,nouuid /​dev/​vg_system/​lv_snapshot /​mnt/​snapshot1+UUID vor dem Mounten anpassen: (verändert den Snapshot) 
 +  uuid=$(uuid) 
 +  xfs_admin -U "​$uuid"​ /​dev/​vgsystem/​lvtest1 
 +oder Mount-Option ''​nouuid''​ (ohne Änderung am Snapshot) 
 +  ​mount -o ro,noatime,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,noatime,​nouuid,​norecovery /​dev/​vg_system/​lv_snapshot /​mnt/​snapshot1
 )) ))
 +-> jetzt könnte man eine Kopie von ''/​mnt/​snapshot1''​ auf einen anderen Datenträger ziehen
  
-== Snapshot entfernen == +==== Snapshot entfernen ====
-wie jedes lv+
   umount /​mnt/​snapshot1   umount /​mnt/​snapshot1
   lvremove /​dev/​vg_system/​lv_snapshot1   lvremove /​dev/​vg_system/​lv_snapshot1
  
-== Snapshot ​mergen ​== +===== Snapshot ​erstellen & wiederherstellen ===== 
- +++++ Snapshot erstellen & wiederherstellen | 
-  lvconvert --merge /​dev/​vg_system/​lv_snapshot1 +==== Snapshot erstellen ==== 
 +  lvcreate --snapshot --extents 10%ORIGIN --name lv_snapshot2 /​dev/​vg_system/​lv_test 
 +==== Daten im Original LV ändern/​löschen ==== 
 +  rm -rf /​mnt/​lv_test/​s* 
 +==== Zustand aus Snapshot wiederherstellen ==== 
 +  lvconvert --mergesnapshot ​/​dev/​vg_system/​lv_snapshot2 
 +  lvs 
 +  lvdisplay /​dev/​vg_system/​lv_test 
 +  ls /​mnt/​lv_test/​s* 
 +Dateisystem aushängen:​ 
 +  umount /​mnt/​lv_test 
 +LV deaktivieren & wieder aktivieren:​ 
 +  lvchange -an /​dev/​vg_system/​lv_test 
 +  lvchange -ay /​dev/​vg_system/​lv_test 
 +Dateisystem wieder einhängen:​ 
 +  mount /​dev/​vg_system/​lv_test /​mnt/​lv_test 
 +Prüfen, ob Dateien wieder da sind: 
 +  ls /​mnt/​lv_test/​s* 
 +++++
 ====== Physical Volume entfernen ====== ====== Physical Volume entfernen ======
 zweites Physical Volume anlegen: zweites Physical Volume anlegen:
Zeile 125: Zeile 175:
   vgreduce vg_system /dev/sda2   vgreduce vg_system /dev/sda2
   pvremove /dev/sda2   pvremove /dev/sda2
 +  wipefs -af /dev/sda2
 ====== Logical Volume spiegeln (RAID 1) ====== ====== Logical Volume spiegeln (RAID 1) ======
 +++++ Logical Volume spiegeln (RAID 1) |
 zweites Physical Volume anlegen: zweites Physical Volume anlegen:
   pvcreate /dev/sda2   pvcreate /dev/sda2
Zeile 140: Zeile 191:
   blkdiscard /dev/sda6   blkdiscard /dev/sda6
 )) ))
 +++++
 ====== Deduplizierung ====== ====== Deduplizierung ======
-Debian: [[https://​github.com/​dm-vdo/​kvdo/​issues/​53|Kernel Modul noch nicht mainline und nicht in Debian stable]]+++++ Deduplizierung | 
 +Debian: [[https://​github.com/​dm-vdo/​kvdo/​issues/​53|Kernel Modul ab Kernel 6.9 mainline und nicht in Debian stable]]
   * https://​blog.defaultroutes.de/​talks/​sys4-storage/​   * https://​blog.defaultroutes.de/​talks/​sys4-storage/​
   * RedHat Doku   * RedHat Doku
  
 +++++
admin_grundlagen/lvm.1687428094.txt.gz · Zuletzt geändert: 2023/06/22 10:01 von natureshadow2