Portál AbcLinuxu, 30. dubna 2025 15:24
barriers
nad LVM a nad SW RAID (mdraid
)? Četl jsem testy, kde se ext3 nad LVM po několika výpadcích napájení úplně rozpadl, a to při nastavení data=ordered
. Doporučeným řešením je HW RAID + write chache se zálohovací baterií.
Projevovalo se to jen, když byla zapnutá drive write cache na SATA discích. To je obvykle jejich výchozí nastavení, a při vypnutí drive write cache dokonce výrobce negarantuje živostnost disku. Zajímavé je, že třeba HP ve svých serverech dodává SATA disky s vypnutou chache.
Myslel jsem si, že na klasický setup MD RAID1 + LVM + EXT3 se dá spolehnout i při výpadku napájení (rozbije se třeba otevřený soubor, ale FS bude v pořádku). Pokud je teď výchozí data=writeback, měl bych strach ze ztráty dat ještě větší.
Každopádně vypnutí cache na SATA disku způsobí obrovský propad výkonu - u mě asi na 1/4 při sekvenčním zápisu, při provozu právě Postgresu na disku s vypnutou cache vylezl IOWAIT až na 80% z jednoho jádra, po zapnutí cache je to tak 10%.
Nebylo při testování na tom disku LVM? Právě XFS nad LVM prý někdy vypínal diskovou write cache, protože hrozila ztráta dat.
Před časem jsem zápolil s XFS taky. Problém se projevoval tím, že v okamžiku vypnutí virtuálního stroje pod VMware Worstation se program "zasekl" na dobu trvající třeba i 40-50 sekund, během nichž intenzivně pracoval disk. Zjistil jsem, že příčinou je pomalost operace zapsání veškeré cache na disk (tj. to, co dělá příkaz sync
). Problém se projevoval na několika různých počítačích, systém byl vždy 64-bitový a výraznější to bylo na víceprocesorových (nebo spíš vícejádrových). Částečně pomohlo (proti vší logice) mountování s parametrem nobarrier
, tím se doba trvání snížila asi na polovinu. Nakonec jsem to vyřešil přechodem na JFS.
Netvrdím, že jste narazil na stejný problém, ale dokázal bych si představi, že by pomalost databáze ve specifických případech byla způsobována právě pomalostí synchronního zápisu. Ale jestli máte ještě ten volný disk, zkuste na něm i JFS, podle mne je tento filesystém v Linuxu opomíjen do značné míry neprávem.
Na mdadm a lvm bariéry nelze zapnout.U 2.6.33 na mdadm už jo. http://kernelnewbies.org/LinuxChanges#head-713e14251e05151b9d48bf91c344ca4ff07c526a
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.