« RAID0+1とRAID1+0の違い | Main | 【ストレージ】パフォーマンスを上げるキャッシュ容量の考え方 »

September 09, 2004

【ストレージ】パフォーマンスを上げるHDD構成の考え方

(2016/5/29追記: 記事執筆当時と違って現在はフラッシュストレージ、仮想ストレージ、様々なキャッシュ、安価なiSCSI等、技術が進歩しているので下記の内容は古くなってしまいました。)

ハイエンドストレージの導入を検討することになった場合悩みどころがたくさんあります。思いつくことを挙げるだけでもメーカー、モデル、ディスク実容量、ディスク本数、RAID構成、キャッシュ容量、ファイバーチャネル本数、FCスイッチポート数、パーティションのきり方とデータの載せ方等々いろいろあります。いずれこれら全てのポイントについてこのBLOGの中で触れてみたいと思うのですが、今回はその中でも特にディスク総容量とディスク本数の話題に触れてみたいと思います。(ちなみにディスクのインタフェースにはS-ATA、SCSI、FC(ファイバーチャネル)等いろいろありますがハイエンドストレージの場合はS-ATAやSCSIを選ぶことは考えにくいのでここではFCを前提で考えます)

【ディスク実容量の決め方】
例えば現在データが50GB、年内100GB、来年末に200GBになることが見込まれているとした場合、どれくらいのディスク実容量にするのが妥当だと思いますか? ここで判断のために重要となるの今何が問題なのかです。すなわちディスク容量が足りないことが問題なのか、単にDASからNAS/SANへ移行することだけが目的なのか、もしくはパフォーマンスが遅いことが問題なのかということです。

ディスク容量が足りないことが問題な場合や、DASから単にNAS/SANへ移行することだけが目的な場合では、必要な分のディスク総容量を用意すればよいでしょう。それが200GBなのか300GBなのか500GBなのかはどこまで余裕を持たせるかということなので価格と予算を見て決めればよいでしょう。

それに対してパフォーマンスが遅いことが問題な場合。この場合はちょっとパラダイムシフトが必要です。パフォーマンスを上げるためにはディスク本数が多ければ多いほど良い。よってディスク総容量は大きければ大きいほど良いです。現在データが50GBなのだとしたら、例えば1TBとか10TBとか、それくらいディスク総容量を持つくらいの勢いで行くのがよいと思います。

【パフォーマンスを上げるためのディスク本数の決め方】
パフォーマンスを上げるための基本的な考え方を記します。

① HDD回転数が最大のものを選ぶ。(現在であれば15000rpm)
② HDD容量が極力小さいものを選ぶ。(が、製造中止の恐れのあるものは選ばない)
③ ①と②のものをたくさん並べてストライピングする。

ストライピングは偉大です。どんなにディスクI/Oが高いシステムであっても、基本的にストライピング本数を増やせば増やすほどディスクI/Oが分散されるのでレスポンスが上がっていきます。また現在HDD回転数が15krpmのものは18GB,36GB,72GBになると思いますが、18GBのHDDはそろそろ製造中止が予想されるので選ばないことが無難そうです。36GBもそろそろ危ないかもしれないです。そんなわけで、72GB(15krpm)か36GB(15kpm)のHDDを横にたくさん並べてストライピングするというのがよいと思います。(ただしストライピングとはいっても実際はRAID1+0構成を選択すべきなのは言うまでもありません)

同じ144GBでも下記の3パターンの中では(3)がパフォーマンス最速
 (1)144GB(10krpm): [HDD]
 (2) 72GB(15krpm): [HDD][HDD]
 (3) 36GB(15krpm): [HDD][HDD][HDD][HDD]

【ストライピング可能本数はシャーシによってまちまちである】
ただしストライピング可能本数が、ストレージ本体によってまちまちであることに要注意です。4本、8本、16本、もしくはまれに無制限というものもあります。これはメーカーによってもばらばらですし、同じメーカー内でもばらばらなことが多いです。カタログにこの制限が書いてないこともありますのでその場合は代理店さんに質問するのがよいでしょう。

ただしこの制限を回避する裏技もあります。それはソフトウェアRAIDを使うことです。ハードウェアRAIDによるストライピンググループをソフトウェアRAIDで束ねるという方法です。ソフトウェアRAIDを使うことは特にWindows Serverではとても不安がよぎりますが、安定性を謳うハイエンドUNIXサーバやメインフレームの世界では意外と現実的だったりします。

|

« RAID0+1とRAID1+0の違い | Main | 【ストレージ】パフォーマンスを上げるキャッシュ容量の考え方 »

Comments

144Gの15krpmがもう既に市販されているのですね。
かなり昔の話だったらすみません。
目が飛び出るほどは価格も変わらないので今後は144Gで組めますね。

Posted by: k@g | July 06, 2005 06:16 PM

うちの会社では U320SCSI の 300GB を数百台使っています。
新しいHDDほど メディア密度、コントローラCPUなどの性能が
高いので、速いです。
同じ密度でも 新型の方が速いです。
メーカカタログの最大連続転送レートと フォーマット時間を
比較すると 速いディスクを探すことができます。

また 最近のU320SCSIドライブは、中に入っているメディアが
小さいので、シークも速いし、最低転送レートも速いです。
ATA系は 24時間動作保証していないHDDも多く、最低転送
レートも保証していないので、普通サーバやRAIDには
使えません。それを無理に使っている製品多いですけどね、、

Posted by: sugipooh | August 08, 2005 01:14 AM

ストライピングでスピードを上げるには
各HDDの 外側だけ 10%ぐらいだけ
使う方法があります。
300GBなら 30GBだけ 10台で 300GB。
最近の汎用機のRAIDに使われている
そうです。
ぜいたくですね。でも 速そう、、。

Posted by: sugipooh | August 08, 2005 01:23 AM

> ストライピングでスピードを上げるには
> 各HDDの 外側だけ 10%ぐらいだけ
> 使う方法があります。

こんなものがあるんですね。具体的にどこのメーカーの製品で採用されていますか?

Posted by: sanonosa | August 08, 2005 01:59 PM

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference 【ストレージ】パフォーマンスを上げるHDD構成の考え方:

« RAID0+1とRAID1+0の違い | Main | 【ストレージ】パフォーマンスを上げるキャッシュ容量の考え方 »