虚拟云计算虚拟化技术解读

云计算虚拟化技术  时间:2021-02-27  阅读:()

云计算虚拟化技术解读1

胡经国

本文作者的话

本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。现作为云计算学习笔录奉献给云计算业外读者作为进一步学习和研究的参考。希望能够得到大家的指教和喜欢

下面是正文

本文主要内容涉及虚拟化及其层次、虚拟化方式选择、虚拟化管理、数据中心虚拟化。

一、虚拟化及其层次

虚拟化是指在同一台物理机器上模拟多台虚拟机的能力。每台虚拟机在逻辑上拥有独立的处理器、 内存、硬盘和网络接口。使用虚拟化技术能够提高硬件资源的利用率使得多个应用能够运行在同一台物理机上各自拥有彼此隔离的运行环境。

虚拟化也有不同的层次。例如硬件层面虚拟化和软件层面虚拟化。

下图中

App licatio n应用程序

Operating System操作系统

VMware Virtua lizatio n Layer VMware虚拟化层次

Inte l Arc hite cture英特尔架构

CPU 中央处理器

Memory 内存

NIC 网卡

Disk磁盘、硬盘

链接 VMware

VMwa re 中文名威睿纽约证券交易所代码VMW是一家虚拟机软件公司的英文名称。该公司是全球桌面到数据中心虚拟化解决方案的领导厂商。全

1

球不同规模的客户依靠VM ware来降低成本和运营费用、确保业务持续性、加强安全性并走向绿色。 2008年 VM war e年收入达到19亿美元拥有逾150000的用户和接近22000多家合作伙伴是增长最快的上市软件公司之一。 VMw are总部设在加利福尼亚州的帕罗奥多市Palo Alto 。

虚拟化层次

1、硬件层面虚拟化

硬件层面虚拟化是指通过模拟硬件的方式获得一个类似于真实计算机的环境可以运行一个完整的操作系统。

硬件层面虚拟化又可分为不同的实现方式例如

⑴、 Full Virtua liza tio n 全虚拟化

几乎是完整地模拟一套真实的硬件设备。大部分操作系统无须进行任何修改即可直接运行在全虚拟化环境中。

⑵、 Partial Virtualization 部分虚拟化

仅仅提供了对关键性计算组件或者指令集的模拟。操作系统可能需要做某些修改才能够运行在部分虚拟化环境中。

⑶、 Paravirtualizatio n 半虚拟化

不对硬件设备进行模拟虚拟机拥有独立的运行环境通过虚拟机管理程序共享底层的硬件资源。大部分操作系统需要进行修改才能够运行在半虚拟化环境中。

2

在硬件虚拟化层面现代的虚拟化技术通常是全虚拟化和半虚拟化的混合体。常见的虚拟化技术例如VMWare、 Xe n和KVM都同时提供了对全虚拟化和半虚拟化的支持。

以硬件虚拟化的方式所提供的虚拟机通常都在运行一个完整的操作系统在同一台宿主机上存在大量相同或者相似的进程和内存页。从而导致明显的性能损耗。 目前通过KSM等技术可以识别与合并含有相同内容的内存页。但是还没有对大量相同或者相似的进程进行优化处理的有效手段。 因此硬件虚拟化也往往被称为重量级虚拟化。在同一宿主机上能够同时运行的虚拟机数量是相当有限的。

链接宿主机和目标机

宿主机是指安装虚拟机软件的计算机。

目标机是指除了宿主机、虚拟机以外的网络上的第三方机器。

链接 KS M技术

KSMKernel Shared Memory或Kernel Samepage Merging 内核共享内存或内核相同页合并技术。对于KVM虚拟化有一个功能就是内存合并。简单说就是把相同的内存合并这样可以让你的物理机运行更多的虚拟机。

KVM就是Keyboard Video Mouse 键盘、视频、 鼠标的缩写。KVM交换机通过直接连接键盘、视频和鼠标端口让您能够访问和控制计算机。

2、软件层面虚拟化

软件层面虚拟化往往是指在同一个操作系统实例的基础上提供多个隔离的虚拟运行环境也常常被称为容器技术。

在软件虚拟化层面 同一宿主机上的所有虚拟机共享同一个操作系统实例不存在由于运行多个操作系统实例所造成的性能损耗。因此软件虚拟化也往往被称为轻量级虚拟化。在同一宿主机上能够同时运行的虚拟运行环境数量是比较宽松的。 以S o laris操作系统上的Container 容器为例一个Solaris操作系统的实例理论上可以支持多达8000个Container 实际能够运行的C onta ine r数量取决于系统资源和负载 。与此类似 L inux操作系统上的LXC可以轻松地在同一宿主机上同时支持数量可观的虚拟运行环境。

