RAIDは、複数のドライブを組み合わせて動作させる仕組みです。

もともとはバックアップを目的としたものではなく、主な目的はシステムの稼働継続性を高めることにあります。
つまり、ドライブの一部に障害が発生しても、できる限り運用を継続できるようにするための仕組みです。

それでは、RAIDではどのようにデータを格納しているのでしょうか。
ここから、その基本構造を見ていきます。

まず重要になるのが、ストライプサイズと呼ばれる単位です。

ストライプサイズとは、RAIDが複数のドライブへデータを分散して配置するときの管理単位です。
これは、ドライブの最小読み書き単位であるセクタサイズとは異なります。

また、ファイルシステムが管理するクラスタとも異なります。
クラスタは、ファイルシステム側で複数のセクタをまとめて扱う単位です。
一方、ストライプサイズは、RAID側でデータを分散配置するための単位です。

つまり、セクタ、クラスタ、ストライプサイズは、それぞれ異なる階層で使われる管理単位になります。

RAIDでは、このストライプサイズを基準として、各ドライブへデータを分散していきます。
そして、どのように分散するのか、どのように複製するのかによって、RAIDの種類や特性が大きく変わります。

たとえば、複数のドライブへデータを分散して書き込む方式は、ストライピングと呼ばれます。
一方、同じデータを複数のドライブへ複製する方式は、ミラーリングと呼ばれます。

ストライピングは速度や容量効率に関係し、ミラーリングはドライブ故障時の継続性に関係します。
さらに、パリティを組み合わせることで、RAID5やRAID6のような構成も実現されます。

このように、RAIDはデータの配置方法によって特性が大きく変わる仕組みです。

しかし、ここで誤解されやすいのが、ミラーリングです。

同じデータが複数のドライブに保存されるため、どうしても「データ保護」と考えられがちです。
しかし、ミラーリングはあくまでドライブ故障時の稼働継続性を高めるための仕組みであり、バックアップそのものではありません。

この誤解が、RAIDをデータ保護の仕組みとして過信してしまう大きな原因になっています。

RAIDを正しく扱うには、まずデータがどの単位で、どのように複数のドライブへ配置されているのかを理解することが重要です。

リビルドに失敗するという脆弱性によりデータ損失につながるケースが少なくないのも事実です。

セクタをチャンクと呼ばれる塊で分割することで各データを分散することにより速さや耐久性向上を図ったものがRAIDとなります。このとき「リビルド」に失敗しデータ復旧をご相談いただく事が大変多い傾向です。

リビルドとは「正常な状態に戻す作業」を指しますが確実な成功は保証されておりません。なぜならドライブは徐々に劣化する性質があるためです。

突発的な故障ならリビルドできるのですが徐々に劣化して故障した場合はリビルドを必要とした時点で他のドライブにも劣化による整合性が壊れている状況となっており結果的にリビルドに失敗します。

このような性質を生み出している原因は「ビット腐敗」です。この「ビット腐敗」については、以下で詳しくまとめております。

【FromHDDtoSSD不良セクタ修復】ビット腐敗: 特殊な形態を取る不良セクタを解説



主に速度向上を目的とした構成で、データ保護機能は一切ありません。
一定のストライプサイズでデータを複数のドライブに分散させることで高速化を実現します。
ただしいずれか1台のドライブが故障した場合は全データへのアクセスが不可能となります。

そこで、RAIDの基本的な構成の一つである、このストライピングの詳細ついて見ていきます。

ストライピングとは、複数のドライブに対して、決められたストライプサイズごとにデータを分散し、交互に読み書きしていく方式です。

複数のドライブへ処理を分散できるため、読み書き性能の向上が期待できます。
特に、連続した大きなデータを扱う場合には、単体ドライブよりも高速に処理できることがあります。

しかし、その一方で、ストライピングには冗長性がありません。

つまり、構成しているドライブのうち1台でも故障すると、全体のデータ構造が崩れてしまいます。
その結果、すべてのデータにアクセスできなくなる可能性があります。

このように、複数台のドライブを使って性能を高める一方で、
1台の故障によって全体を失う危険がある。それがストライピング、いわゆるRAID 0です。

