云计算的知识梳理

云计算的知识梳理,第1张

一、云计算的定义:

官方:云计算是一种按使用量付费的模式(资源服务模式),该模式可以实现随时随地、便捷按需的从可配置资源共享池中获取所需的资源。包括网络、服务器、存储、应用及服务,资源能够快速供应并释放,大大减少了资源管理工作的开销。

百度百科:云计算 是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。

特点:1超大规模 2虚拟化 3高可靠性 4按需服务 5高可扩展性

二、OpenStack的历史版本:

云计算:2010年 元年,因为出现了OpenStack的第一个版本Austin(2010-10-21),目前已经到最新版本Queens,前一个版本是Pike版本,发行版本的规律:字母表顺序A-Z来命名的

三、OpenStack的难点在哪里?

1、OpenStack涉及的知识领域极广

2、OpenStack是一个平台,并不是一个具体的实施方案

OpenStack的Cinder(存储服务)定义了上层API,分布式存储软件,Ceph、HDFS对应的驱动

3、OpenStack本身是一个分布式系统:All-in-one部署

对于一个小白来说,OpenStack的搭建无疑是一个痛点,这个门槛有点高,我在开始学习的时候,也是煞费苦心,所以学好基础知识真的非常重要。

四、什么是虚拟化?

1)、虚拟化与虚拟化技术是什么?

虚拟化是云计算的基础,

虚拟化:软件模拟硬件的过程

具体定义:虚拟化使一台物理机上可以跑多台虚拟机,虚拟机共享物理机的CPU、内存、IO等硬件资源,每一台虚拟机逻辑上是相互隔离的。
行业内专用术语:

1、物理机:宿主机Host

2、虚拟机:客户机Guest

2)、虚拟化分类(按照虚拟化实现结构):

1、1型虚拟化

定义:Hypervisor直接安装在物理机(裸机)上,多个虚拟机在Hypervisor上运行。

特点: 1型虚拟机本身就是一个 *** 作系统,不需要其他 *** 作系统的支持

举例:VMware的ESXI(workstation、server)

2型虚拟化

    物理机上首先安装常规的 *** 作系统,比如 Redhat、Ubuntu 和 Windows。Hypervisor 作为 OS 上的一个程序模块运行,并对管理虚拟机进行管理。KVM、VirtualBox 和 VMWare Workstation 都属于这个类型。

虚拟化技术:一种运行在基础物理服务器和 *** 作系统之间的中间软件层,可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisor协调着这些硬件资源的访问,以及各个虚拟机之间的防护。服务器启动时,它会加载所有虚拟机客户端的 *** 作系统,同时为虚拟机分配内存、磁盘和网络等。也可叫做VMM( virtual machine monitor ),即虚拟机监视器。

1型和2型虚拟化的对比:

1、前者性能比后者好

2、前者不需要 *** 作系统支持,后者需要

3、后者更加灵活,特点:支持虚拟机的嵌套

使用虚拟化的原因:

打破实体结构间不可切割的障碍,使用户能更好的利用这些资源

没有虚拟化:服务器的IT资源30%

有虚拟化:服务器的IT资源70%

3)、虚拟化的优点

1、提高IT资源利用率

2、显著减少了服务器的数量,企业不动资产和管理成本。

3、加速应用部署

4、提高应用兼容性

五、云计算服务三层架构:根据提供服务的不同(会在下一篇详细讲解三种服务)

1、IaaS:infrastructure as a Service

定义:基础服务层

功能:提供的服务是存储、计算、网络等硬件资源  OpenStack

特点:负责管理虚拟机的整个生命周期,虚拟机创建、修改、启动停止、快照/备份、销毁

举例:阿里云、腾讯云、亚马逊的AWS(Amazon webserice)

2、PaaS:platform as a service

定义:平台服务层

功能:提供的服务是应用程序的运行环境和一系列中间件服务

特点:负责保证服务的性能和可用性。

举例:大数据和深度学习容器云平台

