GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erweitern Sie die Festplattengröße der virtuellen KVM-Maschine unter Linux

Diese kurze Anleitung erklärt, was Virt-Size ist Befehlszeilentool und wie wir die Festplattengröße der virtuellen KVM-Maschine mit dem Virt-Resize-Tool in Linux erweitern oder erweitern können.

Neulich bemerkte ich, dass einer meiner virtuellen KVM-Maschinen der Speicherplatz ausgeht. Ich konnte keine neuen Anwendungen installieren oder Dateien aufgrund von geringem Speicherplatz nicht speichern. Um dieses Problem zu beheben, habe ich einfach die Größe der Festplatte einer virtuellen KVM-Maschine mit virt-size erhöht Befehl. Ich habe die unten angegebenen Schritte persönlich getestet, um die Festplattengröße einer virtuellen CentOS 8 KVM-Maschine zu erhöhen, und es hat wie erwartet funktioniert.

Virt-Resize-Tool

Virt-resize ist ein Befehlszeilentool zum Ändern der Größe einer Festplatte einer virtuellen Maschine. Mit virt-resize können wir die Größe der Festplatte einer virtuellen Maschine entweder vergrößern oder verkleinern. Wir können die Partitionen innerhalb der virtuellen Festplatte auch mit dem Befehl virt-resize löschen. Bitte beachten Sie, dass die Größe der Live-Maschinen virt-resize. Die Gastsysteme sollten ausgeschaltet werden, bevor die Größe ihrer Disk-Images geändert wird.

Um die Festplattengröße einer virtuellen Maschine zu erweitern, erstellen wir zunächst ein größeres Festplatten-Image als das Quell-Image. Und dann kopieren wir das Quellbild in das Zielbild und ändern schließlich die Größe.

Virt-resize ist der Teil der libguestfs-tools Paket. Um das Paket libguestfs-tools auf Debian, Ubuntu und seinen Derivaten zu installieren, führen Sie Folgendes aus:

$ sudo apt install libguestfs-tools

Um das libguestfs-tools-Paket auf Fedora, RHEL und seinen Klonen zu installieren, führen Sie Folgendes aus:

$ sudo dnf install libguestfs-tools

In Fedora 34, guestfs-tools Paket stellt ein Virt-Resize-Tool bereit. Wenn Sie also Fedora 34 verwenden, installieren Sie guestfs-tools Paket wie unten:

$ sudo dnf install guestfs-tools

Lassen Sie uns nun sehen, wie die Festplattengröße der virtuellen Maschine mit virt-resize erweitert wird Befehl.

Erweitern oder erweitern Sie die Festplattengröße der virtuellen KVM-Maschine in Linux

Für die Zwecke dieses Handbuchs verwende ich das Festplatten-Image der virtuellen CentOS 8-Maschine mit dem Namen centos8.qcow2 . Ich habe dieses Bild in meinem aktuellen Arbeitsverzeichnis gespeichert. Sie können virsh dumpxml verwenden Befehl, um das Disk-Image zu finden, dessen Größe Sie ändern möchten.

Beispiel:

$ virsh dumpxml centos8

Ersetzen Sie im obigen Befehl centos8 durch Ihren VM-Namen.

Nachdem Sie das Disk-Image gefunden haben, dessen Größe Sie ändern möchten, überprüfen Sie die Partitionsdetails in diesem Disk-Image. Um die Partitionsdetails und ihre Größe eines Disk-Images zu drucken, führen Sie Folgendes aus:

$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2 

Beispielausgabe:

 Name       Type       MBR  Size  Parent
 /dev/sda1  partition  83   1.0G  /dev/sda
 /dev/sda2  partition  8e   19G   /dev/sda
 /dev/sda   device     -    20G   -

Wie Sie in der obigen Ausgabe sehen können, hat mein Disk-Image nur zwei Partitionen, nämlich /dev/sda1 mit Größe 1 GB und /dev/sda2 mit 19gb. Die Gesamtgröße des Disk-Image beträgt 20 GB.

Jetzt werden wir,

  • erhöhen Sie die Gesamtgröße des Disk-Images von 20 GB auf 30 GB ,
  • erhöhen Sie die Größe der ersten Partition /dev/sda1 von 1,0 GB auf 1,5 GB ,
  • Erweitern Sie die zweite Partition /dev/sda2 um den verbleibenden Platz zu füllen.

Virt-resize kann die Größe von Disk-Images nicht direkt ändern. Außerdem sollte Virt-resize nicht auf virtuellen Live-Maschinen verwendet werden. Bevor Sie die Größe des Disk-Images ändern, schalten Sie die virtuelle Maschine aus und erstellen Sie eine Sicherungskopie des ursprünglichen Disk-Images.

$ mv centos8.qcow2 centos8.qcow2.backup

Der obige Befehl benennt das aktuelle Disk-Image mit dem Namen centos8.qcow2 um zu centos8.qcow2.backup .

Erstellen Sie ein neues Disk-Image mit demselben Namen und einer Größe von 30 GB mit dem Befehl:

