Testování softwarového RAID1 pole

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Testování softwarového RAID1 pole
« kdy: 11. 07. 2011, 16:55:29 »
Zdravím,

potřeboval bych nějaké tipy, jak testovat rychlost a odezvu při zátěži u softwarového RAID1 pole. Případně nějaký obecný postup při testování disků jako takových.

Zatím jsem používal "jen" dd, které mi souběžně zapisovalo 40 souborů o velikosti 200MB/soubor. Hodilo by se mi ale i něc, co by mi dokázalo říct, jak disk/pole v takové situaci reaguje na další podněty (čtení, zápis, hledání, ...).

Konkrétní příkaz mám zde
Kód: [Vybrat]
for i in `seq 1 40`; do `dd if=/dev/zero of=/mnt/$i count=400000 &`; done;
Vaše postřehy s RAID1 polem by taky nebyly marné. Provozuje někdo RAID1? Nebo dokonce RAID1 jako root oddíl + home? Pokud ano, můžete spustit výše uvedený kód (upravený, kde of=/cesta/kam/zapsat/40-souborů/$i) u sebe a dát mi sem nějaké výsledky (nejrychlejší a nejpomalejší zápis, čas a rychlost - na výsledek si v terminálu počkejte pár minut). Také kdyžtak uveďte něco o HW (jaké disky, SATA1/2/3, CPU, použitý FS).

Moje konkrétní postřehy teprve dávám dohromady a rád bych přidal i jinou testovací metodiku, než "primitivní" zápisy (se čtením problémy nemám, resp. nikdy jsem je nepocítil).

Předem díky
« Poslední změna: 18. 07. 2011, 10:22:04 od Petr Krčmář »


faha

Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #1 kdy: 11. 07. 2011, 20:22:54 »
Zkuste se podivat na bonnie++ nebo iozone3.

https://raid.wiki.kernel.org/index.php/Performance


trubicoid2

Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #2 kdy: 12. 07. 2011, 13:50:09 »
von ten dd jede rychleji s vetsima blokama, akorat pak ze zacatku zapisuje jen do pameti, to se da zmenit pomoci direct, tak ja jsem tvuj prikaz zmenil na:

Kód: [Vybrat]
for i in `seq 1 40`; do `dd if=/dev/zero of=$i count=195 bs=1M oflag=direct &`; done
a dela mi to na RAID1 pres 4 disky SATA2 Samsung 2TB HD203WI mezi 27 a 93 sekundama.

mozna zajimavejsi je cas na kontrolu RAID, tedy
Kód: [Vybrat]
echo "check" >> /sys/block/md1/md/sync_actiona pak vycist cas z dmesg

par triku:
Kód: [Vybrat]
echo 100000 > /proc/sys/dev/raid/speed_limit_min
Kód: [Vybrat]
hdparm -M 254 /dev/sda ...
Kód: [Vybrat]
echo "max_performance" > /sys/class/scsi_host/host?/link_power_management_policy
Kód: [Vybrat]
echo 1 > /sys/block/sda/device/queue_depth ...
to posledni proste vypne NCQ a kupodivu zrychli kontrolu RAIDu, jeste jsem nevidel, ze by to nejaky benchmark vylepsovalo, nevim tedy, proc je to defaultne zapnuty  :o

ja mam tak 102MB/s

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #3 kdy: 12. 07. 2011, 14:34:36 »
trubicoid2: Zkusím upravený příkaz jakmile budu u svého PC (večer). TenRAID1 máš jako systémový oddíl? Byl "používaný" během testu?

Ty další tipy vyzkouším. Mám s tím problémy odjakživa a už toho začínám mít dost. Jen potřebuju přijít na to, jestli je to diskama, kernelem, systémem, mojí neschopností nebo něčim jinym...

trubicoid2

Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #4 kdy: 12. 07. 2011, 14:58:39 »
RAID1 je /, pouzivany byl, ale nic zvlastniho, navic pres e-sata byl pripojeny paty disk, na kterym bezel badblocks

takze tobe to zapisuje pomaleji? ja mam na / xfs a zapnuty bariery, bez nich by to jelo kapku rychleji

mam jeste na stejnych diskach sifrovany /tmp = RAID0 + dm-crypt + xfs a vypnuty bariery a tam to je mezi 28 a 50 sekundama

navic procesor je Phenom II 4x 3.2GHz, ale zrovna ho mam v rezimu 4x 800MHz, ten procesor nebude mit na vysledky moc velkej vliv


Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #5 kdy: 12. 07. 2011, 15:43:31 »
Ten můj původní příkaz zapisoval souběžně 40 kusů 205MB souborů rychlostí kolem 900kB/s a šla až někam k 600kB/s (u těch posledních souborů). V praxi to znamenalo 4-5 minut...

