Wie kann der Festplattenspeicher eines KVM-Gasts erhöht werden?

Antworten:

116
  1. Stoppen Sie die VM
  2. Laufen Sie qemu-img resize vmdisk.img +10G, um das Bild um 10 GB zu vergrößern
  3. Starten Sie die VM, ändern Sie die Größe der Partitionen und der darin enthaltenen LVM-Struktur wie gewohnt
dyasny
quelle
Ah, du hast mich geschlagen, ich habe gerade die Größenänderungsoptionen auf qemu-img in der Manpage bemerkt. Das spart also ein paar Schritte. Nett!
Slm
1
Arbeitete für die Größenänderung meiner * .qcow2 img auf RHEL6.6. Vielen Dank!
Jacob Goulden
8
start the VM, resize the partitions and LVM structure within it normallyWie es geht? Bitte erkläre es.
Waki
1
Sie können sich nicht alles auf einer Platte geben lassen. Wenn Sie versucht haben, die Größe von Partitionen oder LVs zu ändern, öffnen Sie eine neue Frage und beschreiben Sie, was Sie versucht haben und was nicht
dyasny
4
Befolgen Sie zum Ändern der Größe von Partitionen und LVM die in diesem hervorragenden Artikel beschriebenen Schritte: sandilands.info/sgordon/…
skonsoft
32

Online Methode (mit qemu, libvirt und virtio-block)

Ob gut oder schlecht, die folgenden Befehle werden ausgeführt, auch wenn das virtuelle Ziellaufwerk aktiviert ist. Dies kann in Umgebungen nützlich sein, in denen der Datenträger nicht abgehängt werden kann (z. B. eine Root-Partition), die VM eingeschaltet bleiben muss und der Systembesitzer bereit ist, das Risiko einer Datenbeschädigung zu übernehmen . Um dieses Risiko auszuschließen, müssen Sie sich zuerst bei der VM anmelden und die Bereitstellung des Zieldatenträgers aufheben. Dies ist nicht immer möglich.

Führen Sie im KVM-Hypervisor die folgenden Schritte aus.

  1. Erhöhen Sie die Größe der Image-Datei selbst (geben Sie den zu erhöhenden Betrag an):

    qemu-img resize <my_vm>.img +10G
    
  2. Rufen Sie den Namen des virtio-Geräts über die libvirt-Shell ab ( drive-virtio-disk0in diesem Beispiel):

    virsh qemu-monitor-command <my_vm> info block --hmp
      drive-virtio-disk0: removable=0 io-status=ok file=/var/lib/libvirt/images/<my_vm>.img ro=0 drv=raw encrypted=0
      drive-ide0-1-0: removable=1 locked=0 tray-open=0 io-status=ok [not inserted]
    
  3. Signalisieren Sie dem virtio-Treiber, die neue Größe zu erkennen (geben Sie die gesamte neue Kapazität an):

    virsh qemu-monitor-command <my_vm> block_resize drive-virtio-disk0 20G --hmp
    

Melden Sie sich dann bei der VM an. Beim Ausführen dmesgsollte gemeldet werden, dass die virtuelle Festplatte eine Kapazitätsänderung festgestellt hat. An dieser Stelle können Sie die Größe Ihrer Partitionen und der LVM-Struktur nach Bedarf ändern.

billyw
quelle
4
Die Manpage für qemu-img (meine ist vom 08.05.2016) lautet: " Warnung: Verwenden Sie qemu-img niemals, um Images zu ändern, die von einer laufenden virtuellen Maschine oder einem anderen Prozess verwendet werden. Dies kann das Image zerstören. Beachten Sie, dass beim Abfragen eines Images, das von einem anderen Prozess geändert wird, möglicherweise ein inkonsistenter Status auftritt. " Daher bin ich mir nicht sicher, ob (der erste Schritt) sicher ist, wenn die virtuelle Maschine noch ausgeführt wird.
user44400
Funktioniert nicht mit centos7 + kvm
e-info128
1
Das hat bei mir perfekt funktioniert. Verwenden von Ceph- und Virtio-Block-Geräten. Wir speichern Anwendungsdaten / MySQL-Datenbank auf einer separaten Partition. Beenden Sie die Anwendungen, die auf diese Partition zugreifen. Hänge es ab. Ändern Sie die Größe. fsck. dann montieren Sie es erneut mit der neuen Größe. Kein Herunterfahren erforderlich.
Nelaaro
Wie diese Antwort, aber mit libvirt anstelle der Monitorkonsole: serverfault.com/a/952868/30946
Mircea Vutcovici
21

