Ändern Sie die Größe der Festplattenpartition auf dem Remote-VM-Server

7

Ich verwende Ubuntu Server 10.04 auf einem Remote-Server als VM. Ich habe nur Zugriff auf die VM.

Der VM wird ein Speicherplatz von 20 GB zugewiesen. Derzeit ist das Laufwerk jedoch nur für die Verwendung von ca. 4,7 GB partitioniert.

Ich weiß, dass Sie LiveCD verwenden können, um ein Laufwerk mit gparted neu zu partitionieren. Wie würden Sie das auf einer Remote-VM tun? (Da die Partition auch das Startvolume ist)

# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074164

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         618     4959232   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             618         653      280577    5  Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5             618         653      280576   82  Linux swap / Solaris
Autobahn des Lebens
quelle

Antworten:

3

Das würde ich versuchen:

  1. Viele VPS-Hosting-Anbieter verfügen über Tools zum Bearbeiten von Partitionen in ihren Control Panels. Der Zugriff auf das Bedienfeld ist die sicherste Option.

  2. Ändern Sie nicht die Größe der Partition, sondern erstellen Sie eine zweite Partition und verschieben Sie Ihre "funktionierenden" Daten auf diese Partition. Ich bin. Mounten /homeoder wo immer sich Ihre Daten auf einer separaten Partition befinden

  3. Wenn Sie sich immer noch abenteuerlustig fühlen, versuchen Sie, die Startpartition schreibgeschützt erneut bereitzustellen, und prüfen Sie, ob die Größe geändert werden kann, während sie schreibgeschützt bereitgestellt wird

  4. Etwas wirklich Kniffliges wie Swap entfernen - Erstellen Sie eine Kopie Ihrer Root-Partition ganz am Ende des Laufwerks - Konfigurieren Sie Grub so, dass es von der neuen Partition startet - Neustart - Ändern Sie die Größe Ihrer ursprünglichen Partition - Kopieren Sie die Daten zurück - Ändern Sie Grub erneut - Neustart - Entfernen Die temporäre Root-Partition - Erstellen Sie erneut eine Swap-Partition.

Ich würde die beiden zweiten Optionen als sehr gefährlich betrachten, da Ihr System nicht startet, wenn etwas schief geht, sodass Sie keinen Zugriff auf das System mehr haben.

Sergey
quelle
Obwohl beide Antworten ausgezeichnet sind. Ich wähle dies als akzeptierte Lösung, da wir im Wesentlichen die Nummer 1 sind. (IT behoben)
Highway of Life
11

Wenn Sie die Systempartition vergrößern möchten

Deaktivieren Sie zunächst swap ( swapoff /dev/sda5), da die Swap-Partition vorübergehend entfernt wird.

Verwenden Sie GParted oder cfdiskoder, fdiskum:

  1. Entfernen Sie die logische Partition /dev/sda5und die erweiterte Partition /dev/sda2.
  2. Vergrößern Sie den Bereich /dev/sda1, um die gesamte Festplatte abzüglich der für die Swap-Partition zugewiesenen Daten zu überspannen.
  3. Erstellen Sie eine Partition für den Swap neu (machen Sie sie der Einfachheit halber zu einer primären Partition).

Schalten Sie den Swap nicht wieder ein. Kommentieren Sie die Swap-Zeile aus /etc/fstabund starten Sie neu . (Wenn Sie nicht neu starten, verwendet der Kernel weiterhin veraltete Daten zur Partitionierung, was katastrophale Folgen haben kann.)

Bearbeiten Sie /etc/fstabnach dem Neustart, um den Namen des Auslagerungsgeräts zu ändern, und kommentieren Sie es aus. Formatieren Sie den Swap-Bereich mit mkswapund aktivieren Sie ihn mit swapon -a.

Erweitern Sie schließlich das vorhandene Dateisystem, um alle /dev/sda1mit zu belegen resize2fs /dev/sda1.

Wenn Sie eine andere Partition erstellen möchten

Verwenden Sie GParted, um die erweiterte Partition ( /dev/sda2) zu vergrößern und eine neue logische Partition darauf /dev/sda6zu erstellen . Teilen Sie GParted mit, dass Sie ein Linux-Dateisystem verwenden möchten /dev/sda6. Erstellen Sie ein Dateisystem mit mke2fs -t ext4 /dev/sda6.

Gilles 'SO - hör auf böse zu sein'
quelle
aber aber doch ... Sie können die Größe einer aktuell montierten Partition nicht ändern - das hätte wirklich katastrophale Folgen. Das ist der springende Punkt - wenn Sie von einer Partition gebootet werden, können Sie die Größe nicht ändern.
Sergey
Obwohl unsere IT-Abteilung in der Lage war, das Problem zu lösen (sie haben das Control Panel und ich glaube, die Partition wurde ausgehängt und in der Größe geändert), ist Ihre Antwort, obwohl sie gefährlich ist, eine gute Option, wenn ich sie selbst ausführen müsste. +1
Highway of Life
2
@Sergey Sie können eine gemountete Partition vergrößern, und das ist in der Tat ziemlich sicher. Sie können eine bereitgestellte Partition sogar verkleinern oder verschieben, da der Kernel die aktualisierten Informationen nicht liest. Was katastrophal wäre, wäre, danach irgendetwas auf der Partition zu tun, wie ein Dateisystem darauf zu erstellen.
Gilles 'SO - hör auf böse zu sein'
3
Ich habe ernsthafte Zweifel ... Haben Sie Links, um dies zu unterstützen? Beachten Sie, dass es sich um die Partition handelt, von der wir gerade gestartet haben, dh auf der bereits ein Dateisystem installiert ist. Wie stellen Sie sicher, dass keine Prozesse die Partition verwenden, während Sie die Größe ändern? Das würde nur in einem Single-Task-Betriebssystem wie MS-DOS funktionieren
Sergey
2
@ Sergey Es ist äußerst wichtig, dass kein Prozess die Partition verwendet. Aber das ist in Ordnung: Im normalen Betrieb verwendet kein Prozess die Partition. Es ist in Ordnung, wenn ein Prozess weiterhin auf ein bereits bereitgestelltes Dateisystem zugreift, da der Dateisystemtreiber sein Wissen über die Partition nie aktualisiert und weiterhin die alten Grenzen aus der Bereitstellungszeit verwendet. Quelle: meine Erfahrung und das Durchsuchen der Kernelquellen.
Gilles 'SO - hör auf böse zu sein'