3、SaaS:Software as a service

定义:软件服务层

功能:提供的服务是软件/应用程序。

特点:用户需要登录并使用它,"拿来即用"

举例:facebook、twitter、instagram、QQ、微信

网上还有人说Docker的CaaS(container as a service)容器服务层。
六、OpenStack是什么?

OpenStack is a cloud operating system that controls large pools of storage, compute,and networking resources throughout a datacenter,all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface。

官方定义:OpenStack是一个(可以管理整个数据中心里存储、计算及网络资源的)云 *** 作系统。

OpenStack 作为一个 *** 作系统,管理资源是它的首要任务;

OpenStack 管理资源主要有三个方面:计算、存储和网络。

整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。这四个节点也可以安装在一台机器上,单机部署(All-in-one部署)

控制节点 负责对其余节点的控制,包含虚拟机建立,迁移,网络分配,存储分配等等

计算节点 负责虚拟机运行

网络节点 负责对外网络与内网络之间的通信

存储节点 负责对虚拟机的额外存储管理等等

下面我给出一张官方架构图(给出中文版方便理解):

OpenStack的组件:

Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信 (核心服务)

Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板(核心服务)

Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板(核心服务)

Keystone:认证管理服务,为OpenStack的其他组件提供认证(auth)服务 (核心服务)

Cinder:提供管理存储节点的Cinder相关(为虚拟机提供存储卷(虚拟硬盘)) (核心服务)

Swift:为Glance和Cinder提供对象存储服务

Ceilometer:为OpenStack提供监控(monitor)、计量服务;提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作

Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本 *** 作,也可以解决自动收缩,负载均衡等高级特性。

Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理  (核心服务)
第一次写关于技术方面的文章,不足之处后面还会修改补充,希望自己坚持下去。

我们单位最近在推docker,已经在开发测试环境使用(稍显落后),下面我就谈谈自己的Docker的理解,以及Docker和虚拟机的区别。

虚拟机

先说说什么是虚拟机:在一台物理机器上,利用虚拟化技术,虚拟出来多个 *** 作系统,每个 *** 作系统之间是隔离的。

说起来有些绕,那么我们看看虚拟机的架构图,就容易理解了。例如我们要在一台物理机器运行三个Java项目,彼此之间隔离。

从下往上看, 解释起来其实很简单:

最下面的一层就是物理机,可以是服务器,设置是一台个人电脑;

Docker

再说说什么是Docker,找了一句官方的解释:Docker是开源的应用容器引擎。是不是又一头雾水?我们还是先看看Docker的架构图。

依然从下往上看:

Docker和虚拟机的区别

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

谢谢了!docker容器域虚拟机有什么区别呢?

docker容器: Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

虚拟机: 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟系统通过生成现有 *** 作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有 *** 作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类 *** 作系统。虚拟系统和传统的虚拟机(Parallels Desktop ,Vmware,VirtualBox,Virtual pc)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有 *** 作系统相同的环境,而虚拟机则可以模拟出其他种类的 *** 作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。 对比虚拟机与DockerDocker守护进程可以直接与主 *** 作系统进行通信,为各个Docker容器分配资源;它还可以将容器与主 *** 作系统隔离,并将各个容器互相隔离。虚拟机启动需要数分钟,而Docker容器可以在数毫秒内启动。由于没有臃肿的从 *** 作系统,Docker可以节省大量的磁盘空间以及其他系统资源。说了这么多Docker的优势,大家也没有必要完全否定虚拟机技术,因为两者有不同的使用场景。虚拟机更擅长于彻底隔离整个运行环境。例如,云服务提供商通常采用虚拟机技术隔离不同的用户。而Docker通常用于隔离不同的应用,例如前端,后端以及数据库。


docker解决的主要问题

有过后台开发经验的同学,一定遇到过下面这些问题:

那么,有了docker,这些问题都将不复存在。

什么是docker

