Ich habe eine virtuelle Maschine, deren Festplatten-Image kürzlich von 20 GB auf 50 GB erhöht wurde, und die fdisk -l
überprüft, ob die VM diese neue Größe erkennen kann. Jetzt muss ich die Größe meiner Root-LVM-Partition ändern, um die zusätzlichen 30 GB zu füllen.
Ich habe mehrere Artikel über die Größenänderung von LVM gefunden, aber die wenigen, die sich mit der Größenänderung der Root-Partition befassen, behaupten, dass Sie von einer LiveCD booten müssen. Gibt es eine Möglichkeit, dies zu tun, ohne den Server herunterzufahren? Der Server ist kritisch, daher möchte ich Ausfallzeiten minimieren.
Edit: Ausgabe von fdisk -l
:
[root@fedora-host ~]# sudo fdisk -l
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00097c90
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 83886079 41430016 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 36.1 GB, 36104568832 bytes
255 heads, 63 sectors/track, 4389 cylinders, total 70516736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root doesn't contain a valid partition table
Disk /dev/mapper/VolGroup-lv_swap: 6308 MB, 6308233216 bytes
255 heads, 63 sectors/track, 766 cylinders, total 12320768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap doesn't contain a valid partition table
Bearbeiten: Wie kann ich die Größe der physischen Partition ändern? fdisk kann den freien Speicherplatz anzeigen, aber ich weiß nicht, wie ich die Größe der primären LVM-Partition ändern soll, um sie zu verwenden. Ich habe versucht, von einer Live-CD zu booten und den parted'd- resize
Befehl zu verwenden, aber alles, was mir angezeigt wird , ist der Fehler "Dateisystem kann nicht erkannt werden". Ich habe diese Anleitung gefunden , die besagt, dass ich die Partition löschen und eine neue mit der richtigen Größe erstellen muss, aber das klingt sehr gefährlich.
Final Edit: Parteds resize
Befehl ist seltsamerweise nicht in der Lage, die Größe von LVM-Partitionen zu ändern. Stelle dir das vor. Stattdessen habe ich einfach die alte Partition gelöscht und eine neue Partition mit dem neuen Bereich erstellt, wie im obigen Link beschrieben, und dabei die Größe der LVM-Partition korrekt geändert. Ich habe dann die folgenden Anweisungen befolgt, um die Größe der Volumes und Dateisysteme in der LVM-Partition zu ändern .
Antworten:
Sie können ein logisches Volume online erweitern. Sie müssten es aushängen, um es zu verkleinern (was einen LiveCD / Rescue-Modus erfordert.)
pvresize /dev/sda2
(Angenommen, Ihre LVM-Partition istsda2
. Ersetzen Sie sie nach Bedarf.)lvextend /dev/mapper/root -l+100%FREE
(oder wie auch immer Ihr logisches Root-Volume heißt.)resize2fs /dev/mapper/root
(vorausgesetzt ext2 / 3/4)quelle
lvextend -L [size][unit] /dev/group/volume
, wenn auch nur, weil ich ein Volume durch Angabe von-L +10G
Now I need to resize my root LVM partition to fill the extra 30GB.
(Damit wird das logische Volumen um den verfügbaren freien Speicherplatz vergrößert.)-r
Option hinzufügenlvextend
, wird es Haken,fsadm
um die Größe des FS zu ändern. Dies würde den 3. Schritt überflüssig machen.pvresize /dev/sda2
Befehl führt nichts aus, bis die Größe der Partition / dev / sda2 mit parted oder fdisk geändert wurde. Ich musste meine Größe mit fdisk ändern, da dies auf meinem System nicht angezeigt würde oder keinen Befehl zum Ändern der Größe hat. Bei der Größenänderung von Fdisk wird die Partition gelöscht und neu erstellt.Hat sich Ihr System wirklich von 20 auf 50 GB geändert? Das scheint wirklich seltsam, da Ihr sda2-Gerät ~ 40 GB hat, lv_root 36 GB anzeigt und Swap 6 GB anzeigt.
Die Ausgabe von
fdisk -l
zeigt die Gesamtsektoren/dev/sda
heißt104857600
. Der letzte von verwendete Sektor/dev/sda2
ist83886079
. Dies sagt mir, dass Sie die Partitionsgröße nicht angepasst haben, um den gesamten verfügbaren Speicherplatz auf dem Laufwerk zu nutzen. Der Befehl pvresize ändert die Partitionstabelle nicht. Sie müssen zuerst die Partitionstabelle ändern.quelle
Installieren Sie gparted. Führen Sie das Programm als root aus (verwenden Sie ssh -X oder x2go, falls remote). Wählen Sie die Partition aus. Es sollte nach dem Ende (rechts) freier Speicherplatz angezeigt werden. Wenn dies nicht der Fall ist, müssen Sie Ihren virtuellen Computer neu starten, damit die neue Größe des virtuellen Geräts angezeigt wird. Das sollte minimale Ausfallzeiten mit systemd sein.
Klicken Sie mit der rechten Maustaste und wählen Sie Größe ändern. Ziehen Sie das Ende an das Ende der Festplatte. Stellen Sie sicher, dass Sie den Anfang nicht berühren. gparted ist in der Lage, eine Partition während der Größenänderung zu verschieben, aber das wird natürlich ein laufendes System zerstören. Aber das Ende zu verschieben ist in Ordnung. Überprüfen Sie den ausstehenden Vorgang, den gparted ausführt, um sicherzustellen, dass Sie die Partition erweitern und nicht verschieben. Klicken Sie auf Übernehmen. gparted ändert die Partition auf der Festplatte und gibt dann den Kernel ioctl aus, um die Partitionstabelle erneut zu lesen, wobei auch die Größe des Live-Block-Geräts geändert wird. Da es sich dann um eine LVM-PV handelt, wird pvresize für Sie ausgeführt. Beenden Sie gparted und vgs zeigt jetzt Ihren neuen Speicherplatz an.
Ich habe Gerüchte gehört, dass sich das alles ohne den Aufwand einer grafischen Benutzeroberfläche trennen lässt, aber ich habe den Voodoo noch nie herausgefunden. Parted muss eine der schlimmsten CLI-Schnittstellen sein, die ich je versucht habe.
Verwenden Sie fdisk nicht, Sie müssen die Partition löschen und neu zuordnen, um die Größe zu ändern. Standardmäßig wird die LVM2-Signatur beim Schreiben gelöscht. Ich glaube, ich habe eine "erweiterte" Option gesehen, um dieses destruktive Verhalten auszuschalten, aber ich habe es nie getestet.
Sie können auch cfdisk (curses fdisk) ausprobieren. Möglicherweise hat es eine verwendbare Partitionsgröße. Es ist einfach genug, pvresize manuell auszuführen, und es gibt einen Befehl, der den Kernel anweist, die Partitionstabelle erneut zu lesen. Aber ich muss testen, um sicherzustellen, dass die LVM-Signatur nicht wie bei fdisk gelöscht wird.
quelle
Befindet sich das physische LVM-Volume auf einer Partition, können Sie die Größe nicht ändern, ohne einen Neustart durchzuführen.
Sie können die Partitionstabelle auf dem Laufwerk bearbeiten, Linux wird sie jedoch erst nach einem Neustart verwenden.
Wenn Sie XFS verwenden, wechseln Sie
resize2fs
zuxfs_growfs
.Sie können die PVs zeigen Sie in Volume - Gruppe verwenden und LVs mit
pvs
undlvs
.PV auf Raw Disk
PV auf einer Partition
Zuerst müssen Sie die Größe der Partition ändern
parted
,fdisk
oder ein ähnliches Tool verwenden. Denken Sie daran, dass diese Tools nur die Beschreibung der Partitionen bearbeiten und keine Daten verschieben. Mit anderen Worten, Sie können problemlos nur die letzte Partition auf der Festplatte erweitern. Starten Sie dann Ihren Computer neu und Sie sollten in der Lage sein, LVM darüber zu informieren, dass zusätzlicher Speicherplatz verfügbar ist:quelle
sudo pvresize /dev/sda2
Größe von 1 physischen Volume (s) geändert, abersudo lvextend /dev/mapper/VolGroup-lv_root -L +10G
der Fehler " Nicht genügend freier Speicherplatz: 320 Extents erforderlich, aber nur 0 verfügbar" wird angezeigt .sudo fdisk -l
Berichte, dass ich 54G zur Verfügung habe, währendsudo pvdisplay
Berichte nur 40G in Gebrauch sind. Warum versagt lvextend?resize
Befehl die Größe der primären Partition zu erhöhen, habe aber den Fehler "Dateisystem konnte nicht erkannt werden" erhalten. Wie kann die Größe der Partition mit parted oder fdisk geändert werden?Ich würde in Betracht ziehen, ssm (System-Storage-Manager) zu überprüfen, ob es in Ihrer Distribution verfügbar ist.
Weitere Informationen finden Sie hier: /unix//a/293173
ssm scheint es einfacher zu machen, die Größe logischer Volumes zu ändern, ohne alles selbst tun zu müssen.
Ich konnte meine Home-Partition damit erweitern, nachdem ich mein Betriebssystem neu gestartet und mich zuerst als root angemeldet hatte. (Musste insgesamt zweimal neu starten, aber es hat am Ende funktioniert und ich habe jetzt zusätzliche 50G in meiner / home-Parition.)
quelle
Nach dem Kombinieren von 25 Anleitungen habe ich endlich diese Lösung. Es erfordert keine Live-CD, es ist komplett on the fly.
Schritt 1. Formatieren Sie die Partition mit parted (keine GUI). In diesem Beispiel wurde die maximale Größe der Festplatte von 8 GB auf 32 GB in der virtuellen Box erhöht.
Schritt 2. Erstellen Sie ein physisches Volume basierend auf der neuen Partition
Schritt 3. Fügen Sie das physische Volume der Volume-Gruppe hinzu. In einer einfachen Fedora 28-Serverinstallation heißt die Datenträgergruppe Fedora.
Schritt 4. Fügen Sie den verfügbaren Speicherplatz in der Datenträgergruppe zum logischen Datenträger hinzu. In einer einfachen Fedora 28-Serverinstallation heißt das logische Volume root.
Schritt 5. Weisen Sie das Dateisystem auf dem logischen Volume an, den zusätzlichen Speicherplatz zu verwenden. In Fedora ist das Dateisystem xfs.
Beachtung! xfs_growfs verwendet den Einhängepunkt, um das Dateisystem zu identifizieren, nicht den Namen des Dateisystems, das Sie in df output finden !!!!!!!
Der Befehl 'xfs_growfs / dev / mapper / fedora-root' teilt Ihnen mit, dass / dev / mapper / fedora-root kein eingehängtes XFS-Dateisystem ist. Wenn Sie ein anderes Dateisystem verwenden, lesen Sie https://www.tldp.org/HOWTO/LVM-HOWTO/extendlv.html
Schritt 6. Viel Spaß
quelle
Versuchen Sie es mit testdisk
sudo dnf installiere testdisk
sudo testdisk
Legen Sie einfach eine Protokolldatei fest. Anschließend werden die Partitionen aufgelistet. - Wählen Sie das Medium / die Partition aus. - Geben Sie Folgendes ein und analysieren Sie sie. - Schnellsuche - Auswählen und Schreiben
quelle