第12回 Windowsのディスク管理をマスターする(中):仮想PCで学ぶ「体当たり」Windowsシステム管理(2/3 ページ)
複数のディスクを組み合わせて使うストライプ・ボリュームとミラー・ボリューム。その作り方や障害時の対応方法は?
ミラー・ボリュームを作成するには?
ミラー(ミラーリング)は、別名RAID-1とも呼ばれ、2台のディスクに同じデータを書き込み、どちらか1台が故障してもデータが失われないようにする技術である。ディスク・システムの信頼性を高めたい場合に使用する。ただしハードウェアのRAIDシステムと違って、ミラーを構成するディスクは2台に限定される。またディスク・サイズ以上のボリュームは作成できない。Server系のWindows OSと、Windows 7のProfessional/Enterprise/Ultimateエディションで利用できる。
ミラーを作成するには、ディスクを2台選んでボリュームを作成する。ハードウェアのRAIDカードのように、ミラー化したボリュームをストライプ化したり、逆にストライプ化したボリュームをさらにミラー化したりするといったことはできない(基礎解説「RAID基礎辞典」参照)。ミラーに利用できるのは2台のディスクだけである。
ミラー・ボリュームのサイズ指定画面
これはWindows 7のミラー・ボリューム作成ウィザードの例。16Gbytesのディスク2台で、16Gbytesのミラー・ボリュームを作成してみる。
(1)ここからディスクを計2台選ぶ。
(2)2台しか追加できない。
(3)ここでは同じ容量の2台でミラーを作成してみる。
(4)ミラーのサイズ。2台のうち、小さい方のサイズになる。
作成されたミラー・ボリュームは次のようになる。ディスク・サイズに違いがある場合は、大きい方のディスクの末尾が未使用のまま残ることになる。
ミラー・ボリュームの例
これはWindows 7 Ultimateでのミラー・ボリュームの作成例。16Gbytesのディスク2台で、16Gbytesのボリュームを作成している。ディスクは2台あるが、冗長性のために利用されているので、最終的なボリューム・サイズはディスク1台のときと同じである。データを書き込むときは2台のディスクの同じ位置へ同じデータを書く。読み出す場合はどちらか一方のディスクからのみ読み出す(分散してアクセスを高速化するといったことはしていないようである)
(1)ミラー用ディスク1。16Gbytesの仮想ディスク。
(2)ミラー用ディスク2。
(3)ミラー・ボリュームを作成するには、ダイナミック・ディスクが必要になる。Windows 7などのOSではベーシック・ディスクを自動的にダイナミック・ディスクに変換してくれる。古いWindows OSの場合は、事前に手動で変換しておかなければならないものがある(そのようなOSの場合は、ディスクのタイプに応じて作成できるボリューム・タイプのメニューが変わるようになっている)。
ミラー・ボリュームを構成するディスクに障害が発生するとどうなる?
ミラーを構成するディスクの1台に故障が発生するとどうなるであろうか。期待される動作としては、外見上はボリュームはそのままで(つまりミラーのD:ドライブはユーザーからはアクセスできるものの)、内部的にはエラーが記録され、ディスクの管理ツールには注意マークが表示されるなどの変化が見られるはずである。
そこでストライプ・ボリュームのときと同様に、diskpartコマンドを使ってディスク1(ミラーの最初のディスク)をcleanコマンドでゼロ・クリアしてみたところ、次のようになった。
ミラー・ボリュームに障害が発生した場合の例
ミラーを構成するディスクのうちの1つをdiskpartのcleanでクリアしたところ。ミラーが解除され、さらにボリュームも無効になり、ユーザーからはアクセスできなくなっている。
(1)エラー・ボリュームとなり、割り当てられていたドライブ名D:は削除された。
(2)このディスクの内容をdiskpartのcleanコマンドでクリアした。元の情報は失われ、初期化されていない、新しいディスクとして認識されている。
(3)ミラーの2台目のディスク。内容は残っているが、ミラー・ボリュームとしては機能していない。
(4)これは物理ディスク(この場合は仮想ディスク)ではなく、障害が発生したディスクやボリュームの情報である。何らかの障害が見つかった場合に表示される。これを右クリックすると、このようなポップアップ・メニューが表示される。
(5)ボリュームのデータを残したままミラーを解除するには、これを選択する。
(6)[ボリュームの再アクティブ]を選択しても、ボリュームを復旧できない。このメニューは、一時的に取り外していた(データの無事な)仮想ディスクを再接続し、ボリュームを再認識させるような場合に利用する(オフラインになっていたディスクをオンラインにする、といった場合に使用する)。
(7)ミラーの解除ではなく、このボリュームを完全に削除したい場合はこれを選択する。
ボリュームD:がそのまま残っているのではなく、いきなりボリュームD:は削除されてしまい(ユーザーからは見えなくなっている)、さらにミラー・ボリュームは「冗長の失敗」という状態になっている。この状態では、ユーザーはこのボリュームのデータに一切アクセスできない。
せっかくのミラーによる冗長機能なのに、これではあまり意味がないと思われるかもしれない。実はこれが仮想ディスク(による故障の再現)と実ディスクにおける大きな違いである。実ディスクの場合は、このようにいきなりすべてのデータが消えてしまうのではなく、最初は一部セクタの読み書きエラーなどから始まり、エラーの範囲が徐々に拡大していくことが多い。Windows OSでは、例えばディスク・アクセス中にエラーに遭遇すると何回かリトライし、それでもだめならミラーの冗長ディスクの方へアクセスする、というふうに動作する。ディスク内部でも何回かリトライを行うので、コンピュータのユーザーから見ると、ディスクへの読み書きがある特定のセクタ部分(特定のファイル)などで急に遅くなる、といった症状が出る。そしてイベント・ログにはディスク入出力関連のエラーが記録される。この段階でユーザーが気付けば、ディスクの交換やデータの退避といった適切な対応が可能だ。ただしハードウェアRAIDシステムと違い、このようなエラーが発生してもブザーを鳴らすといった機能はないので、管理者が気付かないと、より深刻な事態に陥る可能性がある(TIPS「ディスクの故障をイベント・ログで確認する」「エラーを無視してファイルをコピーする方法」参照)。
一般にディスクの物理的なエラーは、いったん始まると、そのエラー範囲や症状が急速に拡大/悪化することが多い。そのうち、ディスクがまったく応答しなくなるといったこともある。diskpartのcleanコマンドによる強制的なゼロ・クリアは、このどうしようもなくなった、致命的な状態のディスクに近いといえる。
障害のあるミラー・ボリュームはどうする?
ミラー・ボリュームを構成するディスクに致命的な障害が発生した場合に可能な対処方法は次の4つある。
- そのボリュームを全部削除する。
- ミラー・ボリュームが不完全なまま使用を継続する。
- ミラー・ボリュームを解除して、単独のディスクだけで構成されるシンプル・ボリュームにする。
- シンプル・ボリュームに変換後、(交換した)別のディスクと組み合わせて、またミラー・ボリュームにする。
1.はスパン・ボリュームやストライプ・ボリュームにおける障害発生時のように、そのミラー・ボリュームを全部削除してしまう方法である。これを実行するには、ディスクの管理ツール上でエラーのあるミラー・ボリュームを右クリックし、ポップアップ・メニューから[ボリュームの削除](先の画面の(7))を実行する。すると、不完全なミラー・ボリュームがすべて削除され、ディスクは未割り当て状態になる。ミラー・ボリューム上のデータが不要ならこの方法でよいだろうが、実際にはデータを取り出したいだろうから、これを実行する場合は十分注意する。いったん削除すると、データを復活させることはできない。
2.は、不完全なミラーのまま使用を続行する方法である。代替ディスクがすぐに用意できない場合はこれでもよいだろうが、残ったディスクに障害が発生するともう救う方法はないので、速やかに新しいディスクを用意してミラー・ボリュームを回復するのがよい。その場合は3.と4.の手順に従っていったんミラー・ボリュームを解除してシンプル・ボリュームに戻し、その後またミラー・ボリュームに変換する。
なお不完全なミラー・ボリュームであっても、単にドライブ名の割り当てが解除されているだけなので、新たにドライブ名を割り当てればユーザーがアクセスできるようになる。ドライブ文字を割り当てるには、ボリューム名を右クリック後、ポップアップ・メニューから[ドライブ文字とパスの変更]を選択し、適切なドライブ名を割り当てればよい。
3.と4.については次ページで述べる。
Copyright© Digital Advantage Corp. All Rights Reserved.