Docker是一个虚拟环境容器,可以将你的可执行文件、配置文件及一切其他你需要的文件一并打包到这个容器中,并发布和应用到任意平台。比如,你在本地用Python开发了一个网站后台,开发测试完成后,就可以将Python3及其依赖包、Flask及其各种插件、Mysql、Nginx等打包到一个容器中,然后部署到任意你想部署到的环境。

如果不好理解,我们再拿集装箱打个比方。

集装箱解决了什么问题呢?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。

docker也是类似的理念。我们可以在一台机器上跑多个互相毫无关联的docker容器,每一个容器就相当于一个集装箱。

docker里的几个基本概念 与传统虚拟化的区别

这里我们顺便讲一下传统虚拟化。

我们看到,传统虚拟化是站在硬件物理资源的基础上,虚拟出多个OS,然后在OS的基础上构建相对独立的程序运行环境,而Dokcer则是在OS的基础上进行虚拟,显然Dokcer轻量得多,因此其资源占用、性能消耗相比传统虚拟化都有很大优势。

在IT行业从业多年,也算从看着时代从物理服务器走向虚拟化云计算时代,又准备进入Docker时代,作为下一代虚拟化技术,Docker正改变着整个行业开发、测试、部署应用的方式,至于虚拟化技术和docker技术到底有什么不同,下面来分析一下。


01 什么是虚拟化?

顾名思义,虚拟化技术是将物理资源以某种技术虚拟成资源池的形式,主要有一虚多和多虚一两种形式,比如个人电脑安装Vmware软件,可以在这个软件上安装其他Win系统、MacOS、Linux系统等,实现一台电脑/笔记本承载多个系统的优点,目前苹果笔记本用户双系统解决方案也以虚拟机为主,普通Windows用户可能需求量不大,而技术人员基本是必备软件了。


从企业层面来看,多虚一为主要形式,也就是将大量物理服务器集群虚拟化,形成一个资源池,在这个资源上创建各种不同的虚拟机,实现灵活部署。


02 什么是Docker

其实docker和虚拟技术很像,但又有一些不同点,一方面是两个技术的层级上,虚拟机一般是底层硬件Hardware支撑,上层是虚拟管理系统Hypervisor层,在上层开启不同的VM业务,如果需要将这些业务进行隔离,需要每个VM启动客户机 *** 作系统,非常消耗资源。



Docker完全不同,底层有硬件和Host OS系统支撑,比如Windows/MacOS/Linux,中间抛去了臃肿的系统,而是以Docker守护进程代替,上层建立不同的容器,不同的应用镜像打包在不同的容器中,他们互相隔离。


03 虚拟化与docker的区别

docker设计小巧,部署迁移快速,运行高效,应用之间相互独立,管理人员可以看到所有容器的内容,虚拟化技术比较臃肿,不论什么应用都需要先创建新的系统,并且并非按照应用隔离,而是按照系统隔离,管理员无法看到系统内部信息。

举个例子,Docker就是手机中的各种APP,只需要一个系统就可以下载自己所需的应用,但是虚拟化技术相当于你的苹果手机安装一个庞大软件,这个软件上安装安卓系统、魅族系统等,每个系统上还要安装各类应用,比较麻烦。


但两者没有绝对的好坏,主要还是看应用场景,根据不同的需求选择不同的解决方案即可。


Docker与虚拟机介绍

虚拟机: 传统的虚拟机需要模拟整台机器包括硬件,每台虚拟机都需要有自己的 *** 作系统,虚拟机一旦被开启,预分配给他的资源将全部被占用,每一个虚拟机包括应用,必要的二进制和库以及一个完整的用户 *** 作系统。

容器(Docker): 容器与的宿主机共享硬件资源及 *** 作系统可以实现资源的动态分配。容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机 *** 作系统中,在用户空间以分离的进程运行。

虚拟机和容器都是在硬件和 *** 作系统以上的,虚拟机有Hypervisor层(“翻译”客户系统和宿主系统之间的指令),Hypervisor是整个虚拟机的核心所在。他为虚拟机提供了虚拟的运行平台,管理虚拟机的 *** 作系统运行。每个虚拟机都有自己的系统和系统库以及应用。

