LVM (Logical Volume Management) ist eine gute Möglichkeit, den Speicherplatz auf dem Server effizienter zu nutzen. Einer der Vorteile von LVM ist, dass wir Snapshots von lvm-basierten Partitionen erstellen und Thin-Provisioning-logische Volumes erstellen können.
Thin Provisioning ermöglicht es uns, größere logische Volumes als der verfügbare Speicherplatz zu erstellen. Um Thin Provisioning zu verwenden, müssen wir einen Thin-Pool aus einer Volume-Gruppe erstellen und dann können wir logische Volumes aus diesem Thin-Pool erstellen.
In diesem Artikel zeigen wir Ihnen Schritt für Schritt, wie Sie unter Linux Thin-Provisioning Logical Volumes erstellen.
Nehmen wir an, wir haben Linux Server (CentOS 7.x / RHEL 7.x) und haben eine Festplatte mit 10 GB neu zugewiesen. Wir erstellen einen Thin-Pool von 10 GB. Aus diesem Thin-Pool erstellen wir zunächst zwei logische Volumes mit jeweils 4 GB und ein logisches Volume mit einer Größe von 1 GB.
Beziehen Sie sich auf die folgenden Schritte, um Thin Provisioning Logical Volumes zu erstellen
Schritt 1) Erstellen Sie das physische Volume mit dem Befehl pvcreate
Nehmen wir an, eine neue Festplatte wird als /dev/sdb erkannt. Führen Sie den folgenden pvcreate-Befehl aus, um ein physisches Volume auf der Festplatte zu erstellen.
[[email protected] ~]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created [[email protected] ~]#
Schritt 2) Volume-Gruppe mit dem Befehl vgcreate erstellen
Führen Sie den Befehl vgcrereate aus, um ein Volume mit dem Namen „volgrp“ zu erstellen
[[email protected] ~]# vgcreate volgrp /dev/sdb Volume group "volgrp" successfully created [[email protected] ~]#
Schritt 3) Erstellen Sie einen Thin-Pool aus der Volume-Gruppe
Thin Pool ist wie ein logisches Volume, das mit dem lvcreate-Befehl
erstellt wirdSyntax:
# lvcreate –L
Wobei -L verwendet wird, um die Größe des Pools anzugeben und -T den Thin-Pool angibt
[[email protected] ~]# lvcreate -L 9.90G -T volgrp/lvpool Rounding up size to full physical extent 9.90 GiB Logical volume "lvpool" created. [[email protected] ~]#
Überprüfen Sie die Thin-Pool-Größe
[[email protected] ~]# lvs /dev/volgrp/lvpool LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvpool volgrp twi-a-tz-- 9.90g 0.00 0.59 [[email protected] ~]#
Schritt 4) Erstellen Sie logische Volumes aus dem Thin-Pool
Lassen Sie uns zwei logische Volumes mit einer Größe von jeweils 4 GB erstellen
Syntax:
# lvcreate -V
[[email protected] ~]# lvcreate -V 4G -T volgrp/lvpool -n node1 Logical volume "node1" created. [[email protected] ~]# lvcreate -V 4G -T volgrp/lvpool -n node2 Logical volume "node2" created. [[email protected] ~]#
Überprüfen Sie den Status des Thin-Pools und der logischen Volumes mit dem folgenden lvs-Befehl,
[[email protected] ~]# lvs /dev/volgrp/lvpool && lvs /dev/volgrp/node{1..2} LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvpool volgrp twi-aotz-- 9.90g 0.00 0.65 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert node1 volgrp Vwi-a-tz-- 4.00g lvpool 0.00 node2 volgrp Vwi-a-tz-- 4.00g lvpool 0.00 [[email protected] ~]#
Schritt 5) Formatieren Sie die Thin-bereitgestellten logischen Volumes
Verwenden Sie den Befehl mkfs, um das Dateisystem (ext4) auf den oben erstellten logischen Volumes zu erstellen.
[[email protected] ~]# mkfs.ext4 /dev/volgrp/node1 [[email protected] ~]# mkfs.ext4 /dev/volgrp/node2 [[email protected] ~]# mkdir /opt/vol1 && mkdir /opt/vol2 [[email protected] ~]# mount /dev/volgrp/node1 /opt/vol1/ && mount /dev/volgrp/node2 /opt/vol2/ [[email protected] ~]#
Überprüfen Sie die Einhängepunkte mit dem ‚df-Befehl‘
[[email protected] ~]# df -Th /opt/vol1/ /opt/vol2/ Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/volgrp-node1 ext4 3.9G 16M 3.6G 1% /opt/vol1 /dev/mapper/volgrp-node2 ext4 3.9G 16M 3.6G 1% /opt/vol2 [[email protected] ~]#
Schreiben Sie einige Daten in das oben erstellte Dateisystem mit dem Befehl dd
[[email protected] ~]# dd if=/dev/zero of=/opt/vol1/file.txt bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 3.26031 s, 329 MB/s [[email protected] ~]# dd if=/dev/zero of=/opt/vol2/file.txt bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 2.70821 s, 396 MB/s [[email protected] ~]#
Überprüfen Sie nun die Größe der logischen Volumes mit Thin Provisioning mit dem Befehl lvs.
Wie wir sehen können, verbrauchen beide logischen Volumes 29 % Daten.
Versuchen Sie nun, ein drittes logisches Volume aus dem Thin-Pool zu erstellen.
[[email protected] ~]# lvcreate -V 1G -T volgrp/lvpool -n node3 Logical volume "node3" created. [[email protected] ~]#
Szenario :
Nun, bis jetzt haben wir den gesamten Speicherplatz des Thin Pools in logischen Volumes verbraucht. Wenn mich jemand bittet, ein weiteres logisches Volume der Größe 2G zu erstellen.
Kann ich ein neues logisches Volume aus dem Thin-Pool erstellen… ?
Was wird passieren ? Unterstützt es Over-Committed… ?
Die Antwort lautet Ja, wir können ein logisches Volume erstellen, da es Over-Committed oder Over-Provisioning unterstützt, aber beim Erstellen eines logischen Volumes wird eine Warnmeldung ausgegeben. Beispiel ist unten gezeigt:
[[email protected] ~]# lvcreate -V 2G -T volgrp/lvpool -n node4 WARNING: Sum of all thin volume sizes (11.00 GiB) exceeds the size of thin pool volgrp/lvpool and the size of whole volume group (10.00 GiB)! For thin pool auto extension activation/thin_pool_autoextend_threshold should be below 100. Logical volume "node4" created. [[email protected] ~]#
Überprüfen Sie jetzt erneut den Status des logischen Volumes
Schritt 6) Erweitern Sie die Größe des Thin-Pools mit dem Befehl lvextend
Nehmen wir an, dass dem Server (/dev/sdc) eine weitere 5G-Festplatte zugewiesen ist. Wir werden diese Festplatte verwenden, um den Thin-Pool zu erweitern.
Siehe die folgenden Schritte
Erstellen Sie das physische Volume und erweitern Sie die Volume-Gruppe (volgrp)
[[email protected] ~]# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created [[email protected] ~]# vgextend volgrp /dev/sdc Volume group "volgrp" successfully extended [[email protected] ~]#
Da Thin Pool ein logisches Volume ist, können wir seine Größe mit dem Befehl lvextend
erweitern[[email protected] ~]# lvextend -L+5G volgrp/lvpool
Überprüfen Sie nun die Thin-Pool-Größe, sie sollte etwa 15 GB betragen.
Hinweis:Thin Pool kann nicht reduziert oder verkleinert werden, nur die Erweiterung wird unterstützt
Das ist alles aus diesem Leitfaden, ich hoffe, Sie fanden ihn informativ. Bitte teilen Sie uns Ihr Feedback und Ihre Kommentare mit.
Auch lesen :Top 5 Tools zur Überwachung Ihrer Linux-Festplattennutzung und -Partitionen