Diese Fragen zu Serverfehlern sind ähnlich, aber spezifischer. Ändern Sie die Größe der KVM-Online-Festplatte. & Centos Xen ändert die Größe von DomU-Partition und Volume-Gruppe . Der erste stellt die Frage, wie ein KVM-Gast erhöht werden kann, wenn er online ist, während der zweite mit LVM XEN-spezifisch ist. Ich frage, wie dies erreicht werden soll, während der KVM offline ist.

ANMERKUNG: Dieser Link war nützlich für METHODE 1 und zeigt, wie Sie den Speicherplatz eines KVM (ext3-basiert) erhöhen können .

Bei KVM-Gästen ist zu beachten, dass sich die verwendeten Partitionen auf die Methode auswirken können, mit der Sie den Festplattenspeicher erhöhen können.

Methode 1: Partitionen basieren auf ext2 / ext3 / ext4

Die Muttern dieser Methode sind wie folgt:

# 1. stop the VM
# 2. move the current image
mv mykvm.img mykvm.img.bak

# 3. create a new image
qemu-img create -f raw addon.raw 30G

# 4. concatenate the 2 images
cat mykvm.img.bak addon.raw >> mykvm.img

Starten Sie nun mit der größeren Datei mykvm.img gparted und erweitern Sie die vorhandene Partition in den neu hinzugefügten Speicherplatz. Dieser letzte Schritt erweitert im Wesentlichen die Betriebssystempartition, sodass der zusätzliche Speicherplatz genutzt werden kann.

Methode 2: Partitionen sind LVM-basiert

