Automaticky sync disku

Tomas Vondra tv na fuzzy.cz
Neděle Červen 14 21:28:00 CEST 2015


On 06/14/15 20:28, Ladislav Vaiz wrote:
> Ahoj,
> mel jsem ted podruhe neprijemny pad serveru, po kterem zustaly nedavno
> vytvorene soubory s nulovou velikosti. Chtel bych se zeptat, jak se dnes
> resi sync cache na disk. Drive to byly update a bdflush, ale ty uz nikde
> nevidim.

bdflush je označený jako deprecated někdy od dob 2.6, a nic nedělá. Jeho 
funkci dnes zastává vlákno pdflush, běžící jako součást jádra. Manuálně 
se dá zavolat "sync".

> Je to Debian wheezy, kernel 3.10. Dva fyzicke disky, na nich RAID1, pak
> LVM a ext4 s vychozim zurnalovanim (jen metadata). Protoze soubory
> existuji, jen nemaji data, tak bych to videl na nesyncnutou blokovou
> cache. Smart mi pripadne v poradku, badblock zatim neskoncil.

To že na disku zůstávají soubory s nulovou délkou je součastí designu 
ext4 a zvolené úrovně žurnálování. Pokud se s tím vaše aplikace nedokáže 
vyrovnat, to že zavoláte pdflush nebo sync vás nezachrání - nikdo 
nezaručí že to nespadne před tím než to doběhne, například.

Buď musíte zvolit vyšší úroveň žurnálování, nebo naučit samotnou 
aplikaci pracovat se soubory transakčně (což není nic jednoduchého).

T.


Další informace o konferenci Linux