そのため、特別な理由がない限り、データ保護を目的としてRAID 0を選ぶことはありません。
RAID 0は、あくまで速度や容量効率を重視する構成です。

ただし、RAIDはもともとバックアップではありません。

そのため、別媒体へのバックアップをしっかり確保したうえで、速度を重視してRAID 0を運用する。
そのような方針であれば、RAID 0も十分に成立する構成です。

問題は、RAIDという言葉から「高度なバックアップ機能」を連想してしまうことです。

この固定観念があるため、RAID 0のように冗長性を持たない構成の意味が見えにくくなっている面があります。

RAID 0は、データを守るための構成ではありません。
速度を得るために、複数のドライブへデータを分散する構成です。

この違いを理解しておくことが、RAIDを正しく扱ううえで非常に重要です。



速度面は単独ドライブと同等ですがデータ保護性に優れた構成です。
すべてのデータをセクタ単位で複製(ミラー)するため一台のドライブが故障しても、データは残されたドライブから取得できます。

ただしビット腐敗などによりミラー構成でも正常にリビルドできないケースもあり過信は禁物です。よって、バックアップとしては機能しません。

RAIDの中でも、データ保護装置と勘違いされやすいのが、ミラーリングです。

ミラーリングは、確かに複数のドライブへ同じ内容を書き込む方式です。
そのため、1台くらい故障しても大丈夫。
そう考えたくなる気持ちは、よく分かります。

しかし、それでもミラーリングはバックアップではありません。

まず重要なのは、RAIDではOSと各ドライブの間に、RAIDコントローラやRAID管理層が入るという点です。

OSは、RAIDを構成している個々のドライブを直接扱っているわけではありません。
OSから見ると、RAIDコントローラが提示する一つの論理ドライブにアクセスしている形になります。

つまり、OSはRAIDコントローラを通してデータを読み書きしており、その先にある複数のドライブをどのように扱うかは、RAID側の管理に委ねられています。

このため、RAIDを構成しているドライブには、RAIDコントローラやRAID管理情報の影響が入り込みます。
構成情報、メタデータ、書き込み順序、同期状態、ディスク番号、管理領域などが関係するためです。

ミラーリングであっても、故障したRAIDから生きているドライブを1台取り出し、SATAなどで直接接続すれば、必ずそのままデータが見えるとは限りません。

方式によっては単体で読める場合もあります。
しかし、RAIDコントローラやNAS、専用RAID管理機能を経由しないと、正しく認識できない場合もあります。
また、単体で見えたとしても、構成情報や同期状態によっては、どのデータが正しいのか慎重に判断する必要があります。

そのため、ミラーリングは「もう1台に同じデータがあるから安心」という単純な仕組みではありません。

RAIDコントローラ経由で、どのドライブを有効なメンバーとして扱うのか。
どのドライブを基準に再構成するのか。
同期状態に問題がないのか。
その判断には、RAID構成に関する専門的な知識が必要になります。

この点が、バックアップとの大きな違いです。

バックアップであれば、別媒体に保存されたデータを、通常のファイルとして直接参照できることが重要になります。
一方、RAIDミラーリングでは、RAID構成や管理情報を正しく解釈しなければ、データへ安全にアクセスできないことがあります。

つまり、ミラーリングはドライブ故障時の稼働継続性を高める仕組みです。
しかし、失われたデータを簡単に戻すためのバックアップではありません。

RAIDを正しく扱うには、ミラーリングであっても過信せず、別媒体へのバックアップを必ず用意しておくことが重要です。



読み取り速度は向上しますが書き込み時にはパリティ計算が加わるため若干の速度低下が生じます。

データ保護性は限定的で、1台のドライブまでしか故障を許容できません。これはRAID-0構成にパリティ(排他的論理和)を加えた形でありパリティをもとに失われたデータを復元します。

ここで、1台のドライブを失っても稼働を継続できる分散型のドライブ構成として登場するのが、RAID 5です。

RAID 5は、パリティ付きストライピングと呼ばれる方式です。

ストライピングによって複数のドライブへデータを分散しながら、同時にパリティ情報を記録します。
このパリティ情報を利用することで、構成ドライブのうち1台が故障しても、失われたデータを計算によって復元できるようになっています。

基本的には、各ストライプ単位でデータブロックとパリティブロックを配置し、排他的論理和、つまりXORによって整合性を保つ仕組みです。

