MacDTV.com |
RAID |
2003.07.20初稿
2005.08.25改訂 |
Macで始めるDTV トップページ >> 基礎知識編 |
RAID(Redundant Arrays of Inexpensive Disks)は、複数のHDDをまとめて、あたかも1台のハードディスクであるかのように利用する技術のことで、ディスクアレイとも呼ばれます。複数のHDDにデータを分散して記録するので、高速化や安全性向上を図ることができます。
ハードウェアRAIDとソフトウェアRAIDの2方式があります。Mac OS X付属のディスクユーティリティを使えば、ソフトウェアRAIDが実現できます。
ご注意 この記事はRAIDについて詳しく書いていますが、だからといって、DTVにはRAIDが必須だ、と主張している訳ではありません。RAIDの必要性については、RAIDの目的・仕組み、メリット・デメリットなどをご理解の上、ご自身でご判断下さい。
DTVは敷居が高いのねぇと引いてしまわれるのが、私としては逆に怖いので、念のためお断りしておきます(笑)。
RAIDの仕組み
RAIDの目的は、高速化and/or冗長化(による信頼性向上)です。これらは、どのような仕組みで実現されるのでしょうか。
高速化
一般的に、HDD読み込み・書き込みの実行速度は、HDD単体の能力に依存します。たとえば、いかに高速なインターフェース(ATAやSCSI、FireWire)を使用しようと、遅い・旧世代のHDDを使用したら台無しなのはいうまでもありません。
例えば、SATAの理論転送速度は150MB/sですが、一方、HDD内部の読み書き速度は、せいぜい数十MB/s程度です。
例)Barracuda 7200.7シリーズのスペックシートを見ると、持続転送速度は"32〜58 MB/s"と記載されています。
逆にいうと、2台のHDDを接続しても、インターフェース側にはまだまだ余裕があることがわかります。ここに、RAIDによる高速化の余地があります。つまり、シングルHDDで処理しきれないのだったら、ならば、複数のHDDを用意して分散書き込みすればよい、という発想から生まれたのが、RAID 0、別名 ストライピングです。
安全性
一方、万が一のデータ消失を避ける、という要望もあります。なにしろ、非RAID環境では1台のHDDにしかデータ書き込みしていないのですから、この1台がクラッシュしたらデータは、この地球上から失われます。
もちろん、重要なデータは、定期的に(たとえば毎日)バックアップしているでしょうが、最後のバックアップからクラッシュ発生時までのデータは取り返しがつきません。そこで、「常時リアルタイムにバックアップ」といった発想から、RAID 1、別名 ミラーリングが登場しました。
RAID 0(ストライピング)
RAID 0というモードでは、2台のHDDを使って、データを分散書き込みします。
以下、「0 1 2 3 4 5 6 7 8 9」というデータを書き込むケースを例に説明してゆきます。
速度
2台のHDDに分散して書き込むため、約1/2の書き込み時間で済む(=2倍の書き込み速度)、というのが、RAID 0(ストライピング)の仕組みです。下図の例でいうと、1台には「「0 2 4 6 8」を、もう一台には「1 3 5 7 9」を書き込むことで、所要時間を短縮しようとするものです。
ただし、実際のところ、2台だから2倍速、といった単純にはゆかず、実行値として1.7〜1.8倍速になれば御の字です。
使用するHDDは、なにも2台に限らず、3台、4台...と増やしてゆくことも可能ですが、一般論として、4台以上になると頭打ちになることが多いようです(使用するHDDの性能自体と、インターフェースの組み合わせによって異なりますが)。
容量
ストライピングでは、高速化の恩恵の他、大容量のボリュームを作ることも可能です。たとえば、250GBのHDDを2台ストライピングした場合、ボリュームの容量は500GBになります。
安全性
一方で、高速化の代償も忘れてはいけません。1台のHDDがクラッシュした場合、(運が良ければ1台分(例では250GB分)のデータを失うだけで済むこともありますが、基本的には)2台分(例では500GB分)のデータを丸々失う羽目になります。
RAID 1(ミラーリング)
一方、RAID 1というモードでは、複数台のHDDに対して、同一データを常に書き込むことで、データを分散・保護します。下図の例では、同一内容のデータ「0 1 2 3 4 5 6 7 8 9」を2台のHDDに書き込むため、万が一、あるHDDがクラッシュした場合でも、他のHDDからデータを読み出すことができます。
速度
処理時間は、通常モードとほぼ同じ(かわずかに遅い)なので、高速化には全く寄与しませんが、なにしろ、同一データを複数台のHDDに記録するので、冗長化による信頼性の向上が達成されます。
容量
たとえば、250GBのHDDを2台ミラーリングしても、3台ミラーリングしても、Finderで認識されるボリュームの容量は250GB。
安全性
容量的に(そして費用的にも)もったいないことは確かですが、それを"安全"のためにどこまで投資できるか、ということなのでしょう。
RAID 5
RAID 5という方法もあります。例えば、
3台のHDDを利用し、データは必ず2台に書き込んで冗長化ししつつ、しかもパリティデータ(データ復旧の際に使用)も分散書き込みする
といった方法です。ただし、このRAID 5は、RAID 1(ミラーリング)の欠点の改善、すなわち、
容量の無駄の改善(例えば、250GB HDDを3台で使った場合、ミラーリングだと250GB、RAID 5なら500GB使える)、
信頼性のさらなる向上(データ復旧の際にパリティデータを利用できる)
に主眼がおかれており、高速化は図られていません(原理的にも、ミラーリングに比べても、パリティデータ生成の分、処理時間が掛かってしまう)ため、DTV用途には向いていません(主に、サーバ用途で用いられます)。
このように、高速化は図られるけれど万が一のクラッシュが怖いRAID 0(ストライピング)と、冗長性は確保されているけれど速度向上効果がまったくないRAID 1(ミラーリング)。どちらを選べばよいのでしょう。
基本的に、DVベースのアマチュアDTVならば、最新のMac機種を使う分には、ストライピングによる高速化が必須ではありません。ストライピングによる高速アクセスで編集作業が快適になることは確かですが、だからといって、ストライピングしないシングルHDDだったら、DVキャプチャーでコマ落ちして使いものにならなくて困る、ということもありません。まあ、自己満足の世界でしょうか(ただし、旧型PowerMacの場合は、ハードウェアRAIDカードによるストライピングをお勧めします)。
わたしの場合、DTV用のPowerMac G5は、内蔵SATA HDD 2台をストライピングしてます。一般用途(メールやら、MacDTV.com記事の作成・その素材データやら)用のPowerBook G4には、外付けFireWire HDDを2台つなぎミラーリングにより保護しています。
業務DTVの場合、使用するフォーマット(の転送レート)にもよりますが、基本的には、高速化を図るためにストライピングを掛けるのは結構一般的でしょう。一方で、業務用途なのですから、HDDがクラッシュしたときのリスクを考慮する必要もあります。締め切り前に全データ消失、というのでは目も当てられませんから。
RAID 1+0
そこで、ストライピングとミラーリングを組み合わせることで、高速化と冗長化の両方を目指すこともできます。通称、RAID 1+0ともRAID 10ともRAID 0+1とも呼ばれるこの方法により、RAID 1の冗長化とRAID 0の高速化の両方を享受することもできます。
HD非圧縮といったきわめてシビアな現場では、Xserve RAIDの独立した左右のバンク(各々7台のHDDまでを収納可能)をそれぞれ、Xserve RAIDのハードウェアRAIDコントローラによってRAID 5化し、さらに左バンクと右バンクとをストライピング(RAID 0)する、RAID 5+0なんて事例もあるようです。
片側のバンクでみると、400GBのHDDを7台つないだ場合 計2.85TBとなるところですが、RAID 5化により2.4TBのボリュームとして認識されます。この事例では、ふたつのバンクをストライピングする訳だから、Xserver RAID1台で4.8TB、ということになりますね。
ここまでいくと、一般的には縁のない世界(笑)ですが。
とはいえ、ハイアマチュア〜軽い業務DTVでも、普及しつつある外付けSATA
HDDを4台利用し、Apple RAIDの組み合わせによりRAID 1+0化というのも、あり、でしょう。
ディスクユーティリティを使用したRAID
ディスクユーティリティを使って、簡単にRAIDボリュームを作成することが出来ます。
MacDTV.com
|
Copyright(C)
Yasushi SATO All Right Reserved.
|