Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
admin_grundlagen:lvm [2024/02/25 05:25] ingo_wichmann |
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 | ||
Zeile 67: | Zeile 73: | ||
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. | ||
Zeile 74: | Zeile 81: | ||
==== Volume und Dateisystem in einem Schritt ==== | ==== 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 === | === LV vergrößern === | ||
lvextend -L +2g /dev/vg_system/lv_test | lvextend -L +2g /dev/vg_system/lv_test | ||
Zeile 92: | Zeile 100: | ||
btrfs filesystem resize max /mnt/lv_test | btrfs filesystem resize max /mnt/lv_test | ||
+ | ++++ | ||
+ | ====== 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 ====== | ====== Snapshots ====== | ||
(( Falls das Kernel Modul dm-snapshot noch nicht geladen ist: | (( Falls das Kernel Modul dm-snapshot noch nicht geladen ist: | ||
Zeile 99: | Zeile 128: | ||
==== Snapshot erstellen ==== | ==== Snapshot erstellen ==== | ||
- | lvcreate --snapshot --size 200M --name lv_snapshot1 /dev/vg_system/lv_test | + | lvcreate --snapshot --extents 10%ORIGIN --name lv_snapshot1 /dev/vg_system/lv_test |
mkdir /mnt/snapshot1 | mkdir /mnt/snapshot1 | ||
mount -o ro,noatime /dev/vg_system/lv_snapshot1 /mnt/snapshot1 | mount -o ro,noatime /dev/vg_system/lv_snapshot1 /mnt/snapshot1 | ||
Zeile 118: | Zeile 147: | ||
===== Snapshot erstellen & wiederherstellen ===== | ===== Snapshot erstellen & wiederherstellen ===== | ||
+ | ++++ Snapshot erstellen & wiederherstellen | | ||
==== Snapshot erstellen ==== | ==== Snapshot erstellen ==== | ||
- | lvcreate --snapshot --size 200M --name lv_snapshot2 /dev/vg_system/lv_test | + | lvcreate --snapshot --extents 10%ORIGIN --name lv_snapshot2 /dev/vg_system/lv_test |
==== Daten im Original LV ändern/löschen ==== | ==== Daten im Original LV ändern/löschen ==== | ||
rm -rf /mnt/lv_test/s* | rm -rf /mnt/lv_test/s* | ||
- | ===== Zustand aus Snapshot wiederherstellen ===== | + | ==== Zustand aus Snapshot wiederherstellen ==== |
lvconvert --mergesnapshot /dev/vg_system/lv_snapshot2 | lvconvert --mergesnapshot /dev/vg_system/lv_snapshot2 | ||
lvs | lvs | ||
lvdisplay /dev/vg_system/lv_test | lvdisplay /dev/vg_system/lv_test | ||
ls /mnt/lv_test/s* | ls /mnt/lv_test/s* | ||
+ | Dateisystem aushängen: | ||
umount /mnt/lv_test | umount /mnt/lv_test | ||
+ | LV deaktivieren & wieder aktivieren: | ||
lvchange -an /dev/vg_system/lv_test | lvchange -an /dev/vg_system/lv_test | ||
lvchange -ay /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 | mount /dev/vg_system/lv_test /mnt/lv_test | ||
+ | Prüfen, ob Dateien wieder da sind: | ||
ls /mnt/lv_test/s* | ls /mnt/lv_test/s* | ||
+ | ++++ | ||
====== Physical Volume entfernen ====== | ====== Physical Volume entfernen ====== | ||
zweites Physical Volume anlegen: | zweites Physical Volume anlegen: | ||
Zeile 141: | 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 156: | 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 | ||
+ | ++++ |