Come posso determinare la nuova dimensione per resize2fs?


22

Voglio restringere un filesystem ext4 per fare spazio a una nuova partizione e mi sono imbattuto nel resize2fsprogramma. Il comando è simile al seguente:

resize2fs -p /dev/mapper/ExistingExt4 $size

Come devo determinare $sizese voglio sottrarre esattamente 15 GiB dall'attuale filesystem ext4? Posso usare l'output di in dfqualche modo?

Risposte:


39

Non dovresti usarlo dfperché mostra le dimensioni riportate dal filesystem (in questo caso ext4).

Utilizzare il dumpe2fs -h /dev/mapper/ExistingExt4comando per scoprire la dimensione reale della partizione. L' -hopzione consente di dumpe2fsmostrare le informazioni sul super blocco senza molti altri dettagli non necessari. Dall'output, è necessario il conteggio dei blocchi e le dimensioni del blocco .

...  
Conteggio blocchi:               19506168  
Numero di blocchi riservati: 975308  
Blocchi liberi: 13750966  
Inode gratuiti: 4263842  
Primo blocco: 0  
Dimensione del blocco:                4096  
...

Moltiplicando questi valori si otterrà la dimensione della partizione in byte . I numeri sopra riportati sono un perfetto multiplo di 1024:

$ python -c 'print 19506168.0 * 4096 / 1024'
78024672.0

Poiché vuoi ridurre la partizione di 15 GiB (ovvero 15 MiB per 1 KiB):

$ python -c 'print 19506168.0 * 4096 / 1024  -  15 * 1024 * 1024'
62296032.0

Poiché resize2fsaccetta diversi tipi di suffissi, uno dei quali è K"1024 byte", il comando per ridurre la partizione a 62296032 KiB diventa:

resize2fs -p /dev/mapper/ExistingExt4 62296032K

Senza unità, il numero verrà interpretato come multiplo della dimensione dei blocchi del filesystem (4096 in questo caso). Vedi man resize2fs (8)


3
man resize2fs: facoltativamente, il parametro size può essere suffisso da uno dei seguenti designatori di unità: 's', 'K', 'M' o 'G', per settori a 512 byte, kilobyte, megabyte o gigabyte, rispettivamente . Può essere più semplice che eseguire calcoli a blocchi.
lkraav,

1
Non ti manca un kat resize2fs -p /dev/mapper/ExistingExt4 62296032?
Sopalajo de Arrierez,

@SopalajodeArrierez Hai ragione, Kmancava una capitale . Senza questa lettera, resize2fs dovrebbe lamentarsi nel mio caso poiché la dimensione è maggiore del disco effettivo.
Lekensteyn,

2
dumpe2fsnon segnala la dimensione della partizione; riporta davvero la dimensione del file system. (Il che è buono, perché probabilmente è quello che vuoi.)
Mehrdad,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.