« 2007年11月 | メイン | 2008年04月 »

2008年03月28日

DELLサーバ SATA+RAID1でI/Oパフォーマンスがよくない?

最近、またDELLサーバでハマったことがありました。
SC1435にCentOS 5.1で仮想化パッケージを含めてインストールし、XenホストOSとして起動したところ、下記のようにI/Oパフォーマンスが異常に悪いという現象が発生しました。


  • XenゲストOSとしてCentOS5.1をDVD-Rからインストールするのに6時間以上かかる
  • XenゲストOSとしてCentOS5.1をネットワークインストールするのに2時間半ぐらいかかる
  • 4GBのファイルをコピーするのに20分かかる

いろいろなキーワードでググッて、たどり着いたのがこれ↓
http://www.dellcommunity.com/supportforums/board/message?board.id=pes_hardrive&thread.id=24696&c=us&l=en&cs=19&s=dhs

raiddude さんによると

The reason for the poor performance is that on SAS5/IR mirrored arrays,
the disk write cache is disabled. On SATA disks this results in a
massive performance loss on writes, much like what you're seeing.

Recommended solutions would be to either install just to single disks
and Linux SW RAID, or use a RAID 0, both of these will have the disk
write cache enabled.

購入時のカスタマイズで、ハードウェアRAIDのために選択したコントローラーSAS5/iRですが、どうやらSAS向けのもののようで、SATAのRAID1ミラーリングだと書き込みキャッシュが効かないようです。解決策としては、


  • RAIDコントローラーを無効にして、Software RAIDを使う
  • RAID 0とする

のいずれかにすれば書き込みキャッシュが効くのでよいのでは、とのこと。

結局、ハードウェアRAIDはあきらめ、BIOSの設定でRAIDコントローラーを無効にして、ソフトウェアRAID1として再度CentOSをインストールし直しました。
するとI/Oパフォーマンスが約10倍ほどアップし、問題が無事改善されました。

というわけで、サーバ機器の購入時にはデバイスの選択に要注意。
とくにI/Oデバイスはパフォーマンスのボトルネックになりやすい箇所ですしね。
本当はSASにできると故障率が低く、回転数も上がるのでよいのですが。
500GB 7200回転のSATAを基準としてギガバイトあたりの単価を比べると、10000回転のSASは3.4倍、15000回転のSASは4.6倍と、まだまだ高価です。
費用対効果を考慮して、I/Oアクセスが激しいDBサーバなどではSASを使用し、比較的I/Oアクセスが軽いWebサーバではSATAを使用する、という使い分けをすることになるでしょう。

(2008.04.16追記)
その後、naoyaさんのはてなダイアリーで、
「SC1435 + SATAの構成で、3ware 9650SE-4LPMLというRAIDカードを使っている。」
という情報を見つけました。
比較的安価でI/Oパフォーマンスをアップできそうなので、うちでも試してみたいと思っています。

(参考)
さくらインターネット移行記#3 はてなブックマーク移転 - naoyaのはてなダイアリー
http://d.hatena.ne.jp/naoya/20070328/1175067451