容器没有Hypervisor层,它是内核级的虚拟化,并且每个容器与宿主机共享硬件资源及 *** 作系统,因此Docker容器不存在Hypervisor层带来性能的损耗,因此可以实现更高的性能和效率。但是虚拟机技术也有其优势,能为应用提供一个更加隔离的环境,不会因为应用程序的漏洞给宿主机造成任何威胁。

虚拟机是对硬件资源的虚拟,容器技术则是对进程的虚拟,从而可提供更轻量级的虚拟化,实现进程和资源的隔离。从架构来看,Docker比虚拟化少了两层,取消了hypervisor层和GuestOS层,使用 Docker Engine 进行调度和隔离,所有应用共用主机 *** 作系统,因此在体量上,Docker较虚拟机更轻量级,在性能上优于虚拟化,接近物理机原生性能。

Docker的优势

持续部署与测试

更高效的利用系统资源

交付物标准化

应用隔离

高性能

最近刚好看了一部分docker的东西
先上图,vm与docker框架,直观上来讲 vm多了一层guest OS,同时Hypervisor会对硬件资源进行虚拟化,docker直接使用硬件资源 ,所以资源利用率相对docker低也是比较容易理解的




其次,openstack能够以10台/min的速度创建虚拟机,在docker面前就弱爆了,因为docker是利用宿主机的系统内核,所以可以做到在几秒钟之内创建大量容器,它们的 启动速度是在数量级上的差距

最后找了一个IBM测试案例,关于计算能力的,对于kvm为什么会有这么大的性能损失,一方面是因为虚拟机增加了一层虚拟硬件层,运行在虚拟机上的应用程序在进行数值计算时是运行在Hypervisor虚拟的CPU上的;另外一方面是由于计算程序本身的特性导致的差异。虚拟机虚拟的cpu架构不同于实际cpu架构,数值计算程序一般针对特定的cpu架构有一定的优化措施,虚拟化使这些措施作废,甚至起到反效果。比如对于本次实验的平台,实际的CPU架构是2块物理CPU,每块CPU拥有16个核,共32个核,采用的是NUMA架构;而虚拟机则将CPU虚拟化成一块拥有32个核的CPU。这就导致了计算程序在进行计算时无法根据实际的CPU架构进行优化,大大减低了计算效率。

从计算机软件层级来看,docker和虚拟机的区别在于虚拟的软件层级不一样。虚拟机基于同一个硬件,模拟出不同的 *** 作系统;而docker基于同一个 *** 作系统,模拟出不同的运行时环境。我们依次来看:

1 先看看计算机的软件层次,从下到上依次为: *** 作系统内核、文件系统(运行时环境)、上层APP。

2 虚拟机运行在同一个硬件上,可以虚拟出不同的 *** 作系统。比如vmware可以在一台pc上既模拟出一个windows系统,同时也可以模拟出一台linux系统。 借助虚拟机,两个不同的 *** 作系统可以同时运行在同一个硬件之上。

3 而docker则运行在同一个 *** 作系统内核上,虚拟出不同的文件系统或者也可以叫做运行时环境。不同的运行时环境,其对应的文件系统也是不同的。比如java的运行时环境就要求文件系统里存在jdk,而golang的运行时环境则需要有go相关的底层库。在docker上既可以虚拟出一个java的运行时环境,也可以虚拟出go的运行时环境。甚至, 基于docker,你既可以虚拟出一个java-16的运行时候环境,也可以虚拟出一个java-18的运行时环境,而这两个运行时环境可以同时运行在同一个 *** 作系统之上

很高兴为您解答。

Docker悄无声息的来到我们身边,正在改变我们的开发、测试、部署应用的方式,那么,到底Docker和虚拟机VM有什么区别,我们通过一个图,再配上简明扼要的文字就很容易理解两者之间的区别。

