Jak określić nowy rozmiar dla resize2fs?


22

Chcę zmniejszyć system plików ext4, aby zrobić miejsce na nową partycję i natknąłem się na resize2fsprogram. Polecenie wygląda następująco:

resize2fs -p /dev/mapper/ExistingExt4 $size

Jak ustalić, $sizeczy chcę odjąć dokładnie 15 GiB od bieżącego systemu plików ext4? Czy mogę dfjakoś wykorzystać wyjście ?

Odpowiedzi:


39

Nie powinieneś używać, dfponieważ pokazuje rozmiar zgłoszony przez system plików (w tym przypadku ext4).

Użyj dumpe2fs -h /dev/mapper/ExistingExt4polecenia, aby sprawdzić rzeczywisty rozmiar partycji. Ta -hopcja powoduje dumpe2fswyświetlanie informacji o super bloku bez wielu innych niepotrzebnych szczegółów. Z danych wyjściowych potrzebujesz liczby i wielkości bloków .

...  
Liczba bloków:               19506168  
Zarezerwowana liczba bloków: 975308  
Darmowe bloki: 13750966  
Darmowe i-węzły: 4263842  
Pierwszy blok: 0  
Rozmiar bloku:                4096  
...

Pomnożenie tych wartości da rozmiar partycji w bajtach . Powyższe liczby to idealna wielokrotność 1024:

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

Ponieważ chcesz zmniejszyć partycję o 15 GiB (czyli 15 MiB razy 1 KiB):

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

Ponieważ resize2fsakceptuje kilka rodzajów sufiksów, z których jeden Kdotyczy „1024 bajtów”, polecenie zmniejszenia partycji do 62296032 KiB staje się:

resize2fs -p /dev/mapper/ExistingExt4 62296032K

Bez jednostki liczba będzie interpretowana jako wielokrotność wielkości bloku systemu plików (w tym przypadku 4096). Zobacz man resize2fs (8)


3
man resize2fs: Opcjonalnie parametr rozmiaru może być dodany przez jeden z następujących oznaczników jednostek: „s”, „K”, „M” lub „G” odpowiednio dla sektorów 512 bajtów, kilobajtów, megabajtów lub gigabajtów . Może być prostsze niż wykonywanie obliczeń blokowych.
lkraav

1
Czy nie brakuje ku resize2fs -p /dev/mapper/ExistingExt4 62296032?
Sopalajo de Arrierez

@SopalajodeArrierez Masz rację, Kbrakuje kapitału . Bez tego listu resize2fs powinien narzekać w moim przypadku, ponieważ rozmiar jest większy niż rzeczywisty dysk.
Lekensteyn,

2
dumpe2fsnie zgłasza rozmiaru partycji; naprawdę podaje rozmiar systemu plików. (Co jest dobre, ponieważ prawdopodobnie tego właśnie chcesz.)
Mehrdad
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.