そのため、1台のドライブが保持していた情報をすべて失ったとしても、残っているドライブ上のデータとパリティ情報から、失われた分を再構成できます。

これがRAID 5の大きな利点です。

ところが、ここに大きな欠点もあります。

RAID 5は、1台の故障には対応できます。
しかし、1台が故障した時点で、残っている他のドライブには高い完全性が求められます。

つまり、故障した1台を補うためには、残存ドライブから正しくデータを読み出せることが前提になります。

もし、他のドライブにも不良セクタや読み取り不安定な領域が広がっていた場合、どうなるでしょうか。

故障したドライブの情報を復元するために必要なデータが、残っているドライブから正しく読めなければ、パリティ計算による再構成が成立しません。
その結果、リビルドが失敗したり、RAID全体の整合性が崩れたりすることがあります。

特に、長期間運用されていたRAID環境では、表面化していない不良セクタや、いわゆるビット腐敗が残存ドライブ側に存在している場合があります。

普段はアクセスされないため問題が見えていなかった領域が、リビルド時に一気に読み出されることで、初めて異常として表面化することもあります。

そのため、RAID 5のリビルドに過度な期待をするのは危険です。

RAID 5は、あくまでドライブ故障時の稼働継続性を高めるための仕組みです。
失われたデータを確実に戻すためのバックアップではありません。

リビルドが成功するためには、残っているドライブが十分に健全であることが必要です。
この前提が崩れている場合、1台の故障をきっかけに、RAID全体が動作不能に陥ることがあります。

そのため、RAID 5を運用する場合でも、定期的なドライブ検査、整合性チェック、そして別媒体へのバックアップが不可欠です。

RAID 5は便利な構成ですが、万能ではありません。
稼働時間を延ばすための仕組みであると理解し、リビルドに頼り切らない運用が重要になります。



RAID-5の強化版で二重のパリティ情報により最大2台のドライブ故障に耐えることができます。
安全性を高めたい環境で有効です。

RAID 5では、1台のドライブ故障に耐えられるように、パリティ付きストライピングという構成が採用されています。

これに対して、構成されているドライブのうち、最大2台までの故障に耐えられるようにしたものが、RAID 6です。
RAID 6は、分散ダブルパリティ付きストライピングとも呼ばれます。

RAID 5では、1台のドライブが故障した時点で、残っているドライブに高い完全性が求められます。
つまり、故障した1台分のデータを復元するには、残存ドライブから正しくデータを読み出せることが前提になります。

しかし、ドライブは突然壊れるだけではありません。
多くの場合、少しずつ劣化が進み、不良セクタや読み取り不安定な領域を抱えながら動作していることがあります。

そのため、RAID 5で1台が故障したとき、残っているドライブ側にも不良セクタやビット腐敗が存在していると、リビルドに失敗する可能性があります。
1台の故障に対応できるはずの構成であっても、残存ドライブの完全性が崩れていれば、RAID全体が動作不能に陥ることがあるのです。

そこで登場するのが、RAID 6です。

RAID 6では、2種類のパリティ情報を分散して保持することで、最大2台までのドライブ故障に耐えられるように設計されています。

ここで重要なのは、「1台まで」と「2台まで」の差です。

これは単に、同時に2台壊れる確率に備えるというだけではありません。
1台目の故障が発生したあと、残っているドライブに多少の不良や読み取り不安定な領域があっても、RAID 5より余裕を持って対応できる可能性が高まる、という点が大きいのです。

RAIDの崩壊は、多くの場合、1台目の明確な故障をきっかけに表面化します。
その時点で残存ドライブに完全性を強く求めるRAID 5と比べると、RAID 6には、もう一段階の余裕があります。

この余裕こそが、RAID 6を比較的おすすめしやすい理由の一つです。

ただし、RAID 6であっても、バックアップの代わりにはなりません。

RAID 6は、あくまでドライブ故障時の稼働継続性を高めるための仕組みです。
誤削除、ランサムウェア、ファイルシステム破損、RAID構成情報の破損、装置全体の故障などには対応できません。

そのため、RAID 6を採用する場合でも、別媒体へのバックアップは必ず必要です。

