サーバ用途のハードウェア選びの基本

今日から開催しているInteropに行って、色々なハードウェアを見てきたのですが、そういえばサーバ用のハードウェア選びの基本って何がデファクトなのかなぁと思い、普段気にしていることを簡単にまとめてみました。ちなみに対象としているのは、ラックマウントタイプのサーバです。

まず、ハードウェア選びで基本となる部品はCPU、メモリ、ハードディスク、Raidカード、NICかと思います。スペックとしては、使用電力、値段を重要視しています。

0.新品か中古

新品はやはり値段が高いです。中古品は値段が安いです。

おそらく壊れる確率は中古の方が高いと思いますが、中古品でもハードディスクを新しいので使えば、1年くらいは問題ないだろう、という感覚で使っています。

メーカについては、基本同じメーカのものをそろえた方がよいでしょう。なんといっても、サーバ管理ソフトでサーバのMIBからの情報を取得したりするのに、毎回どうやってやるのかを調べるのは時間の無駄です。できるだけ、同じメーカのものを使っておけば、管理・設定が楽になります。

1.CPU

CPUの種類としては、XeonとOpteronの名前が分かっていればよいと思います。周波数は高ければ高いほどいい、というのが重要です。

最近は電源がネックになってサーバが増設できなかったりするので、CPUのTDPを調べるようにしましょう。「Xeon TDP」とか「Opteron TDP」で検索して、モデルナンバーで絞りながら検索すれば大体わかると思います。TDPが小さいものは省電力なので、お勧めです。

最新のCPUと1世代前のCPUでスピードがどれくらい違うのかはわかりませんが、古いCPUで問題を感じたことはありません。

大体の計算能力は周波数×コア数×プロセッサ数で計算してしまいます。CPUの世代とかでずいぶんと違うと思いますが、最新の高いサーバよりも、型落ちの安いサーバの方がお買い得な感じがします。

2.メモリ

メモリは増設することもあるので、慎重に選びましょう。

まず、メモリの種別として、DDR、DDR2、DDR3と規格が分かれていることを知っておきましょう。サーバ用途ではDDR2が一番今は多いと思います。

次に周波数の違いです。メモリは実際には「PC2-6400(DDR2-800)」のように表記されます。PC2とDDR2が規格を表していて、その後の6400 800が周波数を表しています。これがわかっていれば、増設時に買うメモリがわかります。周波数が高い方がメモリアクセスが早いと思いますが、あまり気にしたことはありません。

さらにECCなし, ECC non-Registered, ECC Registered, Full Buffered(FB-DIMM)に分類されます。ECCなしはUnbufferedと書かれることもあります。ECC non-RegisteredはUnbuffered ECCとなることもあります。それぞれがどう違うのかはあまりわかっていませんが、信頼性が高くなっているのでしょう(Wikipedia DIMM)。サーバ用途では、ECCなしのメモリはあまりないと思います。どのメモリが搭載されているのかは、ちゃんと調べましょう。

ただ、順番にメモリの値段も高くなっていくので要注意です。FB-DIMMよりもECC Registeredのメモリが搭載されているサーバの方が安く上がるので、うれしいです。最近は価格差もそんなにないとは思いますがやっぱり気になります。(なおメモリを買う場合、通販だとUser's Sideが安くてよいです)

サーバの基本的にサーバメーカ純正のメモリでなくても動いてくれ、という感覚でメモリの増設はしています。純正ではなくてもTranscendなど、ちゃんとしたブランドのメモリは動くことが多いと思います。が、決して動くことが保証されているわけではないので、自己責任で増設しましょう。それと、純正以外の部品を増設した場合、それだけで保証がなくなることもあると思うので要注意です。ただ、部品を増設して不具合が起きた場合、その部品を外して同じ不具合が起きれば、大抵の場合は保証されると思います。

本当はRankとかデュアルチャンネルとか、2枚セットじゃないと動かない場合とか、色々あると思いますが、そこはトライ&エラーで頑張りましょう(実を言えばそれほど僕も詳しくありません)。

3.ハードディスク

最低限RAIDは組んでおきたいので、ハードディスクは2台搭載できるサーバを選びます。そのサーバが動かなくなってもシステムが止まらないのであれば1台でもよいと思います。

ハードディスクはまず、大きさで分かれると思います。最近GoogleがSSDを使うらしく、そのうちメーカ製のサーバもSSDになるのかもしれませんが、現時点では気にしないでおきましょう。

3.5インチと2.5インチに分かれますが、2.5インチは高いです。特別な理由がない限り3.5インチを使った方が安く済みます。最近のサーバは2.5インチが増えてきているので個人的には困りものです。

さらにハードディスクの種類としてATA、SATA、SCSI、SASと別れています(他にもあるかもしれません)。

SCSIはU320とU160をよく見かけます(転送速度が違います)。さらにコネクタが色々あるので要注意です。かなり古くて安いサーバはATA、わりと新しくて安いサーバはSATAが主流だと思います。

SATAは回転数が7200のものが多いですが、SCSI・SASは15000回転まで普通に売っています(べらぼうに高いです)。そのため、単純に考えるとSCSI・SASの方が2倍くらいアクセススピードが速いということです。ただし、値段重視であれば、ぐっとこらえてSATAを選びます。

SATAであれば、秋葉原で8000円くらいで500GBが購入できます(今後もっと安くなると思います)。SASだと7万円くらいで145GBくらいすると思います(たしか)。SASはとにかく高いので、SATAの方が好きです。ただ、SATAは信頼性も低いようなので、故障率は上がるでしょう。ただ、Raid構成であれば、そんなに問題はないかなと思っています。

4.Raidカード

安い中古サーバを買うのであれば、ハードウェア、ソフトウェア問わずRAID構成にします。

HDDアクセスがそれほどないWebサーバであれば、オンボードのRaidでもソフトウェアレイドでもよいと思います。おそらくオンボードのRaidの場合、ソフトウェアレイドとアクセススピードはそれほど変わらないと思います。

DBサーバなどHDDアクセスが高い用途のサーバはなるべくRaidカードを使ったハードウェアRaidを使います。Raidカードのスペックを見るには、キャッシュの容量が重要です。それと、Raidカードのオプションでバッテリバックアップ付きのキャッシュメモリが増設できる場合は増設しています。オプションのキャッシュメモリはそれほど高くないのに、効果が絶大だと思っているからです。

5.NIC

NICは2個あることが望ましいです。なんとなくインターネット側とローカル側で別々のNICを使うためです。最近は1台のサーバでかなりのネットワークを裁けるので、1つのNICでDBサーバとのやりとりと、クライアントとのやりとりをするのは、やめた方が無難です。

ギガビットのスイッチを使っているのであれば、1000BASE-Tに対応しているほうが良いです。といっても最近のサーバであれば、大抵2つのNICがあって、1000BASE-Tに対応していると思います。

ざっと書いてみましたが、実際に購入するとなると、中古でデュアルコアのCPUが1つ、ECC Registeredのメモリ2GB、HDDは2台搭載可能、Raidカードなし、NICは2つ、くらいのサーバが大体10万円くらいで購入できると思います。これでも普通のWebサーバ用途であればまず問題ありません。最近だと電源がネックになるので、CPUが省電力のものを探すようにしています。