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

云计算虚拟化技术  时间: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

免费注册宝塔面板账户赠送价值3188礼包适合购买抵扣折扣

对于一般的用户来说,我们使用宝塔面板免费版本功能还是足够的,如果我们有需要付费插件和专业版的功能,且需要的插件比较多,实际上且长期使用的话,还是购买付费专业版或者企业版本划算一些。昨天也有在文章中分享年中促销活动。如今我们是否会发现,我们在安装宝塔面板后是必须强制我们登录账户的,否则一直有弹出登录界面,我们还是注册一个账户比较好。反正免费注册宝塔账户还有代金券赠送。 新注册宝塔账户送代金券我们注册...

buyvm迈阿密机房VPS国内首发测评,高性能平台:AMD Ryzen 9 3900x+DDR4+NVMe+1Gbps带宽不限流量

buyvm的第四个数据中心上线了,位于美国东南沿海的迈阿密市。迈阿密的VPS依旧和buyvm其他机房的一样,KVM虚拟,Ryzen 9 3900x、DDR4、NVMe、1Gbps带宽、不限流量。目前还没有看见buyvm上架迈阿密的block storage,估计不久也会有的。 官方网站:https://my.frantech.ca/cart.php?gid=48 加密货币、信用卡、PayPal、...

香港云服务器 1核 1G 29元/月 快云科技

快云科技: 12.12特惠推出全场VPS 7折购 续费同价 年付仅不到五折公司介绍:快云科技是成立于2020年的新进主机商,持有IDC/ICP等证件资质齐全主营产品有:香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机产品特色:全配置均20M带宽,架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10阵列, 国内回程三网CN2 GIA,平均延迟50ms以下。...

云计算虚拟化技术为你推荐
真正免费的网络电话有真正的免费的网络电话吗 ?打开网页出现错误为什么打不开网页,出错吴晓波频道买粉吴晓波频道学习卡资费?依赖注入Spring 的依赖注入是什么意思?iphone越狱后怎么恢复苹果手机越狱后怎么恢复蘑菇街美丽说蘑菇街美丽说唯品会天猫京东。女生买衣服,哪个好硬盘人什么叫“软盘人”和“硬盘人”?保护气球气球保护液可以用什么来代替?安装迅雷看看播放器迅雷看看播放器安装网站推广外链我是新手SEO,请问网站怎样做外链推广
winscp 主机点评 256m内存 美国主机网 正版win8.1升级win10 java虚拟主机 全站静态化 ftp免费空间 空间登录首页 备案空间 我的世界服务器ip iki 摩尔庄园注册 阿里云邮箱登陆 中国联通宽带测速 云服务是什么意思 锐速 美国十大啦 认证机构 带宽测速 更多