ハードウェアRAIDとLinuxカーネルによるソフトウェアRAIDのベンチマーク比較Validation Case Study(2/3 ページ)

» 2008年07月23日 03時26分 公開
[Open Tech Press]

シングルディスクでのパフォーマンス

グラフ1:シングルディスク条件での比較

 シングルディスクへのブロックアクセスでは、AdaptecカードのSATAコントローラーとオンボードのものの優劣ははっきりしない(グラフ1)。ファイルのメタデータ操作では、Adaptecカードの方が明らかに優れている。これは、このカードが256Mバイトのキャッシュメモリを搭載しているためだろう。興味深いのは、ブロック入力ではAdaptecカードよりもオンボードのSATAコントローラーの方が優れている点だ。もちろん、AdaptecカードはそもそもハードウェアRAID構成とはならないシングルディスクアクセス用に設計されてはいないため、こうした数値はカードのSATAポートが劣っていることを示すものではない。このAdaptecカードにはシングルディスクアクセスにおける明確な利点がないことから、今回の評価のソフトウェアRAID構成で同カードのコントローラーを使って6台のディスクをエクスポートしても、そのほかのソフトウェアRAID環境と比べて不当に有利な条件になることはないだろう。

RAID5のパフォーマンス評価

グラフ2:RAID5、256Kバイトチャンクでの比較

 最初に評価したRAID5のパフォーマンスで特に驚いたのは、ブロック入力(読み出し)でのソフトウェアRAIDの結果がかなり良かったことだ(グラフ2)。ext3ファイルシステムの場合、データ転送速度はハードウェアRAIDの330Mバイト/秒に対し、ソフトウェアRAIDは385Mバイト/秒だった。ブロック出力(書き込み)ではハードウェアRAIDが圧倒的に優れており、割り当てを調整したXFSファイルシステムにおけるソフトウェアRAIDの174Mバイト/秒に対してハードウェアRAIDは322Mバイト/秒と、ソフトウェアRAIDに比べて185%もアクセスが高速である。ただし、ext3ファイルシステムでのブロック出力では、ここまで大きな違いは出ていない。ブロック単位の再書き込みについては、ext3の場合はハードウェアRAIDもソフトウェアRAIDもほぼ同じだが、XFSの場合はハードウェアRAIDで128Mバイト/秒、ソフトウェアRAIDで109Mバイト/秒と差が出ている。

 RAID5でブロック出力の速度をブロック入力と同じくらい重視するのであれば、ハードウェアRAIDでXFSファイルシステムを選ぶとよいだろう。また、データベースサーバの実行など、データの書き直しが頻発する状況では、ハードウェアRAIDの利用によってソフトウェアRAIDよりも速度が15%以上向上する可能性がある。

RAID6のパフォーマンス評価

 Adaptec製SAS-31205カードは、ハードウェアとして1024Kバイトまでのチャンクサイズをサポートしている。RAID6の評価では、64Kバイト、256Kバイト、1024Kバイトの3とおりのチャンクサイズでハードウェアRAIDとソフトウェアRAIDのパフォーマンスを比較した。

 次のグラフ(グラフ3)は、チャンクサイズを256Kバイトにした場合のRAID6の評価結果である。ソフトウェアRAIDには速度面でのメリットがなくなり、ブロック入力だけがハードウェアRAIDに匹敵する結果になっている。ブロック単位の出力と再書き込みの各グラフも総じて同じような結果だが、全体的にブロック入力よりも速度が低い。RAID6におけるXFSのブロック出力は、ハードウェアRAIDで255Mバイト/秒、ソフトウェアRAIDで153Mバイト/秒である。

グラフ3:RAID6、256Kバイトチャンクでの比較

 RAID5ではディスク1台の障害にしか対応できないため、データ損失の可能性がそれなりにある。1台が故障して別のディスクに置き換えると、RAID5は新しいディスクのRAIDアレイへの取り込みを開始する。これはディスク性能が非常に大きく影響する作業で、5〜6時間かかることも多い。その間、RAIDの残りのディスクにアクセスが集中するため、今度はそれらのディスクに障害が起こる可能性が高くなるのだ。RAID6では、データの損失なしに2台のディスクの障害に対応可能なため、故障した1台目のディスクを置き換えている間に2台目のディスクが故障してもシステムは維持される。

 RAID6の出力値がRAID5よりも低いのは、RAID5の場合は1ブロック分で済むパリティの計算が2ブロック分必要になるからである。ハードウェアによるRAID6構成でXFSを利用したときのブロック出力では、目ざましい結果が出ている。データベースサーバのように再書き込みが多く発生するアプリケーションの場合はやはり、RAID6をハードウェアで実現した方が高速になる。


グラフ4:RAID6、IOzoneによる比較

 書き込みパフォーマンスの違いが目立つのが、XFSで256Kバイトチャンクという条件におけるIOzoneの結果を示したグラフである(グラフ4)。また、メインメモリのキャッシュに収まらないほど大きなファイルでは、全体的にハードウェアRAIDの書き込みパフォーマンスが高くなる。なお、ファイルのサイズが小さい場合にハードウェアRAIDのパフォーマンスが芳しくない点は、RAID10でのIOzoneによる書き込みベンチマークの結果にも現れている。


グラフ5:RAID6、64Kバイトチャンクでの比較

 グラフ5は、チャンクサイズを64Kバイトにした場合のRAID6の評価結果である。ソフトウェアRAIDの場合は、チャンクサイズが小さいほどブロック出力は高速になり、そのパフォーマンスはブロック入力よりも高くなっている。ただし、ブロック転送の結果を見る限りは、チャンクサイズを64KバイトにしてRAID6を実行する理由は見当たらない。


グラフ6:RAID6、1024Kバイトチャンクでの比較

 グラフ6は、チャンクサイズ1024KバイトでのRAID6の評価結果である。再書き込みにおけるハードウェアRAIDのパフォーマンスは、ソフトウェアRAIDの55〜60Mバイト/秒よりも10〜15Mバイト/秒ほど高い。しかし、それ以外の部分については、 RAID6でチャンクサイズを1024Kバイトにすることで、チャンクサイズ256Kバイトの場合に見られたハードウェアRAIDのメリットが失われてしまっている。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