三蔵開発メモ

Web開発やインフラ関連のメモを共有します

CentOS6,CentOS7,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

サーバー内の設定(CentOS6の場合)

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

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にする

サーバー内の設定(CentOS7の場合)

eth0イーサネット有効化、 ipアドレス変更 ネットワーク再接続 サービス再起動

nmcli c m eth0 connection.autoconnect yes
nmcli c modify eth0 ipv4.addresses 192.168.0.100/24 
nmcli c down eth0; nmcli c up eth0 
systemctl restart network

再起動

reboot

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