Hyper-V 上の仮想マシン(Linux)の複製


Hyper-V @ 2012R2 上の Linux(CentOS) 仮想マシンを複製した際の作業記録です。

稼働中のものと同じ Linux仮想マシン(ただし、host名、IPアドレスは異なる)を作りたかったので、すでに稼働している仮想マシンを エクスポート > インポート(コピー) して作成しました。

コピー元の仮想マシンを ” devmiz01 ” 、複製後(コピー後)の仮想マシンを ” devmiz02 ” とします。
devmiz0* の OS は CentOS 6.8 です。

 

① コピー元となる仮想マシンをエクスポートします。

エクスポートが終わったら、エクスポートフォルダ内の 仮想HDD と構成ファイルを編集しておきます。(しなくても動作に問題はないですが、コピー元と名前が同じになるのでややこしい)

・  .vhdx ファイル名を新規仮想マシンの名称に変更。

 

・ Virtual Machines ディレクトリ下の仮想マシン構成ファイルを編集し、

” devmiz01 ” となっている箇所を ” devmiz02 ” に変更。 (以下の2箇所 ←環境によって下記以外にも旧マシン名が記載されている場合があるので、旧マシン名は一括して置換します)

・ vhdx ファイルパス  ( <controller0> <drive0> の <pathname> の箇所 )

・ 仮想マシン名 (<properties> の <name> の箇所)

 

② エクスポートした仮想マシンをインポートします。

 

「仮想マシンをコピーする(新しい一意なIDを作成する)」 を選択。

 

③ ” devmiz02 ” を起動する前に、仮想マシンからネットワークアダプターを外しておきます。 (「仮想スイッチ = 接続されていません」 にする)

 

静的MACアドレス(Linuxの場合、MACアドレスが変わると ethX の設定も変わってしまうので、静的MAC で運用しています) も、コピー元の値になっているので、新しいMACアドレスに変更しておきます。

 

 

④ ネットワークアダプターが外れた状態で仮想マシンを起動し、ホスト名、IPアドレスを変更します。

・ ホスト名は、/etc/sysconfig/network、 /etc/hosts を修正。

・ IP アドレスは、/etc/sysconfig/network-scripts/ifcfg-eth0 を修正。
 ※ IPもだけど、HWADDR  (or MACADDR) も新しい MAC アドレスに変更。

・ /etc/udev/rules.d/70-persistent-net.rules に古いMACアドレスと新しいMACアドレスの 2つのエントリーがある(はず)ので、どちらもコメントアウトしておく。

修正完了後、仮想マシンをシャットダウンする。

 

⑤ 仮想マシンにネットワークアダプターを接続し、起動する。

 

以上で、IP(とMACアドレス)とホスト名が異なる以外は、中身が “devmiz01 ” と同じの ” devmiz02 ” が完成です。