KVM on CentOS7 のゲストOS に CentOS6.7 をインストールする
グラフィカルインストールを行うため、virt-viewer をインストール
(クライアントは、64bit Windows 環境のため、virt-viewer のWin x64 MSI をクライアントにインストールした)
https://virt-manager.org/download/
KVM サーバーにも virt-viewer をインストール
# yum install virt-viewer
ゲスト OS の作成を開始
# virt-install \
--name CentOS6.7_1 \ #ゲスト OS 名
--ram 512 \ #ゲスト OS のメモリ(MB)
--vcpus=1 \ #ゲスト OS の vcpu
--file=/data/kvm/images/CentOS6.7_1.img \ #ゲスト OS の仮想ディスク
--file-size=20 \ #仮想ディスクサイズ(GB)
--cdrom=/data/iso/CentOS-6.7-x86_64-bin-DVD1.iso \ #メディア
--os-variant=centos6.5 \ #コマンド "osinfo-query os" でos-variant の種類が確認可能
--network bridge=br0 \ #使用する NIC
--accelerate \ #カーネルアクセラレーション
--graphics spice,listen=0.0.0.0 --channel spicevmc \ #グラフィックインストール
--video qxl \
--autostart \ #ホスト起動時のゲスト自動起動設定
--noreboot #インストール後のゲスト起動しない
# virt-install \
> --name CentOS6.7_1 \
> --ram 512 \
> --vcpus=1 \
> --file=/data/kvm/images/CentOS6.7_1.img \
> --file-size=20 \
> --cdrom=/data/iso/CentOS-6.7-x86_64-bin-DVD1.iso \
> --os-variant=centos6.5 \
> --network bridge=br0 \
> --accelerate \
> --graphics spice,listen=0.0.0.0 --channel spicevmc \
> --video qxl \
> --autostart \
> --noreboot
WARNING グラフィックスが要求されていますが DISPLAY 変数が設定されていません。virt-viewer を起動できません。
WARNING ゲストのコンソールがないため、デフォルト値 --wait -1 を適用します。
インストールの開始中...
ドメインを作成中... | 0 B 00:00
仮想マシンのインストールが進行中です。インストールが完了するまで 待機します。
spice ポートの確認
# virsh dumpxml CentOS6.7_1 | grep graphics | grep port
<graphics type='spice' port='5900' autoport='yes' listen='0.0.0.0'>
Remote Viewer(virt-viewer) を起動し、KVM ホストの spice ポートに接続
spice://"IP address":5900
CentOS のグラフィカルインストールが開始される
※firewalld で許可していない場合は接続できないので、許可するか一時的に firewalld を停止する
CentOS のインストール完了後、以下メッセージが表示される
ドメインがシャットダウンしました。続けています。
仮想マシンの作成が完了しました。
現在、稼働中の仮想マシンを再起動することができます。
virsh --connect qemu:///system start CentOS6.7_1
ゲスト OS からインストールディスクを切断する
# virsh detach-disk CentOS6.7_1 hda --persistent
ディスクが正常に切断されました
ゲスト OS 起動
# virsh start CentOS6.7_1
再度 Remote Viewer で、ゲスト OS に接続
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=YES
BOOTPROTO=dhcp
# service network restart
DHCP で IP アドレスが取得できない
ホストの bridge 設定で br0 が vnet0 に接続されていて、物理 NIC (enp2s7) に接続されていない
brctl で br0 を enp2s7 に接続する
# brctl addif br0 enp2s7
# brctl show
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.001d7378336d no enp2s7
vnet0
virbr0 8000.525400778320 yes virbr0-nic
ホストの再起動
# shutdown -r now
再度 Remote Viewer で、ゲスト OS に接続
DHCP で IP アドレス取得に成功した
spice 接続は切りたいのでホストからコンソール接続
# virsh console CentOS6.7_1
ドメイン CentOS6.7_1 に接続しました
エスケープ文字は ^] です
接続はできているように見えるが何も操作できない状態
ゲスト OS の grub.conf を編集
serial --unit~ を追加
terminal --timeout~ を追加
kernel 行の末尾に console=ttyS0,115200n8 を追加
# vi /etc/grup.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
serial --unit=0 --speed=115200
terminal --timeout=10 serial console
title CentOS 6 (2.6.32-573.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet console=ttyS0,115200n8
initrd /initramfs-2.6.32-573.el6.x86_64.img
ゲスト OS の再起動
shutdown -r now
ホストからコンソール接続成功
# virsh console CentOS6.7_1
ドメイン CentOS6.7_1 に接続しました
エスケープ文字は ^] です
localhost.localdomain login:
spice 接続設定解除
# virsh edit CentOS6.7_1
<graphics type='spice' autoport='yes' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
<image compression='off'/>
</graphics>
ゲスト OS をシャットダウンするて設定が反映される
※ゲスト OS を起動する際、ホストのコンソールに以下のメッセージが表示されるが未解決