一、硬件要求

     1.处理器需求:需要一台可以运行最新linux内核的Intel处理器(含VT虚拟化技术)或AMD处理器(含SVM安全虚拟机技术的AMD处理器, 也叫AMD-V)。查询命令如下:

INTEL芯片
   grep vmx /proc/cpuinfo
AMD芯片
   grep svm /proc/cpuinfo

输出信息flags中如有vmx或者svm则说明系统支持kvm

     2.BIOS中开启VT

          Interl virtualization Tech     【Enabled】 =====bios中设置

     3.内核版本在2.6.20以上。可用uname -a查看


二、安装KVM

     1.安装KVM模块、virt-manager管理工具(图形化)、libvirt(虚拟机创建工具)、qemu相关模块。

yum -y install kvm virt-* bridge-utils  libvirt qemu*  ===配置本地yum源即可
/sbin/service libvirtd start ===启动libvirt

     2.检查是否正确安装kvm并加载kvm模块

lsmod |grep kvm ====如正确安装会有两行关于kvm的输出,如没有请检查qemu相关组件是否安装。
virsh -c qemu:///system list  ===列出所有虚拟机,刚安装会显示出空列表

     3、如果没有加载,可手动加载

modprobe kvm_intel

     4、reboot后确认随系统加载


三、网络配置

     KVM安装完成后会生成一个名为virbr0的网卡,此网卡默认与本地网卡(eth0)绑定,向虚拟机提供网络功能,kvm使用virbr0作


为默认设备,因此需要将virbr0与本地网卡绑定

     1、拷贝etho网卡为virbr0

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-virbr0

     2、修改eth0配置文件

DEVICE=eth0
BOOTPROTO=static
HWADDR=78:45:C4:27:29:4F
UUID=45c75c9f-36a1-4653-939a-017c87b37724
ONBOOT=yes
BRIDGE=virbr0

     3、修改virbr0配置文件

DEVICE=virbr0
HWADDR=52:54:00:B6:4A:97
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.11.7
NETMASK=255.255.255.0
GATEWAY=192.168.11.1
DNS1=192.168.100.11
DNS2=192.168.100.12

     修改完成后,重启网卡。service network restart

     如果重启报错,可关闭NetworkManager服务

service NetworkManager stop
chkconfig NetworkManager off

     默认的virbr0配置保存在/etc/libvirt/qemu/networks/default.xml文件。可使用brctl show显示已有网卡


四、修改vnc配置

vi /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"    #取消前面的注释
vnc_password = "###"    #设置vnc密码


五、使用virt-manager建立一个KVM虚拟机【方法一】

     virt-manager 是基于 libvirt 的图像化虚拟机管理软件,创建KVM虚拟机最简单的方法是通过virt-manager接口。从控制台窗口启动这个工具,从root身份输入virt-manager命令,点击file菜单的"Add"选项进入创建子栏目

     1.新建给虚拟机起一个名字后进入选择管理程序界面(就是选择虚拟机的形式)virt-manager显示两种虚拟化方法:Qemu/KVM或者Xen

     2.选择ISO文件。可以通过网络安装服务器或者使用本地光盘映像。并选择操作系统类型和版本(如windows和linux)

     3.设置虚拟机的内存容量和cpu个数。

     4.设置虚拟机使用的磁盘情况。可以给虚拟机创建磁盘映像或直接使用现有的文件系统

     5.设置虚拟机网络类型。默认为default:nat(即使用br0网桥)

     6.按照正常安装程序安装完成即可。


六、使用virt-install命令安装KVM虚拟机【方法二】

     1.安装virt-viewer模块(yum -y install virt-viewer)

     2.创建虚拟机使用的文件。(KVM中每个虚拟机均使用一个物理文件保存安装的系统,模拟成磁盘,用来安装guest操作系统。此文件一般为创建好并格式化的专门虚拟文件如qcow2,也可在虚拟机建立过程中指定,由虚拟机自动生                 成)

    虚拟文件可用qemu-img命令先创建好,也可使用virt-manager、virt-install创建虚拟机时建立。

