100%安全ではない、耐障害性に優れるRAID6のデータが復旧するまで


 複数のHDDを組み合わせて1台のHDDとして管理することで、大事なデータを収めるディスクの可用性を高める技術が「RAID」。最近では、企業向けサーバーから個人向けNASまで、RAID5を元にした新しい規格であるRAID6を採用する製品も増えてきた。

 RAID6は、RAID5より強固にデータをディスク障害から守る反面、ひとたび障害が起きれば、その複雑さや新しさが仇となり、従来のRAID5などより復旧が難しくなる。

 こう説明するのは、データ復旧の累積件数6万5000件、RAID・サーバーの年間復旧件数1000件以上という日本データテクノロジー(サイト名は「データ復旧.com」)の上級技術員である笠嶋一貴氏だ。

 さらに、RAID6といっても、製品によってデータの格納方式に違いがあったり、特殊な形式の製品もまれに見られる。そうした場合は、専門的な知識や経験がないと、データを復旧することは難しい。

 こうしたRAID6の構造や復旧の難度、さらに特に難しかったという特殊な構造のRAID6サーバーでの障害からデータを復旧した事例について、笠嶋氏に話を聞いた。

RAIDでは2種類のパリティを取る

 改めて、RAID5とRAID6の仕組みを振り返ってみよう。

 RAID5は、複数本のハードディスクを組み合わせて1つのハードディスクとして見せることで、そのうち1本に障害が起きてもデータが失われないようにする技術だ。

 RAID5では、それぞれのディスクをブロック単位に分割して管理する。そして、1本を除く各ディスクの同じ位置のブロックのデータから、「パリティ」と呼ばれる誤り訂正情報が生成される。どれか1つのディスクのデータが失われても、ほかのディスクのデータとパリティのデータとの排他的論理和によって、失われたデータが再現できるしくみだ。

 このとき、たとえば3本のディスクでRAID5を構成した場合、1つ目のブロックではディスク1・2のデータから求めたパリティをディスク3に、2つ目のブロックではディスク1・3のデータから求めたパリティをディスク2に……と1つずつずらして記録することで、耐障害性とディスクの負荷を均等に分散している。

RAID5は3台以上のハードディスクを使用し、切り分けられたデータとパリティをそれぞれのディスクに分散して保存する(左)。2台のハードディスクに障害が発生すると、切り分けられたデータがどちらのハードディスクにどのように保存されていたかデータの配列が分からなくなり、データが見れなくなってしまう(右)

 RAID6では、RAID5をさらに強化して、パリティを二重に取ることによって、2本まで障害が起きてもデータが失われないようにしている。

 2つ目のパリティの取り方には、「P+Q」方式と「2D-XOR」方式がある。P+Q方式は、1つ目のパリティはRAID5と同じ計算方式(これをPとする)、2つ目のパリティは「リード・ソロモン符号」方式(これをQとする)というように、2つのアルゴリズムで別々にパリティを求めるようになっている。そして、例えば、1つ目のブロックではディスク3と4をそれぞれPとQのパリティに、2つ目のブロックではディスク2と3をそれぞれPとQのパリティに……と、やはり1つずつずらしていくようになっている。

 一方、2D-XOR方式では、RAID5から増えたディスク1本を2つ目のパリティ専用とし、RAID5と同じ計算方式で、組み合わせるブロックを変えて記録している。ただし、ほかのディスクへの書き込みが起こると、パリティ専用のディスクにも必ず書き込みが発生するため、パリティ専用ディスクの負荷が大きく性能が落ちるなどの問題がある。そのため、あまり使われていない。

RAID6の基本構造はRAID5と同じだが、2種類のパリティが存在し、4台以上のハードディスクで構成される。(左)、2台のハードディスクに障害が発生しても、2種類のパリティ情報からどちらのハードディスクにどのデータがどのように保存されていたかデータの配列を計算し、元通りにすることができる(右)

RAID5より難しいRAID6の復旧

 ハードディスクのデータの可用性を高めるRAID5やRAID6だが、それでも障害によりデータが失われることはある。その主な原因としては、笠嶋氏は、急の停電などによりRAID筐体の基板がショートして壊れる場合と、冗長化した以上のディスクが壊れる、たとえばRAID5で2本目のディスクも壊れる場合を挙げる。筐体の基板が壊れた場合はディスクには大きな問題がないことも多く、修復は比較的容易だ。一方、2本目(RAID6なら3本目)のディスクも壊れた場合には修復の手間がかかり、場合によっては専門知識や経験が必要になるという。

 「ディスクが1本壊れて交換しようと思っていたら2本目も壊れた、という場合もよくあります。が、それ以上によくあるのが、壊れた1本を交換してリビルドをかけたら、リビルド中にもう1本が壊れた、というケースです」と笠嶋氏。リビルドではディスク全体にアクセスするためディスクに高い負荷がかかり、また不良セクタに当たる確率も上がる。そして、リビルドの途中で止まると、それまでリビルドが進んだ部分は断片化によって、読み出しが困難になるという。「リビルド失敗によりディスクが壊れてRAID全体のデータが失なわれる事故を防ぐには、日頃からバックアップを取っておくしかありません。また、重大なデータでは、リビルドの前に復旧会社に依頼していただくと安全でしょう」(笠嶋氏)。

