服务器是在网络环境中提供计算能力并运行软件应用程序的特定IT设备[1],它在网络中为其他客户机(如个人计算机、智能手机、ATM机等终端设备)提供计算或者应用服务, 一般来说服务器都具备承担响应服务请求、承担服务、保障服务的能力[2]。服务器相比普通计算机具有高速的CPU运算能力;长时间可靠运行能力;强大的I/O数据吞吐能力以及具备高扩展性。服务器作为电子设备,其内部的结构十分的复杂,服务器主要构件有:CPU、内存、芯片组、I/O设备、存储器、外围设备、稳压器、电源和冷却系统[1]。
功能
服务器英文名称为“Server”,指的是在网络环境中为客户机(client)提供各种服务的、特殊的专用计算机。在网络中,服务器承担着数据的存储、转发、发布等关键任务,是各类基于客户机/服务器 (C/S) 模式或 B/S 模式网络中不可或缺的重要组成部分[3]。
从广义上讲,服务器是指网络中能对其他机器提供某些服务的计算机系统。
从狭义上来讲,服务器是专指某些高性能计算机,能够通过网络,对外提供服务。
服务器作为网络的节点,存储、处理网络上 80%的数据、信息,因此也被称为网络的灵魂。
从不同角度观察服务器,可以对服务器有不同的
分类方法,下面我们从不同的角度讨论一下服务器的分类。
特性
服务器既然是一种高性能的计算机,它的构成肯定就与平常所用的电脑 (PC) 有很多相似之处,诸如有 CPU(中央处理器)、内存、硬盘、各种总线等等,只不过它是能够提供各种共享服务(网络、web 应用、数据库、文件、打印等)以及其他方面的高性能应用[3]。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面,是网络的中枢和信息化的核心[6]。
由于服务器是针对具体的网络应用特别制定的,因而服务器又与普通 PC 在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在很大的区别。而最大的差异就是在多用户多任务环境下的可靠性上。用 PC 机当作服务器的用户一定都曾经历过突然的停机、意外的网络中断、不时的丢失存储数据等事件,这都是因为 PC 机的设计制造从来没有保证过多用户多任务环境下的可靠性,而一旦发生严重故障,其带来的损失将是难以预料的。[6]
一台服务器所面对的是整个网络的用户,需要 7X24 小时不间断工作,所以它必须具有极高的稳定性。另一方面,为了实现高速以满足众多用户的需求,服务器通过采用对称多处理器 (SMP)安装、插入大量的高速内存来保证工作[3]。它的主板可以同时安装几个甚至几十、上百个 CPU(服务器所用 CPU 也不是普通的 CPU,是厂商专门为服务器开发生产的)。内存方面当然也不一样,无论在内存容量,还是性能、技术等方面都有根本的不同。
另外,服务器为了保证足够的安全性,还采用了大量普通电脑没有的技术,如冗余技术、系统备份、在线诊断技术、故障预报警技术、内存纠错技术、热插拔技术和远程诊断技术等等,使绝大多数故障能够在不停机的情况下得到及时的修复,具有极强的可管理性。
可以从这几个方面来衡量服务器是否达到了其设计目的;R:Reliability可靠性;A:Availability可用性;S:Scalability可扩展性;U:Usability易用性;M:Manageability可管理性,即服务器的RASUM衡量标准。 [6]
可扩展性
服务器必须具有一定的“可扩展性”,这是因为企业网络不可能长久不变,特别是在当今信息时代。如果服务器没有一定的可扩展性,当用户一增多就不能胜任的话,一台价值几万,甚至几十万的服务器在短时间内就要遭到淘汰,这是任何企业都无法承受的。为了保持可扩展性,通常需要在服务器上具备一定的可扩展空间和冗余件(如磁盘阵列架位、PCI和内存条插槽位等)。[6]
可扩展性具体体现在硬盘是否可扩充,CPU是否可升级或扩展,系统是否支持WindowsNT、Linux或UNIX等多种可选主流操作系统等方面,只有这样才能保持前期投资为后期充分利用。 [6]
易使用性
服务器的功能相对于PC机来说复杂许多,不仅指其硬件配置,更多的是指其软件系统配置。服务器要实现如此多的功能,没有全面的软件支持是无法想象的。但是软件系统一多,又可能造成服务器的使用性能下降,管理人员无法有效操纵。所以许多服务器厂商在进行服务器的设计时,除了在服务器的可用性、稳定性等方面要充分考虑外,还必须在服务器的易使用性方面下足功夫。[6]
服务器的易使用性主要体现在服务器是不是容易操作,用户导航系统是不是完善,机箱设计是不是人性化,有没有关键恢复功能,是否有操作系统备份,以及有没有足够的培训支持等方面。 [6]
可用性
对于一台服务器而言,一个非常重要的方面就是它的“可用性”,即所选服务器能满足长期稳定工作的要求,不能经常出问题。其实就等同于Sun所提出的可靠性(Reliability)。 [6]
因为服务器所面对的是整个网络的用户,而不是单个用户,在大中型企业中,通常要求服务器是永不中断的。在一些特殊应用领域,即使没有用户使用,有些服务器也得不间断地工作,因为它必须持续地为用户提供连接服务,而不管是在上班,还是下班,也不管是工作日,还是休息、节假日。这就是要求服务器必须具备极高的稳定性的根本原因。[6]
一般来说专门的服务器都要7X24小时不间断地工作,特别像一些大型的网络服务器,如大公司所用服务器、网站服务器,以及提供公众服务iqdeWEB服务器等更是如此。对于这些服务器来说,也许真正工作开机的次数只有一次,那就是它刚买回全面安装配置好后投入正式使用的那一次,此后,它不间断地工作,一直到彻底报废。如果动不动就出毛病,则网络不可能保持长久正常运作。为了确保服务器具有高的“可用性”,除了要求各配件质量过关外,还可采取必要的技术和配置措施,如硬件冗余、在线诊断等。[6]
易管理性
在服务器的主要特性中,还有一个重要特性,那就是服务器的“易管理性”。虽然我们说服务器需要不间断的持续工作,但再好的产品都有可能出现故障,拿人们常说的一句话来说就是:不是不知道它可能坏,而是不知道它何时坏。服务器虽然在稳定性方面有足够保障,但也应有必要的避免出错的措施,以及时发现问题,而且出了故障也能及时得到维护。这不仅可减少服务器出错的机会,同时还可大大提高服务器维护的效率。其实也就是Sun提出的可服务性(Serviceability)。[6]
服务器的易管理性还体现在服务器有没有智能管理系统,有没有自动报警功能,是不是有独立与系统的管理系统,有没有液晶监视器等方面。只有这样,管理员才能轻松管理,高效工作。 [6]
分类
服务器(SERVER)发展到迅速,适应各种不同功能、不同环境的服务器不断地出现,分类标准也多种多样。
按体系分
非 x86 服务器:
非 x86 服务器涵盖了大型机、小型机和 UNIX 服务器。它们采用了不同于通常 PC 架构的处理器,如 RISC(精简指令集)或 EPIC(并行指令代码),并主要运行 UNIX 和其他专用操作系统。精简指令集处理器的代表包括 IBM 公司的 POWER 和 PowerPC 处理器,以及由 SUN 与富士通公司合作研发的 SPARC 处理器[3],而 EPIC 处理器则主要是 Intel 研发的安腾处理器。尽管这类服务器价格昂贵且体系封闭,但其稳定性和性能卓越,广泛应用于金融、电信等大型企业的核心系统。
x86 服务器:
x86 服务器,又称为 CISC(复杂指令集)架构服务器,即通常所说的 PC 服务器。这类服务器基于通用 PC 架构,搭载了使用 Intel 或其他兼容 x86 指令集的处理器芯片,并运行 Windows 操作系统。相对于非 x86 服务器,x86 服务器价格更为实惠,兼容性较好,但稳定性较低,安全性也不够高,主要应用于中小企业和非关键业务场景[3]。
按应用层次分
按照应用层次进行分类是服务器最为普遍的一种划分方法,也称为“按服务器档次划分”或“按网络规模”分。这种划分方法主要根据服务器在网络中的应用层次或整体性能水平进行划分,而非单纯根据 CPU 主频等参数。
入门级服务器:
入门级服务器属于最基础的一类服务器,也是性能最低的服务器。随着 PC 技术的进步,许多入门级服务器与普通 PC 配置相近,因此有人将其视为与“PC 服务器”等同[4]。入门级服务器通常具备以下特征:
工作组服务器
工作组服务器是一个比入门级高一个层次的服务器,但仍属于低档服务器之类。从这个
名字也可以看出,它只能连接一个工作组 (50 台左右)那么多用户,网络规模较小服务器的稳定性也不像下面要讲的企业级服务器那样高的应用环境,当然在其他性能方面的要求也相应要低一些[3]。
部门级服务器
这类服务器是属于中档服务器之列,一般都是支持双 CPU 以上的对称处理器结构,具备比较完全的硬件配置,如磁盘阵列、存储托架等。部门级服务器的最大特点就是,除了具有工作组服务器全部服务器特点外,还集成了大量的监测及管理电路,具有全面的服务器管理能力,可监测如温度、电压、风扇、机箱等状态参数,结合标准服务器管理软件,使管理人员及时了解服务器的工作状况。同时,大多数部门级服务器具有优良的系统扩展性,能够满足用户在业务量迅速增大时能够及时在线升级系统,充分保护了用户的投资。它是企业网络中分散的各基层数据采集单位与最高层的数据中心保持顺利连通的必要环节,一般为中型企业的首选,也可用于金融、邮电等行业。
企业级服务器
企业级服务器是属于高档服务器行列,正因如此,能生产这种服务器的企业也不是很多
但同样因没有行业标准硬件规定企业级服务器需达到什么水平,所以也看到了许多本不具备开发、生产企业级服务器水平的企业声称自己有了企业级服务器。企业级服务器最起码是采用 4 个以上 CPU 的对称处理器结构,有的高达几十个[4]。
按外形分
机架服务器
机架式服务器的外形看来不像计算机,而像交换机,有 1U (1U=1.75 英寸=4.445CM)2U、4U 等规格。机架式服务器安装在标准的 19 英寸机柜里面。这种结构的多为功能型服务器[7]。对于信息服务企业(如 ISP/ICP/ISV/IDC)而言,选择服务器时首先要考虑服务器的体积、功耗、发热量等物理参数,因为信息服务企业通常使用大型专用机房统一部署和管理大量的服务器资源,机房通常设有严密的保安措施、良好的冷却系统、多重备份的供电系统,其机房的造价相当昂贵。如何在有限的空间内部署更多的服务器直接关系到企业的服务成本,通常选用机械尺寸符合 19 英寸工业标准的机架式服务器。机架式服务器也有多种规格,例如 1U (4.45cm 高)、2U、4U、6U、8U 等。通常 1 的机架式服务器最节省空间,但性能和可扩展性较差,适合一些业务相对固定的使用领域。4U 以上的产品性能较高,可扩展性好,一般支持 4 个以上的高性能处理器和大量的标准热插拔部件。管理也十分方便,厂商通常提供以相应的管理和监控工具,适合大访问量的关键应用,但体积较大,空间利用率不高。
塔式服务器
塔式服务器应该是大家见得最多,也最容易理解的一种服务器结构类型,因为它的外形以及结构都跟平时使用的立式 PC 差不多,当然,由于服务器的主板扩展性较强、插槽也多出一堆,所以个头比普通主板大一些,因此塔式服务器的主机机箱也比标准的 ATX机箱要大[3],一般都会预留足够的内部空间以便日后进行硬盘和电源的冗余扩展。由于塔式服务器的机箱比较大,服务器的配置也可以很高,冗余扩展更可以很齐备,所以它的应用范围非常广,应该说使用率最高的一种服务器就是塔式服务器。平时常说的通用服务器一般都是塔式服务器,它可以集多种常见的服务应用于一身,不管是速度应用还是存储应用都可以使用塔式服务器来解决。
机柜式服务器
在一些高档企业服务器中由于内部结构复杂,内部设备较多,有的还具有许多不同的设
备单元或几个服务器都放在一个机柜中,这种服务器就是机柜式服务器。机柜式通常由
机架式、刀片式服务器再加上其他设备组合而成[7]。
对于证券、银行、邮电等重要企业,则应采用具有完备的故障自修复能力的系统,关键
部件应采用冗余措施,对于关键业务使用的服务器也可以采用双机热备份高可用系统或者是高性能计算机,这样的系统可用性就可以得到很好的保证。
刀片式服务器
刀片式服务器是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可
用和高密度。每一块“刀片”实际上就是一块系统主板。它们可以通过“板载”硬盘启动自己的操作系统,如 windows NT/2000、Linux 等,类似于一个个独立的服务器[3]。
在这种模式下,每一块母板运行自己的系统,服务于指定的不同用户群,相互之间没有
关联,因此相较于机架式服务器和机柜式服务器,单片模板的性能较低。不过,管理员可以使用系统软件将这些模板集合成一个服务器集群。[3]在集群模式下,所有的模板可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群服务。在集群中插入新的“刀片”,就可以提高整体性能。而由于每块“刀片”都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间减少到最小。
1. 性能评价
目前主流的服务器性能评价方法可以归纳为三类:基于测试工具的评价方法、基于多属性决策的评价方法及基于数据驱动的评价方法。
基于测试工具的性能评价方法,需要技术人员对服务器的参数十分了解,根据一些测试软性的数进行分析,通过知识表示和知识水理技术达到对服务器性能分听的目的。
基于多属性决策的,生物评价方法是以服务器的作原理为支撑,对服务器的性能指标进行数据收集,通过对服务器性能指标建立数学模型,通过建模的方式完成对服务器性能的评价。
基于数据驱动的性能评价方法,它不需要对服务器的指标进行大量的数据处理或者建立复杂的模型去分析,只需要通过数据的自主学习来建立参数输入与评价输出的关系即可[5]。
安全问题
1、服务器所处运行环境不佳
对于计算机网络服务器来说,运行的环境是非常重要的。其中所指的环境主要包括运行温度和空气湿度两个方面。网络服务器与电力的关系是非常紧密的,电力是保证其正常运行的能源支撑基础,电力设备对于运行环境的温度和湿度要求通常来说是比较严格的,在温度较高的情况下,网络服务器与其电源的整体温度也会不断升高,如果超出温度耐受临界值,设备会受到不同程度的损坏,严重者甚至会引发火灾。如果环境中的湿度过高,网络服务器中会集结大量水汽,很容易引发漏电事故,严重威胁使用人员的人身安全[8]。
2、缺乏正确的网络服务器安全维护意识
系统在运行期间,部分计算机用户由于缺乏基本的网络服务器安全维护意识,对于网络服务器的安全维护不能给予充分重视。计算机在长期使用的过程中,缺少有效的安全维护措施,最终导致网络服务器出现一系列运行故障。与此同时,某些用户由于没有选择正确的防火墙软件,系统不断出现各种漏洞,用户个人信息极易遭到泄露[8]。
3、服务器系统漏洞过多
计算机网络本身具有开放自由的特性,这种属性既存在技术性优势,在某种程度上也会对计算机系统的安全造成威胁。一旦系统中出现很难修复的程序漏洞,某些不法人员很可能借助漏洞对缓冲区进行信息查找,然后攻击计算机系统,这样一来,不但用户信息面临泄露的风险,计算机运行系统也会遭到损坏[8]。
4、维护物理安全
服务器应该安放在“安装了监视器的隔离间”内,并且监视器要保留 5 天以上的摄像记录.另外,机箱、键盘、电脑桌抽屉要上锁,钥匙要放在安全的地方[3]。
5、限制用户数量
去掉所有的测试账户、共享账号和普通部门账号等。用户组策略放置相应权限,并且经常检查系统的账户,删除已经不使用的账户,系统的账户越多,黑客们得到合法用户的权限的可能性一般也就越大[3]。
维护与保养
注重机房环境的建设
机房环境对服务器的正常运转有着重要的影响作用。因此,服务器维护和保养的首要环节就是做好机房环境建设。机房要保证充足的空间,用以安装和配置服务器的相关设备,机房的隔断,地板等要做好防静电等细节处理。机房的防火工作也很关键,要做好墙面和电缆等的防火处理。一旦遇到火情等,如何保障设备的安全,如何保障人员的有序撤离等都是机房建设中需要考虑的因素。机房的温度和湿度也应当保持在一定的范围,温度和湿度对于电子产品的正常工作有着非常大的影响作用。服务器是电子设备中对温度和湿度都较为敏感的设备。如果服务器所在的机房太过于干燥,那么人员在机房中与设备接触的过程中非常容易产生静电。这种静电一般都有几千伏乃至上万伏,这对服务器的正常运行时非常危险的,极易引起严重的事故。如何科学合理的做好机房布局和管理工作是机房建设的关键。目前我国的计算机服务器机房管理还存在着很多需要完善的地方,比如机房的管理现代化水平还不高,很多监测和维护工作还单纯依靠人力完成,没有形成信息化和网络化的管理机制。其实,电子检测系统不管是在设计上还是在实施上并没有多少难度,但由于我们重视程度不够,机房建设的总体水平依然在低位徘徊。 [12]
做好硬件维护工作
服务器的硬件组成较为复杂,对于服务器硬件的维护应由专业人员进行。在维护和保养存储设备时,我们首先应当对其容量进行测试,看是否需要进行扩容等操作。存储容量一定要能满足任务的需求,并留有一定的冗余量。在拆卸和更新服务器设备时,务必让设备处于断电状态并进行接地处理。即便是更换最简单的部件,这些环节也不能省略。对于一些不熟悉的部件,要反复仔细的阅读说明书和参照文件,在没有十足把握的前提下切忌盲目拆解。要定期对服务器进行除尘处理。灰尘对硬件的工作有着很强的影响,特别是服务器这种高温高速运行的设备,大量的积尘对设备造成的伤害往往是致命的。除尘工作要科学有序的进行,不能想当然,也不能蛮干。在除尘过程中特别注意对电源系统的保护。 [12]
维护好服务器软件
软件是服务器的重要组成部分,服务器的稳定高效运行离不开相应的软件。我们要定期对服务器的软件系统进行巡检,及时发现漏洞,及时安装官方给定的补丁程序。在扩展服务器数据库时,在条件允许的情况下,最好对原有数据进行备份,以免造成不必要的损失。[12]
做好电力控制
做好电力控制。没有稳定的电力保证,服务器就没有办法正常工作。电子控制是一个非常关键,但又非常容易被忽视的问题。在机房建设之初,我们就应当充分考虑到服务器的电力保障。要为机房设计和配置一套稳定,可靠的电力供应系统。这套系统还要有处置和应对突发事件的能力,例如,不可预知的停电、雷电等。[12]
密码管理
服务器的密码管理是服务器防御能力的最关键组成部分。密码的管理和更换应当形成一套长效机制。我们要定期对服务器的密码进行更换,密码应有专人管理。选用的密码要有一定的专业性,一定的复杂度,最好是将数字和字母等结合起来,大小写也要融合进去。在日常的检查中,我们要做好登记统计,关闭一些不太使用的端口。 [12]
虚拟化技术
定义
虚与实是相对的,虚拟化是指计算元件在虚拟的而不是真实的基础上运行,用“虚
的软件来替代或模拟“实”的服务器、CPU、网络等硬件产品。虚拟化也是为一些组件创
建基于软件的或虚拟(而不是物理)的表现形式的过程[9]。
虚拟化将物理资源转变为具有可管理性的逻辑资源,以消除物理结构之间的隔离,将
物理资源融为一个整体。虚拟化可以有效简化基础设施的管理,增加IT 资源的利用率和能
力,比如服务器、网络或存储[9]。
虚拟化是一种简化管理和优化资源的解决方案。虚拟化将原本在真实环境中运行的计
算机系统或组件转移到虚拟环境中运行,使其不受资源实现、地理位置、物理装配等的限
制。按逻辑方式管理资源,便于实现资源的自动化调配,方便各种虚拟化系统有效地共享
硬件和软件资源[9]。
虚拟化优势
虚拟化具有物理系统所没有的独特优势,具体表现在以下几个方面:
(1)提高利用效率。将一台物理机的资源分配给多台虚拟机,有效利用闲置资源。通过将基础架构进行资源池化,打破一个应用一台物理机的藩篱,大幅提升资源利用率。[9]
(2)便于隔离应用。为隔离应用,数据中心经常使用一台服务器一个应用的模式。而
通过服务器虚拟化提供的应用隔离功能,只需要很少几台物理服务器就可以建立足够多的
虚拟服务器来解决这个问题。
(3)节约总体成本。使用虚拟化技术将物理机变成虚拟机,减少物理机的数量,大大
削减了采购计算机的数量,同时相应的使用的空间和能耗都变小了,从而降低 IT 总成本。
(4)灵活性和适应性。通过动态资源配置提高IT 对业务的灵活适应力,支持异构操作
系统的整合,支持老旧应用的持续运行,减少迁移成本。[9]
(5)高可用性。大多数服务器虚拟化平台都能够提供一系列物理服务器无法提供的高
级功能,比如实时迁移、存储迁移、容错、高可用性,还有分布式资源管理,用来保持业
务延续和增加正常运行时间,最大限度地减少或避免停机。
(6)灾难恢复能力。硬件抽象功能使得对硬件的需求不再锁定在某一厂商,在灾难恢
复时就不需要寻找同样的硬件配置环境:物理服务器数量减少,在灾难恢复时需要的工作
会少得多;多数企业级的服务器虚拟化平台会提供发生灾难时帮助自动恢复的软件。[9]
(7)提高管理效率。基于虚拟化平台的高效管理工具,一个管理员可以轻松管理大量
服务器的系统运行环境。管理员可以实现整个系统的单点控制,一次性完成系统的安装
配置、调度、扩容和升级工作,剩下的日常监控管理和维护还可以依赖自动化运维工具。
按虚拟化实现层次分类
硬件虚拟化就是通过软件来实现一台标准计算机的硬件配置,如 CPU、内存、硬盘、声卡、显卡和光驱等,使其成为一台虚拟的裸机。在该虚拟机上可以像在物理计算机上一样安装和运行多种操作系统[9]。
具体的实现方法是,先在操作系统中安装一个硬件虚拟化软件,通过该软件虚拟出虚拟机,再在虚拟机上安装操作系统。这种虚拟化技术为虚拟机分配的硬件资源要占用实际硬件的资源,对性能影响较大[9]。
虚拟化与云计算
云计算可以说是虚拟化技术的升级版。通过在数据中心部署云计算技术,可以完成多
数据中心之间的业务无感知迁移,并可为公众同时提供服务,此时数据中心就成为云数据
中心。云计算与虚拟化并非是一回事,云计算旨在通过 Intermet 按需交付共享资源,利用虚拟化可以实现云计算的所有功能。服务器虚拟化不是云,而是基础架构自动化或者数据中
心自动化,它并不需要提供基础设施服务。无论是否位于云环境之中,都可以首先将服务
器虚拟化,然后迁移到云计算平台,以提高敏捷性,并增强自助服务[9]。
关键技术
(1)CPU虚拟化技术
将计算机服务器中的物理CPU虚拟成为一个虚拟的CPU,系统操作可同时使用一个或者多个虚拟CPU,在计算机服务器系统虚拟化CPU可实现相互隔离。目前很多计算机操作系统都是基于X86架构组建起来的,在系统研发设计中,CPU在运行过程中主要涉及到四个层级,分别是Ring0、Ring1、Ring2、Ring3。其中Ring0属于指令层级,可有效执行任何指令,比如;CPU运行的修改都是在Ring0中完成的。虚拟化X86系统,在运行需要在操作系统和硬件之间同时设置虚拟层,Ring0通常情况下,只能在虚拟层中运行,使得一些比较特殊的指令,无法直接作用在硬件上。虚拟化技术则能对各种指令进行有效执行,在计算机服务器虚拟中采用了先进的二进制代码动态翻译机,无论是普通指令,还是特权指令都能有效执行。应用比较先进的前插陷入指令,直接作用在虚拟机上,由虚拟机进行指令翻译,再执行相关操作,此种做法和传统虚拟技术相比,从而实现多系统操作,是目前实现CPU虚拟化的关键技术。[11]
(2)内存虚拟化技术
内存虚拟化是实现计算机服务器虚拟化的核心,众所周知,计算机的内存决定了计算机系统的运行效率和稳定性,内存虚拟化的主要原理对服务器中的所有内存都进行统一管理,然后通过虚拟化的封装技术,让内存能够在虚拟机中良好运行。进而促使每个虚拟机都能良好运行。在实现计算机服务器虚拟化过程中,内存虚拟技术和CPU虚拟技术同等重要,访问次数的频率也相互一致。实现虚拟化内存的关键在于实现对物理内存的合理管理,并实现对内存的合理划分,构建起和虚拟层所需内存地址及计算机服务器内存地址相互一致的映射关系,从而确保整个虚拟层的内存访问能够在虚拟化内存和物理内存中的一致性。[11]
(3)设备、I/O和网口虚拟化技术
在计算机服务器虚拟化实现过程中,设备和I/O也是计算机系统的主要组成部分,也需要实现虚拟化,才能促使服务器也实现虚拟化。和内存虚拟化相比,设备、I/O和网口虚拟化主要通过专业的封装技术来实现,为虚拟机的运行提供技术支持。经常满足虚拟机进行设备访问和I/O请求的需求,在计算机服务器虚拟化平台中,为设备和I/O的虚拟化实现奠定了坚实基础。在具体运行中,各设备型号、配置、参数等在计算机服务器中存在一定的差异,但具体实现计算机服务器中,虚拟机和实体机之间数据和信息的互换,展现出服务器虚拟化技术应用的效果。此项技术的合理应用,既能拓展计算机服务器虚拟化技术的应用范围,也可以大幅度降低信息时代对计算机底层硬件的依赖程度。只要搭设虚拟平台,就可以实现在不同物理机上的相互迁移。 [11]
(4)实时虚拟迁移技术
此种虚拟技术和基站软切换的机理基本相同,在计算机服务器中构建了2条链路,虚拟机在实际运行过程中,能够把相对完整的运行环境从原宿机快速迁移到新宿机中,整个迁移过程所需的时间非常短,用户技术几乎察觉不到任何变化。简而言之,实时虚拟迁移技术就是数据拷贝、传送、切换的过程,对计算机服务器硬件维护有非常重要的意义。 [11]
风险
(1)虚拟化项目最初并未涉及信息安全。
有一项权威的研究发现,在最初创建以及策划时,少于一半的科研项目是不符合安全规定的。有时团体工作时会刻意地把安全问题忘记,可是虚拟化过程中带来的问题是不容忽视的,多个虚拟化服务器工作时带来的弊端比未被虚拟化时带来的问题更为严重。所以研究这些问题时也更为繁琐。[10]
(2)底层虚拟化平台的隐患影响所有托管虚拟机。
将服务器虚拟化就像在电脑上运行程序一样,都需要借助一个平台。而该平台或多或少会有一些bug而被人们疏忽。最近一些大型虚拟化厂商多次传出虚拟化生产线存在安全隐患,这些隐患尚未得到解决。所以一些人想要攻击时都会选择进攻底层虚拟化平台,通过控制住中枢系统,逃脱安全检测。进而将病毒带入各个服务器中,攻击其弊端,获得了阅览所有信息的权限,导致信息的泄露。 [10]
(3)虚拟机之间的虚拟网络使现有的安全策略失效。
一些知名的虚拟化生产厂商使用建立虚拟机和虚拟网卡的办法使各虚拟机之间能相互关联以此来实现信息发送与接受的能力。一些主流的保护系统的保护范围都只能保护常规服务器的进出流量,却无法看到各个虚拟机之间的流量传输,无法对虚拟化的流量传输提供保障。 [10]
(4)将不同安全等级的虚拟机未进行有效隔离。
一些虚拟化生产厂商正在尝试将服务器全部虚拟化,这样既减少了经费又加快了生产速度。这些服务器包括许多隐私等级较高的系统,所以就要求虚拟机足够安全。而如果未将安全指数不同的服务器分离开,它们由相同的服务器支配,高等级的虚拟机的安全性也会降低并被较低的所控制。[10]
(5)缺乏对虚拟机管理程序的安全访问控制。
虚拟机管理程序就像人脑的中枢神经系统,它支配着虚拟机的一切活动,对各个步骤下发指令,并监督更正两端的功能,因此必须设立权限防止被随意更改。如果没有这种访问权限,HK们就会通过地址连接到中枢神经上,就算他们无法轻易进入程序也可以通过创建多个服务器进而使管理程序满载,迫使管理程序崩溃进而摧毁所有的虚拟机。 [10]