云服务器的设计要求有哪些?

云服务器的设计要求有哪些?,第1张

 1、超大规模 “云”具有相当的规模,Google云计算已经拥有100多万台服务器,亚马逊、IBM、微软和Yahoo等公司的“云”均拥有几十万台服务器。“云”能赋予用户前所未有的计算能力。

  2、虚拟化 云计算支持用户在任意位置使用各种终端获取服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解应用运行的具体位置,只需要一台笔记本或一个PDA,就可以通过网络服务来获取各种能力超强的服务。

  3、高可靠性 “云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机更加可靠。

  4、通用性 云计算不针对特定的应用,在“云”的支撑下可以构造出于变万化的应用,同一片“云”可以同时支撑不同的应用运行。

  5、高可伸缩性 “云”的规模可以动态伸缩,满足应用和用户规模增长的需要。

  6、按需服务 “云”是一个庞大的资源池,用户按需购买,像自来水、电和煤气那样计费。

  7、极其廉价 “云”的特殊容错措施使得可以采用极其廉价的节点来构成云;“云”的自动化管理使数据中心管理成本大幅降低;“云”的公用性和通用性使资源的利用率大幅提升;“云”设施可以建在电力资源丰富的地区,从而大幅降低能源成本。

  云计算对服务器的要求

  在了解了云计算之后,我们再说回云计算服务器,现在对于云计算服务器没有一个明确的定义,也没有一个统一的标准。与传统服务器相比,传统服务器中,包含处理器摸块、存储模块、网络模块、电源、风扇等设备。

  云服务器关注的是高性能吞吐量计算能力,关注的是在一段时间内的工作最总和。因此,云服务器在架构上和传统的服务器有着很大的区别。

  架构上,云服务器体系架构包含云处理器模块、网络处理模块、存储处理模块与系统件理模块等。这种架构的优势使得云服务器可以大大提高了利用率,采用多个云处理器完成系统设计,引入低功耗管理理念完成对系统的集中冗余管理,同时在系统中省去了很多重复的硬件。

  云服务器一般包括线程、核、处理器、网络、加速器等功能单元全部计算的总和。因此,云计算一般都有着庞大的数据输入量或海量的工作集。那么服务器应该具备哪些能力呢,我们详细的来说一说。

  高密度

  高密度低成本基本上已经是云服务器的基本要求了,按照云计算中心本身的特点,云服务器应该和云计算中心高密度、低功耗、低成本的特点相符,即主要面向大规模部署的云应用。高密度服务器能够减少延迟、提高反应速度。目前高密度服务器主要分为多路机架和刀片服务器。

  虚拟化

  服务器虚拟化的能力,可以说直接影响云计算的效果。由于服务器虚拟化技术实现了将高负载节点中的某些虚拟机实时迁移到低负载的节点,把多个低负载的虚拟机合并到一个物理节点,并将多余的空闲物理节点关闭,以提高资源的使用效率,使负载达到均衡,从而使上层应用的性能得到了保障,同时还达到了减少能耗的目的。

  因此云计算利用服务器虚拟化技术可实现对虚拟机的部署和配置,通过对虚拟机的快速部署和实时迁移能大大提高系统的效能,还可通过对虚拟机资源的调整来实现软件系统的可伸缩性,确保系统能迅速从故障中恢复并继续提供服务,提高了系统的可靠性与稳定性。所以在购买云服务器的时候,服务器硬件虚拟化的支持程度是考量服务器的一个重要因素。

  横向扩展

  根据云计算的第一个特点“超大规模”来说,云计算服务器的横向扩展能力就变得至关重要,目前英特尔已经推出了横向扩展的存储解决方案,结合英特尔的硬件,可以对这种大量的文件访问提供更高数据库和更好的可扩展性,而英特尔万兆网卡可以结合英特尔虚拟化技术,为整个云计算的中心提供更高效、更安全以及更简化的方式,保证了云数据中心的灵活性。

  并行计算

  云计算在某种形式上来说就是分布式计算、并行计算、网格计算等一脉相传的技术路线,从概念上来说,可以把云计算看成是“存储云”+“计算云”的有机结合,而计算云就是指并行计算,因此,云计算的基础架构首先是要确保能实现并行计算。

  总结:

  综上所述云计算对于服务器本身的性能要求不是很高,但对于服务器的结构灵活性上来说有一定的要求,另一方面就是对于服务器的计算密度、虚拟化能力、以及是否能够实现并行计算的能力这几方面要注重的去考虑,所以我们再去挑选服务器的时候,结合上述的四点要求去做,以做到事半功倍的效果。

什么是虚拟化

虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。

虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。

虚拟化技术也与VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。

虚拟化技术有很多定义,下面就给出了一些这样的定义。

“虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计算机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方式来表示它们。换句话说,它为数据、计算能力、存储资源以及其他资源提供了一个逻辑视图,而不是物理视图。” ——Jonathan Eunice,Illuminata Inc。

