[+]Obliczanie wolnego miejsca na partycji ext4

Ogólne pytania dotyczące systemu
Awatar użytkownika
lol_ek
Posty: 43
Rejestracja: 17 października 2008, 11:00
Lokalizacja: G-ce

[+]Obliczanie wolnego miejsca na partycji ext4

Post autor: lol_ek »

Cześć

Mam partycję ext4 524 GB (dysk 532G) z czego zajęte jest 489 GB. Z moich obliczeń wynika, że wolne powinno być ~35 GB. Tak też raportuje Gparted. Nie mniej df wskazuje, że wolne miejsce to 13 GB i tyle faktycznie chyba pozostało do dyspozycji. Czy ktoś z grupowiczów, może mi rzucić trop skąd wynika ta rozbieżność.

/dev/sdc1 524G 489G 13G 98% /var/vmail


Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 1115684863 1115682816 532G 83 Linux
Ostatnio zmieniony 21 marca 2020, 16:50 przez lol_ek, łącznie zmieniany 2 razy.
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Obliczanie wolnego miejsca na partycji ext4

Post autor: dedito »

Pokaż pełny wynik polecenia

Kod: Zaznacz cały

df -h
i jako root

Kod: Zaznacz cały

fdisk -l
Awatar użytkownika
Yampress
Administrator
Posty: 6365
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Re: Obliczanie wolnego miejsca na partycji ext4

Post autor: Yampress »

pomocne będzie polecenie du
du - szacuje użycie miejsca na dysku

Kod: Zaznacz cały