链接容器技术

由于hypervisor 虚拟机监控程序虚拟化技术仍然存在一些性能和资源使用效率方面的问题 因而出现了一种称为容器技术C onta ine r的新型虚拟化技术来帮助解决这些问题。

链接 LXC

3

LXC L inux C o nta ine r L inux容器 是一种内核虚拟化技术可以提供轻量级的虚拟化 以便隔离进程和资源而且不需要提供指令解释机制以及全虚拟化的其他复杂性。

二、虚拟化方式选择

在虚拟化这个领域 国内的公司对硬件虚拟化的兴趣较大。在研发和生产环境中也大都采用硬件虚拟化技术。淘宝是国内较早地研究并应用软件虚拟化技术的。淘宝主站的实践经验表明使用c gro up替代Xe n能够提升资源利用率。

链接 Cgroups

Cgroups Control groups对照组 是Linux内核提供的一种可以限制、记录、隔离进程组process groups所使用的物理资源如 cup memory IO等等的机制。最初由Go o g le的工程师提出后来被整合进L inux内核。C gro up s也是LXC为实现虚拟化所使用的资源管理手段可以说没有C gro up s就没有LXC。

链接 Xe n

Xen是一个开放源代码虚拟机监视器 由剑桥大学开发。它打算在单个计算机上运行多达100个满特征的操作系统。操作系统必须进行显式地修改移植  以便在Xe n上运行但是提供对用户应用的兼容性 。这使得Xe n无需特殊硬件支持就能达到高性能的虚拟化。

至于在一个实际的应用场景中到底应该选择硬件虚拟化还是软件虚拟化应该重点考虑最终用户是否需要对操作系统的完全控制权例如升级内核版本 。如果最终用户仅仅需要对运行环境的控制权例如PaaS层面的各种AppEngine服务软件虚拟化可能性价比更高。对于为同一应用提供横向扩展能力的应用场景软件虚拟化也是比较好的选择。

对于需要深入了解虚拟化技术的技术人员来说 VM Ware发表的白皮书

《Understanding Full Virtualization,Paravirtualization,and Hardware Ass ist》是一份很好的参考资料。

通常来讲能够直接使用虚拟化技术的用户数量是比较少的。 以L inux操作系统为例能够进行虚拟机生命周期管理的用户一般就是具有访问lib virt权限的用户。在一个公司或者其他实体中这些用户通常是系统管理员。

链接 libvi rtlib v irt是一套免费、开源的支持L inux下主流虚拟化工具的C函数库其旨

4

在为包括Xe n在内的各种虚拟化工具提供一套方便、可靠的编程接口。

三、虚拟化管理

1、两种管理情况

早期的虚拟化技术解决的是在同一台物理机上提供多个相互独立的运行环境的问题。

当需要管理的物理机数量较小时系统管理员可以手动登录到不同的物理机上进行虚拟机生命周期管理资源配置、启动、关闭等等 。

当需要管理的物理机数量较大时就需要写一些脚本程序来提高虚拟机生命周期管理的自动化程度。

2、虚拟化管理工具

以管理和调度大量物理虚拟计算资源为目的软件称为虚拟化管理工具。虚拟化管理工具使得系统管理员可以从同一个位置执行如下任务

⑴、对不同物理机上的虚拟机进行生命周期管理

⑵、对所有的物理机和虚拟机进行查询甚至监控

⑶、建立虚拟机命名与虚拟机实例直接的映射关系使得虚拟机的识别和管理更加容易。

链接虚拟机生命周期

使用虚拟机生命周期管理工具制定一个计划可以帮助你保持虚拟化环境平稳运行。虽然虚拟机可以永远运行但并不意味着应该这样使用。虚拟机生命周期管理帮助你判断虚拟机应该何时收回。

虚拟机生命周期过程相对来讲比较复杂从虚拟机生命周期的四个阶段开始规划、准备、生产和收回。

虚拟机生命周期管理的关键在于弄明白何时应该更换虚拟机。

L inux操作系统上的Virt M a na ge r 是一个简单的虚拟化管理工具。在VMWare VM W虚拟机软件是全球桌面到数据中心虚拟化解决方案的领导厂商产品家族中 VMWare vSp he re是一个功能强大的虚拟化管理工具。

虚拟化管理工具是虚拟化技术的自然延伸。简单的虚拟化管理工具解决的是由于物理机数量增多所导致的工作内容繁杂问题。在这个层面虚拟化管理通常和集群的概念同时出现。一个虚拟化管理工具往往需要获得各台物理机上的虚拟机生命周期管理权限例如具有访问lib virt权限的用户名和密码 。在同一个集群当中为了方便起见可能需要设定一个在整个集群层面通