首先要明确:Docker是一个开源的应用容器引擎,而VM是一个完整的 *** 作系统。

1、使用VM运行多个相互隔离的应用

解释:

可以看到,APP #1、APP #2、APP #3如果要独立运行,相互隔离,则需要安装三个 *** 作系统。如果一个虚拟 *** 作系统按1G算,总共需要占3G的存储空间,更槽糕的是,光运行这三个 *** 作系统就要耗费很大的内存和CPU。

2、使用Docker运行多个相互隔离的应用

DOCKER DAEMON:Docker守护进程,负责管理Docker容器。

Docker运行在主 *** 作系统之上,APP #1、APP #2、APP #3在Docker中是完全隔离的、相经独立的容器。跟VM相比,省去了庞大的 *** 作系统,耗费硬件资源较少。


除了以上架构上的差异之外,VM和Docker在启动时间上也有着很大的差距,VM启动大概需要2分钟的时间,而Docker启动则只需2秒。


随着互联网的发展,Docker的应用会越来越广,Build once,run anywhere,一次构建,到处运行。

docker是虚拟化软件运行环境。

虚拟机是虚拟化硬件。

层次不同。

虚拟机更消耗资源。但带来的是一个完整的可以不同于宿主机的 *** 作系统。因为和宿主机 *** 作系统不共享任何东西(包括硬件,内核,动态库,环境变量等),它的隔离性更好。

docker更轻量级,共享使用宿主机的硬件和内核,资源占用更少。它在宿主机内核基础上虚拟化了一个不同于宿主机的软件运行环境,比如动态库,环境变量等。可以说,docker和宿主机之间除了内核共享,其它都可以不同。

Docker容器启动、停止速度快rr Docker容器对资源需求较少rr Docker *** 作简单rr Dockerfile自动构建和部署方便

