极品分享

2012-08-08 20:50 Centos6.2 KVM 虚拟机安装配置

安装前期准备: 因为有些CPU不支持kvm虚拟化,貌似 i3以下的CPU不支持, 并且查看主板是否启动了虚拟化选项; 另外在安装Centos的软件包时,勾选虚拟化, 否则会花屏, 如果没有选, 可以用命令:yum install virt* 安装即可


 

1.需要软件
 

       1.1Kvm 模块

       2.6.29之后内核大多包含了kvm模块, Slackware13.37内核版本为2.6.32已经包含       了kvm模块,所以无需从网上下载kvm-mod模块,否则模块无法正常启动,kvm虚拟机  速度极慢。

       1.2用户空间组件

       目前两种版本qemu-kvm 和 kvm 的用户空间组件,kvm 现在已经不提倡使用,最好使用qemu-kvm,从网上下载qemu-kvm-1.0.tar.gz, 版本号1.0

       1.3 下载  tunctl 组件,版本号1.5, 主要用来实现虚拟机联网用中命令


 

2.安装步骤

       2.1  安装   qemu-kvm,

       ./configure --disable-vnc-tls --disable-vnc-sasl    把这个VNC选项禁掉否则会报错;

       make

       make install

       2.2  安装   tunctl , 此处省略


 

3.主机和客户机联网

      在KVM的网络模式中,企业应用最常用的网络模式应该是网桥模式。在kvm的官网中,有关于怎么搭建KVM网络的HOWTO, 但不会安装成功。Centos6.0装了KVM虚拟机后,如果不启动虚拟机,主机是可以上网的, 但是开了虚拟机之后,  虚拟机能上网,但是主机却不能上网,以下步骤可以实现kvm虚拟机的联网

     

3.1 首先在/etc目录下新建文件qemu-ifup

qemu-ifup内容如下

       #!/bin/sh

   set -x

   switch=br0

   if [ -n "$1" ];then

      /usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1  //创建虚拟网卡

      /usr/bin/sudo /sbin/ip link set $1 up//开启虚拟网卡, ip 命令类似于ifconfig $1 up      

      sleep 0.5s

      /usr/bin/sudo /usr/sbin/brctl addif $switch $1         //将虚拟网卡加入到网桥br0中

      exit 0

   else

       echo "Error: no interface specified"

       exit 1

   fi

如果发现whoami不能执行,直接替换你的用户名,我是用root,故此处改为root


 


 

3.2对以下两个配置文件进行修改

在/etc/sysconfig/network-scripts 目录下新建网桥配置文件ifcfg-bro, 内容如下

DEVICE=br0

TYPE=Bridge

BOOTPROTO=static

BROADCAST=192.168.1.255     //网桥的网

IPADDR=192.168.1.208             //网桥的ip地址,与主机的ip地址一样

NETMASK=255.255.255.0         

NETWORK=192.168.1.0            //网段

GATEWAY=192.168.1.1           //网关,不设置网关不能上网

ONBOOT=yes

 

修改网卡的配置文件ifcfg-eth0, 修改部分如下,其他的可保持默认

DEVICE=eth0

BOOTPROTO=static

BROADCAST=192.168.1.255 

IPADDR=192.168.1.208              //网卡的ip地址,与网桥的ip地址一样

NETMASK=255.255.255.0

NETWORK=192.168.1.0               //同段

GATEWAY=192.168.1.1             //网关

ONBOOT=yes

BRIDGE=br0                               //将网桥绑定网卡

 

网上有种解决方案,是不设置主机的ip地址,可实现主机,客户机同时上网。

这里将主机的ip和网桥的ip设为一样,究其原因重启网络服务后,网桥的ip会替代本机的ip, 就是网桥就代替的网卡,可以在另外一台机器上面远程登录网桥试下. 在主机下面ifconfig查看时,eth0没有ip,br0有ip, 效果应该与不设置主机的ip是一样的。

 

3.3关闭centos的NetworkManager

一定要关闭这个服务,否则网卡的脚本配置文件可能不会生效,上不了网

service NetworkManager stop

 

3.4重启网络服务

service network restart


 

3.5开启转发

echo 1 > /proc/sys/net/ipv4/ip_forward


 

小结:之前主机不能上网,虚拟机可以上网,可能的:1.没有写网桥的配置文件而是参照KVM官网上面,用命令来添加网桥,绑定网卡,故网桥就没有配置网关2.开启了NetworkManager 这个服务,导致用ifconfig命令来配置网络失效3.没有正确的设置好DNS
 


 


 

4.0 新建KVM虚拟机

       切换到root用户: su –l

       安装kvm模块    modrpobe kvm, modprobekvm_intel

       查看模块安装; lsmod | grep kvm

4.1为客户机新建一个硬盘镜像

       qemu-imgcreate -f qcow2 vdisk.img 50G

4.2安装客户机操作系统:

       光盘启动:

       qemu-system-x86_64-hda vdisk.img -cdrom /dev/cdrom -boot d -m 512

       .iso文件启动:

       qemu-system-x86_64-hda vdisk.img -cdrom /Centos6.0.iso(此处为iso文件路径) -bootd  -m512

4.3启动操作系统:

       qemu-system-x86_64–had vdisk.img–net nic,macaddr=自定义物理地址–net tap –  m 512

启动客户机后,可以如一般操作系统来使用,如果要联网配下客户机的ip和网关即可上网


 

过程中碰到的问题如:Centos6.2 下KVM 虚拟机 花屏死机问题, VNC错误等参见博客的其他文章,如有其他问题欢迎留言共同探讨, 另外以上命令可写成脚本简化安装。

2013-03-28 0 /
Linux
/
标签: 

评论回复

回到顶部