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 [2024/02/25 05:00] – [LV anlegen] 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 === | ||
| - | Mountpoint | + | Logical Volume am Mountpoint |
| - | | + | |
| - | logical volume am Mount-Point 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 ===== | ||
| ==== Volume und Dateisystem in einem Schritt ==== | ==== Volume und Dateisystem in einem Schritt ==== | ||
| - | (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 ''/ | ((Volume muss nach ''/ | ||
| xfs_growfs / | xfs_growfs / | ||
| - | === btrfs === | + | == btrfs == |
| ((Volume muss nach ''/ | ((Volume muss nach ''/ | ||
| btrfs filesystem resize max / | btrfs filesystem resize max / | ||
| + | ++++ | ||
| + | ====== 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 / | ||
| + | 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 ====== | ====== Snapshots ====== | ||
| - | (( Falls das Kernel Modul dm-snapshot | + | (( Falls das Kernel Modul '' |
| modprobe dm-snapshot | modprobe dm-snapshot | ||
| )) | )) | ||
| Zeile 100: | Zeile 125: | ||
| ==== Snapshot erstellen ==== | ==== Snapshot erstellen ==== | ||
| - | lvcreate --snapshot --size 200M --name lv_snapshot1 / | + | lvcreate --snapshot --extents 10%ORIGIN |
| - | mkdir / | + | mount -m -o ro,noatime / |
| - | mount -o ro,noatime / | + | |
| (( bei XFS | (( bei XFS | ||
| UUID vor dem Mounten anpassen: (verändert den Snapshot) | UUID vor dem Mounten anpassen: (verändert den Snapshot) | ||
| - | uuid | + | uuid=$(uuid) |
| - | xfs_admin -U 97194112-5d40-11ee-9311-a7af42c4cc96 | + | xfs_admin -U " |
| oder Mount-Option '' | oder Mount-Option '' | ||
| - | mount -o ro,nouuid / | + | mount -m -o ro,noatime,nouuid / |
| 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 ==== | ||
| Zeile 118: | Zeile 142: | ||
| lvremove / | lvremove / | ||
| - | ====== Snapshot erstellen & wiederherstellen ====== | + | ===== Snapshot erstellen & wiederherstellen ===== |
| + | ++++ Snapshot erstellen & wiederherstellen | | ||
| ==== Snapshot erstellen ==== | ==== Snapshot erstellen ==== | ||
| - | lvcreate --snapshot --size 200M --name lv_snapshot2 / | + | lvcreate --snapshot --extents 10%ORIGIN |
| - | ==== Daten im Original LV ändern ==== | + | ==== Daten im Original LV ändern/ |
| - | + | rm -rf / | |
| - | ===== Snapshot wiederherstellen | + | ==== Zustand aus Snapshot wiederherstellen ==== |
| - | + | lvconvert --mergesnapshot | |
| - | lvconvert --merge / | + | lvs |
| - | lvchange --refresh | + | lvdisplay / |
| + | ls / | ||
| + | Dateisystem aushängen: | ||
| + | umount / | ||
| + | LV deaktivieren & wieder aktivieren: | ||
| + | lvchange -an / | ||
| + | lvchange | ||
| + | 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 136: | 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 151: | Zeile 203: | ||
| blkdiscard /dev/sda6 | blkdiscard /dev/sda6 | ||
| )) | )) | ||
| + | ++++ | ||
| ====== Deduplizierung ====== | ====== Deduplizierung ====== | ||
| - | Debian: [[https:// | + | ++++ Deduplizierung | |
| + | Debian: [[https:// | ||
| * https:// | * https:// | ||
| * RedHat Doku | * RedHat Doku | ||
| + | ++++ | ||
admin_grundlagen/lvm.1708837222.txt.gz · Zuletzt geändert: 2024/02/25 05:00 von ingo_wichmann
