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