Hier sind die Schritte, die ich grob ausgeführt habe, um die Größe eines KVM-Gasts zu ändern, der LVM intern verwendet.

  1. Fahren Sie die VM herunter
  2. Füge der "Bilddatei" des Gastes mehr Platz hinzu (so etwas wie: cat old.img 10G_addon.raw >> new.img
  3. Starten Sie die VM (mit der neu erstellten new.img)
  4. Führen Sie fdisk in der VM aus und löschen Sie die LVM-Partition und erstellen Sie sie neu

    % fdisk /dev/vda
    ...
    Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *           1          13      104391   83  Linux
    /dev/vda2              14        3263    26105625   8e  Linux LVM
    
    Command (m for help): d
    Partition number (1-4): 2
    
    Command (m for help): p
    
    Disk /dev/vda: 48.3 GB, 48318382080 bytes
    255 heads, 63 sectors/track, 5874 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *           1          13      104391   83  Linux
    
    Command (m for help): n 
    Command action
      e   extended
      p   primary partition (1-4)
    p
    Partition number (1-4): 2
    First cylinder (14-5874, default 14): 14
    Last cylinder or +size or +sizeM or +sizeK (14-5874, default 5874): 
    Using default value 5874
    
    Command (m for help): p
    
    Disk /dev/vda: 48.3 GB, 48318382080 bytes
    255 heads, 63 sectors/track, 5874 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *           1          13      104391   83  Linux
    /dev/vda2              14        5874    47078482+  83  Linux
    
    Command (m for help): t
    Partition number (1-4): 2
    Hex code (type L to list codes): 8e
    Changed system type of partition 2 to 8e (Linux LVM)
    
    Command (m for help): p
    
    Disk /dev/vda: 48.3 GB, 48318382080 bytes
    255 heads, 63 sectors/track, 5874 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *           1          13      104391   83  Linux
    /dev/vda2              14        5874    47078482+  8e  Linux LVM
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device or 
    resource busy.
    The kernel still uses the old table.
    The new table will be used at the next reboot.
    Syncing disks.
    %
    
  5. Starten Sie die VM neu

  6. Ändern Sie die Größe des physischen LVM-Volumes

    % pvdisplay 
      --- Physical volume ---
      PV Name               /dev/vda2
      VG Name               VolGroup00
      PV Size               24.90 GB / not usable 21.59 MB
      Allocatable           yes (but full)
      PE Size (KByte)       32768
      Total PE              796
      Free PE               0
      ...
    
    % pvresize /dev/vda2
    
    % pvdisplay
      --- Physical volume ---
      PV Name               /dev/vda2
      VG Name               VolGroup00
      PV Size               44.90 GB / not usable 22.89 MB
      Allocatable           yes 
      PE Size (KByte)       32768
      Total PE              1436
      Free PE               640
      ...
    
  7. Ändern Sie die Größe des logischen LVM-Volumes

      % lvresize /dev/VolGroup00/LogVol00 -l +640
      Extending logical volume LogVol00 to 43.88 GB
      Logical volume LogVol00 successfully resized
    
  8. Erweitern Sie das Dateisystem

      % resize2fs /dev/VolGroup00/LogVol00 
      resize2fs 1.39 (29-May-2006)
      Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
      Performing an on-line resize of /dev/VolGroup00/LogVol00 to 11501568 (4k) blocks.
      The filesystem on /dev/VolGroup00/LogVol00 is now 11501568 blocks long.
    

Das Obige ist mein Beispiel, aber ich habe die Schritte auf dieser Website befolgt

slm
quelle
Methode 1 in diesem Beitrag scheint nicht so gut zu funktionieren - Virtual Machine Manager in Red Hat meldet die neue Größe anschließend nicht. Die von @dyasny vorgeschlagene Methode scheint zumindest in dieser Hinsicht besser zu funktionieren.
Iwan Aucamp
@IwanAucamp - interessant, ich virt-managerhabe die Methoden 1 und 2 ausgiebig verwendet, bevor ich unsere KVM-Server auf eine neuere Version von KVM (CentOS 5 -> CentOS 6) migriert habe. Ich benutze jetzt auch die qemu-img resizeMethode.
Slm
Für Methode 2 ist lvextend möglicherweise handlicher als Schritt 7 lvextend /dev/Volgroup/lvname /dev/vda2(alles in einer Zeile, wobei / dev / vda2 Ihr physisches Volume wäre). Ohne weitere Optionen wird die maximale Größe in dieser Datenträgergruppe verwendet.
Mike S
Methode 2, Schritt 4, funktioniert nicht, wenn eine Partitionstabelle logische Datenträger enthält. Nach der Neuerstellung des erweiterten Partitionstyps stimmt der erste verfügbare Sektor nicht mehr mit dem vor den Änderungen überein. Wenn zum Beispiel der erste Sektor Ihrer logischen Partition 1001472 war, wird er nach den Änderungen 1003518 sein (vorausgesetzt, 10-GB-Datenträger vor und 50-GB-Datenträger nach der Größenänderung). Weiß jemand, wie man, wenn überhaupt möglich, logische Datenträger im selben ersten Sektor wiederherstellt?
ILIV
1
Dies liegt daran, dass fdisk standardmäßig Ausrichtungsbeschränkungen (1 MB-Schritt) auf Partitionen anwendet. Akzeptieren Sie zum Umgehen den Standardwert 1003518, wechseln Sie in den Expertenmodus (x), wählen Sie b und setzen Sie den ersten Sektor auf 1001472. Weitere Informationen finden Sie unter unix.stackexchange.com/a/320447 .
ILIV
11

Ändern Sie die Größe und erweitern Sie interne Partitionen in einem Schritt

Ich hatte einen Ubuntu-Host mit einem qcow2-Gastdateibild und wollte die Größe der Festplatte ändern und die entsprechenden Partitionen in einem Schritt erweitern. Es erfordert, dass Sie die Dienstprogramme für das libvirt-Gastdateisystem einrichten, diese sind jedoch trotzdem nützlich.

Inspiration von hier: http://libguestfs.org/virt-resize.1.html

Der Schlüsselbefehl lautet hier: virt-resize

  • Dies ist ein libvirt-Dienstprogramm
  • Es kann eine Gastfestplatte UND die darin enthaltenen Partitionen in einem Schritt erweitern
  • Es kopiert die Festplatte und erweitert sie nicht direkt
    • Das ist gut, weil Sie das unberührte Original als Backup haben

Vorbereitung:

* Install libvirt file system utilities package 
    * sudo apt-get install libguestfs-tools

* Test to see if it works (it won't) -- you need to see "===== TEST FINISHED OK =====" at the bottom:
    * sudo libguestfs-test-tool

* If you don't see "===== TEST FINISHED OK =====" at the bottom then repair it:
    * sudo update-guestfs-appliance

* Run the test again and verify it works
    * sudo libguestfs-test-tool

Nun mache folgendes:

1) Fahren Sie den Gast herunter:

2) Überprüfen Sie die aktuelle Größe und zeigen Sie den Partitionsnamen an, den Sie mit dem Dienstprogramm libvirt erweitern möchten:

