Help us understand the problem. What is going on with this article?

KVM on CentOS7 にゲストOSを作成する

More than 3 years have passed since last update.

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 を起動する際、ホストのコンソールに以下のメッセージが表示されるが未解決

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away