Portál AbcLinuxu, 20. července 2025 04:49


Dotaz: RAID 1 a rozložení zátěže

6.6.2011 13:26 Dalibor
RAID 1 a rozložení zátěže
Přečteno: 384×
Odpovědět | Admin
Dobrý den,

chtěl bych požádat o radu, předem děkuji za čas zdejších diskutérů ;-)

HW: Sun Fire s AMD opteron 2x4 jádra, AMD64, 16GB RAM, Debian 6.0

Na serveru (MySQL) mám dva SATA disky v SW RAID 1 (mirroring) - SDA a SDB. Před časem jsem si všiml, že systém je zpomalený (velký IO wait 25%, load 30, pomalá MySQL). Pomocí iostat jsem došel k závěru, že SDA není vpořádku, vysoké hodnoty %util (čekání CPU na tento disk) kolem 70% a další hodnoty, oproti SDB. Navíc měl SDA nějaké vadné sektory a tak jsem se jej rozhodl z RAIDu odpojit. Po odpojení se vše vrátilo do normálu, load max 5, %util u SDB kolem 20%.

Vzal jsem tedy nový disk s tím, že původní SDB (vpořádku) přesunu na SDA a nový disk připojím jako SDB a provedu rekonstrukci RAIDu. Původní "vadný disk" SDA jsem vyřadil. Tak jsem to udělal, ale problém je v tom, že problém s výkonem je přesně ten samý jako původně - vysoký load, IO wait apod., jen s tím rozdílem, že problémy dělá současné SDA, tedy původní SDB, které bylo vpořádku a stíhalo servírovat všechny požadavky několik dnů.. Když jsem současné SDA z RAIDu vyhodil, tak to zase jede normálně.. Kde je problém?

Otázka.. Rozkládá SW RAID 1 požadavky mezi jednotlivé disky nějak? Je normální, aby ve frontě požadavků na jednom disku bylo v průměru 0.7 a na druhém 60?

Přidám sem výstupy iostat, hned co doběhne rekonstrukce RAIDu..

Děkuji za jakýkoliv tip,

Dalibor
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.6.2011 14:09 D-Evil | skóre: 25 | Praha
Rozbalit Rozbalit vše Re: RAID 1 a rozložení zátěže
Odpovědět | | Sbalit | Link | Blokovat | Admin
SW RAID 1 v Linuxu rozkládá zátěž pouze při čtení.
8.6.2011 13:55 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: RAID 1 a rozložení zátěže
To "v Linuxu" je nadbytečné - u mirroru z principu musíte při zápisu všechno zapsat na všechny disky (bez ohledu na implementaci).
8.6.2011 13:44 Dalibor
Rozbalit Rozbalit vše Re: RAID 1 a rozložení zátěže
Odpovědět | | Sbalit | Link | Blokovat | Admin
tak nakonec byl problém v tom, že šlo do RAIDU mnoho požadavků na zápis přes MySQL, asi 50 insertů za sekundu.. A jeden disk to dával rychleji než dva v raidu..

Takže jsem optimalizoval aplikaci a tyto zápisy zrušil, ale ideální by bylo založit RAID 10..

Dalibor
8.6.2011 13:59 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: RAID 1 a rozložení zátěže
Odpovědět | | Sbalit | Link | Blokovat | Admin
Rozkládá SW RAID 1 požadavky mezi jednotlivé disky nějak?

Kdysi jsem se díval do zdrojáků, protože mne zajímalo, proč při čtení dlouhého souvislého bloku není rychlost vyšší než u jednoho disku. Bylo to tak, že si driver u každého "disku" pamatoval pozici, ze které z něj naposledy četl, a při čtení z pole zvolil disk, u kterého byla tato pozice nejblíž (ve smyslu logické geometrie blokového zařízení) pozici, ze které se má číst. Ale je samozřejmě možné, že se to od té doby změnilo.

Při zápisu pochopitelně rozkládání zátěže nepřipadá v úvahu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.