ライン

ポイント:非常に手軽に使える!

ライン

 準備

 KVMの作成は2度目。今回は、CentOS 6.5にして再導入です。

 機材は同じものを使います。HP Proliant ML110 G5で4GBのメモリー。80GBのHDD。

OSの導入は、いつもの通り。そのままデフォルトの流れで完了させました。
sshdのサービスだけあげて、コマンド操作する準備をします。

# chkconfig --list |grep sshd
sshd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
# chkconfig sshd on
# chkconfig |grep sshd
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
# service sshd start
# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 78:E7:..
          inet addr:192.168.1.183  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::../64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5819 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2397 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6228708 (5.9 MiB)  TX bytes:178632 (174.4 KiB)
          Interrupt:17

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

これで接続できるようになりました。ここからTera Termで操作できます。
.bashrcに以下を追加。

bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'

以下のようにして反映しました。

# source .bashrc

前回と同じに設定を入れます。

# modprobe kvm_intel
# lsmod|grep kvm
kvm_intel              54285  0
kvm                   333172  1 kvm_intel
# yum install kvm libvirt kvm-qemu-img bridge-utils python-virtinst

パッケージの導入も完了しました。(36種類追加されました)

 起動時に、/etc/sysconfig/modules/kvm.modulesで自動で組み込まれるので以降は大丈夫。
以下は、いろいろ面倒なので修正しておくことにしました。

# cp -p  /etc/selinux/config  /etc/selinux/config_20131221
# vi /etc/selinux/config
SELINUX=disabled

を追加しました。

 この続きは、「KVMを使って仮想化する - Programming-Knowleodge.com」を参照してページの通りで進めていくことにします。

# groupadd libvirt
# useradd kvmuser
# usermod -a -G libvirt kvmuser
# cp -p /etc/libvirt/libvirtd.conf /etc/libvirt/libvirtd.conf_20131221
# vi /etc/libvirt/libvirtd.conf
#unix_sock_group = "libvirt"
#unix_sock_ro_perms = "0777"
#unix_sock_rw_perms = "0770"
#auth_unix_rw = "none"
#auth_unix_ro = "none"

 上記該当箇所のコメントを外して保存する。

# service libvirtd start
# qemu-img create -f raw /var/lib/libvirt/images/freebsd92.img 40G
Formatting '/var/lib/libvirt/images/freebsd92.img', fmt=raw size=42949672960

40GBを確保してみました。

設定を続けます。

# chkconfig NetworkManager off
# service NetworkManager stop
# cd /etc/sysconfig/network-scripts
# vi ifcfg-eth0
# vi ifcfg-virbr0
# brctl addbr virbr0
# brctl addif virbr0 eth0

上記のように入力していきます。2つのファイルは、以下のようにしました。

### eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=virbr0

そして、

### virbr0
DEVICE=virbr0
TYPE=Bridge
#BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.200
NETMASK=255.255.255.0
NETWORK=192.168.0.0

のようにしています。

 brctlの投入のタイミングで通信が切れました。設定にミスしていたら、修正してsshのつなぎ直ししてください。
/etc/sysctl.confの部分は初期で加わっていましたので作業はありませんでした。

 さて、今回もゲストはFreeBSDで試しますので、FreeBSDのISOを取得しておきます。

# wget \
  ftp://ftp.jp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-amd64-dvd1.iso \
  -o /var/lib/libvirt/images/freebsd92.iso

では、インストールの開始をしようと思います。

# virt-install --name=FreeBSD92 --connect=qemu:///system  --ram 1024 --vcpus=1 \ 
 --os-variant=freebsd8 -v  \
 --hvm --virt-type=kvm --accelerate \
 --disk path=/var/lib/libvirt/images/freebsd92.img,device=disk,bus=virtio \ 
 --cdrom=/var/lib/libvirt/images/freebsd.iso \ 
 --vnc --vncport=5902 --vnclisten=0.0.0.0 --network=bridge:virbr0  --keymap=ja

Starting install...
Creating domain...                                       |    0 B     00:00
WARNING  Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package.
Domain installation still in progress. You can reconnect to the console to complete the installation process.

 最後のメッセージは気にしないでいいようですので、外部よりVNC Clientで接続します。
※iptablesが効いて接続できない場合には、その辺りを変更するなりを実施してください。
上記で5902ポートを使った指定をしましたので、以下のようになります。

画像は前回の物をそのままですが、今回実際にはDHCPで設定しています。
今回はディスクも高速。あっという間に完了でした。

# virsh --connect qemu:///system
Welcome to virsh, the virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit
# list
 Id    Name                           State
----------------------------------------------------
 7     FreeBSD92                      running
# autostart 7
Domain 7 marked as autostarted

この手のコマンドは、ウェブでいくらでも参照できるので、消したり強制で落としたりができます。
必要があった際にはここに追加しておきます。

さて、

# vi /etc/sysconfig/libvirt-guests
START_DELAY=20 
ON_SHUTDOWN=shutdown
SHUTDOWN_TIMEOUT=180

これで親が落ちる際にも上げ下げが自動になった予定です。
(実際には落とすときには、ゲストを待たずして落ちてしまっていたので、まだ設定不足があるみたいでした)

むちゃ簡単に使えるようになりました。

 利用

 元ホストの再起動をしてみました。
元ホストはeth0がアップして来ないままです。

Bridge firewalling registered
virbr0: Dropping TSO features since no CSUM feature.
virbr0: Dropping TSO6 features since no CSUM feature.
device virbr0-nic entered promiscuous mode
virbr0: starting userspace STP failed, starting kernel STP
8021q: adding VLAN 0 to HW filter on device virbr0
Ebtables v2.0 registered
device vnet0 entered promiscuous mode
virbr0: topology change detected, propagating
virbr0: port 2(vnet0) entering forwarding state
lo: Dropping TSO features since no CSUM feature.
lo: Disabled Privacy Extensions
vnet0: no IPv6 routers present
kvm: emulating exchange as write
fuse init (API version 7.13)
virbr0: port 2(vnet0) entering disabled state
  alloc irq_desc for 28 on node -1
  alloc kstat_irqs on node -1
tg3 0000:0e:00.0: irq 28 for MSI/MSI-X
ADDRCONF(NETDEV_UP): eth0: link is not ready
device eth0 entered promiscuous mode
virbr0: topology change detected, propagating
virbr0: port 2(vnet0) entering forwarding state
8021q: adding VLAN 0 to HW filter on device virbr0

仕方が無いので、/etc/rc.localに

service network restart

を追加することでどうにかしました。
理由を追及できていません。解消できたら記載予定です。

 まとめ

 前回はKVMを非常に悩んで体験したのですが、今回はあっさりでした。良い感じです。
少し、再起動周りなどは調整しようと思っています。

また、他のOSも入れて試そうかと思います。


【改訂履歴】作成:2013/12/21  改訂: 2013/12/22
【参考リンク】

KVMを使って仮想化する - Programming-Knowleodge.com

Copyright © 1996,1997-2006,2007- by F.Kimura,