Se ti trovi in questa pagina allora ti sarai trovato a dover fare i conti con la mancanza di spazio su un disco formattato in ext4.
Soprattutto in ambienti virtuali questa situazione è abbastanza frequente.
Allora partiamo subito.
Prendiamo in esempio una installazione Centos 7 su una VM creata su Proxmox.
Su Proxmox è possibile ridimenzionare (espandere) la partizione a caldo.
Quindi controlliamo con fdisk se la nostra partizione è mbr o gpt con
fdisk -l
dovremmo avere questo tipo di risultato
Disk /dev/sdb: 751.6 GB, 751619276800 bytes, 1468006400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Identificativo disco: 0x00000000
Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 1048575999 524287999+ ee GPT
Disk /dev/sda: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Identificativo disco: 0x000b35d2
Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 2048 976895 487424 83 Linux
/dev/sda2 976896 1040764927 519894016 83 Linux
/dev/sda3 1040764928 1048575999 3905536 82 Linux swap / Solaris
prendendo in esempio la nostra partizione
/dev/sdb1
noteremo che la tabella partizione è GPT quindi utilizzeremo il seguente comando
gdisk /dev/sdb
per andare a modificare in maniera corretta il disco
una volta entrati con il comando “?” andremo a veder tutte le possibili opzioni.
[root@porti ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
Command (? for help):
con “i” stampiamo i dettagli della partizione che andremo a salvare
Using 1
Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)
Partition unique GUID: E0739451-FA2A-4270-9018-9A4A7FAE1536
First sector: 2048 (at 1024.0 KiB)
Last sector: 1468006366 (at 700.0 GiB)
Partition size: 1468004319 sectors (700.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'Microsoft basic data'
e con “p” andremo a stampare la tabella delle partizioni.
Disk /dev/sdb: 1468006400 sectors, 700.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 0EDF878E-087A-467E-828E-FB21E8066FB9
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1468006366
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1468006366 700.0 GiB 0700 Microsoft basic data
a questo punto manca solo una passaggio, la riallocazione del backup della tabella GPT alla fine dei settori.
se non lo riallochiamo a questo non potremo ridimensionare la partizione in quanto il backup GPT si troverà nel settore che in precedenza era l’ultimo.
Quindi andiamo nel sotto menù per esperti con “x” e poi riallochiamo la tabella con “e”.
Ora la procedura è simile a quella che si farebbe in caso di tabella partizioni MBR
a questo punto probabilmente il numero il Partition GUID code sarà cambiato e per non provocare possibili danni antremo a rimettere quello precedente ritornando con “x” sul menu per esperti e con “c” cambieremo il Partition GUID code
infine per far riconoscere il nuovo disco basta dare il comando
partprobe /dev/sdb
e il disco verrà riconosciuto e per ridimenzionarlo prima controlliamo il FileSystem con il comando
e2fsck -f /dev/sdb1
e poi facciamo il ridimensionamento con il comando
resize2fs /dev/sdb1