sudo virt-filesystems --long --parts --blkdevs -h -a name-of-guest-disk-file

3) Erstellen Sie die neue (40G) Ausgabediskette:

qcow: sudo qemu-img create -f qcow2 -o preallocation=metadata outdisk 40G
img:  sudo truncate -s 40G outdisk

4) Kopieren Sie die alte in die neue, während Sie die entsprechende Partition erweitern (vorausgesetzt, Ihre Festplattenpartition aus Schritt 2 war / dev / sda1):

sudo virt-resize --expand /dev/sda1 indisk outdisk

5) Benennen Sie die Indisk-Datei als Backup um, benennen Sie die Outdisk als Indisk um (oder ändern Sie das Gast-XML)

6) Starten Sie den Gast neu und testen Sie die neue Festplattendatei sorgfältig, bevor Sie die ursprüngliche Datei löschen

7) Gewinn!

hdave
quelle
Das macht in meinem Fall fast den Job. Leider fast. Wenn der Gast (ein CentOS 7-Server) neu gestartet wird, ist die erweiterte Festplatte nicht mehr startfähig.
Urhixidur
1
Es hat großartig funktioniert für mich. Das Weglassen -o preallocation=metadataerstellt eine Sparse-Datei. Mit dieser Option wird die gesamte Größe vorab zugewiesen.
Dennis Williamson
Hervorragend, diese Antwort hat mich überzeugt. Vielen Dank! Die "offizielle" Dokumentation für libguestfs ( libguestfs.org/virt-resize.1.html ) ist leider nicht gut geschrieben und endet ziemlich verwirrend.
mbello
1
Funktionierte gut für mich, denken Sie daran, dass Sie nicht wirklich verwenden müssen, -o preallocation=metadataund wenn Sie dies nicht tun, sollten Sie auch den truncateSchritt überspringen . virt-resizeDie Datei wird trotzdem entsprechend vergrößert.
Amoe
5

Wenn Sie LVM in der VM verwenden, ist dies am einfachsten, wenn Sie der VM ein neues virtuelles Laufwerk hinzufügen und die Volume-Gruppe und die logischen Volumes darauf erweitern.

Um zu überprüfen, ob Sie LVM-Run verwenden sudo pvs; sudo vgs; sudo lvs, erhalten Sie Folgendes :

PV         VG     Fmt  Attr PSize  PFree
/dev/vda1  vgWWW  lvm2 a-   30.00g    0

VG     #PV #LV #SN Attr   VSize  VFree
vgWWW    1   2   0 wz--n- 30.00g    0

LV   VG    Attr   LSize 
root vgWWW -wi-ao 28.80g
swap vgWWW -wi-ao  1.19g

Wenn das Betriebssystem der VM LVM verwendet. Im obigen Beispiel verfügt die VM über eine 30-GByte-virtuelle Festplatte, die mithilfe von LVM mit einer Datenträgergruppe namens vgWWW konfiguriert wurde und zwei logische Datenträger enthält, einen für den Austausch und einen für alles andere.

Wenn LV in der VM verwendet wird:

  1. Fahren Sie die VM herunter
  2. Erstellen Sie auf dem Host eine neue virtuelle Festplattendatei und fügen Sie sie der VM hinzu
  3. Starten Sie die VM neu und melden Sie sich an
  4. Markieren Sie das neue Laufwerk als physisches Volume für LVM mit sudo pvcreate /dev/vdb
  5. Erweitern Sie die Datenträgergruppe, um diesen neuen Plattenblock mit aufzunehmen sudo vgextend vgWWW /dev/vdb
  6. Erweitern Sie den logischen Datenträger mit den neuen Raum zu nehmen sudo lvextend --extents +100%FREE /dev/vgWWW/root(oder so ähnlich , sudo lvextend --size +8G /dev/vgWWW/rootwenn Sie nicht wollen , es den ganzen Weg zu wachsen, dieses Beispiel würde hinzufügen 8Gb auf das Volumen)
  7. Ändern Sie die Größe des Dateisystems mit resize2fs /dev/vgWWW/root