Používáš Firefox? Jak Ti běží systém, když ve Firefoxu běžně surfuješ (tzn. pár tabů, flash reklamy, JS, Java)? Mě se zasekává i na desítky sekund. HDD LED svítí, disky chrupu a systém je kaput, dokud neprovede všechny požadavky. Když předtim spustím iotop, tak mi nahoru vyletí [md...] proces, kterej bere sám 99,99% IO. Nahoru vyletí i když spustim ten muj příkaz.

Nemonitoruješ si systém pomocí SNMP? Já v Cacti sleduju Transactions na discích (a poli) a v momentě záseku se objeví strašně moc zápisů (pokud SNMP vůbec v tu dobu odpoví sběrnýmu PC na dotaz...).

O to divnější to ale je, že na poli je zápisů 1000 a více (prostě nějaké číslo), zatímco na disky samotné, které jsou součástí pole (a tím pádem se na ně data musí zapsat), jsou zápisy jen kolem 150. Kam se teda ztratilo těch 850 a víc rozdílu?

trubicoid2

Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #6 kdy: 12. 07. 2011, 16:28:50 »
no to je tedy divny 4-5 minut...

firefox nemam, je to server, ale mam firefox na notebooku, kde je taky RAID1 + mdcrypt (dva disky ha!) a nic zvlastniho se nedeje, muzu tam ten benchmark taky pustit...

SNMP nepouzivam, nejsou chyby disku v dmesg? nevyhazuje to jeden z disku z pole? co rika /proc/mdstat ?

a nemas zapnuty write-intent bitmap? to hodne nici write-performance:
http://blog.liw.fi/posts/write-intent-bitmaps/

vypni takto:
Kód: [Vybrat]
mdadm --grow --bitmap=none /dev/md0

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #7 kdy: 12. 07. 2011, 16:34:02 »
Disky jsou v poli oba v pohodě, sync je ok, za posledních X měsíců nebyl jedinej trabl (teda co se vyhození disku nebo rebuildy týče).

Do dmesg se musim mrknout zase až doma. /proc/mdstat říká, že [UU] (což by mělo být oba disky ok)

Bitmap zapnutý mám, ale můžu naprosto klidně říct, že bez něj to bylo stejný (resp. nereagování systému na desítky sekund bylo stejně častý... a jestli se t zasekl na 120 nebo 130 sekund, to už mě nevytrhne).

trubicoid2

Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #8 kdy: 12. 07. 2011, 16:56:19 »
no tu bitmapu urcite vypni

jeste by mohl byt problem, ze disky dlouho premysli ale pole je nevyhodi, pak by v dmesg bylo neco jako:
Kód: [Vybrat]
[478103.625483] ata4: exception Emask 0x10 SAct 0x0 SErr 0x40c0000 action 0xe frozen
[478103.625490] ata4: irq_stat 0x00000040, connection status changed
[478103.636086] ata4: hard resetting link
[478109.408129] ata4: link is slow to respond, please be patient (ready=0)
[478113.641132] ata4: COMRESET failed (errno=-16)
[478113.641142] ata4: hard resetting link
[478114.823097] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)

jeste muze ukazat nejaky chyby SMART:
Kód: [Vybrat]
smartctl -a /dev/sda
no a [UU] je dobre, nicmene jeste lepe je pustit check, jak uz jsem psal a pak kouknout na /sys/block/md?/md/mismatch_cnt, kdeby mela byt nula

na notebooku to jede mezi 81 a 134 sekundama a to taky mam jen 800MHz, takze to mozna zpomaluje dmcrypt

trubicoid2

Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #9 kdy: 12. 07. 2011, 17:14:44 »
jeste me tak napada, jestli mas nastaveny u disku ERC?

