LVM Misc: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „==Volumen Gruppe aktivieren== root@zero:~# vgchange -a y“)
 
Zeile 1: Zeile 1:
 
==Volumen Gruppe aktivieren==
 
==Volumen Gruppe aktivieren==
 
  root@zero:~# vgchange -a y
 
  root@zero:~# vgchange -a y
 +
=Erweiterte LVM-Aufgaben=
 +
 +
==Snapshots==
 +
===Erstellen eines Snapshots des Logical Volumes "speicher"===
 +
*lvcreate --size 1G --snapshot --name speicher_snapshot /dev/daten/speicher
 +
*mkdir /mnt/speicher_snapshot
 +
*mount /dev/daten/speicher_snapshot /mnt/speicher_snapshot
 +
 +
===Überprüfen des Inhalts des Snapshots===
 +
*ls /mnt/speicher_snapshot
 +
 +
===Ändern einiger Dateien im Original-Logical-Volume===
 +
*echo "Test" > /daten/speicher/testfile
 +
 +
===Überprüfen, ob die Änderungen im Snapshot sichtbar sind===
 +
*ls /mnt/speicher_snapshot/testfile
 +
 +
===Löschen des Snapshots===
 +
*umount /mnt/speicher_snapshot
 +
*lvremove /dev/daten/speicher_snapshot
 +
 +
==Spiegelung==
 +
===Erstellen einer Spiegelung des Logical Volumes "speicher"===
 +
*lvconvert --type mirror --mirrors 1 /dev/daten/speicher
 +
 +
===Überprüfen des Status der Spiegelung===
 +
*lvdisplay /dev/daten/speicher
 +
 +
===Simulieren des Ausfalls einer der Festplatten===
 +
*pvcreate /dev/sdf1
 +
*vgextend daten /dev/sdf1
 +
*lvconvert --replace /dev/sde1 /dev/daten/speicher
 +
 +
===Überprüfen, ob die Spiegelung weiterhin funktioniert===
 +
*lvdisplay /dev/daten/speicher
 +
 +
===Reparieren der Spiegelung===
 +
*lvconvert --repair /dev/daten/speicher
 +
 +
==Stripesets==
 +
===Erstellen eines Stripeset-Logical-Volumes===
 +
*lvcreate --size 10G --stripes 2 --name stripeset /dev/daten
 +
 +
===Überprüfen der Leistung des Stripesets===
 +
*fio --name=write_test --size=1G --filename=/dev/daten/stripeset --bs=4k --rw=write --direct=1
 +
 +
===Erweitern des Stripesets um eine weitere Partition===
 +
*lvextend --size +5G /dev/daten/stripeset
 +
 +
===Erneutes Überprüfen der Leistung===
 +
*fio --name=write_test --size=1G --filename=/dev/daten/stripeset --bs=4k --rw=write --direct=1
 +
 +
==Komprimierung==
 +
===Erstellen eines Logical Volumes mit Komprimierung===
 +
*lvcreate --size 10G --name compress_lv /dev/daten
 +
*mkfs.btrfs /dev/daten/compress_lv
 +
*mount -o compress /dev/daten/compress_lv /daten/compress_lv
 +
 +
===Überprüfen des Speicherplatzgewinns durch Komprimierung===
 +
*cp /path/to/large/file /daten/compress_lv
 +
*df -h /daten/compress_lv
 +
 +
==Migration==
 +
===Migrieren eines Logical Volumes zu einer anderen Volume Group===
 +
*vgcreate neue_vg /dev/sdg1
 +
*lvconvert --splitmirrors 1 --name speicher_mirror /dev/daten/speicher
 +
*vgextend neue_vg /dev/speicher_mirror
 +
*lvconvert --merge /dev/neue_vg/speicher_mirror
 +
 +
===Überprüfen der Integrität der Daten nach der Migration===
 +
*ls /daten/speicher
 +
 +
===Erstellen eines Backups des Logical Volumes und Wiederherstellen auf einer anderen Maschine===
 +
