2013年2月2日星期六

RHEL6.3上kvm的配置过程

RHEL6.3装好后,发现kvm还是不能直接用,需要进行一些配置。这个过程可以说满满都是坑,写一篇blog来记录下。

首先,使用yum来安装相应的package。



先把selinux暂时关闭。



编辑/etc/sysctl.conf,把ipv4_ip_forward改为1。



然后使之生效。


好了之后,新建一个叫qemu的用户。后面的操作都必须在qemu的home目录下面,不然就会有权限错误。

试着启动下libvirt服务,下面的操作都必须在libvirtd服务开启的状态。



接下来就可以在虚拟机上安装OS了。


如果使用ssh来连接host机,那么需要把vnc的输出到别的机器上,才能顺利安装。修改/etc/libvirt/qemu.conf文件,把下面一条反注释。



这样就可以在windows机器上使用vncview来继续安装过程了。

接下来,就是配置kvm的网络了,有两种网络配置模式,一是默认的NAT转发模式,二是birdge模式。一般都是使用birdge模式,把虚拟机直接暴露在网络上,和真实机器处于同一地位。

用ifconfig查看可以看到一个virbr0网络接口,这个是专门为NAT转发准备的,需要先删除。然后重启libvirtd服务。



接下来,在/etc/sysconfig/network-scripts下创建ifcfg-br0,内容如下:



再修改同一目录下的ifcfg-eth0,里面增加下面一句。



然后重启网络,bridge模式就配好了。



但是现在guest还是只能通过vnc来访问,host来可以通过virsh console guestname来访问guest,但是不配置还不能使用。于是在guest上进行配置。在/etc/securetty里面增加一行。



然后再修改/etc/grub.conf,增加console=ttyS0。



再在这个文件最后一行,增加



再重启libvirtd服务,然后就可以通过virsh console访问guest了。

登陆进guest后,ifconfig可以看到guest使用的网络接口,比如eth2,那么,在guest的/etc/sysconfig/network-script下面创建并修改ifcfg-eth2文件,修改HWADDR和DEVICE的值,使之和ifconfig相符。

之后重启guest的网络服务,就可以了。

没有评论: