前提:在安装qemu-kvm之前要检查机器的cpu是否支持vt-x

检测方法:$ egrep '(vmx|svm)' /proc/cpuinfo
flags  :    fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow up pni cx16 lahf_lm svm extapic cr8_legacy ts fid vid ttp tm stc

如果输出结果中含有vmx,那么说明支持。


下面就是安装步骤:

1.下载: qemu-kvm-release.tar.gz(http://sourceforge.net/projects/kvm/files/)
2.解压: tar -zxvf  qemu-kvm-release.tar.gz
3. $ cd qemu-kvm-release
4. $ ./configure --prefix=/usr/local/kvm

-prfix后面是安装的路径

(1)执行后遇到了一下错误:

Error: zlib check failed 
      Make sure to have the zlib libs and headers installed.

      解决办法:yum install zlib-devel

(2)第二个错误:

glib-2.12 required to compile QEMU

      解决办法:yum install glib2-devel

排除以上两个错误后,./configure就执行成功了~

5.$ make
6.$ sudo make install
7.$ sudo  /sbin/modprobe kvm-intel

8.创建虚拟磁盘

$ sudo /usr/local/kvm/bin/qemu-img create  -f qcow2 vdisk.img 10G
   --/usr/local/kvm 是安装qemu-kvm的路径
   --qemu-system_x86_64是qemu命令
   -- vdisk.img 是创建虚拟磁盘的名称

   -- 10G是磁盘的大小

9.安装客户机操作系统

$ sudo /usr/local/kvm/bin/qemu-system-x86_64 -hda vdisk.img -cdrom  /path/to/boot-media.iso  -boot d -m 1024  -monitor stdio
   -- -hda vdisk.img:-hda指定了虚拟磁盘是哪个,这里使用的是刚创建的vdisk.img
   -- -cdrom /path/to/boot-media.iso: -cdrom指定cdrom是哪个,可以用iso文件,也可以用光驱。这里使用boot-media.iso镜像文件。
   -- -boot:指定启动是从硬盘还是光驱或网络上启动,安装的使用从光驱启动,所以用参数d
   -- -m:指定虚拟机使用的内存大小,单位是MB。这里指定为1024MB
  -- monitor stdio:   monitor 发送到标准输出
   (

          注:VNC链接

          qemu默认附带了vnc功能,这样可以从远端shell中登陆主机,启动qemu,并且在shell端启动qemu窗口,所以用户就不必每次要通过远程桌面的方式登陆服务器,再启动qemu了。

         (1)ssh从客户端链接到服务器:(注意 需要加 -Y选项)

              ssh -Y username@host

         (2)执行下面命令:(加了-vnc选项)

$ sudo /usr/local/kvm/bin/qemu-system-x86_64 -hda vdisk.img -cdrom  /path/to/boot-media.iso  -boot d -m 1024 -vnc  127.0.0.1:1  -monitore stdio

          -- -vnc:选项说明启动vnc服务,在shell端就可以起qemu虚拟机窗口。

          -- 127.0.0.1: 是开启vnc服务的主机ip,这里使用127.0.0.1为例子。

          --1 : 端口号,vnc默认端口号从5900+开始,后面写的是1,所以端口号就是5901

          执行上面命令后,这个shell窗口就进入服务了。。。

        (qemu)

         (3)这时再启动一个shell,ssh到刚才的服务器

   

$ ssh -Y  username@host
         (4)启动vnc 
           $  vncviewer
           会弹出一个小对话框,输入127.0.0.1:5901就可以了,这时qemu虚拟机窗口就弹出了~
    )
    在执行$ sudo /usr/local/kvm/bin/qemu-system-x86_64 -hda vdisk.img -cdrom  /path/to/boot-media.iso  -boot d -m 1024  -monitor stdio时,可能出现一个错误:
    Could not initialize SDL(No abailable video device)--exiting

    原因:SDL库没有正确安装

    解决办法:yum search SDL 列出了很多SDL的库,然后 yum install SDL**这些就可以了

    使用search的原因是:很多CentOS下面很多包名和ubuntu不同,很难找到SDL库的包名称,所以search一下,找到那些SDL包,然后yum install 就OK了

 

10.运行安装的客户端系统

$ sudo /usr/local/kvm /bin/qemu-system-x86_64 vdisk.img  -m 1024
    使用vdisk.img启动,指定虚拟机内存大小为1024
    (
        如果使用vnc启动,则启动的命令为:
        $ sudo /usr/local/kvm /bin/qemu-system-x86_64 vdisk.img  -m 1024 -vnc  host:port

        (host可以使用服务器的ip地址,port是端口号:5900+port。其他服务器shell中执行vncviewer弹出窗口后,在窗口中输入host:5900+port就可以链接了,弹出qemu虚拟机窗口)

      

        例如:要在10.10.103.11这台服务器上启动qemu虚拟机,端口为5901,用户名 miaohy

         在本机shell中输入:

      

        注意:

$  ssh -Y  miaohy@10.10.103.11
         $ /usr/local/kvm /bin/qemu-system-x86_64 vdisk.img  -m 1024 -vnc  127.0.0.1:1 -monitor stdio
         此时这个shell进入等待(qemu)
         再在本地启动一个shell:
         $ ssh -Y miaohy@10.10.103.11
         $  vncviewer
         在弹出的窗口中输入: 127.0.0.1:5901
         就弹出qemu虚拟机窗口了~~

        使用vnc时,在宿主端和客户端要安装x11或xorg

    )