Adott egy külső USB-s 1TB-os merevlemez, de ha egy nagy ext4-et teszek rá, akkor egy csomó tárterület eleve foglalt, akkor is ha a root-nak fenntartott blockokat nullára veszem.
A tényleges méret 931.51 GB (1000^4 byte és még egy kevés). Ha így hozom létre az ext4-et
# mkfs.ext4 -j -O extent /dev/sdb1
# tune2fs -r 0 /dev/sdb1
akkor is csak 917 GB szabad területem van. Hova tűnik 15 GB és hogyan tudnám visszaszerezni?
Gondolom az inode-ok foglalják el ezt a helyet, de mit lehetne tenni, a 15 GB leszorítására? Alapvetően nagy fájlokat (100MB-5GB nagyságrend) fogok tárolni rajta, bár lesznek kicsi fájlok is (10KB-).
- 1660 megtekintés
Hozzászólások
Az a journal meg az inode-ok számára fenntartott hely kb...
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Esetleg trükközhetsz a blokkmérettel (
-b
), a bytes-per-inode aránnyal (
-i
), vagy a journal méretével (
-J size=...
), de szerintem jobb, ha a fentit egyszerűen elfogadod. 15/931.51 ~= 1.61%; ekkora az ext4 vesztesége és kész. Ha ennél jobb kell, akkor (gondolom) az xfs jöhet számításba.
- A hozzászóláshoz be kell jelentkezni
A bytes-per-inode aránnyal meg a kis file-ok tárolása miatt veszik el kb ugyan ennyi, vagy még több.
Szerintem sem nagy veszteség.
- A hozzászóláshoz be kell jelentkezni
Na, akkor az "archívum" kedvéért leírom a tapasztalatokat:
Valóban az inode-ok viszik el a már említett 15GB-ot. Lehet, hogy a teljes méretnek csak a 2%-a, de engem akkor is zavart, mert nettó 15GB sok, szvsz.
A block mérettel, az egy inode-ra eső mérettel és a journal mérettel nem akartam játszani. Maradt tehát az, hogy csökkentsem az inode-ok számát. Röviden az inode-ról annyit, hogy a partíción minden egyes új fájlnak vagy könyvtárnak szüksége van egy ilyenre, ha nincs szabad inode, nem lehet létrehozni új fájlokat. És persze particionálás után már nem lehet megváltoztatni az inode-ok számát, tehát okosan kell kitalálni a számukat.
Megnéztem az aktuális rendszerwinón (ami majdnem tele van) található inode számokat így:
#tune2fs -l /dev/sda3 | grep -i inode
Nálam 4.2 millió inode van, ebből 4.0 millió szabad. Ebből én arra jutottam, hogy az új winyón ~8 millió inode nekem több mint elég lesz.
Ezt pedig a fent említett mke2fs (vagy mkfs.ext*) -i paraméterrel lehet beállítani. Ennek a paraméternek a neve bytes-per-inode, azaz a partíció méretét elosztja ezzel a számmal és annyi inode lesz. Alap esetben ez 16384, azaz 16 KB-onként hoz létre egy inode-ot. Hát én ezt beállítottam 131072-ra, azaz 8-szorosra. Így a 15 GB "elveszett" területet lefaragtam kb. 2GB-ra.
Ez így most nekem jó, mivel nem egy szerver winyóról van szó, amit übersz*pás újraparticionálni. Ha netán kimeríteném a 8 millió inode-ot (nem fogom), csak fogom az adatokat, lementem, újraparticionálom a winyót, majd vissza az adatokat.
- A hozzászóláshoz be kell jelentkezni
Hasznos, köszi.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Az mke2fs-nek van egy -T opciója is ("usage type"). Ez egy "paraméter-profilt" választ az /etc/mke2fs.conf-ból. Például:
largefile4 = {
inode_ratio = 4194304
blocksize = -1
}
- A hozzászóláshoz be kell jelentkezni