Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Windows Server 2008 RTM 日本語版のダウンロード開始が目前にせまった今日この頃ですが、いかがお過ごしでしょうか。
既に英語版をダウンロードしてお使いの方も多いと思いますが、そんな方々は、きっと Hyper-V もご堪能かと思われます。
つい先日、IT Pro 道場 運用管理基盤構築編 の週末開催 が終わり、ひとまずこのシリーズも終息したわけですが、道場で使用したデモ環境はすべて Hyper-V上で動作しておりました。Hyper-V には Snapshot という便利な機能が実装されており、これがでも環境を構築するのに実に役立ったわけで、もう Hyper-V 無しではでも環境を構築する気がおきないほど依存していました。
そして本日、Snapshot だらけになった環境を、1つの VHD に統合しようとしたところ、サーバーマネージャのHyper-V管理コンソールに「スナップショットをマージする」といったコマンドが見当たらないことに気付きました。
どうしたものかと情報をあさったところ、Hyper-V Beta では、少し面倒な手順でマージを行う必要があるとのこと。もしかすると、同じ理由で困っている方もいらっしゃるかもしれませんので、以下に手順のまとめておきたいと思います。
<注意>
-
- この手順は、Hyper-V Beta 上での手順であり、正式にマイクロソフトによりサポートされた手順でないことに留意してください
- 以下の手順を実施するまえに、必ずバックアップをとってください。くれぐれもお願いいたします
- マージが完全に完了するまでは、VHDファイルを起動することができませんので、こちらも合わせて留意してください
- 必ず、以下の手順を全て確認後、マージ処理を開始してください
まずは、手順の概要を理解してください。以下の環境があったとします。
[ おおもとのVHDファイル ] ← インストール直後の環境
└[Snapshot 1]
└ [Snapshot 2]
└ [Snapshot 3] ← 最新のスナップショット(現在はこの環境で動いている)
上記の環境であることを踏まえ、マージを行うには、以下の手順を実施します。
- [Snapshot 3] を [Snapshot 2] にマージ
- [Snapshot 2] を [Snapshot 1] にマージ
- [Snapshot 1] を [おおもとのVHDファイル] にマージ
すなわち、起点となるスナップショットの数だけマージを行う必要があるわけです。
それでは、実際の手順を確認しましょう。
構成ファイルから現在のスナップショットファイルを確認する
Virtual Machine を作成時に指定したフォルダ配下の、Virtual Machineフォルダを開く。
ここに、XMLファイルが保存されているので、これをメモ帳等で開く。
構成ファイル(XML)から現在のスナップショットファイルのファイル名を見つける
構成ファイルを開くと、以下の記述が見つかる。<pathname>タグに記載されているのが、現在使用されているスナップショットファイルだ。Virtual Machine にマウントされているVHDファイルが1つの場合には、pathname も1つだけだが、以下の例では、1つの Virtual Machine に3つの VHD ファイルがマウントされており、それぞれのスナップショットが記載されていることがわかる。
ちなみに、以下に記載されているとおり、スナップショットファイルの拡張子は、avhd となる。
・ ・ <pathname type="string"> ~(略)~\DJDPM01_A97EBB85-2F82-40A4-AA3D-46AF2579A92C.avhd</pathname> <type type="string">VHD</type> ・ ・ <pathname type="string"> ~(略)~\BackupStrage_49F5E94F-E9A8-43B5-AFEA-0ED657653C98.avhd</pathname> <type type="string">VHD</type> ・ ・ <pathname type="string"> ~(略)~\WSBackup_AE3A4CE0-3F3D-4D0C-B189-802AE6A34FEF.avhd</pathname> <type type="string">VHD</type> ・ ・ avhd ファイルの拡張子を vhd に変更する
2. で確認したファイルの拡張子を vhd に変更する。
ここでは、
DJDPM01_A97EBB85-2F82-40A4-AA3D-46AF2579A92C.avhd
↓
DJDPM01_A97EBB85-2F82-40A4-AA3D-46AF2579A92C.vhd
に変更したものとする。
ちなみに、スナップショットファイル(avhd)は、以下のに示すように、Snapshotフォルダ配下の「構成ファイルのファイル名と同じ名前のフォルダ」にまとめて格納されている。
Edit Disk ウィザードを起動する
サーバーマネージャの [役割] - [Hyper-V] - [Microsoft Hyper-V Servers] - [<Server Name>] を右クリックして [Edit Disk] をクリックする。
スナップショットファイルを指定する
「Loacte Virtual Hard Disk」画面で、拡張子を変更したスナップショットファイル(DJDPM01_A97EBB85-2F82-40A4-AA3D-46AF2579A92C.vhd)を指定して、[Next] をクリックする。
Merge を選択する
「Choose Action」画面で、Merge を選択し、[Next] をクリックする。
To the parent virtual hard disk を選択する
「Merge Changes from Differencing Disk」画面で、[To the parent virtual hard disk」を選択して、[Next] をクリックする。
Parent Virthal Hard Disk のファイル名を確認する
「Completing the Edit Virtual Hard Disk Wizard」画面が表示されるので、これからマージしようとしているマージ先の親ファイルを必ず確認する。
ここでは、以下の通り、DJDPM01_23E2F300-0C-~(略)~.avhd であることがわかる。
このファイル名が、「おおもとのVHDファイル」(拡張子 vhd)となったら、これが最後のマージだ。
マージ先の親ファイルをメモしたら、[Finish] をクリックしてマージを開始する。
マージ完了を待つ
マージ完了までに要する時間は、スナップショットファイルの容量にもよるが、10分~30分程度であろうと思われる。

マージ後の親ファイルを確認する。
マージが完了したら、3. で開いたフォルダを参照し、親ファイルのタイムスタンプが最新(現在)になっていることを確認する。
この時点で、マージ先の親ファイルが最新のスナップショットとなった。
以降、このファイル(ここではDJDPM01_23E2F300-0C-~(略)~.avhd )の拡張子を vhd に変更し、3. ~ 9. を繰り返す。
8. にも書いたとおり、マージ先の親ファイルが「おおもとのVHDファイル」となったら、最後のマージとなる。
新しい Virtual Machine を作成する
「おおもとのVHDファイル」へのスナップショットのマージが完了後、既存の Virtual Machine を起動しようとしても起動することはできない。
いったん、既存の Virtual Machine を削除し、新しい Virtual Machine を作成する必要がある。
Virtual Machine 作成ウィザードでは、VHDファイルの指定画面において、マージしたVHDファイルを指定ればよい。
以上で手順は完了です。
一度マージをはじめたら後戻りはできません。くれぐれも、既存環境を壊さないよう、注意して作業を行ってください。







