Sichern Sie alle Daten auf dem Dateisystem, dessen Größe geändert werden soll
Das Ändern der Größe eines Dateisystems und zugrunde liegender Geräte ist gefährlich und potenziell destruktiv, wenn es falsch durchgeführt wird. Die Neupartitionierung von Geräten ist ähnlich destruktiv und kann zu einem vollständigen Datenverlust führen. Bevor Sie fortfahren, sichern Sie den Inhalt des Dateisystems/Geräts, dessen Größe geändert werden soll.
Größe ändern (erweitern) des Nicht-Root-Dateisystems auf einer Festplattenpartition (Nicht-LVM)
1. Beispielkonfiguration
In diesem Beispiel enthält das Gerät /dev/sdb (20 GB) eine einzelne primäre Partition (/dev/sdb1) von 20 GB mit einem EXT3/4-Dateisystem (/data), das sich über die gesamte Partition erstreckt. Zwischen dem Ende der Partition und dem Ende des Geräts ist kein freier Speicherplatz vorhanden. Bevor Sie fortfahren, führen Sie die folgenden Befehle aus – Ausgabe zur späteren Verwendung aufzeichnen.
# df -k /data Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 20635700 10672240 8915224 55% /data
# cat /proc/partitions | grep sdb 8 16 20971520 sdb 8 17 20964793 sdb1
# fdisk -l /dev/sdb Disk /dev/sdb: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 2610 20964793+ 83 Linux
2. Unmounten Sie das Dateisystem, dessen Größe geändert werden soll
Unmounten Sie das EXT3/4-Dateisystem, dessen Größe geändert werden soll, z. B.:
# umount /data
3. Führen Sie eine Dateisystemprüfung durch
Überprüfen Sie den Dateisystemtyp des Dateisystems, dessen Größe geändert werden soll, d. h. ob EXT3, EXT4 usw.
# blkid /dev/sdb1 /dev/sdb1: LABEL="/data" UUID="1fc0bbcd-ba86-40b6-b562-5da90fb0d7af" TYPE="ext3"
Führen Sie eine Dateisystemprüfung des Dateisystems durch und stellen Sie sicher, dass Sie das entsprechende Dienstprogramm zur Dateisystemprüfung (fsck.ext3, fsck.ext4) für den Dateisystemtyp verwenden, z. B.:
# fsck.ext3 -fy /dev/sdb1 e2fsck 1.39 (29-May-2006) 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 data: 21/2621440 files (4.8% non-contiguous), 2750333/5241198 blocks
4. Größe des Dateisystems ändern (verkleinern)
Verwenden Sie das Dienstprogramm resize2fs, um das EXT3/4-Dateisystem zu verkleinern, um weniger Speicherplatz innerhalb der Partition zu verwenden. Überprüfen Sie die zuvor aufgezeichnete df-Ausgabe, um zu bestimmen, wie klein das Dateisystem verkleinert werden soll. Stellen Sie sicher, dass das ETX3/4-Dateisystem nicht kleiner als die tatsächliche darin enthaltene Datenmenge ist.
# df -k /data Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 20635700 10672240 8915224 55% /data
# resize2fs /dev/sdb1 11G resize2fs 1.39 (29-May-2006) Resizing the filesystem on /dev/sdb1 to 2883584 (4k) blocks. The filesystem on /dev/sdb1 is now 2883584 blocks long.Hinweis :Wenn resize2fs ausgeführt wird und keine Größe angegeben ist, wird das Dateisystem erweitert, um den gesamten verfügbaren/verbleibenden Speicherplatz in der Partition zu nutzen.
4. Führen Sie eine Dateisystemprüfung durch
Führen Sie eine Dateisystemprüfung des in der Größe geänderten EXT3/4-Dateisystems durch und stellen Sie sicher, dass Sie das entsprechende Dienstprogramm zur Dateisystemprüfung (fsck.ext3, fsck.ext4) für den verwendeten Dateisystemtyp verwenden, z. B.:
# fsck.ext3 -fy /dev/sdb1 e2fsck 1.39 (29-May-2006) 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 data: 21/1441792 files (4.8% non-contiguous), 2712300/2883584 blocks
5. Partitionsgröße ändern (verkleinern)
Aus der obigen Ausgabe der Dateisystemprüfung geht hervor, dass das Dateisystem jetzt 2883584 (* 4Kb) Blöcke groß ist, d. h.:
# expr 2883584 \* 4096 11811160064 (bytes)
Die Größe der Partition muss größer bleiben als die Größe der aktuellen Dateisystemnutzung darin. Daher wird die Größe der Partition auf einen sicheren Wert von nicht weniger als 12 GB geändert, d. h.:
# expr 1024 \* 12 12288 (Mb)
Verwenden Sie den Befehl fdisk, um eine kleinere Partition zu löschen und dann neu zu erstellen, und stellen Sie sicher, dass der ursprüngliche Startblock der Partition wiederverwendet wird, z. B.:
# fdisk /dev/sdb The number of cylinders for this disk is set to 2610. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/sdb: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 2610 20964793+ 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-2610, default 1): [enter] Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +12288M Command (m for help): p Disk /dev/sdb: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 1495 12008556 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
An diesem Punkt steht der Speicherplatz zwischen dem Ende der Partition und dem Ende des Geräts zur Wiederverwendung zur Verfügung.
6. Überprüfen Sie die Größenänderung der Partition
Vergewissern Sie sich, dass das System die neu in der Größe geänderte Partition sieht, z. B.:
# cat /proc/partitions | grep sdb 8 16 20971520 sdb 8 17 12008556 sdb1
Wenn das System die neue Partitionsgröße nicht erkennt, führen Sie das Dienstprogramm partprobe für das in der Größe geänderte Gerät aus, z. B.:
# partprobe /dev/sdb
7. Führen Sie eine Dateisystemprüfung durch
Führen Sie eine Dateisystemprüfung des in der Größe geänderten EXT3/4-Dateisystems durch und stellen Sie sicher, dass Sie das entsprechende Dienstprogramm zur Dateisystemprüfung (fsck.ext3, fsck.ext4) für den verwendeten Dateisystemtyp verwenden, z. B.:
# fsck.ext3 -fy /dev/sdb1 e2fsck 1.39 (29-May-2006) 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 data: 21/1441792 files (4.8% non-contiguous), 2712300/2883584 blocks
8. Hängen Sie das in der Größe geänderte Dateisystem ein
Mounten Sie das neu verkleinerte EXT3/4-Dateisystem, z. B.:
# mount /data
9. Überprüfen Sie die Größenänderung des Dateisystems
Überprüfen Sie dmesg, das Nachrichtenprotokoll, die Ausgabe des df-Befehls usw., um die erfolgreiche Größenänderung des Dateisystems zu überprüfen, z. B.:
# df -k /data Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 11353328 10668192 223764 98% /dataCentOS / RHEL :Größe ändern (erweitern) des Nicht-Root-EXT3/4-Dateisystems auf Nicht-LVM-Gerät (Festplattenpartition)