it-swarm.com.de

Probleme beim Ändern der Größe des Root-Dateisystems mit Extended-Partition, Lvm und Snapshots auf VM-Datenträgern

Ich habe die Festplattengröße meines root Laufwerks zu niedrig eingestellt und muss sie erweitern. Standardinstallation von Ubuntu 16lts server.

Ich habe gesucht und die gefundenen Antworten/Lösungen beheben das Problem nicht. (Die Probleme scheinen identisch zu sein, aber die Schritte haben nicht funktioniert oder die Optionen waren auf meinem System nicht verfügbar.).

Ich starte eine gparted Live-CD (neuste/gerade heruntergeladene), aber ich habe es auch versucht, indem ich die Festplatte in ein anderes Ubuntu-System (eine andere VM) gesteckt habe. Wie Sie im folgenden gparted Screenshot sehen können, habe ich

  • eine Live-CD gebootet (gparted)
  • eine Festplatte (sda) ist übrigens eine VDI in Virtualbox. Ich habe die Festplatte bereits vergrößert (siehe "Nicht zugewiesener Speicherplatz")
  • von Interesse ist /dev/sda5 lvm Volume, das in /dev/sda2 extended enthalten ist

Ich habe es versucht:

  • Von der gparted Live-ISO kann ich mit der rechten Maustaste auf /dev/sda5 bis deactivate klicken. Auch der lvdisplay Ausgang unten ist NACH dieser Deaktivierung.
    • dadurch wird die Sperre jedoch nicht aufgehoben (es wird jedoch einige Zeit nachgedacht und die Festplatte erneut gescannt).
    • und Größenänderung bleibt bei /dev/sda2 ausgegraut
    • lvdisplay scheint sich nicht zu ändern
  • führen Sie in der Befehlszeile lvchange -an, aus.
    • scheint den verfügbaren Status von/dev/sda5 zu ändern
    • das Schließen/erneute Öffnen von gparted wird jedoch weiterhin als gesperrt angezeigt

Vielen Dank, ich danke Ihnen für Ihre Hilfe! gparted live-iso snapshot

mount | grep sd -> nichts (nicht gezeigt). Von der gparted live-iso habe ich auch fdisk -lfdisk -l output

und lvdisplaylvdisply output

und vgdisplayenter image description here

2
mike

Nach viel Bestürzung :) stellte ich fest, dass mein Problem zumindest teilweise mit Snapshots zusammenhängt (wie bereits erwähnt, ist dies alles in einer VM).

  • die Festplatte, die ich ändern möchte, stammt von einem Computer mit Snapshots
  • ich habe gemountet/versucht, die Größe der Basis/des Originals zu ändern .vdi, habe aber nichts mit den Schnappschüssen gemacht
  • der Inhalt davon war buchstäblich eine Neuinstallation, daher war mir anfangs nicht klar, dass das GUID, das ich gesehen habe, eigentlich die richtige Festplatte war, aber ein alter "Schnappschuss".

um dies zu beweisen, habe ich das VM aus der Snapshot-Benutzeroberfläche von virtualbox geklont, wodurch die Möglichkeit besteht, es auf den aktuellen Stand zu bringen Zustand.

Dies scheint zu funktionieren (einschließlich keiner beobachteten Datenbeschädigung), so dass ich wieder im Original-SVR-VM mit der verkleinerten Festplatte gebootet bin!

  1. herunterfahren und Klonen des VM von jedem Status/Snapshot aus - einschließlich nur " aktueller Status " (wodurch alle Snapshots abgeflacht werden)
    • Ich bin sicher, dass dies alles zusätzlich zu den Schnappschüssen möglich ist. Für mich war das akzeptabel und hat einige Variablen aus dem Mix genommen
    • ich habe eine dynamische Festplatte. Ich bin mir nicht sicher, ob es statische Unterschiede gibt (sollte NEIN sein, habe ich aber nicht getestet)
  2. ändere die Größe des Ergebnisses geklont & abgeflacht vdi (zB keine Schnappschüsse)
    • VboxManage.exe modifyhd <vdi> --resize 50000 # ~ 50 GB
  3. verbinden Sie diese neu dimensionierte Festplatte mit einem separaten Linux VM und starten Sie sie
  4. hängen Sie das vg aus und entfernen Sie es.
    • das Root-Dateisystem, dessen Größe ich ändern möchte, befindet sich bei /dev/mm-ubuntu16-svr-vg/root
      • nennen Sie diese /dev/MY_VG/root unten
    • mount | grep 'VG' dann Sudo umount <mountpoint>, wenn es gemountet wurde
    • Sudo lvchange -an /dev/MY_VG # entfernt das logische Volume
    • Sudo vgchange -an MY_VG # Volume-Gruppe entfernen
  5. ändere die Größe der Partition/volumn/und fs
    • Sudo gparted & # mit normaler Größe fortfahren
      • meins war ein erweitertes partition grow, dann ein grow auf dem lv
      • alle 'normalen' Anweisungen funktionieren hier, in meinen Fragen ist dies eine Größenänderung (Vergrößerung) /dev/sda2 gefolgt von einer Größenänderung (Vergrößerung) auf /dev/sda5
    • lvresize -l +100%FREE /dev/MY_VG/root
    • e2fsk -f /dev/MY_VG/root # resize2fs hat mich aufgefordert, diese Bereinigung durchzuführen
    • resize2fs /dev/MY_VG/root

Getan! Während Sie sich noch in der anderen VM befinden, mounten und überprüfen Sie die Kapazität:

  • Sudo vgchange -ay MY_VG && Sudo lvchange -ay /dev/MY_VG # zB rückwärts vom entfernen
  • Sudo mkdir <mountpoint> && Sudo mount /dev/MY_VG/root <mountpoint>
  • df -h # YAY zeigt insgesamt ~ 50GB!

Und dann herunterfahren und Booten in das Original (naja, das geklonte & abgeflachte ) VM, bootet es und hat den erwarteten freien Speicherplatz/50 GB Root-Laufwerk & Dateisystem.

hoffe das hilft jemandem!

1
mike