LVM Misc: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 78: Zeile 78:
 
==Automatisierung==
 
==Automatisierung==
 
===Schreiben eines Shell-Skripts zur automatischen Erstellung, Formatierung und Mounten eines Logical Volumes===
 
===Schreiben eines Shell-Skripts zur automatischen Erstellung, Formatierung und Mounten eines Logical Volumes===
#!/bin/bash
+
#!/bin/bash
lvcreate --size 10G --name autoscript_lv /dev/daten
+
lvcreate --size 10G --name autoscript_lv /dev/daten
mkfs.ext4 /dev/daten/autoscript_lv
+
mkfs.ext4 /dev/daten/autoscript_lv
mkdir -p /mnt/autoscript_lv
+
mkdir -p /mnt/autoscript_lv
mount /dev/daten/autoscript_lv /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===
 
===Fügen Sie Funktionen hinzu, um regelmäßig Snapshots zu erstellen und diese nach einer bestimmten Zeit zu löschen===
#!/bin/bash
+
#!/bin/bash
lvcreate --size 1G --snapshot --name autoscript_snapshot /dev/daten/autoscript_lv
+
lvcreate --size 1G --snapshot --name autoscript_snapshot /dev/daten/autoscript_lv
sleep 3600
+
sleep 3600
umount /mnt/autoscript_snapshot
+
umount /mnt/autoscript_snapshot
lvremove /dev/daten/autoscript_snapshot
+
lvremove /dev/daten/autoscript_snapshot
  
 
==Performance-Tuning==
 
==Performance-Tuning==

Aktuelle Version vom 16. Juli 2024, 18:05 Uhr

Volumen Gruppe aktivieren

root@zero:~# vgchange -a y

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