「RAID 1」と聞くと「HDDのバックアップ用のテクニック」という印象を受けるし、そういう認識でRAID 1を覚えている人もいると思う。実際、ぼく自身も「HDDの故障に備えるならRAID 1 だよね。」という漠然とした認識でした。
しかし真実は…RAID 1はバックアップのために存在するわけではないのです。
RAID 1の仕組み
すでにRAID 1がどういう仕組みで機能しているのか理解している人もいると思うが、念のため「RAID 1ってなんだろう…」という人のために解説しておきます。
RAID 1は別名「ミラーリング」(鏡写し)とも呼ばれており、その呼び名の通りデータを2つのHDDに同時に書き込む仕組み。全く同じ状態で2つのHDDに保存する様が鏡写しのようなので、ミラーリングと言われている。
一見すると、このRAID 1という技術は同じデータを2つのHDDに保存しているので、バックアップとして有用かのように見えてしまう。しかし実際のところRAID 1は冗長化のための技術に過ぎません…。
RAID 1最大のメリットは「冗長化」
じゃあ「冗長化」とはいったい何か。バックアップとどう違うのか。という話になります。
仮にRAID 1を構成しているHDDの内、1枚がPC稼働中に壊れてしまったとする。RAID 1のスゴイところはまさにこの部分で、片方がぶっ壊れても問題なくシステムの稼働が可能なんです。
普通なら、HDDが故障すると認識できなくなったり、中のデータを見れなくなるし、システムドライブならWindowsの起動が出来なくなる。しかしRAID 1を組んでいれば、片方壊れても普通に使えます。
「システムが安定稼働している状態をどれだけ長く持続できるのか。」これが冗長性と呼ばれるもので、RAID 1のメリットである冗長化とは「冗長性を得ること」という意味になる。
なお、RAID 1を組んでいると片方が壊れてもシステムを稼働し続けられるが、故障したHDDを交換したい場合はシステムをシャットダウンする必要がある。
これではせっかく冗長性を得たのになんだか無意味に感じてしまう。解決策が「ホットスワップ」。通電した状態でもHDDの交換に対応できる技術です(ホットスワップ対応のマウントベイが必要だが…)。
もう一つがホットスペア。これは最初から予備のHDDを通電状態にしておき、故障が起こった時にその予備のHDDを使って自動的にアレイを組み直す機能のこと。
なお、BIOSやWindowsから設定できるRAIDはソフトウェアコントローラなので、ホットスペアに対応していないことが多い。基本的には、ホットスペア対応を謳うハードウェアRAIDコントローラ(RAIDカード)が必要になる。
LSI Logic / LSI00194 – 9211-8i Single Pack
RAID 1がバックアップとしてダメな理由
実際にやらかした話をします。その方がなぜRAID 1がバックアップの為に存在するものではないのか、分かりやすいから。
(半年後…)
RAID 1は、システムからストレージへ送り込まれたデータをほぼ同時に2つのHDDに書き込みます。ここが盲点です。誤ってデータを破損したり、上書きして紛失した場合、取り返しの付かないことになる。
削除したくらいなら復元ソフトでカンタンに取り返せますが、データの改変や修正、そして上書きした場合はまず取り返しが付きません。
RAID 1は愚直に2つのHDDにデータを書き込むけれど、そこには誤った操作も含めてすべて同時反映されるという恐ろしい意味も含まれる。ぼくはこの事件以来、RAID 1をやめ、複数ストレージへの分散で対処しています。
このように、複数のポータブルHDDに同じデータを保存しています。これなら1枚のHDDで何かをマズイことをやらかしても、他の予備データから復元が可能。
そしてこのアナログな方法はHDDの数が多いほど有利になる。ぼくはSATA HDDも含めて4台に、重要データをコピペしている。仮に故障率が1%だった場合、4台になるとデータが完全に喪失する確率は「0.000001%」(1%^4)です。
定期的に一番古いHDDを交換するなどを繰り返せば、実質的にデータが喪失する確率はほぼゼロといえる。
コメントで指摘されたので追記します。ぼくはHDD4台に1週間くらいの時差をつけて、手動でコピペをするというアナログなことをやっている。だからこの注意点に気づかなかった。
バックアップの即時性を重視して、自動で高頻度のバックアップを行っていると…RAID 1と同様に誤った操作が反映されるまでのタイムリミットが速いことを意味するので、速すぎてもリスクが高い。
逆に頻度が遅いと、それだけパソコンに不調が起こった時に「今、作業中のデータを失う」リスクが付きまとう。このあたりは各自、許容できる範囲で調整するしか無いと思います。
SSDのRAID 1は仕組み上、少し怖い
RAID 1といえばHDDですが、SSDにも使うことができます。しかし、SSDには「書き込み耐性」(TBW)と言う構造上の寿命が存在するため、RAID 1の同時書き込みという仕組みと相性が悪すぎる。
同時に書き込むということは、例えばTBWが100TBのSSDでRAID 1を組むとする。この場合、TBWを使い切る頃には2台同時に寿命が訪れる可能性が高いという意味。同時に壊れたらアレイは完全崩壊、冗長性とはいずこへ…。
補足しておきますが、書き込み耐性がなくなったからと言ってSSDが即壊れることは無い。おそらく、多くの場合はそのまま認識可能ですが、書き込みエラーの頻発やビット化けの確率が上昇します。
一応寿命が切れたSSDでも、米国のJEDEC(半導体技術協会)が「気温30度の環境で、52週間以上はデータを保持できること」を条件にしているので、すぐにデータが破損するわけではありません。
TBWを使い切ったらすぐにデータを他のストレージへコピーして対処すれば良い。NANDフラッシュの仕組み上、書き込みはできなくなっても読み出しは可能ですから。
その他、RAID 1のデメリット
RAID 1がバックアップに適さないという話は以上です。ここではRAID 1の基礎知識として「デメリット」について、少し解説しておく。
- 読み出しは速くなるが、書き込みは遅くなる
- 使用できる容量が50%になる(容量単価が2倍)
読み込みが速いのは、すでに保存済みのデータを2本のHDDから同時に取り出せることがあるからです。ちょうどRAID 0に近い状態ですね。
HDDの速度比較(MB/s)
逆に書き込みは遅くなる。2本のHDDに同時書き込みをするので、遅くなるのは自然なこと。そして、2本に全く同じデータを入れるわけですから、使える容量も当然50%(半分)になります。
たとえば、4TB HDDを2個使って合計8TBにしても、RAID 1を組むと実際に使えるのは4TBだけ。
まとめ:「RAID 1 = バックアップ」は誤り
RAID 1はもっとも安価に、システムの冗長性(耐障害性)を高める有用な手段ですが、データのバックアップのためにRAID 1を使うのは誤りです。ぼくが紹介した失敗談で、よく理解できたかと。
最後に、RAID 1とHDD単体、そして複数ストレージによるバックアップの違いを表にまとめて終わります。
想定されるトラブル | HDD単体 | RAID 1 | バックアップ | 備考 |
---|---|---|---|---|
誤って削除 | 削除される | 削除される | 他のHDDから復元 | 「削除」ならデータ復元ソフトで高確率の回収が可能。 |
誤って改変・上書き | 改変・上書きされる | 改変・上書きされる | 他のHDDから復元 | データ復元ソフトでも復旧は困難。 |
HDDが故障 | 停止 | 稼働し続ける | 他のHDDがデータ保持 | ホットスワップ対応なら、PCを起動したままHDDの交換が可能。 |
データを守りたいというだけなら、複数ストレージを使ったバックアップで十分ですね。RAID 1はNASのようなサーバーストレージを構築したいなど、冗長性が重要な場面で使えばいい。
以上「RAID 1のよくある勘違い:バックアップの為ではない。」でした。
HDDがかなり安くなってきてるおかげでかなり組みやすいし、やってみようかな…
要するにRAID1はHDDの突発的死でデータが失われるのを防ぐ、以外の効果は無いということですかね
ところでオンボードじゃないハードウェアRAIDってオンボードとどう違うんでしょうか?
< ハードウェアRAIDってオンボードとどう違うんでしょうか?
これはRAIDカードによりますね。RAIDカードに載っているチップの種類によって、RAIDを構築した時のパフォーマンスが違ったり、ホットスワップ対応だったり、ソフトウェアRAIDでは構成できない「RAID 6」を構築できたり。特にAreca製のRAIDカードはトップクラスのスピードらしく、冗長性と速度を両立したい…という、ごく一部のエンスージアストから支持があります。
バックアップは
”即時性が無い”
と言う事は書いておいた方が良いのでは無いでしょうか?
これはメリットでもありデメリットでもあるので
(バックアップソフトなどを使って即時にしていたらRAIDと同じように上書きミスでデータ消えます)
5分や10分刻みや手動でバックアップをしていればその間にパソコンに不具合があればバックアップはとれていませんし
最後の表のバックアップで他のHDDから復元可能と書いていますが
変更→もう一度変更(これがミス!)だった場合復元できませんよね?
変更→バックアップ→もう一度変更(これがミス!)だったら復元できますが
記事内のホットスペアの説明ですが、「通電した状態でもHDDの交換に対応できる技術」と言う文面だとホットスワップに近い説明になっているので、もう少ししっかりと説明した方が良いと思います。
バックアップはバックアップなのですけど、こいつら(RAID)は基本的にHDDの動作保証に対してであって、HDDのデータに対してでは無いんですよね…。
1つ懸念されるのが、HDD書き込み中のトラブルですね。
先日、何の前触れもなくマシンがフリーズし、
CPUファンフル回転(ファンコントロールが効いていない状態になっている)、
電源ボタン長押しによるシャットダウン不可、それどころかリセットボタンも利かない、
マザボ上の電源ボタンもダメ、となると電源コードを抜くしかないという最悪の事態に。
HDDアクセスランプが付きっぱなしだったので、もう祈りながら電源コードを抜いたのですが、
幸いHDDのクラッシュには至りませんでした。
恐らくこうなると、いくらRAID1でもHDDアクセス中の状態でいきなり電源が落ちれば、
2台ともダメになる可能性は十分ありますし、バックアップと違って常時アクセスしている
状態であれば尚更でしょう(いきなり停電とか起きる事も考えられますし)。
SSDでも、耐性問題をクリアできるんだよ。
貴方は「2台同時に寿命が訪れる可能性が高い」と言ってるけど、
この問題は、簡単にクリアできる。
2台とも同じ製品を使うとして、一方だけ先に数ヶ月使用したものを使う。
そうすれば、同時には寿命は訪れない。
そうして、スペアを含め3台用意すれば完璧だ。
[…] 「RAID 1」のよくある勘違い:バックアップの為ではない。 更新日2018.07.11 […]
RAID50か60組めばいいじゃーん?
> ハードウェアRAIDってオンボードとどう違うんでしょうか?
・「ハードウェアRAID」 は 「ソフトウエアRAID」 と対を成す言葉。
・「オンボード」 は 「アドンオンカード(拡張カード )」と対を成す言葉。
(1)「ハードウェアRAID」とは、専用のハードウエア(RAIDチップ)を使ってRAID機能を提供している事を意味しています。対して「ソフトウエアRAID」は、特別なハードウエアを使わず(複数HDDの準備は当然必須)、ソフトウエアであるOSデバイスドライバ等で複数のHDDへの書き込みを制御する事でRAID機能を提供しています。
ソフトウエアRAIDに短所は、RAID処理の速度が遅くなります。また障害に弱い面があります。例えば、OSが落ちると同時にRAID機能が喪失します。(サーバ等で使用されるハードウエアRAID(RAIDカード)では、補助電源を装備し、OSが停止ても、電源が途絶えても、独立した処理系としてRAID処理を最後まで行うように設計されているものもあります。場合によっては、RAID基盤内のバッファメモリに保管し復旧を待ちます。)
(2)「オンボード」は、単にマザーボード上にハードウエアが実装されている事を意味します。対して、 「アドンオンカード(拡張カード )」は、自分でバスソケット等に電子基盤カードを挿入して使用する状況を意味します。
というわけで…
(Q)ハードウェアRAIDってオンボードとどう違うんでしょうか?
(A)まったく違う事物をさす言葉なので、回答できません。
「RAID機能をオンボードでサポート!!」という様に使われます。
以上
となります。
もっちーかわいい
[…] 30以下、5ちゃんねるからVIPがお送りします2019/11/20(水) 08:50:50.838ID:JnBgeJDp0HAPPY >>25 >>26 RAIDはバックアップの為にならないって書いてあるぞ RAID1の目的はそんなんじゃねーってさ https://chimolog.co/bto-ssd-misund-raid1/ […]
なるほど。目から鱗ですね。大事なデータ保存には勿論だけど、システムドライブに使うのが確かに有用性高いです。同時に購入した同機種のSSDは確かに同時に破損するリスクは高いですね。同時とは言わないまでも、同時期である可能性は捨てきれない・・・ただ、RAIDって全く同じクラスタに書き込むのかな?ファイルレベルでは同期されてるけど、同じ場所にまで書き込まれてるかは不明ですよね。もしかしたらTLCとQLCを混在した方が冗長性は上がる?けど同時破損のリスクは減ってもQLCの寿命が短いので、わざわざそれを使うのも・・・w
最後まで読ませていただきました。
RAIDではなくバックアップを選択することにしました。
ありがとうございました。
ミラーリングでもHDDシステムが
壊れた場合は保証の限りではないですし、
記事のようにうっかり上書きや
ウイルスによる異常には対応しきれませんね。
しかし、冗長性というメリットは大きいと思います。
自分の場合はメインはミラーリングNAS
これを定期的に別のHDDにコピーバックアップ
経理データーなどの品番に変更かつ重要なのは
単独でUSBメモリーなどに押さえています。
上書きといえばいざ事故発生したときに
冷静にやらないとせっかく保持していた
データーをまるっと消してしまう
危険が少なくないことですね。
前にクラッシュしたときは年季のこともあり
新しいNASを買ってきてそのまま
データスワップでお引越ししました。
片方壊れた旧NASは動態保存してあり
これそのものが当時のバックアップと
なっています。
壊れた時のバックアップと誤操作のバックアップをごっちゃにしているから素人には訳が分からなくなる
RAID1と表記されてますが、これってRAID1でもRAID5でもRAID10でも同じですよね?
わからない人はRAIDの冗長性とバックアップを混同してるからこんな認になるんでしょうけど。
人為的なミスのためのバックアップとして考えたことはなかったわ。
自分でやっちまったもんは自分が悪いんからしゃーない。
自分では防ぐのが難しい、突然のハード故障時のバックアップ用途でしょ。
この記事の趣旨には賛同します。しかし、『「RAID 1 = バックアップ」は誤り』、という主張は誤りです。
ISO/IEC 2382における「バックアップ」の定義に当てはまるので、RAID1もれっきとした「バックアップのための技術」です。RAID1と世代管理ではバックアップの目的が異なるという点を強調するための表現上のテクニックなのでしょうが、「RAID 1 = バックアップは誤り」とまで言ってしまうと、技術的に不誠実な内容になってしまうと思います。
ほんこれ
人為的な操作ミスは確かに存在する
でもそれはGit等のバージョン管理ツールを活用したら?って話だよね
Gitでバイナリデータはバージョン管理し辛いけど
git-lfsの鯖を建ててそこに保管するとか
そこを担保してくれないからRAIDは役に立たない
バックアップしたければ手作業でコピペするしか手段はありませんが結論になるようじゃダメだと思うわ
RAID1にはないが、RAID最大のメリットはHDDの容量の最大化ができることにあるんよ
例えば1026台構成のRAID6なら1024台の容量を使いつつHDD2台の同時故障まで備えられる
これがバックアップだと513台以下の容量になるうえに2台の同時故障でデータが失われる場合もあるからな