[Megoldva] Ext4: Másodpercenként dolgoztatja a külső merevlemezt

 ( Lacyc3 | 2012. január 3., kedd - 16:17 )

Sziasztok!

Egy érdekes dologba futottam bele az utóbbi napokban. Van egy 1TB-os Samsung külső merevlemez, gyárilag NTFS-re formázva. Mivel a tervek szerint úgysem fog Windows-os gépet látni (backup lesz rajta), átformáztam ext4-re. Azonban felcsatolás után, körülbelül minden másodpercben valamilyen műveletet végez a rendszer rajta, csak azt nem tudom mit, amikor még meg sincs nyitva a könyvtára, tök üres.

A gyári NTFS-el és ext3-al tökéletesen működik, ezért elég tanácstalan vagyok. Gondolkoztam a noatime opción is, de ha a lemez teljesen üres, akkor ennek sincs semmi értelme.

Megoldás:
Az ext4 cserébe a gyors mkfs-ért nem inicializálja az összes inode-ot, hanem ezt a feladatot a kernel végzi el, amint felcsatolod a kötetet (persze közben már használhatod). Ez egy 1TB-os lemeznél 1-2 órát vehet igénybe.

http://comments.gmane.org/gmane.linux.redhat.fedora.general/404325
http://kernelnewbies.org/Linux_2_6_37

Kiskübi:
Úgy látom, mkfs.ext4-nél a lazy_itable_init=0 paraméter azt mondja, hogy ne tegyen így. Jobban szeretem, ha számíthatok rá, hogy mikor fogja le a gépet valami, és mikor nem.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Szerintem, ha fel van csatolva a filerendszer, a kernel azt csinál, amit akar, az ő dolga. Egyébként miért zavar? Ettől lett nagy a villanyszámla? :)


tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE

Nem, de az már régen volt. :)

Azért zavar, mert nem csak arról van szó, hogy pár percig szöszmötöl rajta, hanem órákig is elszórakozik és érdekel hogy miért nyúzza.

Ja, úgy művelődés szintjén engem is érdekel. Ugyanakkor, ha általában nézzük, akkor azzal, hogy fel van csatolva a filerendszer, azt mondtuk a kernelnek, hogy az övé, s ha 100 MB-ot úgy ír ki, hogy másodpercenként csak egy szektort ír disk cache-ből, akkor lelke rajta, teheti, mert miért ne.


tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE

Rendben is lenne, ha nem közvetlenül formázás után játszaná ezt, anélkül hogy bármit is másoltam volna rá.

Gyári NTFS he?
--
HUPbeszolas FF extension

Csomagolásából kibontva.

Sose találkoztam ilyennel.
--
HUPbeszolas FF extension

Eddig szinte csak NTFS-re formázott külső HDD-vel találkoztam (majdnem mind WD volt).

--
Sent from my ezeréves Nokia.

Szerintem én azért nem, mert az összes külső vinyóm külön lett megvéve. Azaz külön a vinyó, és külön a cucc amibe beleteszem.
--
HUPbeszolas FF extension

iotop

Inkább talán ezekből erre vonatkozólag többet ki tudsz deríteni ezekkel:
# cat /proc/diskstats
vagy
# iostat

Illetve melyik processz olvasgat/irogat a blokk eszközökre. Eléggé sűrű tud lenni a kimenete. Általában a /var/log/kern.log-ba kerül vagy dmesg.

echo 1 >/proc/sys/vm/block_dump

Ez nagyon király cucc, köszi szépen, nem ismertem.
Itt van kis doksi hozzá egyébként: http://www.kernel.org/doc/Documentation/sysctl/vm.txt
Szokásosan bőbeszédű (kb. a nézd meg a forrást kategória :)).

Köszönöm, ezzel már megyek valamire.

Jan 4 21:18:42 lacyc3-gentoo-desktop kernel: ext4lazyinit(16493): WRITE block 58741712 on sdc2 (240 sectors)
Jan 4 21:18:42 lacyc3-gentoo-desktop kernel: ext4lazyinit(16493): WRITE block 58741952 on sdc2 (240 sectors)
Jan 4 21:18:42 lacyc3-gentoo-desktop kernel: ext4lazyinit(16493): WRITE block 58742192 on sdc2 (240 sectors)
Jan 4 21:18:42 lacyc3-gentoo-desktop kernel: ext4lazyinit(16493): WRITE block 58742432 on sdc2 (240 sectors)
Jan 4 21:18:42 lacyc3-gentoo-desktop kernel: ext4lazyinit(16493): WRITE block 58742672 on sdc2 (240 sectors)
Jan 4 21:18:42 lacyc3-gentoo-desktop kernel: ext4lazyinit(16493): WRITE block 58742912 on sdc2 (240 sectors)
Jan 4 21:18:42 lacyc3-gentoo-desktop kernel: ext4lazyinit(16493): WRITE block 58743152 on sdc2 (240 sectors)

Erre rákeresve kiderül, hogy a cserébe a gyors mkfs-ért, a kernel online inicializálja az inode-okat.

http://kernelnewbies.org/Linux_2_6_37

A problémát sikerült megoldani. Kipróbáltam egy 100GB-os partíción, ott 2-3 perces jelenségként fordult elő.

Ezt nem tudtam. Nem volt hiába a topic-od. Jó látni, hogy milyen szép, kifinomult megoldások vannak a kernelben.


tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE

-

journal commit time hány másodpercre van állítva?

Úgy látom, mkfs.ext4-nél a lazy_itable_init=0 paraméter azt mondja, hogy ne tegyen így. Jobban szeretem, ha számíthatok rá, hogy mikor fogja le a gépet valami, és mikor nem.