CentOS 5.4でKVMを試してみた。 〜 コンソール編 〜
CentOS 5.4でKVMを試してみました。忘れても良いようにメモしておきます。
GUIで弄ると非常に簡単に使えますが、それだと仕事として使えないのでコンソールだけで試してみました。
インストール
パッケージをインストールする。
yum install kvm kvm-qemu-img python-virtinst
以下はGUIな人が好みで。
yum install virt-manager virt-viewer
カーネルモジュールをロードする。
modprobe kvm modprobe kvm-intel
設定
ブリッジネットワークを使用する場合の設定。
/etc/sysconfig/network-scripts/ifcfg-br0を以下ような内容で作成する。
DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.168.1.10 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-eth0も変更する。
DEVICE=eth0 BOOTPROTO=none HWADDR=XX:XX:XX:XX:XX:XX ONBOOT=yes BRIDGE=br0
ゲストOSにパケットが届くように/etc/sysconfig/iptablesを書き換える。
〜省略〜 -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -i br0 -j ACCEPT ←追記 -A FORWARD -j RH-Firewall-1-INPUT 〜省略〜
設定を反映する。
service network restart service iptables restart
ゲストOSのインストール
virt-installを使ったテキストモードでのインストール方法
virt-install \ --connect qemu:///system \ -n vm01 \ -r 512 \ --vcpus=2 \ -f /var/lib/libvirt/images/vm01.img \ -s 12 \ --nographics \ --os-type linux \ --os-variant=virtio26 \ --accelerate \ --network=bridge:br0 \ --hvm \ --location='http://ftp.riken.jp/Linux/centos/5.4/os/x86_64' \ --extra-args='console=tty0 console=ttyS0,115200n8'
オプションで--os-variant=virtio26を指定することで準仮想化デバイスを使用できるのでパフォーマンスが良くなる。
テキストモードでインストールする場合は--extra-argsでconsoleを指定するのがポイント。
インストール元は--locationで指定する。--extra-argsはオプションで--cdromを指定した場合は動作しないので注意。
consoleからインストールを行う場合は、必然的にインストール元を--locationで指定することになる。
尚、--extra-argsでconsoleを指定しなかった場合、そのままではconsoleを使用することができない。
インストール後にconsoleを使用できるように変更したい場合は、/etc/inittabを書き換える。
# Run gettys in standard runlevels co:2345:respawn:/sbin/agetty ttyS0 115200 vt100-nav (←追加) 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2
インストールをKickStartで行う場合は、--extra-argsを次のように指定する。
--extra-args='ks=http://(ks-config-server)/(path)/ks.cfg console=tty0 console=ttyS0,115200n8'
ks=でゲストOSから見たks.cfgファイルのパスを指定する。
ホストOS内にks.cfgを置いて127.0.0.1を指定してもゲストOS自身になるので駄目。
今日の所はここまで。