つぶねこ
@もじらもーど。
Server2012R2でHyper-Vしてると、vmをクローンするのにexport→importすることににゃるが、exportでvhdがコピーされるのは致し方にゃいとしても、importでもvhdがコピーされるという酷い仕様だった。これはvmのGUIDが被ってるとimport出来にゃい絡みで、GUIDを新しくしてimportするには全コピー必要とかいう頭の悪い作りだったから。
で、2016でもGUI上の進化は見られにゃいんだが、import時にコピー先を同dirにするとエラーを吐かずに処理が通るようににゃった。
Powershell的に書けば、
Export-Vm vmname x:\hoge
Import-VM -copy -GenerateNewId -Path "x:\hoge\vmname\Virtual Machines\GUID.vmcx" -SnapshotFilePath x:\hoge\vmname -VirtualMachinePath x:\hoge\vmname -SmartPagingFilePath x:\hoge\vmname -VhdSourcePath "x:\hoge\vmname\Virtual Hard Disks" -VhdDestinationPath "x:\hoge\vmname\Virtual Hard Disks" -Verbose
del "x:\hoge\vmname\Virtual Machines\GUID.*"
del "x:\hoge\vmname\snapshots\hogehoge.*"
でインプレース登録できる。最後delってるのはコピー元のファイル群。それにゃりに大きくにゃることはあるだろうけどvhdコピーされるよりはマシだし、自力でGUID置換するよりは安心感あるよね。ちにゃみにvhdはID変更されずに残ってるように見える。
これが正常動作の範疇であれば、VMをインプレースで登録する(識別子を新しくする)に近い挙動ににゃるんだが、にゃんで実装されにゃいのやら。というか一連の動作をまとめてvmのクローンとして入れるべきだと思われるが。
▼ Hyper-V 関連記事