图 10 SDN 原理图
云端一样平常采用 Open vSwitch 交换机,它是一款开源的网络假造化产品,是二层交换机,性能可以与硬件交换机媲美。利用它可以在假造机的下面构筑假造网络层,通过实时修改 Open vSwitch 的设置,可以组建变革灵活的局域网,使得一台假造机能快速地从一个局域网迁移到另一个局域网中,这是物理交换机所无法实现的,如图 11 所示。
图 11 迁移
差别物理机上的两台假造机之间的网络通路如图 12 所示。
图 12 差别物理机上的两台假造机之间的网络通路
VDI(远程桌面)是什么?
利用过 Windows 操纵系统的用户都知道,盘算机启动完毕后看到的谁人屏幕叫桌面,上面有很多小图标,包括此电脑、接纳站,以及很多由用户自己创建的应用程序快捷方式。图 1 所示是我的 Windows 10 桌面。
图 1 Windows 10桌面
图 2 所示是安装了 Linux 操纵系统的桌面。
图 2 Linux 桌面
差别的用户登录盘算机后看到的桌面是不一样的,每个用户都可以定制自己的桌面,而不会影响到同一台盘算机上的其他人的桌面。
如果把桌面放在云端,就成了远程桌面,租户输入账号和密码就可以登录到云端的桌面,今后利用云端桌面与当地桌面一样,没有区别。有人喜欢把远程桌面称为假造桌面接口(VDI),这样学术性更浓厚一些。
利用云端桌面能实现移动办公,请看下面的景象形貌:
李昭在一家公司做售后,重要工作是解决客户的问题,其运动范围包括家、公司、客户处。他经常出差,详细工作包括写文档、修改软件 Bug、管理问题库工具。李昭家里有台式机,公司有办公盘算机,出差时携带条记本电脑,公司还给他在私有云上创建了一个假造机。
李昭在假造机里安装了 Windows 8 操纵系统,然后又安装了 Office 2013 办公软件、QQ、PDF 阅读器、狂风影音、Visual Studio 2012 开发工具、Photoshop CS5、Chrome 网页浏览器、问题管理工具等软件,最后开启了假造机的远程桌面。
这样,李昭就能在家里、公司和客户处登录到云端桌面了。云端桌面成了李昭唯一的办公桌面,如图 3 所示。他写的文档、修改的软件、设计的图片、下载的影戏和歌曲等都在这里,不管李昭走到哪里,都可以随时随地访问其数据资料。
图 3 云端桌面
远程桌面协议是实现远程桌面应用的关键技能之一,协议规定终端与云端桌面如何通信。
目前的远程桌面协议有微软的 RDP10、EMC 公司的 EOP/PCoIP、思杰公司的 ICA/HDX、红帽公司的 SPICE,以及 Ericom 公司的远程桌面产品。
微软的 RDP10 客户端软件目前能运行在安装了 Windows10、Windows Server 2012 的盘算机上,或者固化了相应操纵系统内核(Windows Embedded Standard 10、Windows 10 IoT)的嵌入式终端上,同时发布了针对安卓和苹果操纵系统的客户端软件。
而云端桌面的操纵系统只能安装 Windows 8、Windows Server 2012 和 Windows Server 2016,好比图 3 就是在安装了 Windows 7 操纵系统的盘算机上登录到云端的 Windows 8 桌面所看到的开始菜单。
开源项目 FreeRDP 支持 RDP 协议,能在很多操纵系统上运行,但是目前不支持 RDP 8.0。微软的 RDP 8.0 协议规范公开在官方网站上,预计不久后,FreeRDP 就会支持 RDP 8.0 了。而其他几个公司同时发布了能运行在 Windows、Linux、Adnriod 和 Mac OS 系统上的多个版本。
以下是实现远程桌面的 3 种方法:
1)基于 IaaS 云服务的假造机或裸机,租户租用云服务提供商的假造机或裸机,然后自己安装操纵系统、应用软件并开启远程桌面,我们称这种远程桌面为 IaaS 云桌面。
2)IaaS 云服务的应用软件容器,租户共享底层的操纵系统内核,单独安装应用软件和一些底子运行库,我们称这种远程桌面为 IaaS 容器桌面。好比 OpenVZ 和 Virtuozzo Containers 实现 Linux 的容器桌面,Windows Server Container、Hyper-V Container 和 Virtuozzo Containers 实现 Windows 的容器桌面。
3)基于半平台 PaaS 云服务,并为每个租户创建一个系统账户,实在就是利用了现代操纵系统的多用户特点,即同时让许多人登录并利用盘算机,我们称这种远程桌面为 PaaS 云桌面。
PaaS 云桌面在私有云中应用比较普遍,尤其是私有办公云。由于搭建 PaaS 云桌面具备很好的伸缩性,所以小的云端用一台盘算机即可。一台设置高的台式机(4 核 3.0GB CPU、16GB 内存、1T 硬盘)就可以供 20 个左右的员工日常办公,以后随着公司的发展,员工不停增多,可以不停地增加云端盘算机来构建更大的云端。
目前微软的终端服务技能就是典型的 PaaS 云桌面的解决方案,要求每个用户购买允许证,在正规的商业环境下建议购买正规允许证。
由于 IaaS 云桌面是每个租户单独利用一台云主机(假造机或裸机),所以租户间的隔离结果最好,IaaS 容器桌面的隔离结果次之,PaaS 云桌面的隔离结果最差。这里的“隔离”,是指一个租户的操纵行为和私有数据资料对另一个租户的可见度。好比两个租户登录到同一台盘算机的 PaaS 云桌面,那么他们之间是互相可见的:可以看到对方的历程、对方的数据文件,一方关机另一方就会被强行退出,详细内容可参阅后面教程。
在规划详细的云端方案时,要综合考虑到底采用什么范例的桌面,这里提供一些经验如下:
任务的拆分遵循的原则之一是尽量降低子任务之间的关联性,从而进步处理惩罚任务的并行度。最常见的关联性是任务处理惩罚的时间先后关系,好比子任务 A 一定要在子任务 B 完成之后才能开始处理惩罚,即 B 任务的输出作为 A 任务的输入。存在一类子任务无关联的大型任务,拆分这样的任务就很轻易。
好比在全球上亿的网页中搜刮关键词“云盘算”,这个任务的拆分方法之一是按国家分别:A 子任务搜刮中国的网站,B 子任务搜刮美国的网站,C 子任务搜刮英国的网站等,这些子任务之间没有关联性,可以并行处理惩罚,最终把全部子任务的搜刮结果合并起来即可。
再好比中国的天气预告,可以按省份拆分。这类大型任务的拆分示意图如图 2 中的左图所示。
别的一类大型任务很难拆分成互不相关的子任务,如核爆模拟、战争推演模拟等,拆分出来的子任务之间一定存在关联性,即一些子任务之间开始或者结束的时间与其他一些子任务的起止时间存在前后关系,如图 2 中的右图所示。