特別企画

「SVC」で仮想化したストレージの障害が復旧するまで

日本データテクノロジーに聞く

 ある程度以上の規模のサーバーインフラにおいて、仮想化が普及してきている。サーバー仮想化は、複数のサーバーを集約したり、状況に合わせてスケールさせたりする目的で使われている。また、ディスク容量を柔軟に管理するためのストレージ仮想化も、サポートする製品が少しずつ増えている。

 仮想化の仕組みを採用した場合、下のレイヤーは抽象化されており、ふだん使うぶんには構造をあまり意識しなくてよい。しかし、障害が起きたときに症状を見極め復旧するためには、それぞれのレイヤーについて知識を持って対応する必要がある。

 データ復旧サービス「日本データテクノロジー」(サイト名は「データ復旧.com」)を提供するOGID株式会社では、IBMのストレージ仮想化アプライアンス「SANボリューム・コントローラー(SVC)」とサーバー仮想化を組み合わせたシステムのディスク障害について依頼を受け、復旧に成功したという。SVCでの復旧の難しさや、復旧に成功した要因などについて、同社エンジニアの趙暁豪氏と太田高寛氏に話を聞いた。

日本データテクノロジーのエンジニアの太田高寛氏(左)と趙暁豪氏

多数のディスクの有効利用と管理性のために仮想化

 ここでいうストレージ仮想化とは、複数のディスクを束ねて1つのリソースプールとして管理し、その中から仮想的に領域を切り出して1つのディスクとして見せる技術だ。例えば、OSやファイルシステムのレベルでストレージ仮想化を実現するものに、Windows Server 2012やWindows 8以降の「記憶域プール」、ファイルシステムZFSの「ストレージプール」などがある。また、専用のスケールアウト型ストレージ製品や、ソフトウェアによるクラスター型ストレージもある。

 IBMのSVCも、こうしたストレージ仮想化のための製品の一つだ。SVCは、複数のSANストレージを束ねてストレージを作り、そこから仮想的なディスク(ボリューム)を切り出して、SANストレージとしてサーバーに見せる。なお、SANとはStorage Area Networkの略称で、共有ディレクトリではなくディスクをネットワーク経由で使えるようにする技術を指す。専用のファイバーチャネル(FC)プロトコルを使う「FC-SAN」と、IPネットワークを使う「IP-SAN」とがある。

 SVCなどのストレージ仮想化の大きなメリットとして、「容量を効率的に利用できる点が挙げられます」と太田氏は説明する。1台の物理ディスクは容量が決まっているため、総容量のうち、ほんの少し使っていない場合には残った領域は無駄になるし、容量が足りなくなったら新しいディスクとして追加する必要がある。特に、多数のサーバーが並ぶサーバー仮想化構成では、無駄が大きくなる。そこで、ストレージ仮想化を使うことで、1台の物理ディスクの容量にとらわれずに、小さくも大きくもディスク容量を決められ、さらにシステムを停止せずに動的に変更できるという。

 また、大企業で大量のデータがある場合、物理ディスクも大量になり、管理のためのコストや人員がかかるが、「SVCで統一して管理することで、管理のためのコストを抑えられるというメリットもあります」と太田氏は語る。容量の効率利用ともども、どちらかというと、管理が大変になるほどのデータとディスクを持つ企業向けの製品といえる。そのぶん、置かれるデータもより重要なもので、失われてはならないものが多くなってくる。

SVCで各ストレージの管理を一元化するイメージ。一元化されたグループを論理的に識別可能な状態に分割する。
※VMFSとはVirtual Machine File Systemの略称。VMwareによって開発されたクラスタファイルシステム
※LUNとはLogical Unit Numberの略称。ストレージ装置に複数の論理ユニットが存在する場合、これを識別するための番号

レイヤーの重なった複雑なデータを経験をもとに復旧

 今回復旧に成功したのは、16台のディスクによるRAIDを複数台用意し、それらをSVCで統合し仮想化した構成だ。このうち、1台に障害が起きた結果、構成情報が壊れて、アクセスできなくなったのだという。趙氏によると、「保守契約の業者が入っていたのですが、そこでは復旧できなかったようで、あきらめ半分のような感じで弊社に依頼が来ました」とのことだ。

 同社でSVCの復旧を手がけるのは初めて。かつて、24台のディスクからなるZFSのサーバーを初めて復旧したときも、初めての状態から情報を収集し、テストを繰り返して復旧に成功した。今回のSVCのケースでも、同じように情報を一から集め、さまざまなテストをして復旧にこぎつけたという。

 「まず、IBMの資料から仕組みを調べ、その原理原則をもとに、(オリジナルを残すために)クローンしたディスクで構成情報のデータをいろいろ変更して試しました」と趙氏。さらに復旧が難しかった要因として、SVCの本体を依頼主から借りることができず、ディスクだけの手さぐりの状態で、データの修正とテストを試すことになった点がある。「手元でこれで大丈夫だろうというところまで修正してから、データセンターに持ち込んで実機でテストする、というのを繰り返しました」(趙氏)。

 その結果、初めてのSVCのディスク修復で、約2週間で復旧に成功した。「うまくいった要因の1つには、RAIDやファイルシステムなど、それぞれの要素の修復の経験を積んでいる点があります」と趙氏は語る。

 今回のシステムのようなサーバー仮想化のシステムでは、RAID構成の物理ディスクの上でSVCが管理し、SVCでボリューム仮想的なディスク(ボリューム)を作り、ボリューム上にパーティションを作り、パーティションをファイルシステムとしてフォーマットし、その上に仮想マシンが乗る、というレイヤー構造になる。それぞれを考慮して修復する必要があるため、各レイヤーの構造を理解している必要がある。

 「物理ディスクやRAID、ファイルシステムなどの復旧については、経験を蓄積しているので時間がかかりません。仮想マシンの修復には、それぞれのベンダーごとの違いを知る必要がありますが、最近はそうした依頼を受けることもあって実績がありました。まったく未経験だったのはSVCの管理情報の部分だけだったので、そこを新しく調査して復旧にこぎつけました。」(趙氏)

 こうした復旧経験を支えるものの1つに、復旧技術の研究開発への取り組みがある。太田氏によると、「いままで直せなかったものを研究チームが日々研究して、その成果が現場チームに共有されることで、復旧できるケースが少しずつ増えています」という。「今回も、依頼主があきらめ半分だったものが復旧できて、喜んでいただけました。今まで復旧経験のないシステムでも、ほかのディスク復旧の知識と経験を生かして復旧できるものもあると思います。『システムや構成が特殊だから直らないのでは』と思っている企業さんでも、まず相談していただければと思います」(太田氏)。

高橋 正和