RAID 6は、RAID 5よりも故障時の余裕を持たせやすい構成です。
しかし、最終的にデータを守るには、定期的なドライブ検査、整合性チェック、そして別媒体へのバックアップを組み合わせた運用が重要になります。



RAID-0とRAID-1を組み合わせた構成で高速性と耐障害性の両立が可能です。
ただし使用可能な容量は総ドライブ容量の半分となるためコスト効率はあまり高くありません。

構成時はミラーリングした構成にストライピングを施す「1+0」形式を推奨します。
(「0+1」は耐久性に劣ります)

ミラーリングとストライピングを組み合わせることで、両方の利点を得ようとする構成があります。

それが、RAID 10やRAID 01です。
RAID 10は、ミラーリングした組をさらにストライピングする構成です。
一方、RAID 01は、ストライピングした組をさらにミラーリングする構成です。

いずれも、ミラーリングによる冗長性と、ストライピングによる速度向上を組み合わせようとする考え方です。

ただし、この方式には大きな欠点があります。
それは、実効容量が半分になることです。

たとえば、同じ容量のドライブを4台使用しても、実際に利用できる容量は2台分になります。
台数が増えるほど、失われる容量も大きく感じられるようになります。

販売する側から見ると、この方式は必要なドライブ台数が多くなるため、提案しやすい構成なのかもしれません。

しかし、容量効率をできるだけ維持しながら、1台故障時に残存ドライブへ過度な完全性を求めにくい構成として、RAID 6があります。

RAID 6が利用できる環境であれば、あえてRAID 10やRAID 01を選ぶ必要性は、そこまで高くない場合があります。
特に、大容量ストレージを効率よく使いたい場合には、RAID 6の方が現実的な選択になることも多いです。

もちろん、RAID 10にも利点はあります。

RAID 6と比べると制御が比較的単純であり、安価なRAIDコントローラでも対応している場合があります。
また、ランダムアクセス性能や再構成時の扱いやすさを重視する環境では、RAID 10が選ばれることもあります。

ただし、それでも容量が大きく削られる点は無視できません。
ドライブ台数を多く必要とし、実効容量が半分になるという負担は、運用上かなり大きな要素になります。

そのため、RAID 10やRAID 01は、速度、冗長性、コントローラの対応状況を重視する場合には選択肢になります。
しかし、容量効率や運用コストまで含めて考えると、必ずしも最適とは限りません。

そして、ここでも重要なのは、RAIDはバックアップではないという点です。

RAID 10やRAID 01であっても、誤削除、ランサムウェア、ファイルシステム破損、RAID構成情報の破損、装置全体の故障には対応できません。

ミラーリングとストライピングを組み合わせたとしても、それは稼働継続性や性能を高めるための構成です。
最終的にデータを守るには、別媒体へのバックアップを必ず用意する必要があります。



複数のドライブを組み合わせる方式の一つに、スパニングがあります。

スパニングとは、ストライプサイズを設けず、複数のドライブをそのまま順番につなげて、一つの大きな領域として扱う方式です。

ストライピングのように、複数のドライブへ同時に分散して読み書きするわけではありません。
そのため、基本的には読み書き性能の向上は期待できません。

また、ミラーリングやパリティのような冗長性もありません。

つまり、容量をまとめて大きく見せることはできますが、構成しているドライブのうち1台でも損傷すると、全体のデータ構造に影響が出る可能性があります。
その結果、ボリューム全体が動作不能になったり、一部または全体のデータにアクセスできなくなったりすることがあります。

スパニングは、比較的古いRAID装置や簡易的なストレージ装置で使われていた方式ですが、最近ではあまり見かけなくなりました。

このように、複数のドライブを組み合わせて容量を確保する方法には、さまざまな種類があります。

ストライピングで速度を重視する方法。ミラーリングで稼働継続性を高める方法。
パリティを使って容量効率と耐障害性のバランスを取る方法。
そして、スパニングのように、単純に容量をつなげる方法。

それぞれに利点と欠点があります。

重要なのは、その構成が何を目的としているのかを正しく理解することです。
容量を増やすための仕組みなのか。速度を上げるための仕組みなのか。
ドライブ故障時の稼働継続性を高めるための仕組みなのか。

