Unter Linux habe ich die Größe von MBR-Partitionen mithilfe von fdisk geändert, auch auf Live-Dateisystemen, und dann resize2fs / pvresize / ... (abhängig vom fs-Typ) ausgegeben, um den neuen Speicherplatz zuzuweisen.
In letzter Zeit habe ich Xen- und GPT-Partitionen verwendet, und ich habe festgestellt, dass die Partitionierung leider keine sofortige Größenänderung einer gemounteten Partition zulässt. Tatsächlich wird sich Folgendes beschweren:
Error: Partition XXX is being used. You must unmount it before you modify it with Parted.
Ich habe sowohl den resize
Befehl als auch die Kombination gerade rm
+ ausprobiert mkpart
, aber beide beschweren sich über die gemountete Partition.
Wie kann ich das machen?
linux
partitioning
gpt
cyberz
quelle
quelle
Antworten:
Der sicherste Weg, dies zu tun, besteht darin, mit einem Notfallmedium (einer Live-CD oder dergleichen) zu booten und GParted zu verwenden, wodurch die Größe sowohl der Partition als auch des darin enthaltenen Dateisystems geändert wird. Dies funktioniert jedoch nur, wenn die Partition derzeit nicht verwendet wird.
Wenn Sie sich jedoch keine Ausfallzeiten leisten können, können Sie versuchen,
gdisk
stattdessen zu verwendenparted
. Sie müssen die Partition löschen, deren Größe Sie ändern möchten, und an ihrer Stelle eine neue Partition mit demselben Startpunkt erstellen, ähnlich wie Sie es getan hättenfdisk
.gdisk
ist bereit, auf einer verwendeten Festplatte zu arbeiten, obwohl der Kernel möglicherweise keine Änderungen registriert. In diesem Fall müssen Sie möglicherweise den Kernel verwendenpartprobe
oder veranlassenkpartx
, die neue Partitionstabelle zu akzeptieren, oder den Computer sogar neu starten, wenn dies nicht funktioniert. (Dies sollte alles ziemlich ähnlich sein wie bei der Verwendungfdisk
.)quelle
gdisk
in ihren Repositories enthalten sind, und ich habe gehört, dassgdisk
dies in der nächsten Version von RHEL (und damit von CentOS) enthalten sein wird.gdisk
ist in EPEL verfügbar.partx
und musstepartprobe
aber schließlich neu starten.Dies funktioniert normalerweise nur mit neueren Linux-Distributionen. Werkzeuge benötigt:
Eine GPT-Partition speichert einen Sicherungsheader am Ende der Festplatte. Wenn Sie die Größe des zugrunde liegenden Geräts geändert haben, befindet sich der Sicherungsheader irgendwo in der Mitte. Der erste Schritt besteht darin, den Partitionsheader an das Ende der Festplatte zu verschieben.
Angenommen, die Festplatte ist / dev / sda und die Partition ist / dev / sda3 (muss auch die letzte Partition sein):
Löschen Sie dann die letzte Partition und erstellen Sie sie neu:
Normalerweise wird eine Meldung angezeigt, die angibt, dass der Kernel die Partitionstabelle nicht erneut laden kann. Sie müssen partprobe ausführen, damit die Partition mit der neuen Größe registriert wird:
Wenn dies nicht erfolgreich ist, müssen Sie die virtuelle Maschine neu starten. Danach können Sie Ihr Dateisystem mit dem entsprechenden Tool für ext4 usw.: Erweitern.
Achtung : Das Ausführen von sgdisk kann destruktiv sein. Stellen Sie sicher, dass Sie über die richtigen Sicherungsverfahren verfügen.
quelle
partprobe
Schritt. Ich dachte immer, dass ein Neustart erforderlich ist, wenn die Partitionstabelle mit gemounteten Partitionen geändert wird.Hier ist ein Beispiel, mit dem ein automatisiertes Tool die Größe einer Partition online in einem Durchgang ändert:
Hier ist eine Liste der Optionen für den Befehl sgdisk:
gdisk /dev/xvda; p
Ausgabe abrufen, um dieselbe UID wiederzuverwenden/ dev / xvda war die Festplatte, die wir neu partitioniert haben.
Es löscht und erstellt sofort eine neue Partition an ihrer Stelle.
PS. Einige Anmerkungen zum Typcode '0700'. Vom Menschen SGDISK (8)
Hier finden Sie die beste Erklärung für die Bedeutung von "0700" - http://www.rodsbooks.com/gdisk/walkthrough.html
In meinem Fall glaube ich, dass dies eine Linux ext4-Partition war, aber der Typcode der Partition bedeutet nicht den Dateisystemtyp, sodass '0700' eher wie ein Catchall-Typ für sgdisk aussieht. Zumindest in Fällen, die ich gesehen habe.
PPS. Möglicherweise müssen Sie den
partprobe
Kernel ausführen , um die Änderung der Partitionierung zu erfahren, ohne das System neu zu starten .quelle
Ich fasse hier nur einige Antworten und Kommentare zusammen:
parted
wird sich einfach weigern, eine gemountete Partition zu ändern.gdisk
erledigt den Job für Sie, befindet sich jedoch nicht im Standard-RHEL- oder CentOS-Repository. Es befindet sich jedoch im EPEL- Repository.Beachten Sie, dass das Ändern von Partitionen auf einer verwendeten Festplatte den Kernel möglicherweise daran hindert, die Änderungen zu registrieren. Wenn das passiert, Verwendung
partprobe
,partx
oder Neustart.quelle
Fragen Sie nach der Größe eines logischen Volumes? So würde ich es machen:
ODER (xfs):
quelle
-r
an übergebenlvextend
, dann ruft esresize2fs
für Sie auf.fdisk
ist normalerweise noch verfügbar und kann dies tun, wenn die Partition die letzte Partition ist und sich der Start der Partition nicht bewegt.Dies ist jedoch eine gefährliche Operation, die mit großer Sorgfalt durchgeführt werden sollte. Mach ein Backup!
quelle