SourceForge.JP: Open Source Software

Login Create Account Help
Search

[RSS]OpenSource Downloads

(10,577) Cabos
(1,870) 7-Zip
(1,597) Tera Term
(1,020) CrystalDiskInfo
(1,019) HandBrake Japanese Language Version
(867) ギコナビ
(738) Amateras
(653) VirtualDubMod-jp
(590) Tween - client software of Twitter
10  (476) ffdshow
11  (473) MergeDoc
12  (466) CrystalDiskMark
13  (333) WordPress Plugins/JSeries
14  (316) Gutenberg Labo
15  (305) BathyScaphe
More >>

最近ブックマークされた記事

Magazine 最新特集記事

大幅なスペックアップで生まれ変わった超小型Linuxサーバー「OpenBlockS 600」徹底活用

 超小型のLinuxサーバーとして有名な「OpenBlockS」に、大幅なスペックアップが施された新モデル「OpenBlockS 600」が登場した。そこでOpenBlockS 600の仕様を紹介するとともに、ルータ・ブリッジとしての利用やネットワークの管理・監視への利用など、実運用に向けての利用例やセットアップ例を解説する。

新しくなったインテル コンパイラー 11.1日本語版を使って最新環境向けビルドにチャレンジ

 ンテル コンパイラー 11.1を利用し、より高速なプログラムを作成するためのテクニックや、インテル コンパイラーで採用されているC++0xやOpenMP 3.0といった新機能を紹介する。また、インテル コンパイラーでオープンソースソフトウェアをコンパイルする試みについても紹介しよう。

ハードウェアRAIDとLinuxカーネルによるソフトウェアRAIDのベンチマーク比較

