Automaticky sync disku

Ladislav Vaiz spam na nagano.cz
Pondělí Červen 15 15:27:02 CEST 2015


>
> 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".

Díky. Zkusil jsem si vypisovat gerep Dirty /proc/meminfo a hodnota se 
normálně mění. Soudím, že automatický sync funguje. V 
/proc/sys/vm/dirty_writeback_centisecs vidím 500.

>
>> 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.

Právě že změny byly zapsány cca 24h před pádem.

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

Šlo o soubory nahrané přes sshfs. Tam bych čekal, že server soubor 
zapíše, zavře a maximálně za 5s začne sync na disk.
Některé z těch souborů se nahrávaly v jednom HTTP POSTu spolu dalšími 
daty ukládanými do postgresql. Obsah databáze je OK, soubory nulové.
Badblock read-only na fyzických discích hlásí bez chyby.

L.


Další informace o konferenci Linux