$ qemu-img create -f qcow2 -o preallocation=metadata centos8.qcow2 30G

Beispielausgabe:

Formatting 'centos8.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=metadata compression_type=zlib size=32212254720 lazy_refcounts=off refcount_bits=16

Stellen Sie sicher, dass die neu erstellte Festplatte 30 GB groß ist:

$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2

Beispielausgabe:

Name      Type    MBR  Size  Parent
 /dev/sda  device  -    30G   -

Erweitern/erweitern Sie nun die Festplatten-Image-Größe der virtuellen KVM-Maschine mit dem Befehl:

$ virt-resize --resize /dev/sda1=+500M --expand /dev/sda2 centos8.qcow2.backup centos8.qcow2

Hier,

  • --resize /dev/sda1=+500M - erhöht die Größe von /dev/sda1 auf 500 MB partitionieren.
  • --expand /dev/sda2 - ändert die Größe von /dev/sda2 partitionieren, um den gesamten verbleibenden Speicherplatz zu füllen. In meinem Fall wird die Größe von 19,0 G auf 28,5 G geändert.
  • centos8.qcow2.backup - Es ist das Original-Image der Eingabe-Festplatte.
  • centos8.qcow2 - es ist das neu erstellte Ausgabe-Disk-Image.

Beispielausgabe des obigen Befehls ist:

[   0.0] Examining centos8.qcow2.backup
 
 Summary of changes:
 /dev/sda1: This partition will be resized from 1.0G to 1.5G.  The 
 filesystem ext4 on /dev/sda1 will be expanded using the ‘resize2fs’ 
 method.
 /dev/sda2: This partition will be resized from 19.0G to 28.5G.  The LVM PV 
 on /dev/sda2 will be expanded using the ‘pvresize’ method.
 
 [   4.2] Setting up initial partition table on centos8.qcow2
 [   5.6] Copying /dev/sda1
  100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
 [   9.7] Copying /dev/sda2
  100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
 [  45.1] Expanding /dev/sda1 using the ‘resize2fs’ method
 [  45.3] Expanding /dev/sda2 using the ‘pvresize’ method
 Resize operation completed with no errors.  Before deleting the old disk, 
 carefully check that the resized disk boots and works correctly.

Überprüfen Sie die Partitionen und ihre Größe mit virt-filesystems Befehl:

$ virt-filesystems --long -h --all -a centos8.qcow2

Beispielausgabe:

 Name          Type        VFS   Label  MBR  Size  Parent
 /dev/sda1     filesystem  ext4  -      -    1.4G  -
 /dev/cl/root  filesystem  xfs   -      -    17G   -
 /dev/cl/swap  filesystem  swap  -      -    2.0G  -
 /dev/cl/root  lv          -     -      -    17G   /dev/cl
 /dev/cl/swap  lv          -     -      -    2.0G  /dev/cl
 /dev/cl       vg          -     -      -    29G   /dev/sda2
 /dev/sda2     pv          -     -      -    29G   -
 /dev/sda1     partition   -     -      83   1.5G  /dev/sda
 /dev/sda2     partition   -     -      8e   29G   /dev/sda
 /dev/sda      device      -     -      -    30G   -

Wie Sie in der obigen Ausgabe sehen, wurde die Größe meines CentOS8-KVM-Festplatten-Images von 20 GB auf 30 GB geändert.

Starten Sie nun die virtuelle Maschine mit einem neuen Disk-Image. Sie können auch eine neue virtuelle Maschine mit dem Qcow2-Image erstellen, wie im folgenden Link beschrieben.

  • Erstellen Sie eine virtuelle KVM-Maschine mit dem Qcow2-Image unter Linux

Wenn es ohne Probleme funktioniert, überprüfen Sie gründlich, ob alle Ihre Daten vorhanden sind. Wenn alles in Ordnung ist, löschen Sie die alte Backup-Festplatte.

Wenn es Probleme mit der neuen Festplatte gibt, fahren Sie die virtuelle Maschine herunter und benennen Sie die Backup-Festplatte in ihren ursprünglichen Namen um. Wiederholen Sie die obigen Schritte sorgfältig noch einmal. Vergessen Sie nicht, die Daten und das Disk-Image zu sichern.


Linux
  1. So partitionieren Sie eine Festplatte unter Linux

  2. So entfernen Sie KVM-basierte virtuelle Maschinen unter Redhat Linux

  3. So überprüfen Sie, ob ein Linux-System eine physische oder virtuelle Maschine ist

  4. Linux KVM auf einer Virtualbox

  5. So erweitern Sie eine Linux-PV-Partition online nach dem Wachstum der virtuellen Festplatte

So exportieren und importieren Sie virtuelle KVM-Maschinen unter Linux

So klonen Sie eine virtuelle Maschine in VirtualBox

So erhöhen Sie die Festplattengröße Ihrer vorhandenen virtuellen Maschinen in VirtualBox

Verwendung von Tails Linux OS in VirtualBox Virtual Machine

So erstellen Sie eine Vorlage für eine virtuelle KVM-Maschine

So überprüfen Sie die Größe von Dateien und Verzeichnissen unter Linux