在云计算发展初期,虚拟桌面是典型的云计算应用,它能够在“云”中为用户提供远程的计算机桌面服务。服务提供者在数据中心服务器上运行用户所需的 *** 作系统和应用软件,然后用桌面显示协议将 *** 作系统桌面视图以图像的方式传送到用户端设备上。同时,服务器对用户端的输入进行处理,并随时更新桌面视图的内容。
虚拟桌面的应用具有很多优势。例如它能够提供随时随地访问的能力,支持多样化的接入设备选择,降低软硬件的管理和维护成本,强化用户的数据安全等,这使得虚拟桌面具有广阔的应用前景。
方法/步骤
主流桌面虚拟化技术方案:
用户对于类似虚拟桌面的体验并不陌生,其前身可以追溯到Microsoft在其 *** 作系统产品中提供的终端服务和远程桌面,但是它们在实际应用中存在着不足。例如之前的终端服务只能够对应用进行 *** 作,而远程桌面则不支持桌面的共享。虚拟化技术的发展使虚拟桌面获得了长足的发展,当前虚拟桌面解决方案主要分为VDI(Virtual Desktop Infrastructure)和SV(Session Virtualization)两大类。
基于VDI的虚拟桌面解决方案的原理是在服务器侧为每个用户准备其专用的虚拟机并在其中部署用户所需的 *** 作系统和各种应用,然后通过桌面显示协议将完整的虚拟机桌面交付给远程的用户,因此,这类解决方案的基础是服务器虚拟化。 服务器虚拟化主要有完全虚拟化和部分虚拟化两种方法:完全虚拟化能够为虚拟机中的 *** 作系统提供一个与物理硬件完全相同的虚拟硬件环境;部分虚拟化则需要在修改 *** 作系统后再将其部署进虚拟机中。 两种方法相比,部分虚拟化通常具有更好的性能,但是它对虚拟机中 *** 作系统的修改增加了开发难度并影响 *** 作系统兼容性,特别是Windows系列 *** 作系统是当前用户使用最为普遍的桌面 *** 作系统,而其闭源特性导致它很难部署在基于部分虚拟化技术的虚拟机中。 因此,基于VDI的虚拟桌面解决方案通常采用完全虚拟化技术构建用户专属的虚拟机,并在其上部署桌面版Windows用于提供服务,但也有部分方案对Linux桌面提供支持。
如何快速了解桌面虚拟化技术
3
基于SV的虚拟桌面解决方案原理是将应用软件统一安装在远程服务器上,用户通过和服务器建立的会话对服务器桌面及相关应用进行访问和 *** 作,而不同用户之间的会话是彼此隔离的。 这类解决方案是在 *** 作系统事件(例如键盘敲击、鼠标点击、视频显示更新等)层和应用软件层之间插入虚拟化层,从而削弱两个层次之间的紧耦合关系,使得应用的运行不再局限于本地 *** 作系统事件的驱使。其实,这种方式在早先的服务器版Windows中已有支持,但是在之前的应用中,用户环境被固定在特定服务器上,导致服务器不能够根据负载情况调整资源配给。另外,之前的应用场景主要是会话型业务,具有局限性,例如不支持双向语音、对视频传输支持较差等,而且服务器和用户端之间的通信具有不安全性。 因此,新型的基于SV的虚拟桌面解决方案主要是在Windows提供的终端服务能力的基础上对虚拟桌面的功能、性能、用户体验等方面进行改进。
如何快速了解桌面虚拟化技术
4
在用户体验、服务器性能要求、硬件资源占用、用户支持扩展性、方案实施复杂度、管理难度、桌面交付兼容性等方面的对比,SV比VDI的解决方案对比都是占优的。 采用基于VDI的解决方案,用户能够获得一个完整的桌面 *** 作系统环境,与传统的本地计算机的使用体验十分接近。在这类解决方案中,用户虚拟桌面能够实现性能和安全的隔离,并拥有服务器虚拟化技术带来的其他优势,但是这类解决方案需要在服务器侧部署服务器虚拟化及其管理软件,对计算和存储资源要求很高,成本高昂,部署和管理较为复杂,因此,基于VDI的虚拟桌面比较适用于对桌面功能需求完善及个性化要求很高的用户。 采用基于SV的解决方案,应用软件可以像传统方式一样安装和部署到服务器上,然后同时提供给多个用户使用,具有较低的资源需求,部署和管理非常简单,也可以和服务器虚拟化技术相结合,架构灵活,对计算和存储资源的要求很低,显著降低成本。但在系统个性化上较弱,依赖于管理员定制的应用程序。
5
成本和复杂性对比:VDI与SV
基于VDI的虚拟桌面解决方案需要为用户提供专属的虚拟机,并主要提供闭源Windows *** 作系统的桌面。因此,当前支撑VDI虚拟桌面的虚拟机普遍基于完全虚拟化技术,例如VMware的ESX虚拟机、Microsoft的Hyper-V虚拟机、RedHat集成在Linux内核之中的KVM虚拟机以及Citrix采用完全虚拟化的Xen虚拟机等。
基于SV的虚拟桌面解决方案直接利用Windows的多用户环境,使各用户能够同时在同一服务器上获得属于自己的应用。犹豫Windows本身属于闭源的 *** 作系统,在闭源的 *** 作系统之上将 *** 作系统虚拟化成多个相互隔离的 *** 作空间,技术难度较大,门槛很高,当前只有主流的Citrix、NComputing和Microsoft发布的产品可以在SV技术上获得较好的用户体验,其核心是对用于传输视图内容的桌面显示协议进行优化,降低资源消耗。
6
桌面显示协议:
桌面显示协议是影响虚拟桌面用户体验的关键,当前主流的显示协议包括HDX(Citrix)、PCoIP(Vmware)、UXP(NComputing)、RDP(Microsoft)、SPICE(Redhat)等,并被不同的厂商所支持。
传输带宽要求的高低直接影响了远程服务访问的流畅性。HDX采用具有极高处理性能和数据压缩比的压缩算法,极大地降低了对网络带宽的需求。图像展示体验反映了虚拟桌面视图的图像数据的组织形式和传输顺序。UXP采用了与HDX相同的数据压缩技术,但在算法上次于HDX,虽然压缩比没有HDX高,但其视觉体验上已经非常精细。PCoIP采用分层渐进的方式在用户侧显示桌面图像,即首先传送给用户一个完整但是比较模糊的图像,在此基础上逐步精化,相比其他厂商采用的分行扫描等方式,具有更好的视觉体验。
双向音频支持需要协议能够同时传输上下行的用户音频数据(例如语音聊天),而当前的PCoIP对于用户侧语音上传的支持尚存缺陷。视频播放是检测传输协议的重要指标之一,因为虚拟桌面视图内容以方式进行传输,所以视频播放时的每一帧画面在解码后都将转为从而导致数据量的剧增。为了避免网络拥塞,HDX、PCoIP与UXP采用压缩协议缩减数据规模但会造成较小的画面质量损失,而SPICE则能够感知用户端设备的处理能力,自适应地将视频解码工作放在用户端进行,依赖于瘦客户机或本地PC的性能,SPICE协议本身无法做视频压缩处理。
用户外设支持能够考查显示协议是否具备有效支持服务器侧与各类用户侧外设实现交互的能力,HDX和RDP对外设的支持比较齐备(例如支持串口、并口等设备),而UXP、PCoIP和SPICE当前只实现了对USB设备的支持。传输安全性是各个协议都很关注的问题,早期的RDP不支持传输加密,但在新的版本中有了改进。
桌面显示协议是各厂商产品竞争的焦点,其中,RDP、HDX与UXP拥有较长的研发历史,PCoIP和SPICE相对较新但也日渐成熟,特别是SPICE作为一个开源协议,在社区的推动下发展尤其迅速。
目前国内所有虚拟化桌面厂商都是基于免费开源的KVM服务器虚拟化技术基础上开发的,没有核心的技术,依赖于国外开源软件的技术,本质还是基于VDI的服务器虚拟化。
7
总结:
虚拟桌面技术已经比较成熟,不同厂商的产品各具特色:Citrix不断地追求用户体验的提升;NComputing是唯一提供软件、协议与云终端的整体解决方案,拥有极高的性价比;VMware具有先进的底层服务器虚拟化架构;Microsoft拥有在 *** 作系统领域的主导地位;Red Hat的开源策略使得其产品具有较低的成本。 当前尚没有哪家厂商的产品能够适用于所有应用场景,因此在应用和部署虚拟桌面解决方案时,必须结合实际需求选择合适的技术和产品,特别是对于一些特殊的用户外设,通常需要定制解决方案。
END