“虚拟化是表示计算机资源的逻辑组(或子集)的过程,这样就可以用从原始配置中获益的方式访问它们。这种资源的新虚拟视图并不受实现、地理位置或底层资源的物理配置的限制。” ——Wikipedia

“虚拟化:对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看并维护资源。” ——Open Grid Services Architecture Glossary of Terms。

虚拟化的目的是什么

虚拟化的主要目的是对IT基础设施进行简化。它可以简化对资源以及对资源管理的访问。

消费者可以是一名最终用户、应用程序、访问资源或与资源进行交互的服务。资源是一个提供一定功能的实现,它可以基于标准的接口接受输入和提供输出。资源可以是硬件,例如服务器、磁盘、网络、仪器;也可以是软件,例如Web服务。

消费者通过受虚拟资源支持的标准接口对资源进行访问。使用标准接口,可以在IT基础设施发生变化时将对消费者的破坏降到最低。例如,最终用户可以重用这些技巧,因为他们与虚拟资源进行交互的方式并没有发生变化,即使底层物理资源或实现已经发生了变化,他们也不会受到影响。另外,应用程序也不需要进行升级或应用补丁,因为标准接口并没有发生变化。

IT基础设施的总体管理也可以得到简化,因为虚拟化降低了消费者与资源之间的耦合程度。因此,消费者并不依赖于资源的特定实现。利用这种松耦合关系,管理员可以在保证管理工作对消费者产生最少影响的基础上实现对IT基础设施的管理。管理操作可以手工完成,也可以半自动地完成,或者通过服务级协定(SLA)驱动来自动完成。

在这个基础上,网格计算可以广泛地利用虚拟化技术。网格计算可以对IT基础设施进行虚拟化。它处理IT基础设施的共享和管理,动态提供符合用户和应用程序需求的资源,同时还将提供对基础设施的简化访问。

虚拟化的解决方案

