Antworten:
Sie können GParted nicht verwenden, da sich das Dateisystem in LVM befindet und GParted dies nicht unterstützt.
Nehmen Sie zunächst eine Sicherung der VM vor. Führen Sie dann Folgendes als "root" über eine Befehlszeile aus.
Es sieht so aus, als hätten Sie bereits einen Neustart durchgeführt, aber stellen Sie sicher, dass der Kernel die größere Festplatte erkennt
echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
Ändern Sie die Größe der zweiten Partition mit fdisk
fdisk /dev/sda
p # print current
d # delete
- 2
n # create
- p # primary partition
2 # partition number
- default first/last cylinders
t # change partition id
- 2
- 8e (hex code)
p # print the current again to verify it's expanded
w # write changes
Starten Sie die virtuelle Maschine neu
shutdown -r now
Ändern Sie nach dem Sichern die Größe des physischen LVM-Volumes
pvresize /dev/sda2
Ändern Sie nun die Größe des logischen LVM-Volumes. ( HINWEIS: Ich kann den Namen Ihres logischen Volumes anhand der Screenshots nicht entschlüsseln und gehe daher davon aus LogVol00
. Sie können dies ermitteln, indem Sie ausführen lvdisplay
.)
lvresize -l +100%FREE /dev/VolGroup00/LogVol00
Zuletzt können Sie die Größe des Dateisystems ändern
resize2fs -p /dev/VolGroup00/LogVol00
Stellen Sie sicher, dass das Dateisystem größer ist
df -h
Erledigt
dmesg
, um zu bestätigen, dass die Festplatte als die neue Größe
Die folgenden Schritte haben meine Partition auf einem VMWare EXSi 5.5 mit Centos 6 EXT4 VPS von 12G auf 26GB erweitert.
1) Identifizieren Sie den Gerätenamen, der standardmäßig / dev / sda lautet, und bestätigen Sie die neue Größe, indem Sie den Befehl ausführen:
# fdisk -l
2) Liste der Partitionen für das Gerät / dev / sda abrufen:
# ls -al /dev/sda*
brw-rw---- 1 root disk 8, 0 Dec 29 15:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 29 15:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 29 15:32 /dev/sda2
3) Erstellen Sie eine neue primäre Partition
# fdisk /dev/sda
Then type:
n (enter) [create new partition]
p (enter) [primary partition]
3 (enter) [next available number from listed /dev/sda partitions in 2)
(enter) [start cylinder]
(enter to use all available physical space) or specify size in +cylinders, +size{K,M,G}
t (enter) [change partition type]
3 (enter) [selecting /dev/sda3 partition]
8e (enter) [this sets partition type to Linux LVM or type L then enter to see list of types]
w (enter)
The partition table has been altered!
4) Starten Sie Centos 6.X neu und melden Sie sich mit Root-Rechten erneut an
# reboot
5) Überprüfen Sie, ob die neue Partition bereit ist und geben Sie '8e' ein:
# fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2089 16264192 8e Linux LVM
/dev/sda3 2089 3916 14678054 8e Linux LVM
6) Erstellen Sie ein physisches Volume:
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
7) Finden Sie den Namen der Volumengruppe heraus:
# vgdisplay
--- Volume group ---
VG Name vg_app1
...
8) Erweitern Sie das physische Volumen:
# vgextend vg_app1 /dev/sda3
Volume group "vg_app1" successfully extended
9) Erweitern Sie die vorhandene Volume-Gruppe auf das neue physische Volume (+ 100% FREE kann auf die gewünschte Größe geändert werden). Da wir die Root-Partition erweitern, zeigt dies auf lv_root in der Volume-Gruppe vg_app1.
# lvextend -l +100%FREE /dev/vg_app1/lv_root
Size of logical volume vg_app1/lv_root changed from 11.63 GiB (2978 extents) to 25.63 GiB (6561 extents).
Logical volume lv_root successfully resized
10) Ändern Sie die Größe des logischen Root-Volumes:
# resize2fs /dev/vg_app1/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_app1/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_app1/lv_root to 6718464 (4k) blocks.
The filesystem on /dev/vg_app1/lv_root is now 6718464 blocks long.
Hinweis: Verwenden Sie ext2online anstelle von resize2fs, wenn es sich um eine virtuelle Red Hat-Maschine handelt.
11) Überprüfen Sie den verfügbaren Speicherplatz:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_app1-lv_root
26G 10G 14G 42% /
tmpfs 9.8G 0 9.8G 0% /dev/shm
/dev/sda1 477M 88M 364M 20% /boot
Einfach. Gehen Sie als root in Ihre VM. Geben Sie "fdisk -l" ein - wenn Sie die neue Festplattengröße bereits sehen - gut.
Wenn nicht - versuchen partprobe
Sie es - wenn Sie die neue Festplattengröße immer noch nicht sehen - starten Sie neu.
Jetzt fdisk /dev/sda
partprobe
pvresize /dev/sda2
Jetzt hat Ihre VG VolGroup00 20 GB mehr Speicherplatz. Mach damit, was du willst. Genau wie bei einem physischen System (ändern Sie die Größe von LVs, und ändern Sie dann beispielsweise die Größe des FS).
Laden Sie die Gparted Live-CD ISO herunter . Schließen Sie dann das ISO an CentOS an und booten Sie von der Live-CD (gehen Sie zu den Einstellungen der virtuellen Maschine, wählen Sie "CD / DVD" und wählen Sie "ISO verwenden" auf der rechten Seite). Wählen Sie dann die Partition aus, deren Größe Sie ändern möchten. Klicken Sie auf das Partitionsmenü (obere Menüleiste) und dann auf "Größe ändern". Wählen Sie dann im Menü „Bearbeiten“ die Option „Alle Vorgänge anwenden“.
Hier nehme ich eine Beispielpartition, um die Festplatte von 5 GB auf 7 GB zu erweitern, ohne Daten zu verlieren. Sie können den verfügbaren Speicherplatz entsprechend ändern.
Vor dem Erhöhen des Datenträgers habe ich der Linux-VM die folgenden Details entnommen:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 5.0G 39M 4.7G 1% /mnt/test
# fdisk -s /dev/sdb
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 83 Linux
Fahren Sie die VM jetzt herunter.
Jetzt werde ich das vorhandene virtuelle Laufwerk ( /dev/sdb
) von VMware über die Eingabeaufforderung vergrößern . Hinweis: Diese Aufgabe sollte nur ausgeführt werden, wenn die VM ausgeschaltet ist.
Wechseln Sie zum Speicherort der virtuellen Festplatte.
# vmware-vdiskmanager -x 7Gb RedHatEnterprise_Linux_4-0.vmdk
Jetzt wird die virtuelle Festplatte auf 7 GB erweitert
Jetzt müssen Sie die VM einschalten. Melden Sie sich bei der VM mit PuTTY oder der Konsole als Root-Benutzer an.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 5.0G 39M 4.7G 1% /mnt/test
Es zeigt immer noch die alte Größe. Hängen Sie die Partition aus, die Sie vergrößern möchten.
# umount /dev/sdb1
Führen Sie die Dateisystemreparatur auf dem Datenträger aus
# fsck -n /dev/sdb1
Nun müssen wir das Journal von der Festplatte entfernen, um es in ein ext2-Dateisystem zu verwandeln.
# tune2fs -O ^has_journal /dev/sdb1
Beginnen Sie nun mit der Partitionierung /dev/sdb
, um den vergrößerten Speicherplatz zuzuweisen /dev/sdb1
. Hinweis: Keine Panik, hier gehen keine Daten verloren.
Ich entferne das Vorhandene /dev/sdb1
und erstelle es zusammen mit dem verfügbaren freien Speicherplatz neu.
# fdisk /dev/sdb
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 83 Linux
Command (m for help): d
Selected partition 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-913, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913):
Using default value 913
Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 913 7333641 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Starten Sie nun den Linux-Rechner neu, damit die Partition wirksam wird (wir können auch verwenden partprobe
, es wird dringend empfohlen, den Rechner neu zu starten).
# shutdown now -r
Überprüfen Sie nun noch einmal das erweiterte Dateisystem. Wenn Sie diesen Schritt überspringen, resize2fs
empfiehlt der Befehl, es auszuführen .
# e2fsck -f /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 13/655360 files (7.7% non-contiguous), 22121/1309289 blocks
Ändern Sie nun die Größe des Dateisystems.
# resize2fs /dev/sdb1
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/sdb1 to 1833410 (4k) blocks.
The filesystem on /dev/sdb1 is now 1833410 blocks long.
Überprüfen Sie nun das Dateisystem.
# fsck -n /dev/sdb1
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 13/917504 files, 30538/1833410 blocks
Erstellen Sie nun die Partition mit dem ext3-Format neu.
# tune2fs -j /dev/sdb1
tune2fs 1.35 (28-Feb-2004)
Creating journal inode: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Starten Sie den Linux-Rechner einmal neu, um das ext3-Dateisystem effektiv zu nutzen.
# shutdown -r now
Nochmals melden Sie sich bei Linux Box mit root-Berechtigungen an. Jetzt finden Sie die Partition auf 7 GB erhöht.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 6.9G 39M 6.7G 1% /mnt/test
Ich habe das gerade in VMware mit CentOS 6.4 gemacht. Antwort Nummer 1 ist richtig, aber es fehlt ein Schritt, den ich entdeckt habe.
In Gparted hatte meine auch das Schlosssymbol.
Klicken Sie in der Zeile mit der Partition mit dem Schlosssymbol mit der rechten Maustaste und wählen Sie "Deaktivieren". Das Schloss verschwindet.
Dann können Sie mit der rechten Maustaste klicken und die Partitionsgröße ändern.
Übernehmen Sie dann die Änderung.
Klicken Sie dann mit der rechten Maustaste und wählen Sie "Aktivieren".
Für CentOS 6.6 unter VMWare habe ich Folgendes getan, um die Größe von 30 GB auf 40 GB zu erhöhen (Anmerkung: Ich habe kein LVM verwendet, sondern nur normale native Linux-Partitionen (ID 83)):
HINWEIS: Erstellen Sie zuerst eine Sicherungskopie Ihrer VM, falls Sie Daten verlieren. Sie sollten keine Daten verlieren, wenn alles gut geht.
Informationen aus einer Kombination von Antworten auf dieser Seite und auf http://positon.org/resize-an-ext3-ext4-partition
Ein anderer Ansatz besteht darin, eine LVM zu erstellen, die sich auf einer vollständigen Festplatte anstelle einer Partition erstreckt.
In diesem Fall können Sie die Festplatte mit der folgenden Methode im laufenden Betrieb hinzufügen
blockscan --rereadpt /dev/<PV disk
pvresize /dev/<PV disk>
# The associated VG is now resized
lvresize /dev/mapper/<LV> -r -l +100%FREE
fdisk
. Verwenden Siepartprobe
dort. Der SCSI-Rescan ist interessant - funktioniert er auf einer verwendeten Festplatte?