RAIDって何? データのバックアップは更に冗長化して故障に備えよう!

みなさんは思い出の写真や大切なデータをどのように保管していますか? 大容量の外付けハードディスクに入れて、特に何もせず増えるのを見ているだけでしょうか?それともデジカメで撮った写真をSDカードに入れたまま保管していたりしませんか?

データを保存するメディアは大丈夫だと思っていても、急に故障してしまうことがあります。故障してしまうとデータが消えてしまう可能性があり、消えたデータは二度と復旧しないかもしれません。

媒体と保存方法によっては危険

データを保存する媒体としては様々なメディアが存在します。しかし、保管方法を誤ると理論上可能な保存期間に達する前にデータが消えてしまう可能性があります。

CD/DVD/BD(Blu-ray Disc)など光ディスク

長期保存が可能とうたわれるCD/DVDですが、正しく保管すれば理論上は30~100年程もつと言われています。しかしながら、耐久性に難があり、記録面がむき出しで素材もそこまで良いものではありません。直射日光に当て続ければ数日で使えなくなりますし、保管状態によっては3~4年で読み込めなくなることもあるようです。また、機材とディスク自体の相性の問題があるようで、組み合わせ次第ですぐに読み込めなくなったり、10年以上使えるなどバラツキが出てしまうようです。

定期的にコピーを作り続ければ、メディア自体が劣化しても保存できる期間は長くなります。しかし、1枚当たりの保存容量はあまり大きくなく、一番大きいBlu-rayでさえ最大で100GBまでです。データの転送速度も他の記録媒体と比べると、遅いです。

SDカード/USBメモリ/SSDなどフラッシュメモリ

デジカメで撮った写真は現像せずに、データのまま保管するのが当たり前の時代になりました。デジカメで撮った写真はそのままSDカードに入れたまま、紙の写真代わりにアルバムにSDカードを保管するというのがネットで紹介され一時期話題になりました。しかし、これは大変危険なことです。

SDカードやUSBメモリなどのフラッシュメモリは、半導体に電気でデータの書き換えを行う不揮発性メモリです。電気を使うため、静電気に弱いうえに使わずに(無通電で)放置しているとデータが消えてしまう可能性があります。2~3年も放置してしまうと、一生の思い出だったはずの大切な写真データが消えてしまっている可能性は高いでしょう。 また、データの書き込みには書き込める量によって限界があり、限界を超えると書き込みができなくなります。その後、徐々にデータも壊れていってしまいます。

HDD(ハードディスク)

普通に使うと3~4年程度で故障率が高くなり、5年前後が寿命といわれています。しかしながら、データ保存の媒体としては、大容量で読み書きも高速化してきており、値段も安くなってきています。衝撃、振動などに弱く、中の電子機器が水に濡れると壊れますので地震や水害などの災害に弱いです。ずっとそのまま保管し続けるというのは難しいのですが、HDDにとある技術を組み合わせると故障に強い記録媒体にすることができます。

HDDをRAID化すると冗長性の高いバックアップ媒体にできる

RAIDとは、Redundant Array of Inexpensive Disksの略で“レイド”と読みます。通常、ハードディスクは1個で保存媒体としての役割を果たします。しかし、RAIDの技術を使うと複数のハードディスクを1個の保存媒体として使えるようになります。

図のように、中身は4台のHDDが中に入っているのですが、実際にパソコン上で見ると1つのHDDに繋いでいるように認識される仕組みです。

今でこそHDDの容量は数百ギガ、数テラバイトと大容量化が実現しています。しかし、昔のHDDはギガよりも小さいメガの単位などが当たり前でした。そんな時代に「複数台の安価なHDDを繋ぎ合わせて、1つのストレージとして使う」技術として生まれたのがRAIDの始まりでした。

※RAIDコントローラーのタイプ次第では接続方法が異なる場合があります。
RAID用HDDケースにはRAIDコントローラーというものが備わっていて、これが内部的にいろいろなことを制御しています。RAID化されたハードディスクには、次のような効果があります。

