[ TOP | Recently ]

2013-07-24 raidframeチューニングふたたび

3T×5を買ってきてNetBSDのraidframeでRAID5を組んだのでメモっておく。NetBSD 6.99.22/amd64。

いつもハマるのがraid.confのSectPerSuの値とnewfsのblock-size/fragment-size。
ちょっと変えるだけで劇的に速度が変わるとか罠杉だろう。

SectPerSU は raid0.conf の↓の値。

START layout
16 1 1 5

2T overなので gpt を使う。gpt add -b 64 -s 5860533068 -t raid wd2 〜 wd6 とかやって、4k alignment にちゃんと合わせておく。
あとは上記SectPerSUの値とnewfsのblock-sizeとfragment-sizeを決める。

以前raidframeにした時は手作業で試してたのだが、さすがにアレなのでscript作ってブン回す。

以下、newfs、dd、tarで展開、rm、sync、tarで展開にかかった合計の秒数。

SectPerSU=16
			-f	2k	4k	8k	16k	32k	64k
	--------------- --------------- ------- ------- ------- ------- --------
	newfs -b 16k		1116	1036	922	1024			
	newfs -b 32k			296	257	297	100		
	newfs -b 64k				268	280	89	114	

SectPerSU=32
			-f	2k	4k	8k	16k	32k	64k
	--------------- --------------- ------- ------- ------- ------- --------
	newfs -b 16k		905	735	686	452			
	newfs -b 32k			473	307	293	331		
	newfs -b 64k				670	406	433	559	

SectPerSU=64
			-f	2k	4k	8k	16k	32k	64k
	--------------- --------------- ------- ------- ------- ------- --------
	newfs -b 16k		1010	671	542	509			
	newfs -b 32k			505	411	369	353		
	newfs -b 64k				456	337	303	353	

SectPerSU=128
			-f	2k	4k	8k	16k	32k	64k
	--------------- --------------- ------- ------- ------- ------- --------
	newfs -b 16k		961	626	509	417			
	newfs -b 32k			514	376	395	309		
	newfs -b 64k				465	395	349	404	

…raidのblocksize以下になると遅くなるのは当然だが、それでもいまいち傾向がよくわからない。
あまり深く考えるのはやめて、一番速かった SectPerSU=16、newfs -b 64k -f 32k で使うことにしよう。
1ファイル平均16kb無駄になるんで、うちの環境の場合11Tのうち0.5Tくらい無駄になる予感。


EOF