本文原创作者:VillanCh
写在前面的话
这是笔者在进行项目环境部署的时候才用桌面环境图形化操作完成的KVM-SPICE服务器环境的部署,并获得成功。
如果你要问笔者这个实验有什么意义?
1.可以装逼。 2.可以了解到桌面虚拟化虽然是几年前的技术了,但是已经发展到了一定的阶段。 3.一点补充:不管可以在ubuntu里面访问我们的kvm服务器,也可以存在在瘦客户机(关于瘦客户机是什么,我们可以暂时理解为一种相当廉价的“中转站”)中,试想:一个公司如果实现全部的桌面虚拟化,所有员工的桌面都可以在服务器端保存,只需要有一台高性能服务器就可以满足节省n台台式机的开销。 4.现在很多人都有了云盘,为什么不能有一台自己的云系统呢?
桌面虚拟化技术并不是那么遥不可及,最近的项目涉及到这一部分,所以我就带来一篇文章来讲讲开源的虚拟化技术KVM-QEMU-SPICE来搭建一个虚拟机服务器然后来进行访问。
仍旧属于科普型的小文章,上次一篇文章 《走近科学:了解SPICE用户手册》 读者觉得没太大用处啊。那么我这次就来写一下Running的部分。
(如果发现笔者文章出现错误欢迎大家指出)
背景知识简介
首先我们要知道SPICE是redhat开发的开源的专门的桌面虚拟化数据传输协议,那么我们很自然的就会想到最容易搭建环境的地方一定是REDHAT系列的linux系统。
Plus: 在此之前,笔者试着在ubuntu下搭建spice服务器,网上找了特别多的资料都没成功,然后配合笔者上一篇文章科学上网去安装SPICE服务的时候,出现了各种各样的奇葩的依赖问题,这时候笔者觉得在这样拖下去是绝对不可以的,于是毫不犹豫地投向了centos的怀抱。
下面开始讲一些预备知识,我不想大片大片去粘贴wiki的文章或者是什么并没有卵用的科普性的文章来介绍,我做的如下实验的背景。
关于KVM: KVM呢,简单来说就是一个虚拟化的“系统”,这个系统不是我们平时用的什么win,linux什么的系统,而是一个特定的能完成系统全虚拟化的嵌在linux系统里的可维护的开源的“软件”,那么关于KVM的介绍,我在文章末尾挂出传送门,大家有兴趣可以去了解一下。
关于QEMU: QEMU是可以图形化管理KVM虚拟机的一个工具,专门用来管理KVM的,所以通常都是与KVM同时出现,大家不要见怪。
关于SPICE: SPICE是KVM的C/S模型(如果不懂CS模型是什么,参见server-client模型),专用的数据传输协议。(SPICE相关的科普文章我发在了)
其实KVM虚拟化桌面进行云端访问时也是可以使用VNC通道进行数据传输的,然而VNC虽然通用但是效率比起SPICE还是差的源,资源消耗也是非常大,如果你是用KVM-QEMU虚拟机的话,进行云端桌面访问建议使用SPICE协议。
那么我们预备的基础知识就讲完了。
环境介绍
接下来是(VMware)内网环境的介绍。
宿主机配置:
Thinkpad e540 Windows 7 CPU I7 4712 Ram 16G 硬盘:500G机械硬盘(SSD求包养) VMware workstation 11
试验成功标志:能用ubuntu14访问到图形化界面的Server里面的xp虚拟机
效果图如下:值得注意的是ubuntu里面的XP系统是安装在centos里面的。然而在ubuntu里面通过spice协议连接,并且可以流畅的玩耍三维弹球,对于一个512M ram的XP系统来说就已经很不错了:
激动人心的动手环节
前提条件:安装一台centos6.3,一台ubuntu12以上版本,共两台虚拟机。
在VMware的虚拟机设置里面可以找到的。
代码:
[root@localhost ~]# grep -E -o 'vmx|svm' /proc/cpuinfo
如果出现如下现象就可进行下一步:
执行如下命令行:
[root@localhost ~]#yum -y install qemu-kvm libvirt python-virtinst bridge-utils
或者:
yum -y groupinstall 'Virtualization' 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools'
注意:一定要看到安装执行成功以后进行下一步。
yum install libvirt service libvirtd start
注意:一定要看到安装执行成功以后进行下一步
$ lsmod | grep kvm kvm kvm_intel
注意:一定要看到安装执行成功以后进行下一步
virt-manager是一个api gui工具,可以很方便的管理虚拟机。下面简单介绍使用virt-manager安装虚拟机系统。
1)打开virt-manager,Add-connection,hypervisor选择QEMU/KVM,点击connect。 2)在连接localhost(QEMU)右键-NEW,输入guest名称,还有选择安装方式,我这里选择iso文件安装,点击forword。 3)选择iso文件路径,点击forword。 4)定义分配内存及cpu个数。 5)定义磁盘映像大小。 6)下一步就是常规的系统安装了。 如果大家有VMware或者vir box 使用经验的话,这个应该不在话下了喔。
sudo apt-get install spice-client
当然我这是已经安装好了,大家要等待一两分钟安装,安装好以后就可以使用spicec命令行了
配置步骤
安装好了以后接下来就是配置(大量步骤图):
打开图形化管理界面(点击第二个菜单下面的virtual machine manager)。
2. 打开管理界面。
3. 先别急着启动你的虚拟机,双击虚拟机进入另一个管理界面点击如下的红色的圈圈。
4. 进入配置菜单,修改默认的Display xxx 的选项(xxx为默认的名称,每台都不一样但是默认是vnc)照着如下配置。
5. 万一你的第四部进行不下去的话,请删除Display xxx 的设备,选择菜单下面添加硬件的选项,按照如下配置,新建一个设置。
1)可以选择listen on al public networkinterface 这个主要针对的是有多张网卡的centos,对本试验来说,可以选择也可以不选,我是选择了
2)Port是待会要用ubuntu连接的端口,如果自己不特意选择的话会自动分配到5900,然后一次往后。
3)Password:这个就不解释了 如果设置的password你再连接的时候,需要输入密码,否则会出现拒绝连接现象。
6. 还有server端的最后一项配置(按照如下,model选择qxl就可以了)。
关于qxl是什么的问题,在wiki或者是其他大手们翻译的科普里都会有介绍的,笔者这里着重介绍的是kvm服务器搭建和spice协议的使用。就不在重复了。
最后一步:连接!
打开你的centos,启动虚拟机。
打开你的ubuntu,进行如下操作。
–h表你要连接的机器,要记住是服务器的ip地址啊 - p是你的虚拟机对应的端口号(还记得刚刚填的什么么?) - w 如果你设置了密码的话,请把密码填上去