Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
admin_grundlagen:lvm [2020/12/09 09:06] ingo_wichmann [Volume Group um PV vergrößern] |
admin_grundlagen:lvm [2024/02/25 05:02] 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 ====== |
+ | Debian: | ||
apt install lvm2 parted | apt install lvm2 parted | ||
+ | openSuSE: | ||
+ | zypper install lvm | ||
+ | |||
+ | ===== Partitionierung ===== | ||
LVM-Partition anlegen: | LVM-Partition anlegen: | ||
parted /dev/sda print | parted /dev/sda print | ||
Zeile 50: | Zeile 55: | ||
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 /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 | ||
Zeile 68: | Zeile 73: | ||
===== Logical Volume & Dateisystem vergrößern ===== | ===== Logical Volume & Dateisystem vergrößern ===== | ||
+ | ==== Volume und Dateisystem in einem Schritt ==== | ||
+ | (geht nicht bei btrfs) | ||
lvresize --size +1g --resizefs /dev/vg_system/lv_test | lvresize --size +1g --resizefs /dev/vg_system/lv_test | ||
- | oder | + | |
+ | ==== Volume und Dateisystem in zwei Schritten ==== | ||
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 | ||
- | ====== 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 | ||
)) | )) | ||
- | lvcreate --snapshot --size 100M --name lv_snapshot1 /dev/vg_system/lv_test | + | ===== Snapshot erstellen & löschen ===== |
+ | ==== 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_snapshot1 /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) | ||
Zeile 96: | Zeile 114: | ||
)) | )) | ||
- | == 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 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: | zweites Physical Volume anlegen: | ||
Zeile 108: | Zeile 136: | ||
vgreduce vg_system /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 -a y 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 | ||