昔は disk I/O だけ意識しておけばよかったんですけど、最近はそうでもなさそう。
シャドウコピーを有効に出来ない
Windows Server 2003 から使えるようになった Volume Shadow Copy Service (VSS)。これ非常に便利ですよね。ですけど、これ利用するためには disk 容量に比例して memory を相当消費するらしい。
Scalability Factors for Shadow Copies
う~む。結構食いますのぅ。10 TB くらいになると 32bit OS はっきりいって使えんやん。これから構築するなら間違いなく 64bit ですね。
File server の場合、disk I/O を削減するために memory を大量に積んで置くべきですしね。大容量の memory support はやっぱり必要でしょう。
そういえば以前から Windows Storage Server というのがありましたが、これ 64bit 版あるのかな~?と思いちょっと調べましたが、どうやら無さげ。なんでやねん! Windows Storage Server なんて file server 以外に利用しないんだから、真っ先に 64bit 化するべきだと思うけど。ついでに 2008 はまだ出ていないらしい。2008 は 64bit only でもいいんじゃない?
ということで、現在 Windows で file server を構築する場合、OS が利用する memory (利用する user の session 数を検討する必要あり) + VSS で見込まれる部分 + cache を考慮して見積もることになりますね。Memory は多めに積んどけば system cache で有効活用されるでしょうから、まあ現実的な費用の範囲内でできるだけ積んどけってことで。
ずっと memroy について書いてきましたが、CPU はどうでしょう。こちらは圧縮と EFS の利用状況によると思います。容量制限が厳しいと圧縮を使いまくりますね。これらを全く利用しないのであれば正直どうでもいいでしょう。
Disk は performance, 信頼性重視なら SAS。容量、価格重視なら SATA になるでしょう。最近は SATA でも hot plug に対応しているものが多いので、SATA という選択肢が増えてきましたね。
で、もち RAID にするのが当たり前ですが、費用面から一般的に RAID 5, RAID 6 を選択することが多いでしょう。RAID 5 を利用するか RAID 6 を利用するかは disk の本数により変わってきます。個人的には 8本あたりで使い分けるかな。
RAID 5, RAID 6 を利用する場合、software RAID は絶対にお勧めできません。Performance ガタ落ちです。安物ではなくちゃんとした array controller 利用しましょう。安物は本当の意味では software RAID になります。んまあ、普通に大手 vendor で server 手配した場合には問題ないですけど。
Performance を少しでも高めたいのであれば、disk の本数を増やしてください。RAID 5 で HDD 3, 4 本くらいでは、どんな array controller 積んでいても満足な performance 得られません。