云计算-从基础到应用架构系列-虚拟化的技术(上)
开篇
上篇我们讲述了云计算的中的核心技术-虚拟化技术的相关概念,当我们了解了虚拟化技术的概念及相应的目的及作用后,虚拟化技术将是未来一段
时间内的热门话题,很多的商业巨头,已经将虚拟化作为未来的重要发展战略,掌握了虚拟化的技术,也就意味着我们在未来的技术上处于领先地位。
虚拟化技术的使用可以说现在已经在计算机信息化中有了广泛的使用,但是并未得到广泛的使用,当然这个其中也是有很多的规定,法律法规等相关制
度的约束,还有是因为虚拟化技术目前还有很多的不成熟的原因,比如说在性能和效率上还有欠缺,无法和硬件起到同样的功效,当然如果说我们对性
能上的约束不是太强烈的时候,虚拟化是很好的解决方案,云计算的提出,颠覆了传统的资源的概念,将虚拟化技术的思想发挥到了一个新的高度,可
以说,云计算的提出是一个新的里程碑,我们本篇将针对虚拟化技术方面的相关内容进行展开分析,当然本人的观点不代表全部正确,如有错误之处,
还请大家多多的指点。
摘要
上篇我们讲述了虚拟化的相关介绍,并且介绍了虚拟化资源的几种分类,本文将会针对虚拟化技术的具体的实现细节进行分析和说明,当然可能由
于本篇过于理论,可能大家看的有点云里雾里的,当然也许是由于本人的表达能力有限造成的,再次表示抱歉,也欢迎大家提出不同意见和建议。
虚拟化技术的核心剖析。
1、创建虚拟化的解决方案
本文讲述的具体内容,将从下图开始展开,相信大家看了图就知道了虚拟化技术的一些核心内容了:
本文大纲
1、开篇
2、摘要
3、本文大纲
4、创建虚拟化解决方案
5、本文总结
6、后续
7、参考文献
创建虚拟化解决方案
虚拟化解决方案的创建者一般是服务提供商或者是服务集成商提供,虚拟化的解决方案,一般是由虚拟镜像或者虚拟组件组成,因此我们既然知道
了虚拟化解决方案的组成,那么我们本篇将会先后阐述一个虚拟化解决方案中的虚拟镜像和虚拟组件的创建过程。
1、创建虚拟镜像
虚拟机相信大家都用过,我们来看看虚拟机的定义:
虚拟机:通过虚拟化软件来模拟的具有完整的硬件功能的,运行在一个隔离环境中的逻辑计算机系统。
虚拟镜像的定义:
虚拟镜像:是虚拟机的存储实体,它通常是一个或者多个文件,包括了虚拟机的配置信息和磁盘数据,还有可能包含内存数据。
虚拟镜像的分类
虚拟镜像的创建过程:
我们这样就通过虚拟机创建了不同操作系统的镜像,我们没创建一个虚拟机实例,就等于创建了一个新的镜像,我们可以将这个镜像另存到磁盘的
某个位置,我们可以在其他的地方,通过虚拟机软件来导入这个镜像,完成虚拟机镜像的多处运行。
创建虚拟机是我们通过图形化的虚拟化管理平台中提供的功能来完成创建过程的,一般我们需要设置虚拟机的CPU个数、内存大小、硬盘等相关硬
件参数,设定好虚拟机的基本参数配置后,就可以选择在该虚拟机上运行的操作系统,我们通过创建一个该虚拟机上运行的操作系统实例,完成虚拟机
的安装。最后,我们关停虚拟机就是保存虚拟机的相关配置及状态,用于我们启动或恢复虚拟机的状态。
2、创建虚拟组件
在上节中,我们介绍了创建虚拟镜像的步骤,但是对于用户来说,我们创建了这样的镜像之后,还是不能直接使用,因为用户使用镜像的目的是,
为了能将自己的应用,服务,解决方案运行中虚拟化平台中,那么因为虚拟镜像只是已经包含了操作系统,而没有安装客户需要的一些基础的底层支持
的中间件,因此这样的情况下,用户使用会感觉不那么方便了,那么我们如何来做呢,来达到用户使用的便携性,我们一步一步慢慢来。
虚拟组件可以满足我们上面提出的一系列问题,虚拟化组件是将服务器虚拟化技术与计算机部件技术上的结合的产物。计算机部件是具有特点功能
和有限配置能力的计算设备,例如,计算机硬件,硬盘,内存等。
虚拟组件:是一个包括了预安装,预配置的操作系统,中间件和应用的最小化的虚拟机。与虚拟镜像相比,虚拟组件包含的内容更丰富,当然内容
多了之后,可能适应性就会有相应的降低。虚拟组件包含了中间件及用户的应用程序,一般来说虚拟镜像不包含此类内容。
我们来对比下虚拟镜像与虚拟组件之间的区别:
因此我们从上面可以看出来,虚拟组件相比虚拟镜像,更容易让用户使用。只需要通过简单的配置即可完成应用程序的访问,而不需要再部署相应
的应用程序后才能完成应用程序的访问。
虚拟化组件的一个常用的应用场景是,软件的发布过程,我们来对比下传统的软件发布过程与采用虚拟化组件的过程:
从上图可以看出来,使用虚拟化组件可以降低软件的安装过程及配置过程,工作效率得到很大的提升,目前已有很多虚拟组件已经在商业中使用
了,所以这可能是未来的一大趋势。
下面我们来看看虚拟组件的具体的创建过程是什么样子的流程,这样我们才能对他深入的掌握,一般来说虚拟组件的创建过程是如下的几步:
1、调用需求:
该阶段主要是需求分析解决方案都由哪些模块组成,设计人员需要针对不同的应用场景进行调研。我们需要分析出每个模块的形态及模块之间的关
系。我们还要确定虚拟组件的形态,例如IBM的应用服务器可以根据配置成多种形态。
2、编制功能
编写配置脚本,并且进行相应的测试,测试编写的配置脚本是否符合预期的要求。测试的过程一般是先单元测试,最后完成集成测试。
3、打包制作
一般来说这步的操作就是等于创建虚拟镜像的基础上,完成中间件及应用程序组件的安装,并且安装相应的配置脚本及元数据。使得当用户启动虚
拟化组件时,能够响应用户的配置,按照我们之前边写的配置脚本所要求的规则执行。
3、部署虚拟化组件
虚拟化组件一般是由不同的厂商进行开发的,由于不同的厂商提供,他们之间必定会有差异,那么这些虚拟化组件如何他们之间完成调用呢?如果
没有统一的标准来规范,那么无疑会阻碍虚拟化组件技术的发展。
OVF的提出无疑是场及时雨,DMTF非盈利标准化组织制订了开发虚拟化格式(Open Virtualization Format) OVF,OVF标准为虚拟组件的包装
及分发提供了,开放、安全、可移植、高效和可扩展的描述格式。OVF定义了3个类型关键格式:
1、虚拟组件模板
2、解决方案模板的OVF的描述文件、虚拟组件的发布格式包。
3、虚拟组件的部署配置文件。
下面我们来看看虚拟化组件组成的虚拟化解决方案的示例图:
一个可能的解决方案,是由3个不同的虚拟组件进行相互的协作完成。
目前也是有很多的工具可以自动完成多个虚拟组件的打包,并且能将这些虚拟组件导入到多种虚拟化管理平台上。例如:VMware公司的VMware
Studio及思杰(Citrix)公司的Kensho。
我们来看看OVF描述文件的格式:
OVF描述文件中记录了每个虚拟组件的内部的硬件信息及软件信息,硬件信息例如:CUP,RAM,硬盘,虚拟硬盘等信息。软件信息包括一些软件的
配置信息,中间件,应用程序等信息。
我们再来看看OVF包的形式,是如何发布虚拟组件的:
虚拟组件最终都是以OVF包的形式发布的,该包的扩展文件名为(.ova),该包内包含如下文件:
具体包含的内容如下图:
4、管理虚拟镜像
通过上面讲述的流程,我们可以将虚拟镜像发布到仓库中,可以供用户下载。仓库中一般存储了很多的镜像文件,通常来说这些镜像文件都会比较
大,一般是从1G-10几个G的文件大小,那么如何管理这些虚拟镜像也是我们需要考虑的内容。
一般来说管理虚拟镜像的三个主要的功能如下:
1、要求可以快速的检索到想要搜索的镜像文件,比如说通过关键字匹配等,或者是按功能分类进行检索。
2、要求尽可能的降低镜像占用的硬盘空间。
3、能够对镜像进行版本控制
目前较成熟的作法是将镜像文件与镜像文件的元数据信息分开存储。镜像文件的内容在存储的过程中,采用切片的做法,将一个镜像文件,切成多
个小的文件片,然后将这些文件片单独存储,这样可以提供仓库的存储使用率。同时,文件切片技术,还对版本管理起到了控制作用,由于我们在进行
版本管理的过程中,可能只有文件的部分切片发生过变更,然后我们在版本管理时,只需要将这些切片发生过变化的切片保存成新的版本即可,这样我
们就能提高磁盘的利用率,不用将原来磁盘上已有的文件内存,冗余存储。
具体的过程如下:
文件分片管理如下:
基于文件切片的版本管理
5、迁移到虚拟化环境
在云计算普及之前,数据中心的绝大多数服务都部署在物理服务器上,随着虚拟化技术的提出,服务部署在虚拟机环境中,在物理服务器上部署服
务会由于随着物理设备的老化,性能逐渐下降,因此服务的稳定性和可靠性都会收到影响。这时候部署在物理服务器上的服务在迁移的时候,就会面临
很大的风险,一方面是开发人员的流动性,另一方面是系统的兼容性问题,所以造成在原有模式上进行系统的迁移时,风险很大。是因为服务对物理环
境的依赖性造成的。
随着虚拟化技术的成熟与发展,虚拟化的辅助技术P2V将服务器虚拟化技术迅速推广,顾名思义,P2V就是物理到虚拟环境,它指的是,将操作系
统、应用程序和数据从物理计算机的运行环境迁移到虚拟环境中。
下面给出P2V的过程示例图:
前面我们讲述了虚拟镜像的创建过程,包括如何启用及部署,那么我们就能知道虚拟化镜像相比传统的迁移时的优势所在。
本文总结
本章主要讲述了虚拟化的相关技术实现过程,介绍了虚拟化资源的创建及部署,并且分析了虚拟化镜像相比传统部署模式的区别,并且分析了虚拟
化产生的优势,通过虚拟化技术,我们提高了资源的利用率,提高了系统的整体性能,虚拟化技术的运用,将会加速云计算的推广和应用,也会给新型
创业型中小企带来商机,只要我们能够迎合趋势,提早进入云计算这个市场,迅速定位符合自身企业的发展战略,就能迅速的成为IT信息产业中的生力
军。
后续
下一篇我们就开始讲述虚拟化解决方案的部署及管理虚拟化解决方案内容了,希望大家看完本章内容后,如果有什么意见和建议,请您提出来,我
在下篇书写的时候,会及时的改进,谢谢您的意见,由于个人水平有限,错误或不足之处还请多多指点。
参考文献
1、《虚拟化与云计算》
2、IBM虚拟化技术
作者:IT行者-何戈洲
出处:http://www.cnblogs.com/hegezhou_hot/
2007年大学毕业后便投入到计算机行业中,先后涉足(电信、电子商务、教育、医疗、工程建筑、项目管理、房产)等行业,目前有比较丰富的技术及行业经验,技术方面涉及(Java、Go、.NET、Python、设计模式、系统架构、PM管理流程、软件工程、敏捷开发、SOA、云计算、大数据、区块链、WF、SAAS等领域),结合业务可提供(EIP、ERP、HIS、B2B、B2C、B2B2C、CRM、OA、O2O等)业务及技术解决方案,随着时间的推移,目前已逐步转向管理方面,欢迎同行一起交流学习,个人平时爱好体育运动、音乐、旅游等,向往丰富多彩的生活旅程。如有问题或建议,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过hegezhou_hot@163.com 联系我,非常感谢。
其他联系方式:
电话:13716055594
联系人:何戈洲
微信联系我: