前提:在安装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
)