| 
      kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。 KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。 1. kvm安装kvm必须在64位系统
	(a)检查CPU是否支持硬件虚拟化-运行命令 
	   egrep '(vmx|svm)' --color=always /proc/cpuinfo 
	(如果输出的结果包含 vmx,它是 Intel;如果包含 svm,它是 AMD。如果你甚么都得不到,那应你的系统并没有支持虚拟化的处理。) 
	(b)安装KVM和virtinst(一个创建虚拟机的工 具),我们运行 
	yum install kvm kmod-kvm qemu libvirt python-virtinst 
	然后重新启动系统: 
	Reboot 
	使用下列命令检查KVM是否成功安装 
	virsh -c qemu:///system list 
	将会显示如下结果: 
	[root@server1 ~]# virsh -c qemu:///system list 
	Id Name                 State 
	---------------------------------- 
	[root@server1 ~]# 
	如果在这里显示的是一个错误的信息,说明有些东西出现了问题。 
	(c)下面我们需要在我们的服务器上设置一个网桥,就可以使我们的虚拟机从其他主机中读取数据。 
	要做到这一点,我们安装bridge-utils工具。。。。。。 
	yum install bridge-utils 
	... 并且配置一个网桥从/etc/sysconfig/network-scripts/ifcfg-eth0参考BOOTPROTO, BROADCAST, IPADDR, NETMASK和NETWORK等值来创建文件/etc/sysconfig/network-scripts/ifcfg-br0 : 
	vi /etc/sysconfig/network-scripts/ifcfg-br0 
	DEVICE=br0 
	TYPE=Bridge 
	BOOTPROTO=static 
	BROADCAST=192.168.0.255 
	IPADDR=192.168.0.100 
	NETMASK=255.255.255.0 
	NETWORK=192.168.0.0 
	ONBOOT=yes 
	修改/etc/sysconfig/network-scripts/ifcfg-eth0 as follows (取消注释BOOTPROTO, BROADCAST, IPADDR, NETMASK, 和NETWORK 最后添加 BRIDGE=br0): 
	vi /etc/sysconfig/network-scripts/ifcfg-eth0 
	# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ 
	DEVICE=eth0 
	#BOOTPROTO=static 
	#BROADCAST=192.168.0.255 
	HWADDR=00:10:A7:05:AF:EB 
	#IPADDR=192.168.0.100 
	#NETMASK=255.255.255.0 
	#NETWORK=192.168.0.0 
	ONBOOT=yes 
	BRIDGE=br0 
	重新启动网络... 
	/etc/init.d/network restart 
	... 运行 
	ifconfig 
	现在应该显示网桥(br0): 
	[root@server1 ~]# ifconfig 
	br0       Link encap:Ethernet  HWaddr 00:10:A7:05:AF:EB 
	          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0 
	          inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link 
	          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
	          RX packets:17 errors:0 dropped:0 overruns:0 frame:0 
	          TX packets:53 errors:0 dropped:0 overruns:0 carrier:0 
	          collisions:0 txqueuelen:0 
	          RX bytes:1160 (1.1 KiB)  TX bytes:14875 (14.5 KiB) 
	eth0      Link encap:Ethernet  HWaddr 00:10:A7:05:AF:EB 
	          inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link 
	          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
	          RX packets:13662 errors:7 dropped:160 overruns:4 frame:0 
	          TX packets:11646 errors:0 dropped:0 overruns:0 carrier:0 
	          collisions:0 txqueuelen:1000 
	          RX bytes:15144608 (14.4 MiB)  TX bytes:1379942 (1.3 MiB) 
	          Interrupt:74 Base address:0xcc00 
	lo        Link encap:Local Loopback 
	          inet addr:127.0.0.1  Mask:255.0.0.0 
	          inet6 addr: ::1/128 Scope:Host 
	          UP LOOPBACK RUNNING  MTU:16436  Metric:1 
	          RX packets:38 errors:0 dropped:0 overruns:0 frame:0 
	          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0 
	          collisions:0 txqueuelen:0 
	          RX bytes:4308 (4.2 KiB)  TX bytes:4308 (4.2 KiB) 
	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 
	          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link 
	          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
	          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
	          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0 
	          collisions:0 txqueuelen:0 
	          RX bytes:0 (0.0 b)  TX bytes:9987 (9.7 KiB) 
	[root@server1 ~]# 
2. kvm管理端安装virt-viewer 或者virt-manager
	如果你是用的是Fedora 10 desktop,你可以使用下列命令安装virt-manager: 
	yum install virt-manager 
3. GuestOs安装
	Virt-install具体用法,请参考man virt-install 
	(a)以光驱方式安装(win2003) 
	(I)virt-install  --connect qemu:///system  --name win01  --ram 1024  --disk path=/var/lib/libvirt/images/win2k3.img,size=10 --network bridge:br0 --accelerate  --vnc --noautoconsole --cdrom /dev/cdrom-hda 
	Starting install... 
	Creating domain...                                                    |    0 B     00:02     
	Domain installation still in progress. You can reconnect to 
	the console to complete the installation process. 
	(II)kvm管理端开启virt-manager后,通过Remote tunnel over ssh连接方式连接到kvm服务器.当执行完I步后,将会运行一个win01 Domain,在Virtual Machine Manager选中这个新建的Domain,右击选中Open,输入认证密码后,便可以打开一个console可以远程安装系统了。 
	(b)以iso安装(确保selinux关闭,至到我搞懂为至) 
	virt-install  --connect qemu:///system  --name debian  --ram 1024  --vcpus=4 --disk path=/var/lib/libvirt/images/debian.img,size=10 --network bridge:br0 --accelerate  --vnc --noautoconsole --cdrom /mnt/debian.iso  
4. 管理kvm客户机
	可以通过 virsh命令管理KVM客户机,"virtual shell"。连接到virtual shell,运行 
	virsh --connect qemu:///system 
	下面就是virtual shell的显示界面: 
	[root@server1 ~]# virsh --connect qemu:///system 
	Welcome to virsh, the virtualization interactive terminal. 
	Type:  'help' for help with commands 
	       'quit' to quit 
	virsh # 
	现在你可以在virtual shell中输入命令来管理你的客户 机,运行: 
	help 
	获得更多的命 令: 
	list 
	显示所有正在运行的客户机; 
	list --all 
	显示所有客户机,正在运行的和没有运行的: 
	virsh # list --all 
	Id Name                 State 
	---------------------------------- 
	  2 vm10                 running 
	virsh # 
	如果你修改了一个客户机的xml文件(位于/etc/libvirt/qemu/ 目录),你必须重新定义客户机: 
	define /etc/libvirt/qemu/vm10.xml 
	请注意,无论你何时在/etc/libvirt/qemu/ 中修改了客户机的XML文件,你必须重新运行define 命令! 
	启动和停止客户机,运行: 
	start vm10 
	停止一个客户机,运行 
	shutdown vm10 
	立即中断一个客户机(类似直接关电源),运行 
	destroy vm10 
	挂起一个客户机: 
	suspend vm10 
	恢复客户机: 
	resume vm10 
	输入quit 退出virtual shell. 
 | 
    