[root@debian # du --summarize -h /home
163G	/home
[root@debian # du --summarize -h /home/yampress
148G	/home/yampress
[root@debian # du --summarize -h /
170G	/
[root@debian # 

W razie potrzeby dodatkowy inforamacji o du wpisz w konsole

Kod: Zaznacz cały

du --help
lub

Kod: Zaznacz cały

man du

A czy wiesz że 1GB = 1024MB
a każdy myśli że 1 GB to 1000MB
i potem tacy co niektorzy się budzą i szukaja tych GB na dysku bo gdzieś zginęło. Poza tym dyski nigdy nie mają tyle terenu użytecznego co mówią producenci na etykietach dysku.
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Obliczanie wolnego miejsca na partycji ext4

Post autor: dedito »

Bo producenci podają rozmiar dysku w systemie dziesiętnym.
Awatar użytkownika
lol_ek
Posty: 43
Rejestracja: 17 października 2008, 11:00
Lokalizacja: G-ce

Re: Obliczanie wolnego miejsca na partycji ext4

Post autor: lol_ek »

@dedito, takie informacje już przytoczyłem na samym poczatku wątku.

Kod: Zaznacz cały

Dysk /dev/sdc: 532 GiB, bajtów: 571230650368, sektorów: 1115684864
Jednostki: sektorów, czyli 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Typ etykiety dysku: dos
Identyfikator dysku: 0x6e80cc5d

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdc1        2048 1115684863 1115682816  532G 83 Linux

Kod: Zaznacz cały

/dev/sdc1      548957480 512365548 12900184  98% /var/vmail

du --summarize /var/vmail/
512294228       /var/vmail/
Tutaj pojawia się niewielka rozbieżność rzędu 70 MB, która w kontekście mojego pytania nie specjalnie mnie interesuje (choć faktycznie może mieć to jakiś związek z zagadnieniem). W zasadzie wartości df i du pokrywają się.

Uwaga na temat problematyki "zaginionego" miejsca w wyniku przeliczania jednostek jest mi znana. Może błędnie, ale zakładam że różnice rozmiaru podanych systemem dziesiętnym, a binarnym wychodzą: dysk 532G v rozmiar partycji 524 GB (wartość na etykiecie v system). Swoją drogą tutaj jest różnica tylko na poziomie 8 GB. Kojarzę z partycji widnowsowych, że z dysku 500GB odkrojone zostaje jakieś 30 GB, co stanowi większa rozbieżność. Jak widać, w tym miejscu również można się doszukiwać pewnej nieścisłości i być może któryś z kolegów się do tego odniesie. Dodam, że dysk jest wirtualny. Bez zgłębiania tematu, może błędnie, ale założyłem, że "rozmiar dysku" tak naprawdę stanowi alokację na macierzy, a owe 8 GB to strata na dane niezbędne do jego utrzymania.

Najbardziej mnie nurtuje, dlaczego suma dwóch ostatnich kolumn nie pokrywa się z wartością pierwszej kolumny tj."rozmiar". W tym zestawieniu brakuje mi jeszcze jednej wartości, która reprezentowała by różnicę której pochodzenie nie potrafię zdefiniować.

df podaje trzy wartości: rozm. użyte dost

548957480 512365548 12900184

512365548 (użyte) + 12900184 (dostępne) = 525 265 732 (suma)

Zakładam, że rozmiar partycji (wiem, że nie dysku) = użyte miejsce + wolne miejsce.
Spodziewałem się, że 'rozmiar' będzie równy sumie, arealnie wychodzi co innego:

548957480 (rozmiar) - 525 265 732 (suma) daje rozbieżność ponad 20 GB: 23 691748



Swoją drogą wątek nadaje się do działu "wasze wtopy" bo właśnie zdałem sobie sprawę, że na wszystkich maszynach, przez kilka lat te wartości szacowałem "na oko" skupiając się jedynie na rezerwie wolnego miejsca. Okazuje się, że operując na wartościach rzędu dziesiątek czy setek, ten ogon niezauważenie traci się gdzieś w gąszczu innych spraw. ;)
Awatar użytkownika
Yampress
Administrator
Posty: 6365
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Re: Obliczanie wolnego miejsca na partycji ext4

Post autor: Yampress »

U mnie dysk SSD 240 GB, przy dwóch partycjach jakie mam na dysku w systemie MBR

Kod: Zaznacz cały

[yampress@debian ~]$ df -h |grep /dev/sda
/dev/sda1                 13G  6,5G  5,7G  54% /
/dev/sda3                208G  162G   36G  83% /home
[yampress@debian ~]$ 
a wiec 240 - (13+208)=19
kto mi zjadł dysk?
]:>
Awatar użytkownika
saturno
Junior Member
Posty: 741
Rejestracja: 08 lipca 2008, 20:04

Re: Obliczanie wolnego miejsca na partycji ext4

Post autor: saturno »

Może rozbieżność wynika z tego że jest jeszcze coś takiego jak: Zarezerwowane miejsce w systemie plików
https://morfikov.github.io/post/zarezer ... ikow-ext4/

Ps.:

Kod: Zaznacz cały

kto mi zjadł dysk?

Sektory zapasowe albo chińskie GB
Awatar użytkownika
lol_ek
Posty: 43
Rejestracja: 17 października 2008, 11:00
Lokalizacja: G-ce

Re: Obliczanie wolnego miejsca na partycji ext4

Post autor: lol_ek »

6,5 + 5,7 = 12,2
162 + 36 = 198

Łącznie daje 210,02, a rzekomo powinno być 221 GB
Tu Cię skubneli na kolejne 10,8 GB. I właśnie o te wartość pytałem. :)
Awatar użytkownika
lol_ek
Posty: 43
Rejestracja: 17 października 2008, 11:00
Lokalizacja: G-ce

Re: Obliczanie wolnego miejsca na partycji ext4

Post autor: lol_ek »

@Saturno, myślę, że masz rację. Zapoznalem się z artykułem, przeliczylem wartości, co prawda z marszu bez użycia kalkulatora ale faktycznie może chodzić o domyślne 5 - 6 ÷ rezerwacji na potrzeby ważnych procesów systemowych.

Wartości te zgadzają mi się z moim przypadkiem, jak i przykładu przedmowy.

Kod: Zaznacz cały

# tune2fs -l /dev/sda2 | grep "Reserved block count"
Reserved block count:     13107
Dziękuję za wyjaśnienia.
Awatar użytkownika
Morfik
Beginner
Posty: 149
Rejestracja: 21 lutego 2009, 21:00

Re: Obliczanie wolnego miejsca na partycji ext4

Post autor: Morfik »

dedito pisze: 21 marca 2020, 11:13 Bo producenci podają rozmiar dysku w systemie dziesiętnym.
Raczej wszyscy tak podaj -- inaczej ciężko by się było połapać ile ten dysk ma tych giga... :D

Tu przykład:

532 -- dziesiętny
0010 0001 0100 -- binarny
0x214 -- hexalny
Zablokowany