KVM: クローンとインポート


ドキュメント


ゲストをクローンする方法

  1. virsh vol-clone: ボリュームをクローン
    • 未使用部分によってはボリュームサイズがオリジナルより小さくなる
  2. virt-install --import: ボリュームをインポート
    • 仮想マシンとしての設定XMLが作成され、起動できるようになる

これを一気にするコマンドvirt-cloneの方法もある。

Linux内部の設定に変化なし: 特にネットワーク注意


virt-clone: ゲストをクローン

virt-clone --auto-clone --original クローン元ゲスト名 --name 新ゲスト名

ゲスト側でMACやIPアドレス訂正: nmcli connection modify

# ホストシェル
virsh domiflist ゲスト
# ゲストシェル
# 変数例: 接続名eth0
conName=eth0
ip=192.168.0.111/24
mac=52:54:00:11:22:33

nmcli connection modify $conName \
  ipv4.addresses $ip \
  802-3-ethernet.mac-address $mac

virsh vol-clone: ボリュームをクローン

virsh vol-clone クローン元 クローン先 --pool プール名

virt-install --import: ボリュームをインポート

オプション

変数例

# ゲストの名前: 重複しないこと(virsh list --all)
name=c7-server0
# プールパス: ボリューム保存ディレクトリ
pool=/path/to/pool
# ボリュームパス: 拡張子例.qcow2
path=$pool/$name.qcow2

# メモリサイズMiB
memory=512
# CPUの数
cpu=2
# Linux種類
linux=ubuntu18.04
linux=centos7.0

# ネットワーク
network="network=default" # NATモード

実行

virt-install --import  --name $name  --memory $memory  --vcpus $cpu \
  --os-variant $linux  --noreboot  --network $network \
  --disk $path \
  --noautoconsole