日本データテクノロジー上級技術員の笠嶋一貴氏

 RAID6の復旧は、RAID5に比べて難易度が大きく上がる。その理由としては、既製品のRAID復旧ツールのRAID6への対応があまり進んでいないことと、自分で分析するときの構造の難しさがある。

 RAIDを復旧するのに必要なRAIDの情報として、ディスクの順番、パリティをどこにどんな順番で入れるかのアルゴリズム、データを分割するストライプサイズなどがある。RAIDに障害が起きてこれらの情報が壊れたディスクを復旧する場合には、大量のデータからパリティ情報を見分ける技術力や、壊れ方のパターンやセオリーをつかんでいる経験が必要となる。「これらの情報が失われていると、復旧ソフトや、実績と経験を積んでいない復旧業者では復旧できなかったりします。RAID6ではさらに、リード・ソロモン符号のパリティを解析できる分析力が必要ですので、解析できる復旧業者は多くはありません」と笠嶋氏は言う。

パリティがおかしいと思ったら特殊な構造だった事例

 冒頭で触れた「特殊な構造のRAID6サーバー」の復旧事例は、こうした経験が生かせた事例でもあり、またそれだけでは足りなかった事例でもある。

 この事例で復旧対象となったのは、企業が重要なデータを保存していたサーバーで、12本のハードディスクでRAID6を組んでいた(うち1台はホットスペア)。このRAID6で、まず3番目のディスクに障害が起こり、自動でホットスペアのディスクが組み込まれてリビルドが実行された。が、その途中で今度は8番目のディスクに障害が起こり、今度は手動でディスクを交換してリビルドを実行した。すると、さらにその途中で11番目のディスクに障害が起こって、RAID6が壊れてしまったという。

 日本データテクノロジーには、12本のハードディスクが取り外された状態で持ち込まれた。ディスクの順番はRAID復旧で重要な情報状態であり、望ましい状態ではないが、しばしばあることであり、まずディスクの各セクタの分析から始めた。

 「最初、パリティが壊れているかと思いました」と笠嶋氏はふり返る。リビルドが複数回実行された結果、複数のパリティが書き重ねられてしまったのではないかと考えたという。

 それでも分析しなおしてみたところ、ある程度ディスクの順番がわかってきたが、それにしてもおかしい。そこで、RAIDカードのメーカーであるAreca Technology社に尋ねてみたところ、RAID6のパリティの配置が、ほかに例のないものだと判明した。

 前述したように、通常のRAID6のP+Q方式では、例えば2つ目のブロックではディスク10と11をそれぞれPとQのパリティに、3つ目のブロックではディスク9と10をそれぞれPとQのパリティに……と並ぶ。

通常のRAID6の内部構造

 しかし、このRAIDカードでは、2つ目のブロックではディスク8と9がそれぞれPとQのパリティに、3つ目のブロックではディスク6と7がそれぞれPとQのパリティに……のように独特の配置となっていたという。

今回復旧した特殊なRAID6の内部構造

 そこで、メーカーの情報を元にRAID情報を復元し、データを取り出すことに成功した。幸いリビルド処理が最初のほうで止まっていたので、データはほぼ無事だったという。

 「RAIDだけで年間300~400件の復旧経験を積んできましたが、今回のケースはそれまでに経験していなかったメーカーのRAIDカードでした」と笠嶋氏。通常は1~2日で済むRAIDの復旧が、この事例では1週間ほどかかった。「これで経験を得たので、同じメーカーのものが入ってきたら、経験を生かして今度はすぐ直せます」と語る。

 こうしたことから、ハードディスクの復旧業者では何より経験と実績が重要だと笠嶋氏は主張する。「弊社も、量をこなす中からディスクや障害の法則性などに気付いて、それらの経験の蓄積からすばやく復旧していけるようになりました」。そのため、復旧事業者を選ぶときは、公開されている復旧数が大きな目安になると語る。「名の通った企業や官公庁などの事例などは嘘もつけないでしょうし、信頼があることにもなります」とは笠嶋氏の言葉だ。

Droboについて研究中

 なお、RAID関連で同社で最近研究しているテーマとして、笠嶋氏はDroboを挙げた。

 Droboは「Beyond RAID」と名付けられた技術にもとづいたストレージ製品だ。いままでのRAIDではハードディスクの容量を揃える必要があり、容量の異なるディスクを組み合わせると、いちばん小さいディスクの容量までしかほかのディスクでも使われない。それに対してDroboでは、異なる容量のディスクを、それぞれの最大容量を組み合わせられるようになっている。また、異なるメーカーのハードディスクであったり、回転数が異なるハードディスクを組み合わせても使用可能であるとメーカー側でも、動作保証をしている。

 そのぶん、パリティの並び方が複雑で、その復旧方法を研究中だという。「まだDroboの復旧事例は聞かないので、うまくいけば世界初になるかもしれません」と笠嶋氏は語った。

 「RAID復旧は、RAID復旧専門の技術者でないと、データ復旧に失敗してデータを失う危険性が非常に高いです。私たちに相談に来る方は保守担当やシステム担当者など、機器に精通されている方ばかりですが、機器に詳しければ詳しいほど自力復旧を行い、復旧困難な状態で持ち込まれるケースが少なくありません。RAID障害を悪化させないためにも自力復旧は行わず、専門家に相談されることをお勧めします。」


関連情報


(高橋 正和)

2012/11/13 10:00