Kód: [Vybrat]
smartctl -l scterc /dev/sda
melo by byt:
Kód: [Vybrat]
smartctl 5.40 2010-10-16 r3189 [x86_64-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

SCT Error Recovery Control:
           Read:     70 (7.0 seconds)
          Write:     70 (7.0 seconds)

a nastavuje se treba
Kód: [Vybrat]
smartctl -l scterc,70,70 /dev/sda, ale to musis delat po kazdym startu, nebo u WD byla nejak utilitka na to WDTLER, ale zase nektery levny zeleny ne-RAIDovy WD to pro jistotu vubec nepodporuji

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #10 kdy: 13. 07. 2011, 11:26:37 »
trubicoid2: Ještě jsem nevyužil všechny hacky, které jsi naposílal, ale vypnul jsem alespoň bitmap a zkusil zápis 8GB velkýho souboru (jeden celej soubor, ne hodně malých) s pomocí dd s oflag=direct.

Docela jsem čuměl - na primárních discích (WD Green 1TB v RAID1 a používané - v době testu z nich jel desktop, ale nic jsem jako uživatel při tetu nedělal) jsem dosáhnul rychlosti zápisu ~1MB/s :o

Bez oflag=direct mám rychlost zápisu a to pole cca 66MB/s (8GB v jednom souboru).

Transactions v době testu s oflag=direct jsou ale podstatně rozdílné - zápis na pole md2 žádný, ale na discích to číslo dělalo 5000 (při zápisu bez oflag=direct to je 1000 na poli a po 150 na discích)

trubicoid2

Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #11 kdy: 14. 07. 2011, 12:11:27 »
ja mam taky WD Green 1TB a to WDC WD10EACS-00D, jeste s 512B sektorama a s podporou TLER, nemas ty nahodou ten novejsi s 4kB sektorama???

a pouzivas bs=1M ? a kolik mas pameti? a co souborovej system? noatime?

ja vyzkousim zapis primo na disk, to bys mohl taky udelat, vykopni jeden disk z pole a pak na nej muzes primo psat, radeji ale napred zazalohuj ...

a v dmesg ani v smartctl -a skutecne nic neni?

a write cache je zapnuta?
Kód: [Vybrat]
hdparm -W /dev/sda
Kód: [Vybrat]
/dev/sda:
 write-caching =  1 (on)

Kód: [Vybrat]
dd if=/dev/zero of=/dev/sda bs=1M count=8000
Kód: [Vybrat]
87MB/s
Kód: [Vybrat]
dd if=/dev/zero of=/dev/sda bs=1M count=8000 oflag=direct
Kód: [Vybrat]
75MB/s
a jeste cteni:

Kód: [Vybrat]
dd if=/dev/sda bs=1M count=8000 of=/dev/null
Kód: [Vybrat]
89MB/s
Kód: [Vybrat]
dd if=/dev/sda bs=1M count=8000 of=/dev/null iflag=direct
Kód: [Vybrat]
92MB/s

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #12 kdy: 16. 07. 2011, 13:53:25 »
Konečně jsem se dostal k testování.

Všechno kromě NCQ bylo ok. NCQ jsem vypnul jak jsi napsal.

ERC muj disk prej nepodporuje (říkal smartctl).

Rychlost checku pole (~50GB) byla 97MB/s
Rychlost čtení z disku (dle Tvého dd v posledním příspěvku) byla 106MB/s, když jsem přidal iflag=direct, tak 107MB/s.

Na zápis se necítím, dokud někam neuklidím data (odpojení disku od pole, test na solo disku, potom připojení, rebuild, kontrola - na to se nějak necítím, i když teoreticky vím, jak na všechno jmenovaný...).

Ještě je jeden možnej problém a to ten s 512B vs. 4kB sektory. Co jsem tak různě četl, kde se dozvim, jaký sektory mam, tak to vypadá na 512B. Filesystem nemam zarovnanej na 4kB a na pytlíku od disku o 4kB psáno je (i na nálepce na disku je cosi o Advanced format drive). O důvod víc data někam uklidit a začít odznova a pořádně...
Jinak smartctl o mých discích říká:
Kód: [Vybrat]
Device Model:     WDC WD10EARS-00Y5B1
Firmware Version: 80.00A80
User Capacity:    1 000 204 886 016 bytes
Víc je asi nezajímavý.

trubicoid2

Re: Testování softwarového RAID1 pole/HDD obecně
« Odpověď #13 kdy: 16. 07. 2011, 21:34:02 »
tak EARS ma prave 4k sektory, tim padem bys mel vse zarovnat, nova verze fdisku by to mela umet sama, ale zrejme bez zalohy a premazani vseho vcetne MBR a partition table se neobejdes

jeste muzes beze strachu otestovat write na swap partisnach, kdyz swap predtim vypnes pres swapoff -a

a zajimavy je v smartctl -a treba pending sectors nebo error log

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re: Testování softwarového RAID1 pole
« Odpověď #14 kdy: 19. 07. 2011, 10:53:09 »
Tak to vypadá, že teda vyhodim disk z RAIDu, předělam oddíly, přeleju data, udělam to samý na druhym a pak je zase dam do RAIDu...

Vlastně na tom druhym to udělam pomocí dd toho prvního, kde už oddíly budou ok a data taky, pak by se nemusel RAID rebuildit, ne?

Nemáš s tim zkušenosti? Že bych věděl do čeho jdu...

A jak si ověřit, že fdisk to nepodělal a zarovnal oddíly správně?