纯软件虚拟化解决方案存在很多限制。“客户”操作系统很多情况下是通过虚拟虚拟化机监视器(VirtualMachineMonitor,VMM)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置,而操作系统的位置是传统意义上应用程序所处的位置。这一额外的通信层需要进行二进制转换,以通过提供到物理资源(如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。此外,客户操作系统的支持受到虚拟机环境的能力限制,这会阻碍特定技术的部署,如64位客户操作系统。在纯软件解决方案中,软件堆栈增加的复杂性意味着,这些环境难于管理,因而会加大确保系统可靠性和安全性的困难。

硬件方案

而CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程虚拟化度上提高性能。

虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。两大CPU巨头Intel和AMD都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比Intel落后几个月。

Intel自2005年末开始便在其处理器产品线中推广应用IntelVirtualizationTechnology(IntelVT)虚拟化技术。Intel已经发布了具有IntelVT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium46X2系列、PentiumD9X0系列和PentiumEE9XX系列,还有CoreDuo系列和CoreSolo系列中的部分产品,以及服务器/工作站平台上的XeonLV系列、Xeon5000系列、Xeon5100系列、XeonMP7000系列以及Itanium29000系列;同时绝大多数的Intel下一代主流处理器,包括Merom虚拟化

核心移动处理器,Conroe核心桌面处理器,Woodcrest核心服务器处理器,以及基于Montecito核心的Itanium2高端服务器处理器都将支持IntelVT虚拟化技术。而AMD方面也已经发布了支持AMDVirtualizationTechnology(AMDVT)虚拟化技术的一系列处理器产品,包括SocketS1接口的Turion64X2系列以及SocketAM2接口的Athlon64X2系列和Athlon64FX系列等等,并且绝大多数的AMD下一代主流处理器,包括即将发布的SocketF接口的Opteron都将支持AMDVT虚拟化技术。

虚拟化(Virtualization)技术最早出现在20世纪60年代的IBM大型机系统,在70年代的System 370系列中逐渐流行起来。这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。

随着近年计算机技术的进步,无论是服务器市场、桌面市场,还是嵌入式市场,处理器的频率和核心数目都出现了巨大的进步,从而带来了处理能力的迅速增长,使得虚拟化技术再次迅速发展起来,并从最初的的 裸机虚拟化 技术开始,演化出 主机虚拟化 混合虚拟化 等更复杂的虚拟化模型,并在此基础山发展出了当下最热门的 云虚拟化 技术,极大地降低了IT成本,增强了系统的安全性,可靠性和扩展性。

在计算机领域,虚拟化是一个广义的概念。简而言之,虚拟化是指对计算机资源的抽象。虚拟机最初被Popek和Goldberg定义为物理机器的一个或多个隔离的有效复制[16]。JE Smith和RaviNair给出了一个更具体化的定义:虚拟机是通过在物理平台上添加的软件给出的一个或多个不同的平台。一个虚拟机可以有一个操作系统和指令集,或者两者都有,可以不同于底下的真实的硬件。

虚拟化技术的本质在于对计算机系统软硬件资源的划分和抽象。计算机系统的高度复杂性是通过各种层次的抽象来控制,每一层都通过层与层之间的接口对底层进行抽象,隐藏底层具体实现而向上层提供较简单的接口。

计算机系统包括五个抽象层:硬件抽象层,指令集架构层,操作系统层,库函数层和应用程序层。相应地,虚拟化可以在每个抽象层来实现。无论是在哪个抽象层实现,其本质都是一样的,那就是它使用某些手段来管理分配底层资源,并将底层资源反映给上层。操作系统上传统的进程模型就利用了虚拟化的思想,操作系统通过对物理内存的划分和抽象,给每个进程呈现出远超出物理内存空间的4G空间,并且使得每个进程实现了有效的隔离,从而一个进程的崩溃不会影响到其它进程的正常运行。

虚拟化平台是操作系统层虚拟化的实现。在系统虚拟化中,虚拟机(VM)是在一个硬件平台上模拟一个或者多个独立的和实际底层硬件相同的执行环境。每个虚拟的执行环境里面可以运行不同的操作系统,即客户机操作系统(Guest OS)。Guest OS通过虚拟机监控器提供的抽象层来实现对物理资源的访问和操作。目前存在各种各样的虚拟机,但基本上所有虚拟机都基于"计算机硬件 + 虚拟机监视器(VMM)+ 客户机操作系统(Guest OS)"的模型。

虚拟机监控器是计算机硬件和Guest OS之间的一个抽象层,它运行在最高特权级,负责将底层硬件资源加以抽象,提供给上层运行的多个虚拟机使用,并且为上层的虚拟机提供多个隔离的执行环境,使得每个虚拟机都以为自己在独占整个计算机资源。虚拟机监控器可以将运行在不同物理机器上的操作系统和应用程序合并到同一台物理机器上运行,减少了管理成本和能源损耗,并且便于系统的迁移。

根据虚拟机监视器在虚拟化平台中的位置,可以将其分为以下3种模型:

虚拟机监视器采用的虚拟化技术分为以下4种:

嵌入式系统是虚拟化技术的新方向和重要分支。

嵌入式处理器的迅速发展使得嵌入式系统在更多方面得到了广泛的应用。而嵌入式设备应用的普及导致其对软硬件的需求也越来越高。硬件体现在不断增强的计算能力和多种多样的外部设备,软件体现在愈加复杂的新功能特性。这些问题导致嵌入式开发变得复杂和软件维护成本的增加。原来的SMP和AMP等多核操作系统方案无法满足安全隔离、硬件资源分配和复用等日益复杂的要求。因此,服务器和桌面系统上的虚拟化技术被引入了嵌入式操作系统领域,并借助于硬件辅助虚拟化技术,解决了虚拟化技术带来的便利性与嵌入式系统得实时性要求之间的矛盾,使得以Linux KVM、Xen等嵌入式虚拟化平台得到了迅速发展。

虚拟化平台在硬件和操作系统之间引入了一个新的抽象层次,称为虚拟机监控器(Virtual Machine Monitor,简称VMM),由它接管所有的硬件,并管理运行其上的所有虚拟机(Virtual Machine,简称VM),而每个虚拟机中可以运行各自的操作系统。

虚拟化的优点在于实现了资源的重用,使得一个物理平台上面可以同时运行多个不同的操作系统。通过利用系统虚拟化技术,可以在嵌入式设备中同时运行实时操作系统和通用操作系统,分别发挥各自的优势——实时操作系统处理实时任务,通用操作系统提供丰富的应用程序,它们彼此分工协作,发挥各自的优势,同时满足各种不同的需求。

但与此同时,虚拟化平台技术也引入了新问题。不少嵌入式系统对实时性能都有比较高的要求,而虚拟机与虚拟机监控器间的切换导致处理器操作模式的切换和上下文的切换,会增加系统的响应时间,从而增加实时系统的时间不确定性,影响了实时系统的性能。虚拟机对运行于其上的应用程序的隔离又增加了虚拟机监控器的精确调度的难度,目前的虚拟机监控器也只能基于虚拟机的优先级或者时间片分配而进行粗粒度的调度。此外,现存的虚拟化平台技术主要基于X86等通用计算机平台,对ARM、MIPS等嵌入式处理器支持不够,在功能性和稳定性上都有所缺失。

综上所述,虚拟化可以解决嵌入式系统目前面临的不少问题,带来很多方便,但由于现存虚拟化解决方案(如KVM和XEN)在设计之初并没有考虑嵌入式系统的特殊需求,从导致功能性、实时性、稳定性都有所缺失。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 云服务器的设计要求有哪些?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情