*dd if=/dev/daten/speicher of=/path/to/backup.img
 +
*scp /path/to/backup.img user@remote:/path/to/remote/backup.img
 +
*dd if=/path/to/remote/backup.img of=/dev/remote_vg/remote_lv
 +
 +
==Automatisierung==
 +
===Schreiben eines Shell-Skripts zur automatischen Erstellung, Formatierung und Mounten eines Logical Volumes===
 +
#!/bin/bash
 +
lvcreate --size 10G --name autoscript_lv /dev/daten
 +
mkfs.ext4 /dev/daten/autoscript_lv
 +
mkdir -p /mnt/autoscript_lv
 +
mount /dev/daten/autoscript_lv /mnt/autoscript_lv
 +
 +
===Fügen Sie Funktionen hinzu, um regelmäßig Snapshots zu erstellen und diese nach einer bestimmten Zeit zu löschen===
 +
#!/bin/bash
 +
lvcreate --size 1G --snapshot --name autoscript_snapshot /dev/daten/autoscript_lv
 +
sleep 3600
 +
umount /mnt/autoscript_snapshot
 +
lvremove /dev/daten/autoscript_snapshot
 +
 +
==Performance-Tuning==
 +
===Untersuchen der Auswirkungen verschiedener Stripe-Größen auf die Leistung===
 +
*lvcreate --size 10G --stripes 2 --stripesize 4K --name stripe4k_lv /dev/daten
 +
*lvcreate --size 10G --stripes 2 --stripesize 64K --name stripe64k_lv /dev/daten
 +
*fio --name=write_test --size=1G --filename=/dev/daten/stripe4k_lv --bs=4k --rw=write --direct=1
 +
*fio --name=write_test --size=1G --filename=/dev/daten/stripe64k_lv --bs=4k --rw=write --direct=1
 +
 +
==Erweiterung über mehrere Volumes==
 +
===Erstellen einer Volume Group mit Partitionen von mehreren physischen Festplatten===
 +
*vgcreate multi_vg /dev/sdh1 /dev/sdi1 /dev/sdj1
 +
 +
===Erstellen und Erweitern eines Logical Volumes über diese Partitionen===
 +
*lvcreate --size 15G --name multi_lv /dev/multi_vg
 +
*lvextend --size +5G /dev/multi_vg/multi_lv
 +
*resize2fs /dev/multi_vg/multi_lv
 +
 +
===Überprüfen der Performance===
 +
*fio --name=write_test --size=1G --filename=/dev/multi_vg/multi_lv --bs=4k --rw=write --direct=1

Version vom 16. Juli 2024, 18:03 Uhr

Volumen Gruppe aktivieren

root@zero:~# vgchange -a y

Erweiterte LVM-Aufgaben

Snapshots

Erstellen eines Snapshots des Logical Volumes "speicher"

  • lvcreate --size 1G --snapshot --name speicher_snapshot /dev/daten/speicher
  • mkdir /mnt/speicher_snapshot
  • mount /dev/daten/speicher_snapshot /mnt/speicher_snapshot

Überprüfen des Inhalts des Snapshots

  • ls /mnt/speicher_snapshot

Ändern einiger Dateien im Original-Logical-Volume

  • echo "Test" > /daten/speicher/testfile

Überprüfen, ob die Änderungen im Snapshot sichtbar sind

  • ls /mnt/speicher_snapshot/testfile

Löschen des Snapshots

  • umount /mnt/speicher_snapshot
  • lvremove /dev/daten/speicher_snapshot

Spiegelung

Erstellen einer Spiegelung des Logical Volumes "speicher"

  • lvconvert --type mirror --mirrors 1 /dev/daten/speicher

Überprüfen des Status der Spiegelung

  • lvdisplay /dev/daten/speicher

Simulieren des Ausfalls einer der Festplatten

  • pvcreate /dev/sdf1
  • vgextend daten /dev/sdf1
  • lvconvert --replace /dev/sde1 /dev/daten/speicher