1、虚拟化项目最初并未涉及信息安全。有一项权威的研究发现,在最初创建以及策划时,少于一半的科研项目是不符合安全规定的。有时团体工作时会刻意地把安全问题忘记,可是虚拟化过程中带来的问题是不容忽视的,多个虚拟化服务器工作时带来的弊端比未被虚拟化时带来的问题更为严重。所以研究这些问题时也更为繁琐。

2、底层虚拟化平台的隐患影响所有托管虚拟机。将服务器虚拟化就像在电脑上运行程序一样,都需要借助一个平台。而该平台或多或少会有一些bug而被人们疏忽。最近一些大型虚拟化厂商多次传出虚拟化生产线存在安全隐患,这些隐患尚未得到解决。所以一些人想要攻击时都会选择进攻底层虚拟化平台,通过控制住中枢系统,逃脱安全检测。进而将病毒带入各个服务器中,攻击其弊端,获得了阅览所有信息的权限,导致信息的泄露。

3、虚拟机之间的虚拟网络使现有的安全策略失效。一些知名的虚拟化生产厂商使用建立虚拟机和虚拟网卡的办法使各虚拟机之间能相互关联以此来实现信息发送与接受的能力。一些主流的保护系统的保护范围都只能保护常规服务器的进出流量,却无法看到各个虚拟机之间的流量传输,无法对虚拟化的流量传输提供保障。

