特別企画
RAIDサーバーで増加傾向、誤ったリビルドによるデータ消失を防ぐために
日本データテクノロジーに聞く
(2013/10/7 06:00)
RAID 5は、複数台のハードディスクを組み合わせて、そのうち1台が壊れても残りのディスクからデータを再現できるようにする技術だ。1台が壊れた時に、壊れたディスクを入れ替えてデータを再現する作業をリビルドと呼ぶ。
最近では家庭向けのNAS製品でもRAID 5が普及している。リビルドはそれぞれの製品の取扱説明書でも解説されている操作だが、リビルドの時に間違ったことをしてしまうと、データ全体を壊してしまう場合もある。「実際にそのような事故が最近増えている」と語る、データ復旧サービス「日本データテクノロジー」(サイト名は「データ復旧.com」)を提供するOGID株式会社のエンジニアの趙暁豪氏に、誤ったリビルドの危険性について話を聞いた。
リビルドでディスクの順番やRAIDレベルを変えると大被害に
ここでいう“誤ったリビルド”とは、リビルドの際に、ディスクの順番を変えてしまったり、RAIDのレベルを変えてしまうものを指す。趙氏によると、こうした誤ったリビルドにより壊れたRAIDのデータの復旧依頼が、ここ1年で10%程度も増えているという。
そのようなことをしてしまう原因として、趙氏は、「おそらく詳しくない人が取扱説明書通りリビルドしても直らなくて、何かやろうとして試してしまうのではないか」と推測する。
そのような事故が起きるのは、家庭用のNASが多い。最近では家庭用のコンシューマー向けNASが普及し、動画や写真などのデータが蓄積されている。企業でも、小さい会社では、コンシューマー向けのNAS 1台に重要書類を含むさまざまなファイルを入れている場合もある。そうしたデータにアクセスできなくなったら、焦ってなんとか直そうとする気持ちはわかる。
しかし、RAIDではアルゴリズムと管理情報に従って複数のディスクにデータを書き込んでおり、各ディスクに書き込まれる情報は異なる。RAIDのレベルを変えたりディスクの順番を変えてたりしてリビルドすると、それまでそのディスクに書き込まれた情報に関係なく新しい管理情報が書き込まれる。「ユーザーから見るとディスクが見えなくなるだけですが、内部ではデータが上書きされて重要な情報が失われてしまい、復旧も難易度が上がります」と趙氏は警告する。
こうしたディスクからのデータ復旧では、上書きされてしまった部分の復旧は非常に難易度が高いため、まずは上書きされていない部分のデータを分析して取り出す。「特に順番を変えてしまった場合では、複数の矛盾する管理情報が書き込まれていて、元からあった管理情報と新しく書き込まれた管理情報を見分ける必要があるため、だいぶ時間がかかります」と趙氏。
リビルド中にはディスクに余計な負担をかけずに
リビルドに失敗しないための心得として、趙氏は「リビルド中にはディスクにできるだけアクセスしないこと」を挙げる。リビルド中にも、データは残っているので、アクセスはできる。しかし、リビルドはディスクに大きな負荷のかかるアクションであり、その最中にアクセスすると、ディスクに規則的でない動作をさせることになって、さらにディスクの負荷を与えてしまう。「読めなくなっていないか確認したり、仕事で必要なデータだったりと、ついアクセスしたくなる気持ちはわかるが、それは止めておいたほうがいい。アクセスしないことで、故障がだいぶ減ります」。
また、リビルドの失敗がしばしば起こるケースとして、ディスクが古くなっている場合がある。趙氏によると、「NASはだいたい24時間動いているため、数年で寿命が来ることが多い。弊社に持ち込まれるディスクで、古くなっているのが原因のものは、5年ぐらい使われたものが目立ちます」という。「もともと1台に障害があった時点で、ほかのディスクも何かしら問題が起きていたりと限界が近くなっています。そのようなディスクでリビルドをかけると、負荷がかかったのが原因で、スクラッチ(ディスクの傷)などの物理障害にもつながります。そうしたディスクについては、リスクを下げるために、自分でリビルドする前にわれわれ復旧業者に任せてほしい」。
ディスクが故障することは避けるのが難しいが、そのような事故からディスク中のデータを守るには、あらかじめほかのディスクなどにバックアップを取っておくのが望ましい。「重要なデータだけでも、週1回ぐらいの頻度でバックアップを取っておけば、ディスクに障害が起きてもデータはある程度守れます。また、リビルド中にもバックアップの方のデータを読めるので、リビルドしているディスクにアクセスしなくてもよくなります」と趙氏も言う。
リビルド失敗の復旧では“古い方のディスク”を忘れずに
もしリビルドに失敗してしまった時には、データを救出するにはディスク復旧業者の出番となる。この時にも、ディスクの順番が重要となる。「NASから外したディスクが持ち込まれることも多いのですが、順番がわからないと、復旧の手間が増える。われわれはプロなので順番を分析できますが、復旧時間を短くするためにはディスクに順番をふって、できればNASの筐体ごと持ち込んでもらえると助かります」と趙氏。
リビルド失敗で復旧に持ち込む時にやってしまいがちなことに、“リビルドで新しく挿したディスクの方を持ち込んでしまう”というものがある。「データを救出するには、挿しかえた古いディスクの方が重要です。できれば両方を持ち込んでほしい」(趙氏)。
復旧を依頼する時には、実際にしたことや起きたことを冷静に伝えるのが望ましい。企業の依頼主の場合には、ディスクの順番と、NASのエラーログなどを添えて持ち込まれることもある。「しかし、詳しくないお客様の場合、どんな操作をしたかもわかっていないことも多いし、それは仕方がない」と趙氏。「それでも、だいたい何番目のディスクを入れ替えた、といった情報でも伝えてもらえるとありがたい」。
特に冒頭のように、誤ったリビルドをかけてしまった場合には、依頼主は何をしてしまって何が起きたかもよくわからない場合が多い。「その場合でも、ファイルシステムを見れば、何をしてしまったか、だいたいわかります。月に100件以上の復旧をこなしている経験によるものです」と趙氏は語った。