Überprüfen, ob die Spiegelung weiterhin funktioniert

  • lvdisplay /dev/daten/speicher

Reparieren der Spiegelung

  • lvconvert --repair /dev/daten/speicher

Stripesets

Erstellen eines Stripeset-Logical-Volumes

  • lvcreate --size 10G --stripes 2 --name stripeset /dev/daten

Überprüfen der Leistung des Stripesets

  • fio --name=write_test --size=1G --filename=/dev/daten/stripeset --bs=4k --rw=write --direct=1

Erweitern des Stripesets um eine weitere Partition

  • lvextend --size +5G /dev/daten/stripeset

Erneutes Überprüfen der Leistung

  • fio --name=write_test --size=1G --filename=/dev/daten/stripeset --bs=4k --rw=write --direct=1

Komprimierung

Erstellen eines Logical Volumes mit Komprimierung

  • lvcreate --size 10G --name compress_lv /dev/daten
  • mkfs.btrfs /dev/daten/compress_lv
  • mount -o compress /dev/daten/compress_lv /daten/compress_lv

Überprüfen des Speicherplatzgewinns durch Komprimierung

  • cp /path/to/large/file /daten/compress_lv
  • df -h /daten/compress_lv

Migration

Migrieren eines Logical Volumes zu einer anderen Volume Group

  • vgcreate neue_vg /dev/sdg1
  • lvconvert --splitmirrors 1 --name speicher_mirror /dev/daten/speicher
  • vgextend neue_vg /dev/speicher_mirror
  • lvconvert --merge /dev/neue_vg/speicher_mirror

Überprüfen der Integrität der Daten nach der Migration

  • ls /daten/speicher

Erstellen eines Backups des Logical Volumes und Wiederherstellen auf einer anderen Maschine

  • dd if=/dev/daten/speicher of=/path/to/backup.img
  • scp /path/to/backup.img user@remote:/path/to/remote/backup.img
  • dd if=/path/to/remote/backup.img of=/dev/remote_vg/remote_lv

Automatisierung

Schreiben eines Shell-Skripts zur automatischen Erstellung, Formatierung und Mounten eines Logical Volumes

  1. !/bin/bash

lvcreate --size 10G --name autoscript_lv /dev/daten mkfs.ext4 /dev/daten/autoscript_lv mkdir -p /mnt/autoscript_lv mount /dev/daten/autoscript_lv /mnt/autoscript_lv

Fügen Sie Funktionen hinzu, um regelmäßig Snapshots zu erstellen und diese nach einer bestimmten Zeit zu löschen

  1. !/bin/bash

lvcreate --size 1G --snapshot --name autoscript_snapshot /dev/daten/autoscript_lv sleep 3600 umount /mnt/autoscript_snapshot lvremove /dev/daten/autoscript_snapshot

Performance-Tuning

Untersuchen der Auswirkungen verschiedener Stripe-Größen auf die Leistung

  • lvcreate --size 10G --stripes 2 --stripesize 4K --name stripe4k_lv /dev/daten
  • lvcreate --size 10G --stripes 2 --stripesize 64K --name stripe64k_lv /dev/daten
  • fio --name=write_test --size=1G --filename=/dev/daten/stripe4k_lv --bs=4k --rw=write --direct=1
  • fio --name=write_test --size=1G --filename=/dev/daten/stripe64k_lv --bs=4k --rw=write --direct=1

Erweiterung über mehrere Volumes

Erstellen einer Volume Group mit Partitionen von mehreren physischen Festplatten

  • vgcreate multi_vg /dev/sdh1 /dev/sdi1 /dev/sdj1

Erstellen und Erweitern eines Logical Volumes über diese Partitionen

  • lvcreate --size 15G --name multi_lv /dev/multi_vg
  • lvextend --size +5G /dev/multi_vg/multi_lv
  • resize2fs /dev/multi_vg/multi_lv

Überprüfen der Performance

  • fio --name=write_test --size=1G --filename=/dev/multi_vg/multi_lv --bs=4k --rw=write --direct=1