2008年07月17日 10:55AM 1 2 3 4 5
  • スラッシュドットにタレコむ
  • あとで読む
 新しいサーバに高価なハードウェアRAIDカードを付けることで、ディスクアクセスの速度はどれほど向上するのだろうか。LinuxカーネルによるソフトウェアRAIDとハードウェアRAIDカードのパフォーマンスの違いはベンチマークで評価できる。私の環境でこの2つの条件を評価したところ、いくつか興味深い結果が得られた。

 ソフトウェアRAIDとハードウェアRAIDの双方について、750GBのSamsung SATAドライブ6台を使ってRAIDレベル5610の各構成を評価した。パフォーマンスの測定にはBonnie++IOzoneの各ベンチマークを用いた。また、チャンクサイズがハードウェアまたはソフトウェアのRAID構成に与える影響を確かめるために、チャンクの大きさを変えてベンチマークを実行した。

 ハードウェアRAIDの評価には、12ポートのAdaptec製SAS-31205 PCI Express RAIDカード(市価800ドル)を用いた。ソフトウェアRAIDのほうは、64ビット版Fedora 9システムのLinuxカーネルによるソフトウェアRAID機能を対象とした。評価用マシンにはAMD Athlon X2(2.2HGz)プロセッサと2GBのRAMが載っている。ソフトウェアRAIDを使ったファイルサーバなら、クアッドコアCPUや8GBか16GBのRAMを搭載していてもよさそうだが、上記マシンで得られたハードウェアRAIDとソフトウェアRAIDのパフォーマンスの相対的差異は、他のマシンにおける両者のパフォーマンスの違いを知るうえでも参考になるはずだ。評価は、各パーティションのサイズが同じ6台のハードディスクに分散させた100GBほどの領域に対して行った。RAID作成の時間を短縮するために、空きディスクスペース全体を使うことはしなかった。

 テストマシンのマザーボードにはSATAコネクタが4つしかなかったので、6台のSATAドライブで評価を行うにはある部分で妥協が必要だった。そこで、1台のドライブをマザーボードのSATAコントローラで評価したうえで、AdaptecのRAIDカード経由でシングルディスクとしてエクスポートし、AdaptecのRAIDカードが単独ディスクへのアクセスに与える影響を確認した。その後、6台のHDDをAdaptecのRAIDカードに接続し、それぞれを単独の非RAIDボリュームとしてLinuxカーネルにエクスポートした。ソフトウェアRAIDの評価は、Adaptecカード経由でアクセスされる、これら6つの単独ボリューム上にRAIDを作成することによって行った。6つのディスクボリュームをAdaptecカード経由で用いる利点は、RAIDの実行にハードウェアRAIDチップを使った場合とLinuxカーネルを使った場合を直接比較できることにある。どちらの場合も、各ドライブが接続しているSATAコントローラは同じものだからだ。マザーボードのSATAコントローラを使用する場合とAdaptecカードのものを使用する場合のそれぞれでシングルディスクアクセスのベンチマークを取れば、SATAコントローラの違いによる影響がわかる。幸いなことに、単独ディスクへのアクセスに関しては、どちらのコントローラにも特に大きな利点はない。よって、6台のディスクに個別にアクセスし、その上でソフトウェアRAIDを実行した場合の数値は、ほかのSATAコントローラを使った場合と大きく異なることはなさそうだ。Adaptecカードを使って単独のボリュームにアクセスした場合とオンボードのSATAコントローラを利用した場合のパフォーマンスの違いがわかったので、以降ではハードウェアRAIDとソフトウェアRAIDのベンチマークの差に注目することができる。

 今回の評価には、ext3とXFSの両方のファイルシステムを使った。これらのファイルシステムの作成は、可能な場合にはRAIDのチャンクとストライドを指定して行った。また、マウント時のオプションとしてext3にはwritebackとnobh、XFSにnobarrierをそれぞれ使用した。書き込みバリアを使うとAdaptecカードの時間的ペナルティが非常に大きくなりそうなので、AdaptecカードでXFSを使用するなら、書き込みバリアは使わずに、UPSとバッテリバックアップを使ってメタデータを保護するのが賢明だ。こうした割り当てオプションに加えて、XFSファイルシステムの作成では「lazy-count=1」を指定した。これにより、ファイルシステムのスーパーブロックに対する書き込み競合が減少する。

 以下に示すグラフの凡例を理解するには、各ファイルシステムの作成条件について知っておく必要がある。“hard”で始まっているものはすべてハードウェアRAID構成である。たとえば、“hardext3aligndef”は「-E stride」を使って作成され、特別なオプションを使わずにマウントされたext3ファイルシステムであり、“hardext3alignwb”は「data=writeback,nobh」オプションを使った点だけが“hardext3aligndef”と異なる。また、“xfsdefaultnb”というXFSファイルシステムは「lazy-count=1」で作成され、「nobarrier」オプションでマウントされたもの、“hardxfsalign”は特定のRAID構成に対してストライドとチャンクサイズを指定した点以外は“xfsdefaultnb”と同じもの、“xfsdlalign”はXFSジャーナルにストライプ割り当てを使用した点が“hardxfsalign”とは異なる。ソフトウェアRAIDの場合は、“ext3”がハードウェアRAIDの“ext3alignwb”の構成に相当し、“xfs”、“xfslogalign”はそれぞれハードウェアRAIDの“hardxfsalign”、“hardxfsdlalign”にあたる。

 各グラフからわかるように、XFSファイルシステムをストライプ境界に割り当てると、作成や削除といったファイルシステムのメタデータ操作の速度がかなり違ってくる。構成のバリエーションをブロック転送のグラフでも示したのは、こうしたファイルシステムのパラメータの影響がメタデータ操作だけでなくブロック転送速度にも現れるからだ。なお、グラフは載せてあるが、本稿ではメタデータ操作のベンチマークについては詳しく取り上げない。明らかにわかるのは、ハードウェアRAIDの場合はext3でのランダム生成および削除の操作がかなり高速なことだ。

Ben-Martin(2008年7月15日(火))
2008年09月16日 05:07PM 更新