Fattibilità del ridimensionamento (estendere) del filesystem
Il dispositivo sottostante (partizione nel nostro caso) su cui risiede un filesystem EXT3/4 deve essere prima ridimensionato prima che il filesystem possa essere ridimensionato. Di conseguenza, è necessario prima stabilire la fattibilità del ridimensionamento del dispositivo sottostante per determinare se è possibile ridimensionare il filesystem.
Le seguenti condizioni/scenari rendono possibile ridimensionare (estendere) un filesystem EXT3/4:
- Il filesystem EXT3/4 risiede su un dispositivo/partizione ma non occupa completamente l'intero spazio all'interno della partizione ed esiste spazio su disco sufficiente tra la fine del filesystem e il limite della partizione.
- Il filesystem EXT3/4 risiede su un dispositivo/partizione che occupa l'intero spazio della partizione, tuttavia esistono sufficienti blocchi liberi contigui sul disco/dispositivo immediatamente dopo il limite di fine della partizione del filesystem e il
- limite di inizio della partizione successiva o
- fine dell'intero disco/dispositivo)
Backup di tutti i dati sul filesystem da ridimensionare
Il ridimensionamento di un filesystem e dei dispositivi sottostanti è pericoloso e potenzialmente distruttivo se eseguito in modo errato. Il ripartizionamento dei dispositivi è altrettanto distruttivo e può comportare la perdita completa dei dati. Prima di procedere, esegui il backup del contenuto del filesystem/dispositivo da ridimensionare.
Ridimensionamento (estensione) del filesystem non root su partizione del disco rigido (non LVM)
In questo esempio, il dispositivo /dev/sdb (20 Gb) contiene una singola partizione primaria (/dev/sdb1) di 11 Gb con un filesystem EXT3/4 (/data) che copre l'intera partizione.
Approssimativamente Esistono 9 GB di spazio libero su disco tra la fine della partizione e la fine del dispositivo.
# df -k /data Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 11353328 10668192 223764 98% /data
# cat /proc/partitions | grep sdb 8 16 20971520 sdb 8 17 12008556 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 1495 12008556 83 Linux
Smontare il filesystem da ridimensionare, ad es.:
# umount /data
Verifica il tipo di filesystem del filesystem da ridimensionare.
# blkid /dev/sdb1 /dev/sdb1: LABEL="/data" UUID="1fc0bbcd-ba86-40b6-b562-5da90fb0d7af" TYPE="ext3"
Eseguire un controllo del filesystem del filesystem assicurandosi di utilizzare l'utilità di controllo del filesystem corrispondente (fsck.ext3, fsck.ext4) per il tipo di filesystem, ad esempio:
# 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
Questo passaggio presuppone che esista spazio libero su disco tra la fine della partizione e la fine del dispositivo. Se lo spazio libero su disco non è disponibile, rivolgiti all'amministratore di archiviazione per aumentare/estendere il dispositivo sottostante prima di ricreare una partizione più grande. Utilizzare l'utilità fdisk per eliminare, quindi ricreare una partizione più grande, assicurandosi di riutilizzare il blocco di avvio della partizione originale, ad es. :
# 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 1495 12008556 83 Linux Command (m for help): d ### this step deletes the partition 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): [enter] Using default value 2610 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): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Verifica che il sistema ora possa vedere la partizione più grande appena creata, ad es.:
# cat /proc/partitions | grep sdb 8 16 20971520 sdb 8 17 20964793 sdb1
Se il sistema non riesce a rilevare il nuovo dimensionamento della partizione, eseguire l'utilità partprobe sul dispositivo ridimensionato, ad esempio:
# partprobe /dev/sdb
Utilizzare l'utilità resize2fs per estendere il filesystem EXT3/4 in modo da utilizzare lo spazio aggiuntivo nella partizione, ad esempio:
# resize2fs /dev/sdb1 resize2fs 1.39 (29-May-2006) Resizing the filesystem on /dev/sdb1 to 5241198 (4k) blocks. The filesystem on /dev/sdb1 is now 5241198 blocks long.Nota :durante l'esecuzione di resize2fs, se non viene specificata alcuna dimensione, il filesystem verrà esteso per utilizzare tutto lo spazio disponibile/rimanente nella partizione.
Esegui un controllo del filesystem del filesystem EXT3/4 ridimensionato assicurandosi di utilizzare l'utility di controllo del filesystem corrispondente (fsck.ext3, fsck.ext4) per il tipo di filesystem in uso, ad esempio:
# 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
Monta il filesystem EXT3/4 appena ridimensionato, ad esempio:
# mount /data
Esamina dmesg, registro messaggi, ecc. per verificare il corretto ridimensionamento del filesystem, ad es.:
# df -h /data Filesystem Size Used Avail Use% Mounted on /dev/sdb1 20G 11G 9.0G 54% /dataCentOS / RHEL:ridimensiona (riduce) il filesystem EXT3/4 non root su un dispositivo non LVM (partizione del disco rigido)