三蔵開発メモ

iOS、Androidアプリ開発、WEB開発、AWS等の話題を共有していきます。

kvmでvmをコピーする方法と、ネットワーク周りの設定

vmのコピー

ホスト機で以下コマンドを実行

virt-clone --original [ベースのvmの名前] --name [新しいvmの名前] --file /var/lib/libvirt/images/[新しいvmの名前].img

MACアドレス確認

ホスト機で以下のコマンドを実行し、新しいMACアドレスを控える

sudo virsh domiflist [新しいvmの名前]
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet1      bridge     br0        virtio      zz:zz:zz:zz:zz:zz

MACアドレスを書き換え

ゲスト機でネットワーク情報を書き換える

vi /etc/sysconfig/network-scripts/ifcfg-eth0
----------
#マックアドレスを上記のものに書き換え
#uuidもuuidgenして出力されたものに書き換え
#ipアドレスも新しいものに書き換え
----------

さらに、こっちのファイルも書き換える

vi /etc/udev/rules.d/70-persistent-net.rules
--------------
# PCI device 0x8086:0x100e (e1000) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="zz:zz:zz:zz:zz:zz", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
--------------

上記のようになっていて、eth0の方は元のVMMACアドレスで、eth1の方は上記で確認したMACアドレスになっているはずなので、
eth0の方を削除して、eth1をeth0にする

reboot

再起動して完了
virtualboxの複製の場合でもMACアドレス書き換え以下の手順は共通。