5

用的管理用户。可以认为虚拟化管理为系统管理员提供了便利但是并没有将虚拟机生命周期管理的权限下放给其他用户。

四、数据中心虚拟化

1、数据中心虚拟化管理系统

在数据中心层面系统管理员需要面对大量不同类型的硬件和应用。与小型集群相比较数据中心的系统复杂度大大提高了。这时简单的虚拟化管理工具 已经无法满足系统管理员的要求。 因此在虚拟化管理工具的基础上又发展出各种数据中心虚拟化管理系统。

在硬件层面数据中心虚拟化管理系统通过划分资源池一个资源池通常是一个集群的方式对硬件资源进行重新组织并以虚拟基础构架Virtua lInfras truc ture的方式将计算资源暴露给用户。

在软件层面数据中心虚拟化管理系统 引入系统管理员和普通用户两种不同的角色甚至是基于应用场景的需要设定颗粒度更细的基于角色的权限控制Role Based Access Control RBAC 。系统管理员对整个数据中心的物理机和虚拟机拥有管理权限但是一般不对正常的虚拟机进行干涉。普通用户只能在自己具有权限的资源池内进行虚拟机生命周期管理操作不具有控制物理机的权限。在极端的情况下普通用户只能够看到分配给自己的资源池而不了解组成该资源池的物理机细节。

在数据中心虚拟化之前创建虚拟机的动作是需要系统管理员来完成的。在数据中心虚拟化管理系统中通过基于角色的权限控制虚拟机生命周期管理的权限被下放给所谓的“普通用户” 在一定程度上可以减轻系统管理员的负担。但是 出于系统安全的考虑并不是公司里所有的员工都能够拥有这样的“普通用户”账号。一般来说这种“普通账号”只能够分配给某个团队的负责人。可以认为一直到数据中心虚拟化这个层面虚拟机的生命周期还是集中式管理的。

数据中心虚拟化管理系统是虚拟化管理工具的进一步延伸。它所解决的是由于硬件和应用规模上升所带来的系统复杂度问题。具体的物理设备被抽象成资源池之后公司高管只需要了解各个资源池的规模、负载和健康状况最终用户只需要了解分配给自己的资源池的规模、负载和健康状况。只有系统管理员还需要对每一台物理设备的配置、负载和故障了如指掌。但是 资源池的概念也从逻辑上对所有的物理设备进行了重新整理和分类使得系统管理员的工作变得更加容易了。

2、数据中心虚拟化管理系统提供的运维自动化功能

现代的数据中心虚拟化管理系统往往提供了大量有助于运维自动化的功能。这些功能包括

⑴、基于模板快速部署一系列相同或者是相似的运行环境

⑵、监控、报表、预警、会计功能

⑶、高可用性、动态负载均衡、备份与恢复等等。

6

一些相对开放的数据中心虚拟化管理系统甚至以开放API的方式使得系统管理员能够根据自身的应用场景和流程开发额外的扩展功能。

3、值得推荐的数据中心虚拟化管理软件

在VMWare产品家族中 VMWare vC e nter是一个数据中心虚拟化管理软件。其他值得推荐的数据中心虚拟化管理软件包括 C onvirt Xe nS e rverOracle VM OpenQRM等等。

五、云计算——对数据中心虚拟化的进一步封装

1、云计算管理软件

云计算是对数据中心虚拟化的进一步封装。

在云计算管理软件中 同样需要有云管理员和普通用户两种甚至更多不同的角色以及不同的权限。管理员对整个数据中心的物理机和虚拟机拥有管理权限但是一般不对正常的虚拟机进行干涉。普通用户可以通过浏览器自助地进行虚拟机生命周期管理也可以编写程序通过Web Service Web服务自动地进行虚拟机生命周期管理。

2、云计算层面虚拟机生命周期管理

在云计算这个层面虚拟机生命周期管理的权限被彻底下放给真正的普通用户。但是也将资源池和物理机等等概念从普通用户的视野中屏蔽了。普通用户可以获得计算资源但是无需对其背后的物理资源有任何了解。从表面上看云计算似乎就是以与Amazon EC2/S3相兼容的模式提供计算资源。而在实质上云计算使计算资源管理的模式发生了改变最终用户不再需要系统管理员的帮助即可自助地获得和管理计算资源。

3、云计算管理软件的数据中心虚拟化管理功能

对于云管理员来说将虚拟机生命周期管理权限下放到最终用户并没有降低其工作压力。相反他有了更加令人头疼的事情需要去处理。

在传统的IT架构中往往是一个应用配备一套计算资源应用之间存在物理隔离 问题诊断也相对容易。

