MacBook ProにHDD 2台を内蔵し、RAID 0化したら快適すぎる件 Tweet
「MacBook Pro 13-inch(Mid 2009) にHDDを2台搭載。1TBの容量を」でも紹介しましたが、MacBook ProにHDD(ハードディスク・ドライブ)を2台内蔵してみたわけですが、さっそく、Mac OS Xの機能を使い、ソフトウェアRAID 0化してみました。結論から言って、もう元の環境には戻れないと感じるくらいに快適です。
RAID 0のメリットとデメリット
RAID 0は「ストライピング」ともいい、複数の物理的なHDDを合わせて、論理的な1つのドライブとして見せるための仕組みです。データは均等に複数のディスクに書き込まれ、書き込み・読み込みの処理もそれぞれのディスクに対して並行して行えるため、より高速なアクセスが可能になります。一方、1台の物理的なディスクが故障しただけでも、全体へのアクセスができなくなる恐れがあり、故障の確率は1台のディスクのみの場合に比べ高まるというデメリットもあります。
ちなみに、RAIDとは「Redundant Arrays of Inexpensive Disks」の略で、はじめにRAIDが提案された論文ではRAID 1〜5のみが提案されていました。「Redundant」とあるように、「冗長性(一部が故障してもシステム全体には影響がない)」が必要とされていますが、上記のようにRAID 0には冗長性はなく、本来の意味では、RAIDとは呼べませんが、現在ではストライピングのことをRAID 0と呼ぶのが一般的です。
このように、データを失うリスクの高まるRAID 0ですが、高いパフォーマンスが得られるメリットもあります。MacBook Proのデータは、常にTime Machineで自宅のネットワーク上のHDDにバックアップされているため、RAID 0での運用にすることにしました。
RAID 0化の手順
RAID 0にするには、最低限2台の物理HDDが必要です。「MacBook Pro 13-inch(Mid 2009) にHDDを2台搭載。1TBの容量を」の手順で、2台のHDDを内蔵しました。なお、RAID 0にするには、2台のディスクの容量が同じである必要があります。異なるサイズのディスクの場合でも、小さなサイズのドライブの容量に合わせれば、RAID 0の構築は原理上は可能ですが、Mac OS Xのディスクユーティリティでどうなるかは未確認です。筆者の場合、2台の500GBのHDDを内蔵していますので、容量は1TBとなります。
あとは、以下の手順でRAID 0化をするだけです。RAID 0化する際に、HDDの中身は消去されてしまいますので、一旦外部のHDDにデータを退避する必要があります。そのため作業には、それなりの時間は必要です。まだ、2台目のディスクにはデータは置いていなかったのですが、2台目のディスクにすでにデータを置いている場合は、それらもバックアップします。
- Carbon Copy Cloner (CCC)を使い、内蔵の起動用(つまり、元々の起動ディスク)のHDDの中身を外付けHDDにバックアップします。今回は、FireWire 400接続のminiStack v2.5を利用しましたが、USB接続のHDDでもOKです。
- コピーした外付けHDD上のMac OS Xを使って、Macを再起動します。「システム環境設定」の「起動ディスク」で外付けHDDを指定すればOKです。
- ディスクユーティリティーを起動し、内蔵している2台のHDDを使ってRAID 0(「ストライプ化されたRAIDセット」)を作成します。
- 再び、Carbon Copy Cloner (CCC)を使い、外付けHDDの中身を、作成したRAID 0のディスクにコピーします。
- 「システム環境設定」の「起動ディスク」で内蔵のRAID 0のディスクを指定して起動すれば終了です。
Carbon Copy Clonerや、Mac OS Xで使えるHDDのフォーマットについては、「MacBook Pro 13-inch(Mid 2009)のHDDを換装し、容量をアップグレード」でも紹介していますので、くわしくはそちらをご覧ください。
ディスクユーティリティを使ってRAID 0のディスクを作成する
Mac OS Xの「アプリケーション」フォルダの下の「ユーティリティ」フォルダにある「ディスクユーティリティ」を使うと、RAID 0などのRAIDを構成することができます。ここで作られるRAIDはソフトウェア(Mac OS X)によって処理されます。今回はRAID 0を使用していますが、データの安全性のために、RAID 1(ミラーリング)としたり、異なる容量(同じ容量でももちろん可能)のHDD 2台を単純に連結し1台と見せるような「JBOD(Just a Bunch Of Disks)」である「連結されたディスクセット」を選択することもできます。
2台の内蔵ディスクを追加し、ボリュームフォーマットには「Mac OS 拡張 (ジャーナリング)」、RAIDのタイプには「ストライプ化されたRAIDセット」を選択します。RAIDセット名には、好きな名前をつけます。ここでつけた名前でデスクトップにHDDとして現れることになります。なお、この例では、「Macintosh HD」という名前をつけました。
オプションボタンを押すと、RAIDディスクのブロックサイズが指定できます。最適なサイズは、どのようなサイズのファイルが多く、どういったディスクアクセスが発生するかにより異なり、選択は難しいですから、今回はデフォルトの32KBとしています。
RAID 0の構築が終わると上記のような画面になります。RAIDを構成する個々の物理HDDはFinderからは見えず、RAID 0の仮想的(論理的)なディスクだけが見えるようになります。
Carbon Copy Cloner(CCC)でバックアップしておいた中身を、RAID 0のディスクにコピーしたらできあがりです。
気になるパフォーマンスは
気になるパフォーマンスですが、実際に使用した感じですと、アプリケーションの起動やVMware Fusion上のゲストOSの動作なども含め非常に快適です。客観的な比較のために、Xbenchによるベンチマークテストの結果を以下に示します。
測定は各5回行い、その平均値を使っています。ランダムアクセスによる読み出し性能はほんど変わらず、小さな(4KB)のブロック単位でのシーケンシャル(連続)アクセスによる読み出しでパフォーマンスが低下しているものの、全体的には2倍ほどのパフォーマンスが得られていることがわかります。
1台目はSSDにしたらというアイデアも頂きましたが、SSDならランダムアクセス性能も極めて高いので、1台目の起動ドライブとしてSSDを使い、大容量のデータ保存用に2台目としてHDDを使うというのもアリですね。
とはいえ、昔に比べ高速になった現代のHDD 2台によるRAID 0の構成は、価格と性能、容量のバランスもよく結構よいのではないかなと思います。特に、Mac OS X(Leopard以降)なら、Time Machineで外部ストレージへのバックアップも自動化できるので、データ消失のリスクも抑えながら、パフォーマンスも得られますので、RAID 0のメリットを活かすことができるでしょう。