4、将不同安全等级的虚拟机未进行有效隔离。一些虚拟化生产厂商正在尝试将服务器全部虚拟化,这样既减少了经费又加快了生产速度。这些服务器包括许多隐私等级较高的系统,所以就要求虚拟机足够安全。而如果未将安全指数不同的服务器分离开,它们由相同的服务器支配,高等级的虚拟机的安全性也会降低并被较低的所控制。

如需了解更多,请访问蛙云官网>

专业领域十余载,倾情奉献

一次沟通,终生陪伴

IBMSystemW1500v10和W1700v10(以下简称System)提供了一种在云中运行工作负载的环境。为了做到这一点,它提供了大量具备同时运行数千个计算机程序的计算机硬件。为了有效管理并利用这种硬件,该系统采用几种行业最佳实践来虚拟化其硬件资源,并给予工作负载极大灵活性以实现在云中随处运行。通过了解这些技术以及该产品如何利用这些技术,您将更好地了解System所提供的云环境。

本文是一个三部分系列文章的第二部分,该系列文章介绍System为托管应用程序运行时环境提供的硬件和软件基础:

硬件:AtourofthehardwareinIBMSystem介绍了由System组成的硬件。

虚拟化硬件:您正在阅读的这篇文章介绍了System如何虚拟化硬件以实现基础架构即服务(IaaS)。

运行时环境:在IBMSystem中管理应用程序运行时环境介绍了如何使用System中的虚拟化硬件实现工作负载所部署到的应用程序运行时环境。

每篇文章都以上一篇为基础,全面地解释了这一基础。

为了理解System中的资源虚拟化,我们将探讨合并到云计算系统中的交付模型(该方法用于虚拟化不同类型的资源)以及该产品如何利用这些方法。

云交付模型

虚拟化硬件资源通常称为“基础架构即服务”。它是三种云交付模型(又称为云服务模型)之一:

基础架构即服务(IaaS)为计算、存储和网络提供了一种虚拟化硬件资源的环境。

平台即服务(PaaS)提供了一种虚拟化的应用程序运行时环境,包括 *** 作系统;应用服务器、数据库和消息传递之类的中间件;以及缓存、监控和安全之类的共享服务。

软件即服务(SaaS)在一个集中托管环境中提供网络可访问的业务应用程序,该环境是高度可靠且可伸缩的。

模型是渐增的,且每个模型以前一个模型为基础。图1说明了云交付模型。

图1云交付模型

如何使用虚拟机(VM)来虚拟化计算资源

文章导航IBM云,第1部分:云技术入门更加详细地介绍了云交付模型。这些交付模型不是特定技术,而是云计算系统的架构目标。本文着重介绍第一层基础架构即服务,并讲述如何在System中实现基础架构即服务。

资源虚拟化

基础架构即服务是一个可通过资源虚拟化实现的目标。资源虚拟化将工作负载(即,正在运行的程序)从其运行的底层硬件进行解耦。对于要运行的程序,它肯定需要硬件资源。但是,对于“在云中”运行的工作负载,它们肯定不能被特定硬件集所束缚。这意味着工作负载必须在多个冗余硬件集中的任何一个中运行。要实现此目标,云应该虚拟化硬件资源以将工作负载与硬件分离并使云能够管理这些资源的工作负载使用情况。

云将组织其硬件资源以使工作负载运行延续到三个主要类型,这是所有计算的基础:

计算资源:这是任意程序运行所需的CPU和内存。

网络资源:这在程序之间的连接,支持程序进行通信。

存储资源:这使程序能持续保存其状态。

System采用了虚拟化各种资源的技术:

使用虚拟机(VM)虚拟化计算资源。

使用虚拟局域网(VLAN)虚拟化网络资源。

使用存储区域网(SAN)虚拟化存储资源。

转载


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10287497.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存