2009年9月25日金曜日

raid組み直しとか

0. 環境
Debian etch
md0 : sd[abcdijkl]1 : raid6 : 旧共有領域 (0.5Tx8)
md1 : hd[ac]1 : raid1 : /
md2 : sd[efgh]1 : raid6 : 新共有領域 (1.5Tx4)

1. md2作る
# fdisk で全領域を fd (linux raid autodetect) に
# mdadm --create /dev/md2 --level=6 --raid-devices=4 /dev/sd[efgh]1
ログなくなっちゃったけど2000分くらいかかる。
# mkfs -t xfs /dev/md2
# mount

2. パフォーマンスとか
bonnie++
md1 : ext3 : active raid1 hda1[0] hdc1[1]
195358336 blocks [2/2] [UU]
Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
fs 2G 39256 94 58056 33 30280 12 43081 93 67794 8 286.3 1
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 27256 95 202709 98 35647 100 33774 98 712408 86 65430 99
fs,2G,39256,94,58056,33,30280,12,43081,93,67794,8,286.3,1,16,27256,95,202709,98,35647,100,33774,98,712408,86,65430,99

md0 : ext3 : active raid6 sdi1[0] sda1[1] sdj1[7] sdc1[6] sdl1[5] sdb1[3] sdd1[2]
2930255232 blocks level 6, 64k chunk, algorithm 2 [8/7] [UUUU_UUU]
Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
fs 2G 34189 79 71559 26 37397 34 34665 93 72247 90 309.9 2
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 27295 97 223115 98 55352 98 51261 100 771741 94 67602 100
fs,2G,34189,79,71559,26,37397,34,34665,93,72247,90,309.9,2,16,27295,97,223115,98,55352,98,51261,100,771741,94,67602,100

md2 : xfs : active raid6 sdh1[3] sdg1[2] sdf1[1] sde1[0]
2930271872 blocks level 6, 64k chunk, algorithm 2 [4/4] [UUUU]
Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
fs 2G 17167 42 19624 5 18450 9 39913 95 117222 22 319.2 1
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 1001 13 312284 99 818 9 799 12 340567 99 604 8
fs,2G,17167,42,19624,5,18450,9,39913,95,117222,22,319.2,1,16,1001,13,312284,99,818,9,799,12,340567,99,604,8


degradedな状態だと読み出しが遅い。sd[e-l]はPCIのSATAボード(SATA4P-PCI)なんでかなり遅い。でもPCI-Eささらないし仕方ない。
しかし書き込み20MB/sはかなり厳しい。MB上のポートと差し替えよう。

3. データをコピー
ファイルをリストアップしてファイル要領とファイル数から進捗を表示しつつ cp -dp を呼び出すスクリプトをrubyで書いたりした。#?'あたりの文字が入っているファイルの処理がめんどくさい。system で cp 呼ぶとシェル展開されてしまうので。FileUtils.cpを使えば楽だったのだが遅いから。。。
2.5T位のコピーに二日ほど費やす。

4. md0を止めてbadblocksかけてみる。
$ time sudo badblocks -w -s -v /dev/sda -o sda.badblocks.list
Checking for bad blocks in read-write mode
From block 0 to 488386584
Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: done
Reading and comparing: done
Testing with pattern 0x00: done
Reading and comparing: done
Pass completed, 1 bad blocks found.
sudo -H badblocks -w -s -v /dev/sda -o sda.badblocks.list 3245.58s user 4458.92s system 13% cpu 15:52:55.61 total

b-d,i-lも同じように。時間だけ。kさんはお亡くなりです。
/dev/sda  3245.58s user 4458.92s system 13% cpu 15:52:55.61 total
/dev/sdb 3232.28s user 4429.34s system 13% cpu 16:09:01.70 total
/dev/sdc 3237.38s user 4434.32s system 13% cpu 16:03:13.59 total
/dev/sdd 3232.08s user 4419.84s system 13% cpu 15:49:45.83 total
/dev/sdi 4402.54s user 5483.82s system 9% cpu 29:20:30.98 total
/dev/sdj 3649.91s user 5327.11s system 7% cpu 31:50:57.78 total
/dev/sdl 3899.58s user 5269.09s system 7% cpu 32:39:24.85 total

やっぱPCI遅い。。。
んで結果。
$ for f in sd?.badblocks.list; do
for> echo $f
for> cat $f
for> done
sda.badblocks.list
134217664
sdb.badblocks.list
134217664
134217665
134217666
134217667
134217668
134217669
134217670
134217671
134217724
134217725
134217726
134217727
sdc.badblocks.list
134217664
sdd.badblocks.list
134217664
sdi.badblocks.list
134217664
sdj.badblocks.list
134217664
sdl.badblocks.list

mdadmは134217664のセクタに恨みでもあるのだろうか。lさんには出てないので必ず壊すわけでは無いようだが。
bさんは危ない気がする。

5. せっかくなのでlennyにあげて旧領域は6本で組み直し。
md0 : active raid6 sdb1[6](S) sdk1[5] sdj1[4] sdi1[3] sdd1[2] sdc1[1] sda1[0]
1953535744 blocks level 6, 64k chunk, algorithm 2 [6/6] [UUUUUU]
Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
fs 3G 24033 70 108479 31 40912 16 39820 98 229305 50 409.6 2
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 2237 18 316997 100 1879 13 2483 22 362276 88 1162 9
fs,3G,24033,70,108479,31,40912,16,39820,98,229305,50,409.6,2,16,2237,18,316997,100,1879,13,2483,22,362276,88,1162,9

やっぱこのくらいの速度はほしい。100M/s出ないとGbEで負けちゃうし。

0 件のコメント: