連載
» 2011年02月03日 00時00分 公開

仮想PCで学ぶ「体当たり」Windowsシステム管理:第13回 Windowsのディスク管理をマスターする(下) (2/3)

[打越浩幸,デジタルアドバンテージ]

RAID-5ボリュームを構成するディスク1台に障害が発生するとどうなる?

 RAID-5ボリュームを構成するディスクの1台に故障が発生するとどうなるか、さっそく試してみよう。ディスク障害の状況を再現するにはいくつか方法があるが、一番簡単な方法として、とりあえず仮想ディスクを1台削除してみよう。まず仮想マシンに3台のディスクを追加してRAID-5ボリュームを構築する。これが正常に動作することを確認後、仮想マシンを停止させる。そして、Hyper-Vの仮想マシンの設定メニューを開き、SCSIインターフェイスに接続されているディスクのうちの1台を削除してみる。実機で言えば、ディスクへの接続ケーブルを物理的に外すことに相当する。ここでは3台のうち、真ん中の1台、ディスク2を外してみた(どれを外してもよい)。その後仮想マシンを再起動したのが次の画面である。

ディスクがアクセスできなくなった場合の状態
仮想マシンの停止時にディスクを1台削除してから起動した場合の状態。RID-5ボリュームへは引き続きアクセスできるし、データを読み書きすることもできるが、冗長性/耐障害性がないため、もう1台ディスクが故障するとデータが失われる。
 (1)作成したボリュームはD:としてアクセスできる。
 (2)これは、エラーを表す仮想的なディスク。この場合は、ディスクが1台不足しているという意味。
 (3)エラーのあるディスクのパーティション情報。

 ボリュームの状態が「冗長の失敗」となっていることに注意していただきたい。冗長構成ではなくなり、システムが危険な状態であることが分かる。だが、ドライブ名として「D:」が表示されていることにも注意していただきたい。実際にはこのシステムでは、RAID-5に割り当てたドライブであるD:が、この状態でもアクセスできている。システムとしては非常に危険な状態になっているが、ユーザーからはこのボリュームに正常にアクセスできる。もちろん、ファイルの読み書きが可能である。速度も通常時と変わりないように感じられるが、これは仮想環境なので、ほかの環境で利用した場合も同じであるとか、もしくは遅く(速く)なったとは断言することはできないだろう。

 現実のディスクの場合とは状況が異なるので、これをもってRAID-5の障害状況を正確に体験することは、残念ながら不可能だ。前回の「ミラー・ボリュームを構成するディスクに障害が発生するとどうなる?」でも述べたが、現実のディスク障害は一部の読み書きエラー(とそれに対する再試行)などから始まることが多く、その場合はディスクへのアクセスが一瞬待たされるといった状況が頻発するようになる(注意していないと、単なるネットワークのトラブルや混雑と間違える程度のものである)。ソフトウェアRAIDなので、システムから明示的なトラブルの通知が送られることはない。ディスクの管理ツールをチェックしたり、ディスク関連の入出力エラーがイベント・ログに記録されていないかを調べたりしないと、気付かない可能性もある。

 ところで前回の例ではもう1つ、diskpartのcleanコマンドでディスクのデータをいきなり初期化する方法を紹介した(「ディスクの内容を消去するには?」参照)。ミラー・ボリュームに対してこれを行うと、ドライブ名は維持されず、いきなりボリュームやドライブ名が消失していた(もちろんユーザーからもアクセスできなくなる)。RAID-5のボリュームに対してこの操作を行うと、同様に、いきなりボリュームやドライブ名が消失し、ユーザーからはアクセスできなくなる。これもまた障害の1つのパターンであるので、憶えておくとよいだろう(システム稼働中にディスクを消去するとこのパターンになり、システム停止中にディスクを消去すると先のパターンになるようである)。

diskpartのcleanコマンドでディスクを消去した例
もう1つの障害の例。これはシステム起動後、RAID-5ボリュームの運用中に、diskpartのcleanコマンドでその内容(先頭の情報部分)を強制消去している。先の場合と違い、ドライブ文字も消え、ボリュームも見えなくなっている。
 (1)このディスク2を強制的に初期化した。
 (2)RAID-5ボリュームへアクセスできなくなっている。
 (3)エラーを表す仮想的なディスク。この場合は、ディスクが1台不足しているという意味。先ほどと同じような状態だが、結果的にはこちらの方がより深刻な状態になっている。ちなみに、このボリュームは修復してもドライブ名は戻らず、後で手動でドライブ文字を割り当てなおす必要がある。先の例では、利用を続けながら修復することができる。障害にもいろいろなパターンがあるようだ。

障害のあるRAID-5ボリュームはどうする?

 RAID-5ボリュームを構成するディスクの1台に障害が発生した場合、可能な対処方法は次のとおりである。

  1. ディスクを交換して(もしくは追加して)、ボリュームを修復する。
  2. ボリュームを全部削除(破棄)する。
  3. そのまま利用を継続する。

 2と3を除外すると、行うべき作業はただ1つである。ディスクが1台故障したら、代わりのディスクを1台取り付け、そこに元のデータを復元させるしかない。ミラー・ボリュームの障害の場合と違い、RAID-5ボリュームを2つ以上に分割して、別々のボリュームに作り直して使う、ということはできない。ミラー・ボリュームの場合は、シンプル・ボリュームにしてからサイズを変更し、またミラーにするといったことも可能だが、RAID-5の場合はサイズを変更することもできない。ボリューム・サイズを拡大したければ、別に作成した大きなRAID-5ボリュームへいったんバックアップしてからリストアする、といった方法を使う必要がある。

 ちなみに、Virtual Server 2005やHyper-VのSCSIインターフェイスでは、仮想マシンの実行中に仮想ディスクの追加や削除が可能である。

RAID-5ボリュームを修復する

 それではRAID-5ボリュームを修復してみよう。1台ディスクが削除された仮想マシンに新しいディスクを接続した状態が、次の画面である。新規ディスクを接続すると、最初に「ディスクの初期化」ウィザードが表示されるので、接続したディスクを選択して、初期化しておく(「ディスクの初期化とは?」参照)。

修復用ディスクの用意
RAID-5ボリュームを修復するために、代わりのディスクをシステムに取り付ける。仮想環境なら、新しい仮想ディスク・ファイルを用意するだけなので簡単だ。
 (1)削除したディスクの代わりに用意したディスク。元のディスクは32Gbytesだったが、ここでは同じサイズのディスクを調達できなかったと想定して、64Gbytesに仮想ディスクを接続してみた。新規ディスクなので、オンライン状態にするには初期化ウィザードを一度実行する必要がある。
 (2)新規ディスクなので、何も入っていない。
 (3)不足しているディスクは32Gbytes。

 元のディスクは32Gbytesであったが、ここではより大きな64Gbytesのディスクを1台追加している。このように、サイズが大きなディスクを使ってRAID-5ボリュームを修復することはできるが、元よりも小さいサイズ(小さいパーティション・サイズ)のディスクを使って修復することはできない。

 ディスクが追加できたら、障害を起こしているディスク、もしくは一番下に表示されている「不足」と表示されているディスクを右クリックし、ポップアップ・メニューから[ボリュームの修復]を選択する。

修復ウィザードの起動
ディスクが準備できたら、問題を起こしているボリュームを右クリックし、ポップアップ・メニューから修復機能を起動する。
 (1)このボリュームを右クリックする。
 (2)新しいディスクを使ってRAID-5ボリュームを修復するにはこれを選択する。
 (3)これは一時的に取り外していたディスクを再接続する、といった場合に利用する。

 すると、修復に利用できるディスク(空き領域のあるディスク)が表示されるので、適切なものを選択して[OK]をクリックする。

RAID-5の修復ウィザード
この画面では、提示された空きディスクから、修復に使用したいディスクを選ぶ。
 (1)ここでは1台しかないので、これを選ぶ。
 (2)これをクリックして先へ進める。

 ディスクを選択すると、必要ならベーシック・ディスクからダイナミック・ディスクへの変換が行われ、RAID-5ボリュームの再構築作業が始まる。作業中に「再同期中」と表示されるのは、初期化の場合と同じである。再同期とは、残っているディスクからデータとパリティ情報を読み出し、追加されたディスクに復元したデータを書き込む作業のことである。ボリューム内のデータ量が多いとそれなりに時間がかかる。再同期が完了するまでに別のディスクに障害が発生すれば、ボリューム・データは失われてしまう。

 再構築作業が終了すると、「再同期中」が「正常」に変わり、次のようにボリュームが復元されているはずである。

修復の完了したRAID-5ボリューム
このケースではほとんどデータが含まれていないため、数分で終了した。通常は保存されているデータの量に応じて修復に長く時間がかかる。このケースでは、修復中も修復後もD:ドライブとして引き続きアクセス可能であった。
 (1)新しいディスク上に確保されたRAID-5ボリューム用のパーティション。ほかのディスクと同じく、32Gbytesだけ利用されている。
 (2)後半は未使用。RAID-5の修復ではボリュームのサイズを変更することはできないし、RAIDを構成するディスクの台数を変更することもできない。サイズや構成を変更したい場合は、いったんどこかへバックアップしてからボリュームを作成し直す必要がある。
 (3)RAID5のエラーがあったことを示す表示。修復が完了しても残っているので、手動で削除する。

 なお、障害発生に伴ってボリュームやドライブ名まで失われた場合は(diskpartのcleanコマンドで障害を起こしたような場合)、この後、手動でドライブ文字の割り当てなどを行ってボリュームを復旧させる必要がある。

 ところで修復が完了しても、管理ツールの一番下に「不足」「ダイナミック」という名付けられた仮想的なドライブが表示されていることがある(上の画面の(3))。だがこれは、障害があったことを表している名残(というのか?)なので、そのまま右クリックして、ポップアップ・メニューから[削除]を選択して消しておく。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。