qemu-img create -f qcow2 win7.img 20G   ====建立一个格式为qcow2,大小为20G的文件以供虚拟机使用

   创建完成后会在当前目录生成win7.img的文件。

qemu-img info win7.img  ===查看win7.img的文件信息。可查看到虚拟文件创建的大小和文件类型


七、建立虚拟机

     完成上述的准备后,可以建立虚拟机了,这里使用virt-install命令完成本项工作。命令如下:

virt-install --name=vm-win7 --hvm --ram=512 --vcpus=2 --disk path=/usr/win7.img,size=20 --network network:default --accelerate --vnc --vncport=5906 --os-variant=win2k --cdrom           /tmp/windows7.iso -c #创建win7虚拟机
virt-install --name=vm-centos --ram 512 --vcpus=1 --disk path=/home/vhost/vm-centos.img,size=20,bus=virtio --accelerate --cdrom /home/ISO/CentOS-6.6-x86_64-bin-DVD1.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=virbr0,model=virtio --noautoconsole #创建centos虚拟机


各个参数的意义如下 :

    --ame   虚拟机名称
   --hvm     使用全虚拟化(与para-irtualization向对),如果在一个主机上para和full virtulization均可用,连接到没有硬件虚拟化支持的机器的xen hypervisor,这个 参数无效,这个参数意味着连接到基于qemu的hypervisor
   --ram      虚拟机内存大小
   --vcpus   虚拟机虚拟CPU个数
   --disk path      虚拟机使用的磁盘(文件)的路径
   --network 网络设置,使用默认设置即可,默认设置为使用virbr0网桥
   --vnc     设置连接桌面环境的vnc端口
   --os-variant  指示为一个特定的操作系统变体(或版本)进一步优化客户机(guest)配置
   --cdrom   设置光驱获取虚拟光驱文件的路径 -d 指示从光驱启动( -c 指示从硬盘启动)

virt中有复杂的命令参数,具体可使用man来查看


八、virt常用的管理虚拟机的命令

生成kvm虚拟机:virt-install
查看在运行的虚拟机:virsh list
显示虚拟机的ID号:virsh domid name
查看所有虚拟机:virsh list --all
查看kvm虚拟机配置文件:virsh dumpxml name
启动kvm虚拟机:virsh start name
显示虚拟机当前状态:virsh domstate name
停止虚拟机:virsh destroy name
删除虚拟机:virsh undefine name
根据配置文件定义虚拟机:virsh define file-name.xml
克隆虚拟机:virsh console name

     注:kvm内置有vnc机制,因此本地不需要安装vnc服务即可连接。

     VNC服务使用断开了号与桌面号对应关系

 桌面号为“1”  ---- 端口号为5901        #连接时就输入:192.168.11.7:1
桌面号为“2”  ---- 端口号为5902
桌面号为“3”  ---- 端口号为5910          #连接时就输入:192.168.11.7:10

防火墙加入配置
iptables -I INPUT -p tcp --dport 5901 -j ACCEPT


总结:

1.一个虚拟机占用一个进程,所有的虚拟机都通过qemu-kvm进行启动和管理。

2.kvm虚拟机的配置文件默认存放位置和配置文件

kvm虚拟机配置文件位置/etc/libvirt/qemu/      <---都是xml文件
kvm虚拟机文件位置:var/lib/libvirt/p_w_picpaths/   <---可以在建立虚拟机时指定    

3.qemu不使用linux下的vncserver提供vnc服务,因此在此服务没有启动的情况下,也能通过vnc客户端连接到虚拟机。

4、设置虚拟机鼠标同步

     编辑虚拟机配置文件

virsh edit vname
在devices方法内添加
<input type='mouse' bus='ps2'/>


转载至:http://blog.csdn.net/starshine/article/details/6990599