虚拟化之KVM--RedHat最新虚拟化技术

本节将详细介绍下KVM的安装和配置,KVM是红帽5.4发行版中推出的最新虚拟化技术,严格上说它是完全虚拟化的产品,VMware和vpc,virtualbox等也都是完全虚拟化的产品,而xen则是半虚拟化的产品,半虚拟化从性能上说要比完全虚拟化快很多,但xen有个缺点,它是重量级的虚拟机,修改了大量的内核源代码,它的guest机器必须理解xen化的硬件,也就是说xen上面只能运行红帽5以后的系统,后来红帽修改了发行版4中的一个版本,使其也能支持xen,而且Xen的完全虚拟化需要借助硬件CPU的VT技术,这个在inter cpu上叫vmx,在AMD cpu中叫svm, xen的完全虚拟化可以说是个失败品,运行效率甚至赶不上VMware,而且操作界面相当不友好,但这不能否认xen在半虚拟化世界的霸主地位,kvm是kernel virtual module的简写,其实kvm借鉴了xen在半虚拟化上的很多成就,虽然kvm是完全虚拟化的产品,但在关键的硬盘和网卡上支持半虚拟化virtio,在很大程度上提高了性能,kvm是轻量级虚拟化的代表,也需要硬件vt技术的支持,另外从操作界面上看,xen和kvm都是用virt-manager工具,差别不是很大,但不可以在同一台机器上同时安装且运行Xen和KVM;另外kvm在只能运行在红帽企业版5.4 64位系统上,同时需要关闭selinux …

1:使用yum库来安装kvm所需的软件,如果在安装系统的时候输入了安装序列号,可以勾选kvm,虚拟化来安装这些软件
[root@jsb-ylw-5052 ~]# yum -y install kvm kvm-* etherboot-roms-kvm.x86_64 virt-*

2:启动libvirtd服务,并保证下次自动启动
[root@jsb-ylw-5052 ~]# service libvirtd start    
Starting libvirtd daemon:                                  [ 确定 ]
[root@jsb-ylw-5052 ~]# chkconfig libvirtd on

3:桥接器的生成,这个在安装xen后,会自动创建桥接网络xenbr0,kvm在这点上似乎不够友好
[root@jsb-ylw-5052 ~]# cd /etc/sysconfig/network-scripts/   
[root@jsb-ylw-5052 network-scripts]# cp ifcfg-eth0 ifcfg-br0
[root@jsb-ylw-5052 network-scripts]# cat ifcfg-eth0 
# nVidia Corporation MCP77 Ethernet
DEVICE=eth0
BOOTPROTO=static
HWADDR=90:E6:BA:70:B2:28
IPADDR=192.168.50.24
NETMASK=255.255.255.0
ONBOOT=yes
BRIDGE=br0   //将eth0桥接到br0
[root@jsb-ylw-5052 network-scripts]# cat ifcfg-br0 
# nVidia Corporation MCP77 Ethernet
DEVICE=br0
BOOTPROTO=static
HWADDR=90:E6:BA:70:B2:28
IPADDR=192.168.50.24
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Bridge //br0为桥接

4:重启网络,测试网络连通性
[root@jsb-ylw-5052 network-scripts]# service network restart 
[root@jsb-ylw-5052 network-scripts]# ifconfig 
br0       Link encap:Ethernet HWaddr 90:E6:BA:70:B2:28 
inet addr:192.168.50.24 Bcast:192.168.50.255 Mask:255.255.255.0 
eth0      Link encap:Ethernet HWaddr 90:E6:BA:70:B2:28 
inet6 addr: fe80::92e6:baff:fe70:b228/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
virbr0    Link encap:Ethernet HWaddr 00:00:00:00:00:00 
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
………………………………………………输出省略…………………………………………
[root@jsb-ylw-5052 network-scripts]# pingwww.g.cn-c 2 
PINGwww.g.cn(203.208.39.99) 56(84) bytes of data.
64 bytes from bi-in-f99.1e100.net (203.208.39.99): icmp_seq=1 ttl=243 time=42.4 ms
64 bytes from bi-in-f99.1e100.net (203.208.39.99): icmp_seq=2 ttl=243 time=42.8 ms

5:划lvm,将虚拟机的硬盘存储设定为lvm,可以提高I/O提高性能, 装windows7需要15G左右的硬盘空间,可以使用lvextend命令扩展分区大小
[root@jsb-ylw-5052 ~]# fdisk -l /dev/sda |grep LVM 
/dev/sda14          31385       32601     9775521   8e Linux LVM

[root@jsb-ylw-5052 ~]# pvcreate /dev/sda14 
Physical volume "/dev/sda14" successfully created
[root@jsb-ylw-5052 ~]# vgcreate vol0 /dev/sda14 
Volume group "vol0" successfully created   
[root@jsb-ylw-5052 ~]# lvcreate -L 9.32G -n win7 vol0
Rounding up size to full physical extent 9.32 GB
Logical volume "win7" created

6:开始安装,ID下面标注为qemu,表示kvm

5b2b0cfb57c51a2ba8d311c0.jpg

59c0a3831c0c708a6c8119ce.jpg

de853c3a203e75df15cecb85.jpg


如果下图中的完全虚拟化按钮是灰色的,那就说明你的硬件不支持VT技术,也有可能硬件支持,而BIOS却禁用了它,我的AMD cpu就是这种情况,通过命令:cat /proc/cpuinfo |grep -E 'vmx|svm' 可以查看硬件是否支持VT

30aa75ec1bff37e1b31cb186.jpg


dfe4d9cc720422640fb34586.jpg
790d8f7f460ed90d0cd7da80.jpg
f0526e0eaa766b1f6059f381.jpg

前面如果没有做桥接器,下图中就不会出现桥接br0
2c422f39d4d347c7b211c782.jpg
6d5ad4f96bdded3ad9f9fd83.jpg
c46db4d5848e3b34a18bb78c.jpg
d03712f45d6c2510bc31098c.jpg
521044edf1748ae42f2e218d.jpg


安装完成后需要将默认的IDE硬盘和网卡换成virtio,并打上驱动程序,这样性能就可以提升很多了,驱动文件已上传至csdn,地址为:http://ylw6006.download.csdn.net/详细的安装步骤这里就不赘述了…

下面附上我在winxp下的virtio截图,可以看到硬盘和网卡已经驱动正常了……

45dd463016860c2ceac4af4d.jpg
4月9日,今天心血来潮,测试了下kvm的性能,下步准备在kvm上部署下ndb实验环境……

cpu: AMD Phenom(tm) 8750 Triple-Core Processor 3核
内存:4G
经测试,可以同时运行7台rhel5.4和一台WinXP,linux每台内存分配300M,WinXP为1G

4c0097d2b0800603970a1692.jpg
17e49050d87ef3b88c543093.jpg
e6c9ae22927ce673ad34de9c.jpg


你可能感兴趣的:(虚拟机,技术,源代码,产品,而且)