第12回 WindowsHomeServer その3 -ドライブエクステンダーの動作
WindowsHomeServerの続きのお話です。今回は前回に続きドライブエクステンダーのお話です。ドライブエクステンダーとはWindowsHomeServerの機能の一つで複数のハードディスクドライブを論理的に一つのハードディスクドライブに見せる技術です。ドライブエクステンダーの概要については下記の記事で説明しています。
第11回 WindowsHomeServer その2 -ドライブエクステンダー概要-
また、この記事を最初から読みたい場合は下記の記事から読んでください。
第10回 WindowsHomeServer その1 -概要編-
では、今回はドライブエクステンダーの具体的な内容について書きたいと思います。前回は、
「ちょっと待て!!複数のドライブを一つにまとめるって・・・まさかその中のハードディスクの一つでも壊れたら全部パーじゃないかっ!!」
というお話までした。ファイルの管理方式について書きます。今回も.NETラボの勉強会でお話ししたときに作成したスライドを使用します。
ハードディスクのパーティションの切り方
WindowsHomeServerでは、インストール時にパーティションを下記のように分割します。まず、インストール時にはOS用に20GBのパーティションを先頭のハードディスクドライブに作成します。このパーティションをシステムパーティションと呼びます。この先頭のハードディスクドライブをプライマリドライブと呼びます。二代目以降のハードディスクドライブをセカンダリドライブと呼びます。システム用には20GBのパーティションは固定値です。
次に、データ領域は下記のように二つの領域に定義します。プライマリドライブのシステムパーティションの残りのデータ領域をプライマリデータパーティションと呼びます。また、二代目以降のデータ領域をセカンダリパーティションと呼びます。
ドライブエクステンダーのファイル管理方式
ドライブエクステンダーでは二種類のファイルでデータファイルの管理を行います。
- シャドウファイル
シャドウと言いながらデータファイルそのものを示します。 - tombstoneファイル
シャドウファイル実体に対するリンクファイルです。4KB程度のメタファイルでシャドウファイルおよびバックアップファイル(後述)がどのハードディスクドライブに記録されているかを管理します。
このtombstoneファイルはプライマリデータパーティションに配置されます。
次に、バックアップファイルについてお話しします。シャドウファイルには別にバックアップファイルが用意されます。(バックアップファイルを用意するかの設定はフォルダ単位に行えます。)このバックアップファイルは実体と同じものです。実体とバックアップ(コピー)は別のハードディスクドライブに記録されます。ハードディスクが二台しかない場合は二台目に実態もバックアップも記録されます。但し、セカンダリパーティションがいっぱいになった場合はプライマリデータパーティションにバックアップが記録されます。
実体とバックアップファイルはtombstoneファイルに管理されます。
ハードディスク故障時のリカバリ処理
例えば、図の場合二台目のハードディスクが故障したとします。まずはハードディスクの交換をします。この場合、WindowsHomeServerコンソールから故障したハードディスクを削除して、新しいハードディスクを追加します。
tombstoneファイルの情報により、交換後にコピーの内容から実体を復元します。これでハートディスクの故障によるデータの復元が行えます。もちろん容量が足りない場合は、復元できないデータもあります。ですから、十分な容量のハードディスクが複数ある方が望ましいのです。
もし、プライマリドライブが壊れた場合は?
ここまでお話しすると、よく聞かれます。「なるほど。では、tombstoneファイルがあるプライマリデータパーティションつまり一台目のドライブ(プライマリドライブ)が壊れたらもうおしまいだね。」と。
「こんなこともあろうかと」(by 真田技師長)まだWindowsHomeServerにはリカバリの機能があります。まず、プライマリドライブを交換します。当然OSすら起動できません。WindowsHomerServerのインストールDVDを使ってOSの再インストールをします。再インストールの際にセカンダリパーティションを検出すると「新規インストール」するか「サーバーの再インストール」をするか聞いてきます。ここで、サーバーの再インストールを行います。まずは、OSの再インストールを行い、その後セカンダリパーティションのデータからプライマリデータパーティションのtombstoneファイルを再生成します。(Rebuild処理)これでデータは復元されます。但し、OSで管理しているユーザーアカウントやプラグインなどは全て消えてしまいますので、再度設定する必要があります。
実際やってみました
そこで実際試してみました。WindowsHomeServerが稼働しているマシンを他のOSのブートCDでCDブートさせてプライマリドライブをフォーマットしました。これでプライマリドライブが故障して正常品に交換したことと同じ状態にします。
続いて、WindowsHomeServerのインストールDVDを使ってプライマリドライブにOSをインストールします。インストール後にRebuild処理を開始しました。データ量によりますが、私の場合1時間ほどかけて処理を行い元に戻りました。無事機能することを確認しました。
それでもバックアップは必要?
それでもハードディスクが容量が足りなくて復元しきれなかった場合や複数同時に壊れることもあります。完全なバックアップを求めるならば外付けハードディスクなどをバックアップドライブとして使うなどの運用を考えた方がいいでしょう。
三回にわたりWindowsHomeServerについて書かせて頂きました。WindowsHomeServerにはまだ、クライアントPCのイメージバックアップ、リモートメインテナンスなど機能はたくさんあります。連載は一旦閉じさせて頂きますが、この後もWindowsHomeServerについては書いていきたいと思っています。