Hinweis: Die oben die vg übernimmt / lv Namen die gleiche wie mein Beispiel sind die unwahrscheinlich ist, ändern Sie gegebenenfalls auch , wenn die VM bereits ein virtuelles Laufwerk genannt hatte vdbder neue sein etwas anderes ( vdcund so weiter)

Hinweis: Funktioniert resize2fs nur mit den Dateisystemen ext2, ext3 und ext4. Wenn Sie etwas anderes verwenden, tritt ein Fehler auf und es wird nichts unternommen.

Hinweis: Wenn Sie die Größe eines Live-Dateisystems ändern, resize2fswerden Sie nicht fsckwie bei einem nicht gemounteten Dateisystem zur Ausführung aufgefordert . Möglicherweise möchten Sie eine schreibgeschützte Dateisystemprüfung durchführen, bevor Sie fortfahren.

David Spillett
quelle
Dies kann auch mit der GUI gemacht werden, die ganz nett ist. Centos.org/docs/5/html/Deployment_Guide-en-US/…
Nux
5

Es ist möglich, die Größe online zu ändern. libvirtd unterstützt dies nativ:

Suchen Sie den Blockgerätenamen. Sollte so etwas wie "vda" sein

$ virsh domblklist <libvirtd_vm_name>

Ändern Sie die Größe des virtuellen Geräts:

$ virsh blockresize --domain <libvirtd_vm_name> --path <block_device_name> --size <new_size>

Hier ist ein Beispiel, wo ich den vdaDatenträger für VM von 50GBbis erweitere .51GBundercloud

[root@gss-rhos-4 ~]# virsh domblklist undercloud
Target     Source
------------------------------------------------
vda        /home/images/undercloud.qcow2

Schauen Sie sich jetzt die Details der .qcow2-Image-Datei an:

[root@gss-rhos-4 ~]# qemu-img info /home/images/undercloud.qcow2
image: /home/images/undercloud.qcow2
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 38G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

Nun ändern wir die Größe des VDA-Block-Geräts:

[root@gss-rhos-4 ~]# virsh blockresize undercloud vda 51G
Block device 'vda' is resized

Und bestätigen Sie:

[root@gss-rhos-4 ~]# qemu-img info /home/images/undercloud.qcow2
image: /home/images/undercloud.qcow2
file format: qcow2
virtual size: 51G (54760833024 bytes)
disk size: 38G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
[root@gss-rhos-4 ~]#

Anschließend können Sie dieses Skript in der VM verwenden, um die Befehle zum Ändern der Größe der Blockgeräte und fs anzuzeigen: https://github.com/mircea-vutcovici/scripts/blob/master/vol_resize.sh .

Mircea Vutcovici
quelle
3

Es besteht die Möglichkeit, die Größe der VM-Festplatte zu erhöhen, ohne die VM neu zu starten, wenn Sie virtio drive und LVM verwenden.

  1. Verwenden Sie virt-manager oder virsh, um eine neue leere Festplatte zu definieren
  2. Der Kernel sollte eine neue / dev / vdb sehen
  3. (Optional) Erstellen Sie eine primäre Partition mit fdisk, um / dev / vdb1 abzurufen, und verwenden Sie dann kpartx -a / dev / vdb, um die Partitionstabelle erneut zu lesen

  4. Verwenden Sie vgextend vg_name / dev / vdb1 (oder / dev / vdb, wenn Sie keine Partition erstellt haben)

  5. Verwenden Sie lvextend -l + 100% FREE / dev / vg_name / lv_name
  6. Verwenden Sie resize2fs / dev / vg_name / lv_name, um Ihr Dateisystem zu erweitern

Sie sind fertig.

Bruno Mairlot
quelle
2
Ich werde hinzufügen, dass libguestfs.org/virt-resize.1.html auch helfen sollte.
FearlessFuture
3

Auf diese Weise können Sie die gewünschte Partition erweitern:

    # see what partitions you have? 
    virt-filesystems --long -h --all -a olddisk

    truncate -r olddisk newdisk
    truncate -s +5G newdisk

    # Note "/dev/sda2" is a partition inside the "olddisk" file.
    virt-resize --expand /dev/sda2 olddisk newdisk