(1) データを分散して高速保存できる

(2)複数のHDDで大容量化

(3)HDD交換でデータを復旧

RAIDの種類によって、狙える効果は様々です。 分散してデータを保存することによる高速化やストレージの大容量化、冗長化によるデータの保護があげられます。特に重要なデータを保存するためのストレージは高い信頼性が求められるため、単純なバックアップではなくRAIDによる冗長化は非常に有用です。

RAIDはデータの割り振り方や冗長化の方法によって、いくつかの種類に分類されます。 同じRAIDでもそれぞれ構成内容は全く異なります。

RAID0は容量と速度がアップするけど冗長性はない

RAID0(レイドゼロ)は複数のHDDを1つの保存領域として扱い、それぞれのHDDにデータを分散して書き込むことでデータの読み書きを1台のHDDで行うよりも高速化できます。 また、下記のようにHDD4台で構築した場合、1台1TBのHDDを4つ使うと全体で4TBの保存可能領域を持つHDDとして認識されるようになります。

データABCDEFGHという1つのデータをRAID0化したHDDに保存すると

4つのHDDにそれぞれ保存する前に、RAIDコントローラーでデータを分けます。ここではデータABCDEFGHという1つのデータは、8つのA、B、C、D、E、F、G、Hというデータにそれぞれ分けられます。

RAIDコントローラーで8つに分けられたデータは、分散してそれぞれのHDDへ順番に保存されていきます。

上記のように、RAID0はストレージとしての読み書きの速さと、容量の大きさがポイントです。しかしながら、仕組み上分散してデータを保存するだけなので、RAID0内部のHDDが1台でも故障すると復旧は絶対にできません。

HDD1~4のどれが壊れてもアウトなので、RAID0はバックアップとしては相応しくないといえる。

RAID1は冗長性はあるけど絶対に安全ではない

RAID1は2つのHDDをペアとして、その両方に全く同じデータを保存します。通称ミラーリングとも呼ばれています。 データABCをRAID1化したHDDに保存すると

RAIDコントローラ上でデータABCを2つのHDDそれぞれに複製して保存します。
※「ABC」をオリジナル、「A’B’C’」をオリジナルの複製(コピー)として表現しています。

HDD1と2にそれぞれ同じデータが保存されます。

図のように2台のHDDを使った場合、1台あたり1TBの容量なら1TBのストレージとして認識されます。また、2台をペアとして運用する仕組みなので、RAID1の構成は3台以上でやっても2台分しか使われない仕様です。

RAID0が全く冗長性が無かったのに対して、RAID1はどうでしょうか?RAID1ではHDD2台のうちどちらも同じデータが保存される仕組みになっています。 そのため2台中どちらか1つが壊れても、もう1台のデータを使って元の状態に戻すことができるということです。

壊れたHDD1を取り外して新しいHDDを取り付けると、HDD2に保存されているデータからHDD1が復元されて全体的に復旧する。

同じデータが複数のHDDに保存されるため、1台が故障してもそのまま使い続けることができ、復旧も可能です。

RAID1自体は“バックアップ”ではない

RAID1は同じデータの複製=ミラーリングになっているので、「ここに保存しておけばバックアップは完璧!」と、思われるかもしれません。しかし、実際にはHDD1と2にそれぞれ同じデータが“同時に”保存されます。データを間違えて上書き保存し足り消してしまった場合、同時に上書きされるので「間違えたからバックアップから戻す」ということはできません。つまり、バックアップとしては機能しないということになります。

あくまで、2台以上同時にHDDが壊れなければ復旧できるという、冗長性をもたせるための仕組みです。

【注意点】
全く同じデータを同時に書き込むため、理論上は全く同じ種類のHDDまたはSSDを使うと同時に壊れる可能性があります。同じペアが同時あるいは復旧途中で壊れてしまえば復旧は不可能となります。そのため、絶対に安全とはいえません。

RAID5は冗長性と容量と速度がアップする

