说一下背景,工作需要需要搭建一套办公服务环境,如git server/bugzilla/oracle等等,但是机房网络还没建好,仅有机柜机器还未上架。因此暂时在自己系统上创建kvm虚拟机,在kvm虚机上创建好环境,以后机器上架只需要拉起来这个img就可以搞定。为啥用kvm,一方面直接得到linux内核支持,性能够好,另一方面现在公司业务环境中很多系统采用kvm虚拟机。
环境:thinkpad t440s笔记本电脑一台,安装vmware player 6,创建vmware虚机安装rhel 6.5 x64作为kvm host,在rhel上创建kvm虚机。网络方面,thinkpad使用无线上网,要求vmware虚机的rhel和kvm虚机都能通过无线上网,共用相同网段,所以网络选用Bridge模式,相当于局域网上三台机器(thinkpad, vmware虚机, kvm虚机一台)
1、准备工作:在thinkpad bios在打开cpu虚拟化选项
vmware创建虚机时也要勾选虚拟机选项
vmware创建虚机时,网络选项选择桥接方式Bridge
2、安装RHEL 6.5 64bit(不知怎么回事,我用iso安装rhel总是简易安装模式,导致无法选择virtualization host)
安装好之后配置iso光盘作为yum源,自带的redhat repo源需要服务号(参见另一篇文章)
3、安装kvm
#yum install kvm // 安装kvm hypervisor
#yum install virt-manager libvirt libvirt-python python-virtinst libvirt-client // 安装虚拟工具
4、配置网络
#cd /etc/sysconfig/network-scripts/
a)修改网卡
#cat ifcfg-eth0 // 修改eth0
DEVICE=eth0
HWADDR=00:0C:29:58:BA:B2
ONBOOT=yes
BRIDGE=br0
MTU=9000
#cat ifcfg-br0 //桥接网卡
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp // 桥接网卡直接连无线路由,所以配置dhcp自动获取网址
ONBOOT=yes
DELAY=0
b) NetworkManager 不支持桥接,因此需要将NetworkManager关闭
#chkconfig NetworkManager off
#chkconfig network on
#service NetworkManager stop
#service network restart
c) 配置iptables,把网路包转向桥接网卡
#iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
#service iptables save
#service iptables restart
d) 重启网络
#service network restart
5 创建并安装kvm虚拟机
rhel 65 host里面,启动virt-manager图形界面
>applications>system tools>virtual machine manager
首先创建 一个local connection: qemu:///system
>创建kvm虚拟机,并加到br0桥接网络上,指定rhel 65的光盘并安装kvm guest系统,我kvm虚机上装的也是rhel 65
6 配置kvm guest rhel
虚机安装好了以后,启动登录(奇怪不是图形界面)
root login之后:
#ifconfig //查看当前网络,只有lo,没有eth0
#cd /etc/sysconfig/network-scripts/ 查看 ifcfg-eth0,发现ONBOOT=no,改为
ONBOOT=yes
重启网络
#service network restart
在ifconfig查看网卡eth0可见并配置 有ip地址,与thinkpad同网段