基于Cent OS操作系统的虚拟机应用系统设计探究
基于cent os操作系统的虚拟机应用系统设计探究
随着信息技术和计算机技术的突飞猛进,虚拟化(virtualization)已经不是一个十分陌生的名字,虚拟技术已经渗透到工作和生活的很多方面,火爆的云计算也充分应用了虚拟技术。虚拟化技术是从1960年初步由美国专家首先提出,ibm的360/67等硬件体系上实现虚拟化,但直到本世纪初随着计算机技术的发展才跃入人们的视线。虚拟化是参照于实体而言,一般是指通过计算机等硬件建设,以把一个硬件虚拟成多个互相隔离并行的硬件,是管理者能够使之与实体相同的操作方式和效果,最终达到高效率低成本挖掘有限的资源的目的。目前,资源管理技术与虚拟化技术已经形影不离了,最为常见的,就是虚拟化在it领域的应用,其作为一种资源管理技术,使用虚拟化技术,能大大减少服务器等硬件的投入,减少服务器等高值产品的资金投入,同时充分发挥和利用已有服务器的容量和性能,大大节约能量消耗,从而从根本上降低了企业的运营成本,已成为了信息技术产业科研人员主攻的一个主要课题。
1、虚拟化技术简介
狭义上而言,虚拟化是指在计算上或者功能上的模拟,或者是真是基础上的模拟,在it领域,应用虚拟化技术,用户以以往不同的更优的组织管理方式处理计算机资源中子集的进程,应用虚拟化技术后,虚拟出计算能力和资料存储能力不受原来的资源地域、架构方式或者物理组态的制约;可以将硬盘成倍扩大,对软件配置去重复化,将单独的cpu的虚拟为多个cpu并行,将多个操作系统和各个应用程序互相独立并行运行在同一个平台上,计算机的运行效率显著提升。WWw.11665.coM
虚拟化技术通常是通过多任务表达效率,但多任务与虚拟化并不是一回事,所谓多任务,就是多个程序在同一时间在同一个操作系统上运行,而虚拟化技术在此基础上,无需额外购置新的硬件,能将多个操作系统同时运行在同一平台上,而每一个操作系统都有各自互补干扰的应用软件同时运行,每一个操作系统对应的虚拟主机;同时,虚拟化和超线程也有区别,超线程是将cpu进行双倍模拟,但与虚拟化不同的是,两个cpu是不能独立工作。
vmware workstation是一款功能强大的桌面虚拟计算机软件,它可在一部实体机器上模拟完整的网络环境,vmware 在虚拟网路表现也非常突出,但虚拟化技术和vmware workstation等软件并不等同,相对于后者,前者具有的优势更加明显,这不是取决于表面上效果是不是一样,而是产生这种效果的本质技术有差距,因为前者具有多操作系统支持和虚拟机软件采购支出。虚拟化方案中的软件技术存在不少弊端,用户通过虚拟机户监视器(下称vmm)与硬件系统进行对话,在虚拟化纯软件技术方案中,vmm在纯软件环境的扮演的角色相当于以往的操作系统,而现在的操作系统则扮演者相当于以前应用程序所的角色,它们之间的数据交换通过处理器、内存等物理资源的接口以二进制格式进行转换,转换就相应增加了系统本身的复杂性,在纯软件虚拟机环境下,软件堆栈所带来的负担是比会让系统管理难度加大,论文联盟继而影响到系统的安全性和可靠性。
作为一种硬件虚拟方案,cpu的虚拟化是最为常见的技术,是一种硬件方案,支持虚拟技术的cpu的控制虚拟过程的指令系统都经过优化,在指令集的下,vmm的性能会得到大幅提高,具有软件实现的虚拟能有比拟的优越性,借助虚拟化将硬件进行全新的科学构架,因此可以在无需在进行二进制转换的情况下就能在操作系统上直接运行,降低了性能的损耗,对vmm大大简化,并能vmm能够按通用标准进行编写,性能得到充分发挥。
虚拟化的主要内容有,硬件虚拟化,就是讲操作系统和硬件平台资源分开;软件虚拟化,就是在操作系统和应用程序之间建立虚拟环境;内存虚拟化,就是讲将互不相邻的内存虚拟成一个连续的内存地址;存储虚拟化,就是讲实体存储空间分割成不同的逻辑存储空间;网络虚拟化,就是通过网络将软硬件合成一个虚拟整体。
2、虚拟机应用系统的设计
2.1 需求分析
设计基于cent os操作系统的虚拟机应用系统应满足特定的功能,不同的虚拟机系统能实现不能的功能,用户是虚拟机应用系统的使用者,用户对虚拟机的管理是实现虚拟机功能的必然环节,对于本课题而言,主要要实现网络、存储、监控、虚拟机的管理等几方面的功能:
网络功能:用户通过操作微机,可以根据网络的硬件设备对网络的ip地址分配或定义,网关及子网掩码的具体数值进行人工设定,并可以对网桥等进行设置。
存储功能:可以将通行存储格式如nfs、das 、local、san、iscsi等转变成虚拟机能够读取和调用的格式。
监控功能:监控应用系统内的硬件信息,如cpu占用率和使用情况、内存占用率和分配情况、数据交换情况以及硬盘占用空间和余额,用户则可以根据收集到的服务器端负载参数,掌握服务器的实时运行情况,从而对之进行有效管理和其他各种操作。
管理功能:虚拟机的管理功能是虚拟机最为核心的功能,一切系统应用都不能脱离管理,虚拟机的管理功能主要是实现虚拟机的启动、创建、重启、停止、暂停、保存、复制、删除、恢复、移动等功能。
2.2 选择b/s模式
b/s结构(browser/server)结构和c/s结构(client/server)是明确it业界开发模式技术架构的两大主流技术。前者是美国微软公司研发,后者则由美国 borland公司最早研发,前者建立在专用网上,后者建立在广域网上,两种架构技术功能强大、先进、方便,都有大批的应用。但经过多年互相的较量和发展,商用计算模式从最初的集中式计算,计算模式已经逐渐蚕食了c/s份额,说明b/s计算模式具有更大的发展潜力。于cent os操作系统的虚拟机是对真实计算环境的抽象和模拟,vmm需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。根据需求和功能分析,系统选择了b/s模式。
b/s结构即浏览器和服务器。在b/s结构下,极少部分事务逻辑在前端实现,主要事务逻辑都在服务器端实现,用户只需要web浏览器即可进行业务处理,与c/s结构相比,是一种全新的软件系统构造技术。由系统的主要负荷都在服务器端,不再如c/s结构那样需要建设很多个服务器并进行数据通讯,从而也杜绝了因为一个数据点的数据出现问题导致整个系统的数据完整。b/s结构则是将数据统一存储在一个服务器内——数据库服务器,减轻了系统维护与升级的成本和工作量,且用户端基本上不会保存任何数据及各类链接信息,不存在数据同步的问题,数据更加安全,所有的数据都是在数据服务器上,同时也保证了数据一致性的问题,便于实时统一决策,且各应用结点并没有任何程序,一个地方更新则全部应用程序更新,可以做到快速服务响应。同时,b/s结构软件一般只有初期一次性投入成本,从投资角度分析,成本优势明显。不仅如此,采取b/s结构,不同的操作者或者用户,可以再不同的区域,通过局域网、广域网或者无线接入等各种接入方式,根据数据平台和管理访问权限,很方便地实现数据的访问、读取、调用,权限的分级设置也确保了服务器数据库的安全。典型的b/s模式应用系统网络结构如图1所示:
2.3 总体设计
采取b/s模式为基于cent os操作系统的虚拟机的总体架构奠定了基础,cent os是一款免费的操作系统,这是一种基于red hat linux提供的可*使用源代码的企业级linux开源程序,因此虚拟机管理也是直接利用开源操作系统linux的内核及其相关的指令,虚拟机应用系统的总体框架图如图2所示。
从图2可知,本系统由三层组成,分别是操作层、管理层和服务器曾。操作层也就是人际交互的界面,不需要特殊的硬件设施,配备一般的带有flash插件和jre插件的web浏览器的微机就能够胜任,操作者根据使用目的通过访问浏览器的方式连接网络,申请服务器数据交互,使用极为简便。管理层比操作层高一个等级,是连接服务器层和操作层的桥梁,在管理层一般使用web2.0、web2.5及以上的技术,与操作层的浏览器相比,需要有一定的使用技术,用户利用交互性强的web2.0以上版本实现与操作层和服务器层的交互作用,通过管理层,用户可以更新或者读取服务器层的数据。管理层主要由web组件、各类功能模块组件和flex组件等组成,用户与管理层之间的交互链接、信息传递由web组件负责,亲和力强的友好界面则由flex组件担当,这个组织嵌入了最近版本flash插件,资源占用率低的动态界面便于增加交互界面的美观度和人性化。管理层最重要要素就是各种功能模块组件,管理层的所有设定功能都依靠它来实现。用户通过web浏览器发送操作指令后,指令就会传达到管理层,继而到达服务器层,根据用户的指令,功能模块执行相应的指令,将处理的结果信息通过管理层,返回到操作层的用户操作界面。数据流程图如图3所示。
服务器层是虚拟机应用系统最为关键和核心的部分,相当于虚拟机的心脏+大脑,虚拟机系统最终要实现的功能都通过该层才能实现,本课题是基于cent os操作系统来开发和实现的,因此用户所有的操作指令必须与cent os进行直接对话,对话语言是python,作为一款
开源语言,python极其容易上手和极其简单的语法执行指令,核心是通过python编写出面向对象、命令或者设计功能的统一代码调用linux命令或者开启子线程来实现,类似的虚拟机应用系统已在全球有不少知名企业中应用,如迪士尼、红帽企业、zope应用服务器等。
3、结语
随着信息技术的飞速发展和虚拟机的广泛应用,人们对虚拟机的了解逐渐深入,利用虚拟机技术,可以将有效的硬件资源效用最大化,大大节约硬件的投入成本,特别是对于大型的it服务企业而言,采取虚拟机技术势在必然,因为海量的信息及其处理都需要购置大批量的高性能的服务器,非常昂贵,而即便配置这些设备,服务器的硬盘等数不清的空闲资源荒置,着大大增加了企业的运行成本,甚至影响到企业生存。而虚拟化技术的推广,使得硬件资源利用率大幅提升,大幅度减少购买硬件设施的投入这也算使用云计算的虚拟机的公司,已在pc机投入、电费损耗、人员配备、设备资源浪费上取得明显的优势主要法宝。对于普通用户而言,也十分重要,通过虚拟化技术,可以将一台计算机模拟出多台计算机,本文就是以这一逻辑为目的,设计了基于cent os操作系统的虚拟机应用系统,通过此平台,这些虚拟出来的计算机绝不是形同虚设,而是和实际的计算机一样地出色“干活”。更为重要的是,基于cent os操作系统的虚拟机应用系统避免了虚拟系统牺牲设备性能弊端,运行应用程序更加方便快捷。