Weitere Beispiele finden Sie hier .

Hojat Modaresi
quelle
2

Ein anderer Weg, es zu tun

truncate -s +2G vm1.img 

Gehen Sie in das Fenster Make a Disk Rescan und nachdem Sie Ihre Lvm-Größe ändern können.

mandela900
quelle
1

Wenn Sie LVM in Ihrer VM haben, ist dies einfach und schnell verrückt.

  1. VM (Gastmaschine) ausschalten.
  2. Fügen Sie auf Ihrem Host-Computer ein neues Speichergerät hinzu.
  3. Gast einschalten.
  4. Öffnen Sie System -> Administration -> Logical Volume Management (oder geben Sie das sudo system-config-lvmTerminal ein) *.

Ich fand die GUI recht intuitiv, folge aber den nächsten Schritten, wenn du Probleme hast.

  1. Öffnen Sie "Uninitialized Entities" und suchen Sie Ihr neues Laufwerk.
  2. Nach der Auswahl eines neuen Laufwerks sollte sich unter dem Bild eine Schaltfläche zum Initialisieren befinden. Drück es.
  3. Sie werden nach der Partitionierung gefragt - Sie brauchen sie nicht.
  4. Wenn Sie fertig sind, fügen Sie Ihr Laufwerk zu einer vorhandenen Volume-Gruppe hinzu.
  5. Schließlich müssen Sie Ihre logischen Volumes vergrößern - dies erfolgt in der logischen Ansicht der Gruppe, indem Sie die Eigenschaften Ihres Volumes bearbeiten.
  6. Speichern und fertig. VM muss nicht neu gestartet werden.

Hinweis! Zumindest unter CentOS 6 ist LVM GUI nicht standardmäßig installiert, aber Sie können es mit installieren yum install system-config-lvm.

Nux
quelle
1
  1. Fahren Sie die VM herunter
  2. Bildgröße anpassen:

    qemu-img resize vmdisk.img +16G
    

    erhöht die Bildgröße um 16 GB.

  3. Wenn Ihr Image über GPT (GUID-Partitionstabelle) verfügt, weicht die in GPT verwendete Laufwerksgröße von der neuen Größe ab. Sie müssen dies folgendermaßen beheben gdisk:

    MY_DRIVE=/dev/vda
    gdisk $MY_DRIVE <<EOF
    w
    Y
    Y
    EOF
    

    oder mit parted:

    parted $MY_DRIVE print Fix
    

    Aus irgendeinem Grund partedfunktioniert Fix nicht, wenn kein Tty angezeigt wird (zum Beispiel bei der Bereitstellung mit Vagrant), also verwende ich gdisk.

  4. Erhöhen Sie die Partitionsgröße, um den gesamten verfügbaren Speicherplatz auszufüllen:

    MY_PARTITION_GUID=$(
    gdisk $MY_DRIVE <<EOF | sed -n -e 's/^Partition unique GUID: //p'
    i
    EOF
    )
    
    MY_PARTITION_FIRST_SECTOR=$(
    gdisk $MY_DRIVE <<EOF | sed -n -e 's/^First sector: \([0-9]\+\).*/\1/p'
    i
    EOF
    )
    
    gdisk $MY_DRIVE <<EOF
    d
    n
    
    $MY_PARTITION_FIRST_SECTOR
    
    
    x
    a
    2
    
    c
    $MY_PARTITION_GUID
    w
    Y
    EOF
    

    Der x a 2 <Enter>Teil ist optional und wird benötigt, wenn Sie ein älteres BIOS verwenden. MY_PARTITION_GUID=...und c $MY_PARTITION_GUIDTeile sind ebenfalls optional und nur erforderlich, wenn Sie die Partitions-UUID in /etc/fstaboder an einem anderen Ort verwenden.

  5. Starten Sie die Partitionen neu oder lesen Sie sie erneut mit partx -u $MY_DRIVEoder partprobe.

  6. Extend Partition Beispiel für ext2, ext3oder ext4:

    MY_PARTITION="${MY_DRIVE}1"
    resize2fs $MY_PARTITION
    
mixel
quelle