![So ändern/vergrößern/erweitern Sie eine Nicht-LVM-Ext4-Partition](https://rvso.com/image/1108690/So%20%C3%A4ndern%2Fvergr%C3%B6%C3%9Fern%2Ferweitern%20Sie%20eine%20Nicht-LVM-Ext4-Partition.png)
Ich habe bereits die Foren durchsucht, konnte aber keine gute passende Antwort finden:
Ich habe einen Ubuntu Server 10.04 als KVM-Host und ein Gastsystem, auf dem auch 10.04 läuft. Das Hostsystem verwendet LVM und es gibt drei logische Volumes, die dem Gast als virtuelle Blockgeräte zur Verfügung gestellt werden – eines für /, eines für /home und eines für Swap. Das Gastsystem wurde ohne LVM partitioniert.
Ich habe das logische Volume im Hostsystem bereits vergrößert - der Gast sieht die größere virtuelle Festplatte erfolgreich. Diese virtuelle Festplatte enthält jedoch eine "gute alte" Partition, die immer noch die alte kleine Größe hat.
Die Ausgabe von fdisk -l ist
me@produktion:/$ LC_ALL=en_US sudo fdisk -l
Disk /dev/vda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 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: 0x000c8ce7
Device Boot Start End Blocks Id System
/dev/vda1 * 1 3917 31455232 83 Linux
Disk /dev/vdb: 2147 MB, 2147483648 bytes
244 heads, 47 sectors/track, 365 cylinders
Units = cylinders of 11468 * 512 = 5871616 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000f2bf7
Device Boot Start End Blocks Id System
/dev/vdb1 1 366 2095104 82 Linux swap / Solaris
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(0, 32, 33) logical=(0, 43, 28)
Partition 1 has different physical/logical endings:
phys=(260, 243, 47) logical=(365, 136, 44)
Disk /dev/vdc: 225.5 GB, 225485783040 bytes
255 heads, 63 sectors/track, 27413 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: 0x00027f25
Device Boot Start End Blocks Id System
/dev/vdc1 1 9138 73398272 83 Linux
Die Ausgabe von parted print all ist
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 32.2GB 32.2GB primary ext4 boot
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 2146MB 2145MB primary linux-swap(v1)
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 75.2GB 75.2GB primary ext4
Ich möchte einfach die Partition /dev/vdc1 vergrößern oder ihre Größe ändern, sodass sie den gesamten Speicherplatz des virtuellen Blockgeräts /dev/vdc nutzt. Das Problem ist, dass es folgende Fehlermeldung gibt, wenn ich das mit parted versuche:
(parted) select /dev/vdc
Using /dev/vdc
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 75.2GB 75.2GB primary ext4
(parted) resize 1
WARNING: you are attempting to use parted to operate on (resize) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Start? [1049kB]?
End? [75.2GB]? 224GB
Error: File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs
or debugfs to remove features.
Was kann ich also tun? Dies ist ein Headless-Produktionssystem. Wie kann ich diese Partition sicher vergrößern? Ich KANN sie jedoch aushängen – das ist also nicht das Problem.
Bearbeiten: Cfdisk zeigte einen kleinen freien, unpartitionierten Speicherplatz an, dann die Partition (gekennzeichnet als „Boot“ und Linux/ext3) und dann den Rest des unpartitionierten Speicherplatzes. Nachdem ich die Partition gelöscht und mit cfdisk neu erstellt hatte, zeigte cfdisk einen großen partitionierten Bereich (was für mich in Ordnung wäre) und als Dateisystemtyp nur „Linux“ an.
Resize2fs gibt diesen Fehler zurück
resize2fs 1.41.11 (14-Mar-2010) resize2fs: Bad magic number in super-block while trying to open /dev/vdc1 Couldn't find valid filesystem superblock
Antwort1
DasSeite gibt an, dass dies folgendermaßen geht: Unmounten, löschen, die Partition mit der gewünschten Größe neu erstellen und resize2fs verwenden, um die Partition zu erweitern. Die Manpage von resize2fs stimmt damit überein.
Ich weiß, dass „Partition löschen“ beängstigend klingt, aber es ändert die Daten überhaupt nicht. Es ändert nur das, was auf den Container verweist. Solange Sie das NICHT TUN, mkfs.ext4
sollte alles in Ordnung sein.
Der Startpunkt Ihrer Partition muss derselbe sein wie zuvor, sonst kann das Betriebssystem nicht interpretieren, was dahinter steckt. Der Endpunkt kann dann weiter entfernt sein, um eine größere Partition zu erstellen.
Ich denke, der Fehler im Kommentar hängt mit dem Verschieben des Startpunkts zusammen. Sie müssen es genau am selben Punkt starten, an dem es gestartet wurde. Der Endpunkt kann verschoben werden.
Gutschrift anpsusifür den Vorschlag von fdisk statt cfdisk und die Bestätigung des Startpunktproblems.
Antwort2
Ein Beispiel:
/dev/sdb2 ist die /boot-Partition. Sie ist mit 100 MB recht klein. Um diese ext4-Partition auf einem laufenden System zu vergrößern, führen Sie Folgendes aus (als Root oder mit sudo):
umount /boot
getrennt /dev/sdb
(geteilt) drucken
Modell: ATA Patriot Torqx 2 (scsi)
Festplatte /dev/sdb: 32,0 GB
Sektorgröße (logisch/physisch): 512 B/512 B
Partitionstabelle: msdosNummer Start Ende Größe Typ Dateisystem Flags
1 1049kB 12,9GB 12,9GB primär Typ=83
2 12,9GB 13,0GB 107MB primär ext4 Typ=83(getrennt) rm 2
(getrennt) mkpart
Partitionstyp? Primär/Erweitert? Primär
Dateisystemtyp? [ext2]?
Anfang? 12,9 GB
Ende? 13,4 GB(getrennt) aufhören
resize2fs /dev/sdb2
resize2fs 1.42.6 (21. September 2012)
Das Dateisystem unter /dev/sdb2 ist auf /boot gemountet; Online-Größenänderung erforderlich:
old_desc_blocks = 1, new_desc_blocks = 2.
Das Dateisystem unter /dev/sdb2 ist jetzt 498688 Blöcke lang.
Erledigt!
Alle Daten bleiben an Ort und Stelle. /boot ist einsatzbereit und 472 MB groß (parted ist mit den Größen nicht so sicher, lesen Sie das Handbuch, um zu erfahren, warum)
Alle Daten wurden vorher gesichert, aber nur als Vorsichtsmaßnahme. Ich empfehle, das auch zu tun.
Verwenden Sie den folgenden Befehl, um den Prozess zu finden, der das Aushängen von /boot stoppt, wenn es fehlschlägt:
lsof /boot
Viel Glück!
Antwort3
Wenn Sie versuchen, eine Partition zu löschen und neu zu erstellen, und Ihre Partition unter 2048 gestartet ist, könnten Sie in ähnliche Schwierigkeiten geraten wie bei mir resize2fs
.
Couldn't find valid filesystem superblock.
Ausfdisk Version 2.17.2fdisk IIUC zwingt Sie, bei 2048 zu beginnen, um sicherzustellen, dass Ihre Festplatte „richtig ausgerichtet“ ist. Wenn Ihre ursprüngliche Partition also vor 2048 begann, wird es holprig, wenn Sie versuchen, die Partition neu zu erstellen.
Der beste Ansatz istrsync beim Klonen einer Festplatte.