ext3 fájlrendszer mérete

Fórumok

Sziasztok!

10 év Linux-használat után rájöttem, hogy nem tudom hogyan kell megállapítani egy ext3 fájlrendszer pontos méret. Most viszont fontos lenne, mert egy LV (Logical Volume)-ben van, és az LV méretét a lehető legkisebbre akarom csökkenteni (a benne levő fs mérete már minimális, azzal nincs gond).Adatok: VG: sysvg (~91GB), LV: home (~82GB), fs: ext3 (~40GB)
Próbálkozásaim:

  1. # tune2fs -l /dev/sysvg/home
    Ezután a Block count és Block size alapján: 39223524 KiB.
  2. Az fs felcsatolása a /mnt/home-ba, majd: # df -B 1K /mnt/home
    (Itt a df man lapja egyértelműen megmondja, hogy K == KiB). Eredmény: 38606532 KiB.
  3. # df -h /mnt/home
    Eredmény: 37 G.
  4. # df -h --si /mnt/home
    Eredmény: 40 G.
  5. Nautilus fájlkezelő, properties: 43,8 GB.
  6. # du -s /mnt/home
    Eredmény: 38426312 KiB.
  7. # du -s --apparent-size /mnt/home
    Eredmény: 46105578 KiB.

Ennyit ízelítőül. Remélem valaki megmondja a frankót. :)

Hozzászólások

Először is, mit értesz azon, hogy pontos méret? Benne vannak az fs adatai, vagy csak a filetartalmak? Másodszor: 1k mennyi? 1000 vagy 1024.
Ezekből adódnak az eltérések.
1. ez fs adataival együtt, 1024-el
2. fs adatai nélkül (inode stb), de könyvtárakkal együtt
3. mint a 2, csak kerekítve 1000 helyett 1024-el
4. mint a 3, csak 1000-el
5. erről gözöm sincs
6. ez a rajta lévő foglalt blokkok summája
7. ez a rajta lévő fileok méretének summája (azért tér el 6.-tól, mert lehetnek spare filejaid pl)

Hogy beleszámoljuk-e a felhasznált területbe az fs által foglaltat, az kb olyan vita, mint microkernel vs monolitikus. Egyesek szerint bele kell, mert foglal helyet az is, mások szerint nem kell, mert a felhasználó adatai az érdekesek csak, a többi változik, ha másik fs-re rakja.

Közben aludtam pár órát, úgyhogy világosodik a kép. A 10- ill. 2-hatvány alapú méretek közti eltérésekre figyeltem én is (ezért írtam KiB-ot ahol kellett), csak egyrészt nem volt erőm rendszerezni a fenti módszereket, másrészt az átváltásnál nem egyező eredmények jöttek ki, ezért adtam fel végül.

Az fs mérete alatt azt a méretet értem, amekkora helyre el lehet helyezni a _fájlrendszert_ úgy, hogy ne lógjon ki belőle. Azaz a teljes fájlrendszerre gondoltam, nem a rajta tárolt fájlokra. Így tehát:

1. A tune2fs a frankó. Ekkora helyet foglal el az ext2/ext3 fájlrendszer (KiB).
2-4. A df nem a fájlrendszer méretét mondja meg, hanem a kapacitását: mennyi adatot képes tárolni összesen, ebből jelenleg mennyi foglalt és mennyi szabad.
5. Ezt én sem gondoltam komolyan. :)
6-7. A du kakukktojás, mert nem egy fájlrendszerről szolgáltat információt, hanem egy egy könyvtárstruktúráról, amibe akár összevissza bemountolhatunk többféle fájlrendszert is. Csak annyiban kapcsolódik az fs témakörhöz, hogy a számításnál figyelembe tudja venni egyes fájlrendszerek egzotikus tárolási szokásait (pl. sparse-fájlok).

Vagyis lehet hogy nincs is olyan módszer, amellyel tetszőleges fs pontos méretét meg tudjuk állapítani.