在升级到云计算模式之后多个应用可能共享同一套计算资源应用之间存在资源竞争 问题诊断就相对困难。因此云管理员往往希望选用的云计算管理软件能够有相对全面的数据中心虚拟化管理功能。对于云管理员来说至关重要的功能包括

⑴、监控、报表、预警、会计功能

⑵、高可用性、动态负载均衡、备份与恢复等等

⑶、动态迁移可以用于局部负载调整以及故障诊断。

显而易见从虚拟化到云计算对物理资源的封装程度不断提高虚拟机生命周期的管理权限逐步下放。

7

4、值得推荐的云计算管理软件

在VMWare产品家族中 VMWare vC loud是一个云计算管理软件。其他值得推荐的云计算管理软件包括 OpenStack OpenNebula Euca lyptus和CloudStack。

虽然OpenStack、 OpenNeb ula、 Eucalyptus和C lo udSta ck都是云计算管理软件但是其功能有较大的差别。这些差别源于不同的软件具有不同的设计理念。 OpenNebula和C lo udStack最初的设计目标是数据中心虚拟化管理软件。因此具有比较全面的数据中心虚拟化管理功能。

云计算的概念兴起之后 OpenNebula增加了O C CI和EC2接口 C lo udStack则提供了称为CloudBridge的额外组件C loudStack从4.0版本开始缺省地包含了CloudBridge组件 从而实现了与Amazon EC2的兼容。

Eucalyptus和OpenStack则是以Amazon EC2为原型自上而下地设计成云计算管理软件的。从一开始就考虑与Amazon EC2的兼容性OpenStack还增加了自己的扩展 。但是在数据中心虚拟化管理方面的功能尚有所欠缺。在这两者当中 Eucalyptus项目由于起步较早在数据中心虚拟化管理方面的功能明显强于Op enStack项目。

2017年2月14日编写于重庆

2017年6月20日修改于重庆

8

简单测评melbicom俄罗斯莫斯科数据中心的VPS,三网CN2回国,电信双程cn2

melbicom从2015年就开始运作了,在国内也是有一定的粉丝群,站长最早是从2017年开始介绍melbicom。上一次测评melbicom是在2018年,由于期间有不少人持续关注这个品牌,而且站长貌似也听说过路由什么的有变动的迹象。为此,今天重新对莫斯科数据中心的VPS进行一次简单测评,数据仅供参考。官方网站: https://melbicom.net比特币、信用卡、PayPal、支付宝、银联...

2021年国内/国外便宜VPS主机/云服务器商家推荐整理

2021年各大云服务商竞争尤为激烈,因为云服务商家的竞争我们可以选择更加便宜的VPS或云服务器,这样成本更低,选择空间更大。但是,如果我们是建站用途或者是稳定项目的,不要太过于追求便宜VPS或便宜云服务器,更需要追求稳定和服务。不同的商家有不同的特点,而且任何商家和线路不可能一直稳定,我们需要做的就是定期观察和数据定期备份。下面,请跟云服务器网(yuntue.com)小编来看一下2021年国内/国...

SugarHosts糖果主机圣诞节促销 美国/香港虚拟主机低至6折

SugarHosts 糖果主机商我们算是比较熟悉的,早年学会建站的时候开始就用的糖果虚拟主机,目前他们家还算是为数不多提供虚拟主机的商家,有提供香港、美国、德国等虚拟主机机房。香港机房CN2速度比较快,美国机房有提供优化线路和普通线路适合外贸业务。德国欧洲机房适合欧洲业务的虚拟主机。糖果主机商一般是不会发布黑五活动的,他们在圣圣诞节促销活动是有的,我们看到糖果主机商发布的圣诞节促销虚拟主机低至6折...

云计算虚拟化技术为你推荐
微信对骂群工作微信群里骂人是什么行为?yy频道中心yy频道怎么进频道中心,求图~!淘宝收费淘宝卖东西收多少手续费ghostxp3GHOST系统 ghostxp3 ghostxp2 ghostxp1 三者有什么区别?直播加速手机上什么软件可以帮助直播加速,大神们推荐推荐数据库损坏数据库损坏是怎么回事啊?2012年正月十五2012年正月十五上午9点27分出生的女孩儿五行缺什么,命怎么样二层交换机二层交换机是什么意思,三层呢gbk编码表gbk内码表怎么看微信电话本怎么用微信电话本如何使用?
域名抢注 日本私人vps 骨干网 flashfxp怎么用 服务器评测 godaddy续费优惠码 主机屋免费空间 NetSpeeder qq数据库 丹弗 ca4249 稳定免费空间 中国电信宽带测速网 卡巴斯基免费试用 绍兴电信 卡巴斯基破解版 香港新世界中心 linux使用教程 日本代理ip 域名转入 更多