この違いを理解しておくことで、RAIDや複数ドライブ構成を過信せず、適切なバックアップや検査につなげることができます。

複数のドライブ容量を単純に連結する構成で速度や耐久性の向上は一切ありません。
使用可能容量が増えるだけで信頼性には乏しい構成です。

NAS黎明期には簡便さから一部採用例がありましたが現在では推奨されない方式です。



データスキャン作業に関しましては、「並列同時解析」による一括処理です。

RAIDで重要となるデータ整合性検査はRAID専用に開発いたしております。並列処理に融合させた検査となりましてバッファを検査へ流用し2度目のバッファ処理を防ぎます。別処理で乗せてしまうとバッファへの2度読みが発生し時間的に大きな不利となります。

ドライブ取出作業>>初期診断作業>>損傷分布検査作業
A, データスキャン作業(必要台数へ実施)>>データ整合性検査
B, クリーンルーム作業>>データスキャン作業(必要台数へ実施)>>データ整合性検査

データ復旧の実施に必要となる全ドライブを、RAID装置から取り出す作業となります。全てのドライブを調査いたしますので、全て取り外します。



  1. ドライブに負担がないよう診断を実施いたします。
  2. スキャンが通常(レベル1~2、クラスタ)レベルで可能か判断いたします。
  3. 2の過程で不可判定:別の手法(セクタ単位レベル)を試します。
  4. 3の過程で不可判定:クリーンルーム作業を検討します。


損傷度合いの全体分布を予測し作成します。この結果から、クリーンルーム作業の必要性を検討します。分布図より読み取れる範囲が小さいと推測される場合は、クリーンルーム作業により復活させる必要性ありとなりますし複数のドライブで一つのアレイ(データ)を成しておりますので最善の選択すなわちどのドライブを回復させるか判断を仰ぐ必要が必ず生じます。

複数のミラーリングで両方破損の場合、損傷分布検査作業にて状態の良い1台が選び出されます。状態の良い方からデータを復旧する作業により、復旧率の点でお客さまのご期待にお応えいたします。

電源を入れているだけでも広がって行く傾向がありまして各ドライブの損傷度合いを見抜くのに必須な作業となります。実際には数値化ではなくグラフ化してしまいます。その方が着実に分かるためです。選定されたドライブに対し復旧方針を立てます。

それから最適な作業(クリーンルーム作業・データスキャン作業)を実施いたします。

  1. [少しでも最良な条件を作る]
    HDDに付着するホコリを除去いたします。
  2. [表面検査]
    トップカバーの開封に着手しプラッタ表面の状態を検査します。(スキャンに応用します)
  3. [破損個所回収]
    正常動作を阻害する直接的な要因を全て取り除きます。(例:吸着したヘッド等)
  4. [剥離した磁性体除去]
    内部の汚れている個所(削られた磁性体)を除去しそれらを回収します。
  5. [内部部品交換]
    破損した部品を全て取り除き正常品から取り外したものと交換します。
  6. [最終チェック]
    全部品を再確認いたします。確認のちトップカバーを閉じで作業完了です。
  7. [ファームウェア修復]
    状況によってはファームウェア系統の修復を実施します。


単独ドライブの場合と同じ作業を実施いたします。

複数のドライブを単につなげただけですのでその故障に関しましては1台ずつ別々に修復いたします。もちろん損傷分布検査作業で必要ないと判断されたドライブには処置いたしません。

データスキャン以降を一括処理できるRAIDツール(並列同時解析)を独自開発いたしました。

現在RAIDのデータ復旧を着実に処理できる「並列同時解析」を独自に開発いたしました。ドライブ型番別に「スキャンマップ(パターン)」を持ち概算的な調整がなされます。



RAIDのデータ復旧にて主要となるのは「データ整合性検査」です。データが化けていないかどうか独自の検査方法で確実に判断するものとなっております。

「データがバラバラで、ほとんど(一切)開かない状態で納品された」例などはこの検査が行われていないことを示します。データリストにファイル名が存在してもこの検査がないとそのような場合も十分に考えられます。この検査によりファイル名があってもほとんど開かないという状況を100%防ぐことができます。コンピュータによるファイル自走検査で高クオリティおよびプライバシーを確保いたします。以下「ファイル自動走査」にてファイル構成が正しいかどうか検査中です。