プロメモグラム

誰が見てもわかるような文章を目指す

KVMでハマったところ

KVMでのハマった点をメモする. 以下の2つの現象が起きた.

  • クローン後にホスト名を変更できない
  • クローン後にDHCPが同じIPを排出する

環境

OS

  • Ubuntu Desktop 18.04(ホストOS)
  • Ubuntu Server 18.04(ゲストOS)

仮想環境

  • Compiled against library: libvirt 4.0.0
  • Using library: libvirt 4.0.0
  • Using API: QEMU 4.0.0
  • Running hypervisor: QEMU 2.11.1
  • virsh 4.0.0

前提

Ubuntu Server 18.04をインストール済みのイメージをvirt-cloneを用いてクローンした.

1. クローン後にホスト名を変更できない

問題

ホスト名を変更するhostnamectlを用いても再起動すると元のホスト名に戻ってしまう.

解決

cloud-initの設定(/etc/cloud/cloud.cfg)を変更することで解決した.

# 前:
preserve_hostname: false
# 後:
preserve_hostname: true

変更後hostnamectlによりホスト名を変更して再起動.

2. クローン後にDHCPが同じIPを排出する

問題

virsh editMACアドレスやUUIDが重複していないことを確認したにも関わらず, DHCPでリースされるIPアドレスが重複してしまう.

解決

根本的な原因がわかっていないが,設定をリセットするコマンドであるvirt-sysprepを利用することで, 別々のIPアドレスが振られるようになった.

virt-sysprepを実行するために ホスト側でlibguestfs-toolsをインストールする必要がある.

$ sudo apt install libguestfs-tools

インストール後,特定の設定をリセットする. もしかしたら無駄な設定もリセットしているかも.

$ sudo virt-sysprep -d [クローンしたマシン名] \
--enable dhcp-client, machine-id, net-hwaddr