实验室买了个服务器,托管在学校机房,配置还不错。
CPU: 2 * XEON E5-2680V4
GPU: 8 * NVIDIA V100
内存: 128G
硬盘:240G SSD + 4T企业盘
主机上面搭载了一个centos7 server,然后用openstack做了虚拟化以提供多用户使用,我们希望能够像云桌面一样简单易用。于是趁机了解了一下openstack虚拟化技术,原文出自https://www.jianshu.com/p/3604632613c3。
桌面虚拟化技术可以定义为将一个计算机资源从另一个计算机资源中剥离的一种技术。在没有虚拟化技术的单一情况下,一台计算机只能同时运行一个操作系统,虽然我们可以在一台计算机上安装两个甚至多个操作系统,但是同时运行的操作系统只有一个;而通过虚拟化我们可以在同一台计算机上同时启动多个操作系统,每个操作系统上可以有许多不同的应用,多个应用之间互不干扰。
通过虚拟化桌面我们可以有效提高资源的利用率。在数据机房我们经常可以看到服务器的利用率很低,有时候一台服务器只运行着一个很小的应用,平均利用率不足10%。通过虚拟化我们可以在这台利用率很低的服务器上安装多个实例,从而充分利用现有的服务器资源,可以实现服务器的整合,减少数据中心的规模,解决令人头疼的数据中心能耗以及散热问题,并且节省费用投入。
目前市场上已经有VMware Horizon Viewer 、Citrix XenDesktop和微软VDI方案等成熟的商业解决方案,但是价格不菲,不是所有企业都能接受。近几年,随着KVM虚拟化技术逐渐成熟,很多桌面虚拟化解决方案开始以KVM为虚拟化引擎。
桌面虚拟化用户的桌面操作系统集中运行在服务器端,服务器端应用VMware、Xen、KVM和Typer-V等虚拟化技术,在一台物理服务器上运行多个桌面操作系统;而用户使用PC、瘦客户端等终端设备,通过RDP、PCoIP和Spice等远程访问协议连接到桌面操作系统。由此可见,虚拟化技术和远程访问协议是VDI的两大核心技术。
(1)降低硬件成本。VDI环境通常物理机的虚拟化比例非常高,例如在笔者的环境中,一台物理机要运行50台Windows 7虚拟机,给用户配置50台PC的成本显然远高于一台服务器的成本。
(2)降低运维成本,提高可管理性。在传统的公司中,每个员工都有自己的办公PC,这种分布式架构给IT工程师的维护工作带来很多不便。使用桌面虚拟化,所有桌面操作系统集中在服务器,方便管理,为员工分配一个新的 PC工作变成了仅仅需要部署一台新的虚拟机,并升级系统的操作可能变成了仅需要替换虚拟机模板;而且,服务器的故障率远低于普通PC,增加了桌面操作系统的稳定性。
(3)使移动办公变为现实。例如用户在公司编辑了一半的文档、打开的应用程序,在其他任何地方,只要通过远程连接到同一台虚拟机,就可以继续之前的操作。
kvm是linux自带的一款优秀虚拟化软件,和xen都是开源的,所以很多中小企业选择kvm搭建自己的云平台。
KVM是Kernel Virtual Machine的简写,目前Red Hat只支持在64位的RHEL5.4及以上的系统运行KVM,同时硬件需要支持VT技术。KVM的前身是QEMU,2008年被Red Hat公司收购并获得一项hypervisor技术,不过Red Hat的KVM被认为是将成为未来Linux hypervisor的主流,准确来说,KVM仅仅是Linux内核的一个模块。管理和创建完整的KVM虚拟机,需要更多的辅助工具。
KVM代表基于内核的虚拟机,它与KVM(键盘、显示器和鼠标)切换器没有一点关系。与大多数主要的竞争对手(包括VMware的虚拟机管理程序、VirtualBox和Xen)相比,KVM这个项目显得资历有点浅。它还有别于其他的许多虚拟化工具,原因在于它致力于与内核本身进行深度集成,因而从理论上来说,比主要存在于用户空间(user space)中的虚拟机管理程序在性能上更有优势。
KVM肯定不是市面上唯一的免费或开源的虚拟化平台,但它却是开源生态系统中唯一与特定商业利益集团没有关联的主要的虚拟机管理程序。Xen也是免费的、开源的,但是它归思杰所有。虽然VirtualBox代码大部分是开放的,但是一些代码是专有的,属于甲骨文。而VMware实际上就是闭源。
长期以来,KVM一直在扮演后来者的角色,拼命追赶历史更久、更成熟的虚拟化产品。但是近几年它渐渐流行开来,现在支持一系列广泛的高级功能,包括但不仅限于:
•处理器虚拟化扩展
• “实时迁移”运行中的虚拟机
•USB设备直通
•处理器和PCI热插拨
桌面端KVM
KVM开发人员通常一门心思致力于针对服务器和大规模部署环境来优化这款产品,这在云计算时代很有意义。不过,考虑到这款产品已经很成熟,也许现在是时候把它作为一种切实可行的桌面虚拟化平台方案来考虑了。
就本身而言,KVM不是特别容易使用。在大多数Linux发行版上,KVM自带的工具在默认情况下只能在命令行上使用,手动配置KVM访客系统很复杂,界面也不大直观。
不过在virt-manager等工具的帮助之下,建立一个KVM虚拟机,运行作为访客系统的Windows、Linux或其他各种操作系统却快捷又简单。
如果你的电脑配置是那种低端入门或者老旧平台的,用KVM就可以了,这个是轻量级的虚拟机,资源消耗比vm低,性能有限。
vmware强大,强大,强大,就这样。
不过要论最好的虚拟机,当属MAC平台的Parallels Desktop,只不过没有windows客户端,可惜了
搭建案例:
http://www.linuxidc.com/Linux/2016-10/136164.htm
http://blog.csdn.net/qq_21398167/article/details/46413107
http://jingyan.baidu.com/article/6fb756ec90451f241858fb9c.html
Citrix XenServer 是领先的虚拟化管理平台,针对应用程序、桌面和服务器虚拟化基础架构进行了优化。在 XenServer 整合和控制工作量使得任何垂直或任何规模的企业均能够改造其业务 IT 计算基础架构。
Citrix XenDesktop是一套桌面虚拟化解决方案,可将Windows桌面和应用转变为一种按需服务,向任何地点、使用任何设备的任何用户交付。使用XenDesktop,不仅可以安全地向PC、Mac、平板设备、智能电话、笔记本电脑和瘦客户端交付单个Windows、Web和SaaS应用或整个虚拟桌面,而且可以为用户提供高清体验。
Citrix® XenApp™是一款按需应用交付解决方案,允许在数据中心对任何Windows应用进行虚拟化、集中保存和管理,然后随时随地通过任何设备按需交付给用户。
AppDNA 应用测试、纠错和打包、实现应用的轻松迁移部署。
XenClient 支持在移动和离线的状态下轻松使用虚拟桌面。
Citrix Receiver 可支持几乎所有类型的客户端,包括Windows、Mac和Linux台式机和笔记本;瘦客户端及最新的iOS、Android、RIM和webOS平板电脑及智能电话。通过支持集中化和虚拟化基础架构,Citrix Receiver可帮助IT部门有效控制用户体验,同时提供足够的安全性和可扩展性,来确保全面的数据、应用和桌面支持。
VDI-in-a-Box是专为帮助桌面IT部门更简单、自动而且经济高效地完成虚拟桌面管理,同时为用户交付出色的体验而设计的。
GoToMyPC 远程安全的访问您的Mac或PC。
Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。这也意味着微软会更加直接地与市场先行者VMware展开竞争,但竞争的方式会有所不同。
Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化[1] 。Hyper-V最初预定在2008年第一季度,与Windows Server 2008同时发布。Hyper-V Server 2012完成RTM版发布。
Hyper-V 的定位更多偏向于服务器虚拟化,我们除了系统部署配置外,在正常运行的情况下,一般无需长期直接在这个控制台连接到虚拟机上进行操作,为系统保留更多的资源。只要服务器配置强劲,我们可以在Hyper-V创建更多的虚拟桌面会话主机或服务器,用于发布和后台服务,Hyper-V的管理器就如同一台隐形的机柜,机柜中放置中一组各式的服务器,平常没什么大问题时都可以利用3389远程桌面连接来调试服务器。
百科:https://baike.baidu.com/item/Hyper-V/10508230?fr=aladdin
Vmware VDI的优势源自于 VMware 服务器虚拟化的成功及其对 IT 的业经验证的优势。在 VDI 中,ESX Server 包含的不是一系列虚拟服务器,而是虚拟桌面,每个 VM 都是使用用户的操作系统和应用程序载入或动态供应的。它拥有熟悉的用户体验。这是一个VMware的解决方案,而不是一种产品,因为它涉及使用虚拟化去提供虚拟桌面给使用者。
⒈不需要分区或重开机就能在同一台PC上使用两种以上的操作系统。
⒉完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料。
⒊不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制粘贴功能。
⒋有复原(Undo)功能。
⒌能够设定并且随时修改操作系统的操作环境,如:内存、磁碟空间、周边设备等等。
⒍热迁移,高可用性。
VMware VDI易于管理,它集成了VMware Infrastructure 3和VMware Virtual Desktop Manager 2,通过管理在数据中心上运行的多个PC系统,并进行安全灵活的分发给客户端使用。首先,用户使用Vmware VDI需要以下几个步骤:
1、 在ESX服务器上创建一个虚拟机
2、 安装VDI 代理连接
3、 在虚拟机上安装一个桌面操作系统,如Windows XP或Windows Vista
4、 接着在虚拟机上安装桌面应用系统
5、 允许通过网络使用任何一些可能的远程控制选项去远程访问的虚拟桌面系统
典型的Vmware VDI环境都包括以下几个组件:VMware Infrastructure 3、VMware Virtual Desktop Manager、客户端。此外,要运行 VMware Virtual Desktop Manager 软件,还需要有 Microsoft Active Directory。
运行Vmware VDI的同时,可以使用VMware Virtual Desktop Manager (VDM),它是一种企业级桌面管理服务器,可安全地将用户连接到数据中心的虚拟桌面,并提供易于使用的基于Web 的界面来管理集中的环境。企业可以在位于中央数据中心的虚拟机内部运行桌面。使用 VMware Virtual Desktop Manager 连接代理,用户可通过远程显示协议(如 RDP)从 PC 或瘦客户端远程访问这些桌面。如图显示Vmware VDI
使用Vmware VDI 既可以对企业资产进行严格的控制又可以简化桌面管理。这一综合性的桌面虚拟化解决方案可以使用户通过数据中心对虚拟机进行管理,从而取代传统的PC机。
VDI 是一种基于服务器的计算技术,但是与终端服务或共享应用程序解决方案相比,它能提供一些令人信服的优势:
1、 与应用程序共享技术不同的是,在集中式服务器上运行的 VMware VDI 桌面是完全独立的,这有助于阻止对桌面映像进行未经授权的访问,并同时提高可靠性。
2、 使用虚拟机模板和自动部署功能可以轻松地部署 VMware 桌面。而且无需更改应用程序,因为用户只需通过远程连接即可访问同一桌面。
3、 公司可以利用 VMware Infrastructure 3 组件(如 VMware Consolidated Backup)和共享存储来提供终端服务解决方案目前无法提供的桌面灾难恢复功能。
4、 VMware VDI 仍享有基于服务器的计算技术所能带来的一些引人注目的好处,包括简化桌面管理以及能够从中央位置升级和修补系统。
VMware VDI 还避免了大多数刀片 PC 技术(另一种基于服务器的计算技术)的一些缺点。未利用 VMware 虚拟化技术的刀片 PC 需要每一个桌面有一个专用的刀片 PC,而这需要大量的成本。使用 VMware VDI,公司可以实现桌面虚拟化技术在整合和效率方面所能带来的相同好处,同时仍可以为最终用户提供可自定义的个人桌面。
在拥有以上诸多有点的情况下,VMware VDI当然也存在这一些不足。通过测试人员的报告可以显示,VMware VDI主要的问题是需要强大的数据中心支持。例如,在其运行过程中,每个XP镜像只能提供给一个客户端使用,有N个客户端使用网络镜像,则要在数据中心建立N个这样的XP镜像,ESX上要运行N个XP系统。这对数据存储设备的要求很高。VMware VDI更适宜拥有广大的数据中心或者磁盘阵列的大企业。
坦白讲,中小企业部署VDI有些得不偿失。首先,网络架构上要求比较高,需要比较完善的数据存储中心,设备冷却,监控等系统配合数据中心连续高效的工作。其次,管理技术的复杂性大大提升,虽然对于原来的啄米那支持降低的成本,但服务器管理的成本提高,所以,很多的中小企业对于部署虚拟化上也持有观望的态度。
虚拟桌面软件openstack,openstack桌面虚拟化管理平台,已经超越了虚拟桌面软件的范畴而成为一个庞大的虚拟化管理系统平台
OpenStack是一个NASA和Rackspace2010年6月合作成立的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。OpenStack是一个云平台管理的项目,它不是一个软件,主要参考亚马逊AWS,由很多其他开源软件整合而成的。
- 以Python编程语言编写
- 整合Tornado网页服务器、Nebula运算平台
- 使用Twisted软件框架
- 遵循Open Virtualization Format、AMQP、SQLAlchemy等标准
- 虚拟机器软件支援包括:KVM、Xen、VirtualBox、VMware、Hyper-V
对象存储(Swift):通过key/value的方式实现对文件的存储,现在的云盘就是这样的
计算管理(Nova):提供虚拟主机,通过虚拟技术(kvm、Xen、VMware等)
网络管理(Quantum):实现虚拟机的网络资源管理如网络连接、ip管理、公网映射
块存储(Cinder):为虚拟机提供存储,目前支持ip-san、fc-san等
镜像管理(Glance): 包含系统的存储空间
身份认证(Keystone):统一的授权、认证管理
界面(Horiaon):安装好后,用到的web网页的控制台DashBoard
Openstack是由很多组件构成的,对外提供统一API而底层实现可以选择各种方式。其中计算组件nova可以使用vSphere作为hypervisor,存储组件cinder可以使用vmdk作为后端存储。
OpenStack作为云平台,其IAAS层的技术架构范围就包括计算虚拟化,网络虚拟化,存储虚拟化等。它管理的就不仅仅是服务器,还包括数据中心的存储设备,网络设备等等,可以自动的对这些设备进行控制调度,配置等管理,整体管理效率提升更高的层次, 对外按照租户提供各类基础的云服务。
KVM是最底层的hypervisor,是用来模拟CPU的运行,然鹅一个用户能在KVM上完成虚拟机的操作还需要network及周边的I/O支持,所以便借鉴了qemu进行一定的修改,形成qemu-kvm。但是openstack不会直接控制qemu-kvm,会用一个libvirt的库去间接控制qemu-kvm。qemu-kvm的地位就像底层驱动来着。
只有OpenStack没有虚拟化不能创建虚拟机,应该这么说如果不配置虚拟化driver或者driver没有启动,nova是启动不起来的
这个图解OpenStack讲的不错可以参考:http://bbs.chinaunix.net/thread-4150203-1-1.html