Mit LVM Thin Provisioning können Sie den physischen Speicher überlasten. Sie können Dateisysteme erstellen, die größer sind als der verfügbare physische Speicher. Mit LVM Thin Provisioning können Sie virtuelle Laufwerke in einem Thin-Pool erstellen. Die Größe der virtuellen Festplatte kann größer sein als der verfügbare Speicherplatz im Thin-Pool. Es ist wichtig, dass Sie den Thin-Pool überwachen und mehr Kapazität hinzufügen, wenn er voll wird.
Dünnen Pool erstellen
Thin-Pools werden mit dem Befehl lvcreate erstellt und sind als solche im Wesentlichen logische Volumes. Verwenden Sie beim Erstellen eines Thin-Pools entweder die Option –T oder die Option –thin oder die Option –thinpool. Im folgenden Beispiel wird ein Thin-Pool mit dem Namen mythinpool aus der Volumengruppe centos mit einer Größe von 100 m erstellt:
# lvcreate -v -L 100m -T centos/mythinpool ... Logical volume “mythinpool” created
# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert mythinpool centos twi-a-tz-- 100.00m 0.00
Die Spalte „Data%“ zeigt die zugeordneten Pooldaten. Das Beispiel zeigt 0,00 %, da in diesem Thin-Pool noch keine virtuellen Thin-Volumes erstellt wurden.
Dünnes Volumen erstellen
Verwenden Sie den Befehl lvcreate mit der Option –V, um ein Thin-Volume (eine virtuelle Festplatte) aus einem Thin-Pool zu erstellen. Im folgenden Beispiel wird ein Thin-Volume mit 1 GB namens mythinvol im Thin-Pool centos/mythinpool erstellt. Beachten Sie, dass die Größe des Thin-Volumes größer ist als die Größe des Thin-Pools, der es enthält.
# lvcreate -V 1g -T centos/mythinpool -n mythinvol Logical volume "mythinvol" created
# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert mythinpool centos twi-a-tz-- 100.00m 0.00 mythinvol centos Vwi-a-tz-- 1.00g mythinpool 0.00
Beachten Sie den Unterschied in den Attributen. Das dünne Volumen hat ein V Attribut für virtuelle Festplatte. Die Spalte Data% zeigt 0,00 an, bis Sie ein Dateisystem auf dem Thin Volume erstellen.
Dateisystem erstellen
Lassen Sie uns ein ext4-Dateisystem auf dem soeben erstellten Thin-Volume erstellen.
# mkfs.ext4 /dev/centos/mythinvol # mkdir /myvol # mount /dev/centos/mythinvol /myvol
Überprüfen Sie die Größe des Einhängepunkts in der Ausgabe des Befehls df -hP.
# df -hP | grep myvol /dev/mapper/centos-mythinvol 976M 2.6M 907M 1% /myvol
Erstellen Sie eine Datei der Größe 100 MB mit Fallocate im Verzeichnis /myvol.
# cd /myvol # fallocate -l 100m test_file
# df -hP | grep my /dev/mapper/centos-mythinvol 976M 103M 807M 12% /myvol
# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert mythinpool centos twi-a-tz-- 100.00m 49.00 mythinvol centos Vwi-aotz-- 1.00g mythinpool 4.79
Dies zeigt, dass Sie 49 % der zugewiesenen Pooldaten verwendet haben. Dies zeigt auch, dass das Thin Volume 4,79 % von 1 GB verwendet hat.
Dünner Pool erweitern
Sie können den Befehl lvextend verwenden, um Speicherplatz zu einem logischen Thin-Pool-Volume hinzuzufügen.
# lvextend -L 500m centos/mythinpool Extending logical volume mythinpool_tdata to 500.00 MiB Logical volume mythinpool successfully resized
Beachten Sie, dass die Größe des Thin-Pools jetzt 500 MB beträgt und der verwendete Prozentsatz 9,81 % beträgt.
# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert mythinpool centos twi-a-tz-- 500.00m 9.81 mythinvol centos Vwi-aotz-- 1.00g mythinpool 4.79