RAID1は冗長性はありましたが、同じ内容のデータを全てのHDDに書き込むので復旧する前に全て寿命を迎える可能性がありました。また、容量も1台分、読み書き速度も早くならないという、あまりメリットを感じない仕組みでした。 RAID5では容量と速度もアップし、冗長性も確保できる仕組みになっています。

データ「ABCDEFGHI」をRAID5で構成されたHDDに保存する場合、

RAIDコントローラーがデータ「ABCDEFGHI」を「A」「B」「C」「D」「E」「F」「G」「H」「I」と分けるとともに、パリティ「ABC」「DEF」「GHI」というものを作成します。

パリティを含めてそれぞれを分散してHDDに書き込みます。パリティとは誤り訂正符号ともいい、パリティを使うことでどのHDDが壊れても復旧できるようになります。

RAID5はHDD3台以上で構成する必要があり、HDD1台分はパリティデータ格納分として使われます。HDD4台構成で1台が1TBの場合、ストレージ全体の容量は3TBとなります。

HDD1が壊れた場合、復旧するには「A」「D」「G」の情報が必要となる。この場合、HDD2にあるパリティ「GHI」、HDD3にあるパリティ「DEF」、HDD4にあるパリティ「ABC」がそれぞれ使用されて「A」「D」「G」という情報を復元します。

RAID5ではどのHDDが壊れても、1台までなら他のHDDに保存されているパリティデータなどから復旧が可能となっています。

RAID6は冗長性が高くHDD2つまで壊れても大丈夫

RAID6はRAID5とRAID1のいいとこどりをした、冗長性がさらに高い仕組みです。

RAIDコントローラーがデータ「ABCDEF」を「A」「B」「C」「D」「E」「F」にわけて、パリティ「AB」「CD」「EF」、さらにパリティのコピー「A’B’」「C’D’」「E’F’」を作成します。

HDD1~4にそれぞれ分散して書き込みまれます。

RAID6はRAID5のパリティを更に二重化して保存しています。そのためRAID5では1台までしか復旧できませんでしたが、RAID6では2台まで壊れても復旧ができる仕組みになっています。そのため冗長性がRAID5よりも高いといえます。 しかし、RAID6ではHDD4台以上で構成する必要があり、HDD2台分がパリティデータの格納分として使われるため容量は少なくなります。HDD4台構成で1台が1TBの場合、ストレージ全体の容量は2TBとなります。

どのHDDが壊れても、2台までなら復旧が可能となる。 HDD2とHDD4が壊れた場合、HDD2とHDD4の復元にはHDD1の「EF」とHDD3の「AB」「C’D’」が使われる。

RAIDの比較

RAID構成4種それぞれをまとめると下記のようになります。

RAIDの種類 耐障害性 速度 HDD4台 1TB/台の場合
RAID0 × 4TB
RAID1 1TB(2本未使用)
RAID5 3TB
RAID6 2TB

※他にもRAID0とRAID1やRAID5を組み合わせてRAID10、RAID50という組み方も可能だがここでは割愛します。

RAID自体がバックアップではないことに注意

データをバックアップするというのは、大切なデータが保存されている記録媒体が壊れたらお終いなので、それとは別の記録媒体にも保存してリスクを下げるということです。 例えば、大切な家族の思い出の写真をパソコンに外付けHDDを1台つけて保存していたとします。この状態は外付けHDD1台だけしかデータが存在しない状況ですので、外付けHDDが故障したら一発でアウトです。お金をかければなんとかデータをサルベージできるかもしれませんが、それよりも先にリスクを考えて投資しておいた方が安心です。 また、上記の外付けHDDをRAID化したHDDに置き換えたとしても、バックアップとはいえません。冗長化しているので、データ消失のリスクは下がりますが相変わらずHDD1台分のデータしかないのには変わりありませんので注意しましょう。

大切なデータをバックアップして万全の体制で保管していきたいのであれば、少なくとも2つ以上の記録媒体を用意しましょう。