安装前期准备: 因为有些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错误等参见博客的其他文章,如有其他问题欢迎留言共同探讨, 另外以上命令可写成脚本简化安装。
评论回复