虚拟化和服务器整合是目前非常流行的项目,但这些都是相对比较小的技术项目而很难对整个企业IT产生深远和战略性的改变。与一般只通过虚拟化来解决服务器正恶化问题相比,企业需要从整体上调整IT服务的方式。动态数据中心不仅仅是技术的一个演变,更重要的是它代表了IT服务方式的变化。动态数据中心结合了虚拟化、标准化硬件和自动化管理,再加上一些架构模型上的创新,从而使得面向服务的IT得以实现。IT服务管理上的可靠、灵活、低成本等目标都可以通过动态数据中心而得以实现。
动态数据中心也可以看成是面向云计算服务的数据中心。根据前面讨论的云计算内容,我们知道云计算是从服务消费者的角度产生的概念。这也就是为什么云计算有时也被认为是IT作为服务的一种方式。而动态数据中心是云计算服务的基础,它是从服务提供者角度产生的概念。无论是企业内部IT还是第三方的公共服务提供商,他们作为服务的提供者都需要通过具体的动态数据中心来提供服务。另外一个概念是绿色数据中心,这个概念主要指从建筑、电力、制冷等物理设施角度讨论数据中心的建设问题。这几个概念之间的关系如图4.5所示。
虽然企业可以通过不同的方式进行云计算的应用,但是对于需要进行私有云建设的企业,笔者认为建设动态数据中心是他们进行云计算实践的一个核心。
1、基本架构模型
动态数据中心的构建与传统数据中心相比有比较大的差别。自动化管理和高可用性需要通过一些新的技术手段和模型来实现。在讨论微软动态数据中心方案之前,我们先来看几个基本模型概念。
(1) 资源池。动态数据中心的资源池是所有经过虚拟化抽象之后的服务器、网络和存储等资源的集合。所有这些服务器从技术架构上来看是同构的,它们统一连接到网络和存储上去。根据实际需求,这些资源池中可能会分成不同的小组,以更方便地实现类似动态在线迁移这样的功能。当用户需要资源时,资源从资源池中分配出去,当资源使用完后被释放回资源池。动态数据中心通过软件方式保障平台的连续服务,因此在实际采取维护工作之前可以允许资源池中有一定比例的坏节点存在。
(2) 物理故障域。物理故障域是当上级硬件设备发生故障时会同时出错的一个服务器集合。比如位于同一个机架的服务器,当这个机架的电源出现问题时可能造成整个机架上的服务器都无法正常工作。理解物理故障域对于动态数据中心的可靠性设计非常重要,在设计工作负载的时候需要跨越不同的故障域。另外在做物理设备更新和维护的时候也需要根据故障域的划分来进行。
(3) 升级域。升级域是一个会被同时升级的服务器的逻辑集合。升级域的想法主要是为了划分资源池,从而使得在升级窗口时间内可以依次轮流升级。这样在做硬件升级或维护的时候,虚拟机环境可以从升级域中在线迁移到另一个环境,从而保证服务的连续性。
(4) 预留容量。为了保证所有应用在做升级域维护或一个物理故障域出现问题的时候能够正常运行,数据中心需要在资源池中预留一部分资源。这部分资源的大小就是预留容量,实际上它的目的就是让数据中心的资源有一个调配和周旋的余地。比如,假设数据中心有10个物理故障域,每个故障域中包含10台服务器,那么客户资源总分配就不能超过整个资源池的90%。
(5) 扩展单元。数据中心的容量估算是一个相对困难的问题,因为如果数据中心规模设计太大就会造成资源浪费,如果规模设计太小又会对业务发展造成掣肘。一般来说,随着业务量的增长数据中心需要进行容量扩充。扩展单元是一个事先定义好的用来扩展数据中心的的单元,其中包含服务器、网络设备、存储、电源和制冷设备等。扩展单元简化了数据中心容量扩充的工作,并能够在一定程度上降低采购成本。扩展单元是数据中心往模块化方向发展的一种体现。
上面描述的架构模型都是微软动态数据中心方案的一些实现要素,本章接下来的内容将主要讨论这个方案。
2、动态数据中心方案
动态数据中心解决方案是微软提供的基于云计算思想的数据中心优化和管理方案,其目标是对传统数据中心进行虚拟化和云计算架构的转型,不断提高IT基础设施的灵活性、降低硬件、能源和空间等成本,从而让企业能够快速响应业务需求,提高业务敏捷性。企业可以基于该方案快速构建面向内部使用的私有云平台,服务提供商也可以基于该方案在短时间内搭建云计算服务平台对外提供服务。动态数据中心方案能够让用户自己动态管理数据中心的基础设施(包括服务器、网络和存储等),包括开通、配置和安装等。其核心价值在于,可以帮助用户提高IT基础设施资源的利用效率,提升基础设施的应用和管理水平,实现计算资源的动态优化。
动态数据中心解决方案能够帮助企业创建虚拟环境来运行应用,用户可以按照需要弹性分配适当的应用配置,并且支持动态扩展。这个方案能够帮助用户实现数据中心的以下功能。
资源池管理:集中管理中心的硬件资源,包括服务器,存储和网络等。
动态分配服务:平台可以动态分配服务资源。
自助服务门户:用户可以根据需求自助申请计算资源,平台根据SLA和用户付费情况,决定审批结果。
应用和服务管理:应用管理,服务度量计费和SLA等。
服务的保障:数据存储和灾备服务。
3、动态数据中心的整体架构
动态数据中心解决方案从逻辑架构上来看可以分成下面四层。
(1) 资源层。
资源层是服务器、网络和存储等设备的集合,是一个融合了各种物理IT资源的基础层。这里的网络设备包括物理网关、路由器和防火墙等。存储设备是动态数据中心对外提供虚拟磁盘空间的基础,这些存储设备都是通过高速以太网或光纤连接在一起,从而保障了虚拟机的可移动性。在传统的数据中心中,由于建设时间和不同应用的差异等造成硬件平台差异比较大,而动态数据中心由于采用了虚拟化技术,服务器之间差异的必要性将不存在。因此,企业可以选择同一技术架构的服务器,从而不再需要管理各种不同的硬件平台、BIOS版本、备件等。通过标准化开发、测试和生产环境的硬件环境,可以大大降低管理的复杂度和成本,并减少出错的概率。另外一个附加的好处是,由于采购量的变化,企业还可以通过这种方式降低采购成本。
(2) 虚拟化层
虚拟化层是平台的核心之一,主要提供对物理设备的抽象以及未来对应用的虚拟化能力。在这一层,动态数据中心能够集成多种虚拟化技术和来宾操作系统(Guest OS)。动态数据中心的硬件虚拟化主要是基于微软Hyper-V 的虚拟化技术,同时可以集成第三方的虚拟化环境,比如VMware的ESX等。通过利用像Hyper-V中在线迁移这样的功能,应用程序虚拟化最开始时针对客户端计算机应用程序的部署问题,但是随着数据中心中服务器的增加,这个技术已经逐渐应用到了服务器端应用程序的自动化部署。另外,根据最终用户的需要,动态数据中心可以同时提供基于Windows的虚拟化环境或者基于Linux的虚拟化环境。
(3) 管理层。
虚拟化技术的出现一方面提升了资源的利用率和部署的灵活性,另一方面也为管理带来了挑战。管理层主要是提供对虚拟化资源、物理资源的管理能力以及负载均衡等网络服务能力,包括对计算资源的自动配置、动态分配、系统的备份和监控等。一般来说,这一层的功能不会直接开放给最终用户以及系统管理员,而是将能力提供给最上层的服务层,由服务层的相关功能来完成资源管理能力的集成,尽可能屏蔽用户对不同资源管理能力的要求。
(4) 服务层。
服务层包括两个方面:核心的系统管理服务和服务层门户。核心的系统管理服务主要是指将管理平台的能力通过标准的编程接口对外提供服务。这些标准的编程接口可以给其他应用使用,另外服务层门户也是通过这些编程接口与管理层进行集成的。服务层门户主要包括自助服务门户和管理门户。前者提供给平台用户使用,可以让用户完成产品的订购、资源的调整、提交服务申请等功能;后者提供一个集成的系统管理员功能,用于完成对资源的分配、审核、服务开通和系统安全保障等。