admin_grundlagen:lvm
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:lvm [2022/08/24 12:37] – ingo_wichmann | admin_grundlagen:lvm [2026/10/07 09:38] (aktuell) – [Speicherplatz überbuchen mit Thinpool] mm2 | ||
|---|---|---|---|
| Zeile 15: | Zeile 15: | ||
| ===== Partitionierung ===== | ===== Partitionierung ===== | ||
| - | LVM-Partition anlegen: | + | Partition |
| 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 | + | LVM-Blockdevice zum Physical Volume |
| pvcreate /dev/sda2 | pvcreate /dev/sda2 | ||
| - | Bestehende Physical Volumes anzeigen: | + | Bestehende Physical Volumes anzeigen: |
| + | 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: |
| + | vgdisplay | ||
| + | )) | ||
| vgs | vgs | ||
| Logical Volume mit Namen '' | Logical Volume mit Namen '' | ||
| - | lvcreate --size 5G --name | + | lvcreate --size 5G --name lv_test |
| - | Bestehende Logical Volumes anzeigen: | + | Bestehende Logical Volumes anzeigen: |
| + | lvdisplay | ||
| + | )) | ||
| lvs | lvs | ||
| - | Formatieren ( hier mit ext4-FilesSystem | + | Formatieren ( hier mit ext4-Dateisystem |
| mkfs.ext4 / | mkfs.ext4 / | ||
| === Testen === | === Testen === | ||
| - | Mount-Point erstellen: | + | Logical Volume am Mountpoint einhängen: |
| - | | + | |
| - | logical volume an Mount-Point in Dateisystem einhängen: | + | Testweise Daten aus ''/ |
| - | | + | |
| + | df -h / | ||
| - | Testweise Daten aus ''/ | + | ====== LV vergrößern ====== |
| - | cp -a /usr/bin/. / | + | |
| - | + | ||
| - | ====== 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 |
| - | (geht nicht bei btrfs) | + | ((geht nicht bei btrfs)) |
| - | lvresize --size +1g --resizefs / | + | lvresize --size +2g --resizefs / |
| + | df -h / | ||
| ==== Volume und Dateisystem in zwei Schritten ==== | ==== Volume und Dateisystem in zwei Schritten ==== | ||
| + | ++++ Volume und Dateisystem in zwei Schritten | | ||
| + | === LV vergrößern === | ||
| lvextend -L +2g / | lvextend -L +2g / | ||
| - | Dateisystem vergrößern: | + | === Dateisystem vergrößern === |
| - | === ext3/4 === | + | == ext3/4 == |
| resize2fs / | resize2fs / | ||
| - | === xfs === | + | == xfs == |
| + | ((Volume muss nach ''/ | ||
| xfs_growfs / | xfs_growfs / | ||
| - | === btrfs === | + | == btrfs == |
| - | (Volume muss nach ''/ | + | ((Volume muss nach ''/ |
| btrfs filesystem resize max / | btrfs filesystem resize max / | ||
| - | ====== | + | ++++ |
| - | + | ====== | |
| - | (( Falls das Kernel Modul dm-snapshot | + | ++++ 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 / | ||
| + | fsck.ext4 -f / | ||
| + | (( ext4-Dateisystem verkleinern: | ||
| + | resize2fs / | ||
| + | )) | ||
| + | ext4-Dateisystem und LV verkleinern: | ||
| + | lvreduce --size 3G --resizefs / | ||
| + | Dateisystem wieder einhängen: | ||
| + | mount / | ||
| + | Wenn die Daten ok sind, Backup löschen: ((TODO: tar check command)) | ||
| + | rm lv_test.tar.zst | ||
| + | ++++ | ||
| + | ====== Snapshots ====== | ||
| + | (( Falls das Kernel Modul '' | ||
| modprobe dm-snapshot | modprobe dm-snapshot | ||
| )) | )) | ||
| - | lvcreate --snapshot --size 100M --name lv_snapshot1 / | + | ===== Snapshot erstellen & löschen ===== |
| - | mkdir / | + | ==== Snapshot erstellen ==== |
| - | mount -o ro / | + | |
| + | lvcreate --snapshot --extents 10%ORIGIN --name lv_snapshot1 / | ||
| + | mount -m -o ro,noatime / | ||
| (( bei XFS | (( bei XFS | ||
| - | | + | UUID vor dem Mounten anpassen: (verändert den Snapshot) |
| + | uuid=$(uuid) | ||
| + | xfs_admin -U " | ||
| + | oder Mount-Option '' | ||
| + | | ||
| oder (falls es ohne '' | oder (falls es ohne '' | ||
| - | mount -o ro, | + | mount -m -o ro,noatime, |
| )) | )) | ||
| + | -> jetzt könnte man z.B. eine Kopie von ''/ | ||
| - | == Snapshot entfernen == | + | ==== Snapshot entfernen ==== |
| - | wie jedes lv | + | |
| umount / | umount / | ||
| lvremove / | lvremove / | ||
| + | |||
| + | ===== Snapshot erstellen & wiederherstellen ===== | ||
| + | ++++ Snapshot erstellen & wiederherstellen | | ||
| + | ==== Snapshot erstellen ==== | ||
| + | lvcreate --snapshot --extents 10%ORIGIN --name lv_snapshot2 / | ||
| + | ==== Daten im Original LV ändern/ | ||
| + | rm -rf / | ||
| + | ==== Zustand aus Snapshot wiederherstellen ==== | ||
| + | lvconvert --mergesnapshot / | ||
| + | lvs | ||
| + | lvdisplay / | ||
| + | ls / | ||
| + | Dateisystem aushängen: | ||
| + | umount / | ||
| + | LV deaktivieren & wieder aktivieren: | ||
| + | lvchange -an / | ||
| + | lvchange -ay / | ||
| + | Dateisystem wieder einhängen: | ||
| + | mount / | ||
| + | Prüfen, ob Dateien wieder da sind: | ||
| + | ls / | ||
| + | ++++ | ||
| + | ====== Speicherplatz überbuchen mit Thinpool ====== | ||
| + | ++++ Speicherplatz überbuchen mit Thinpool | | ||
| + | ===== Speicherplatz für Thinpool reservieren ===== | ||
| + | lvcreate --thinpool thinpool --size 100G vg_system | ||
| + | Prüfen: | ||
| + | lvs | ||
| + | lvdisplay / | ||
| + | ===== thin LV anlegen ===== | ||
| + | lvcreate --thin --virtualsize 10T --name my_thin_lv --thinpool thinpool vg_system | ||
| + | -> Meldungen lesen | ||
| + | mkfs.ext4 / | ||
| + | mount -m / | ||
| + | df -h / | ||
| + | ++++ | ||
| ====== Physical Volume entfernen ====== | ====== Physical Volume entfernen ====== | ||
| zweites Physical Volume anlegen: | zweites Physical Volume anlegen: | ||
| Zeile 120: | Zeile 185: | ||
| 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 135: | Zeile 203: | ||
| blkdiscard /dev/sda6 | blkdiscard /dev/sda6 | ||
| )) | )) | ||
| + | ++++ | ||
| + | ====== Deduplizierung ====== | ||
| + | ++++ Deduplizierung | | ||
| + | Debian: [[https:// | ||
| + | * https:// | ||
| + | * RedHat Doku | ||
| + | ++++ | ||
admin_grundlagen/lvm.1661344620.txt.gz · Zuletzt geändert: 2022/08/24 12:37 von ingo_wichmann
