利用 Windows Server 2012 和 System Center 2012 SP1 构建云基础设施

操作系统平台提供的经验、功能和 API 可供开发人员借鉴和使用。现在,许多开发人员会采用 Windows 的已发布版本,提供云计算解决方案。Windows Server 2012 是一种云优化的操作系统,意味着开发人员可以付出较少的人力,交付更好的云计算解决方案。System Center 2012 已经使用 Windows Sever 2008/R2 交付更佳的云计算解决方案。在本篇博文中,我们管理部门的技术工程师 Anders Vinberg 将会介绍 System Center 2012 SP1 中的 Virtual Machine Manager 组件(现在作为社区技术预览提供)如何借助 Windows Server 2012 的云优化功能,来将该解决方案提升到一个新的水平。

--此致!Jeffrey

Windows Server 2012 的官方名称为 Windows Server “8”,几个月前在 MMS 发布了 System Center 2012,Microsoft 现在已经为我们的客户提供解决方案(用于构建客户自己的私有云),向主机托管服务提供商提供解决方案(用于构建其自己的基础设施即服务公有云产品和服务)。按照 Brad Anderson 在 MMS 的主题演讲中所阐明的基调重新定义移动到云模型以及云的核心原则,并查看如何利用 Windows Server 2012 和 System Center 2012 SP1 实现这一目标。

云模型
首先,请注意,云计算不一定就意味着工作负荷就是在客户本地之外运行,这一点很重要。工作负荷可以部署在客户本地的基础设施上,或者部署在合作伙伴处,但是完全由客户控制和管理。这是“私有”云。工作负荷还可以部署并运行在主机服务提供商处的基础设施上,由其他租户共同使用。这是“公有”云。在这两种情况下,云计算均是消耗容量的一种方式,并且具有 资源池、自助服务、弹性基于使用情况计量 的属性特征。

 

 

云角色
由于云模型将基础设施和支持的服务解耦合,它还解耦合了两个不同的进程:供应和消耗。有两种相应的角色:

  • 服务提供商(数据中心管理员)
  • 服务使用者(应用程序拥有者)

这两个角色在其各自的域中查找截然不同的特性:

 

提供商和使用者的关注分离提供了极大的简便性和灵活性。这是计算民主化趋势的重要基础。我们经常听到这样一种说法,就是使用者无需了解物理基础设施的详细情况,但是我们现在做出更有力的声明:不允许使用者了解物理基础设施,因为这样会束缚提供商的日常工作。提供商可能需要使用一个更有效率的新设备来代替旧的设备,但是不应让使用者牵涉其中甚至不必通知他们(前提是需要达成抽象级别和服务级别协议)。这个解耦合模型不适合所有现有 IT 进程或所有现有应用程序;后续发布的博客还会讨论 Windows Server 和 System Center 如何能容纳这混合的工作样式。

实现的云特性
我们来分别看看这四个云特性,并了解 Windows Server 2012 和 System Center 2012 向客户提供哪些内容。

  • 资源池: 这意味着我们会在聚合级别而不是各个服务器级别来处理资源。云会公开容量池以供需要容量的服务使用,此抽象方法会将虚拟化工作负荷从物理基础设施中解耦,允许动态工作负荷分配和独立的基础设施管理。
    尽管现代的大型云通常会使用严格同质的硬件,并需要软件适应,这种情况在企业计算环境中通常不切实际,因为这种环境中现有软件可能具有特定的硬件要求;我们的云模型支持异质资源池,在这里系统会自动将软件要求与硬件特性相匹配。
    具有资源池意味着多个租户(客户)将在此环境中具有他们自己的工作负荷,基础设施必须在资源池之间提供必要的隔离。这种多租赁不仅仅适用于公有云:即便在私有云中,自助服务模型会为使用者提供在少量监管的情况下部署服务的灵活性,这就需要在池之间进行强有力的隔离,以防止对邻居的意外影响。
    • 利用 Windows Server 2012 可以通过一系列功能(如 Hyper-V 可扩展交换机、网络虚拟化、服务质量 (QoS) 和网络隔离策略)实现对资源的共用。另外,有了实时迁移和存储迁移的增强功能,Windows Server 平台令资源可以轻松地在数据中心间移动,以优化数据中心资源的使用。
    • System Center 2012 通过 Virtual Machine Manager 组件可以聚合计算、网络和存储资源,并将他们公开为一个称为“云”的结构。它支持大规模地管理这些云,并动态地在云中布置工作负荷,对于多租户隔离以及向使用者委派云,可以使用基于角色的访问控制机制。在 SP1 中,Virtual Machine Manager 使用网络虚拟化的平台功能以及实时迁移和存储迁移,实现灵活的池管理以及环境中的负荷平衡,这样会主动地符合客户的 SLA。
  • 自助服务: 在云模型中,服务使用者可以利用自助服务经验(通常是基于 web 的门户)来访问已分配给他们的容量,自助配置工作负荷(从支持单一 VM,到部署复杂的服务)管理这些工作负荷的生命周期。
    • Windows Server 2012 在实现数据中心完全自动化方面走了很长的一段路。自助服务意味着所有数据中心操作必须完全可自动化,如未能实现,则每次在云中布置工作负荷时都需要人工手动操作。Windows Server 2012 通过 PowerShell 和 WMI 实现了完全可自动化,公开了实现此应用场景的接口。
    • System Center 2012 基于 Windows Server 2012 的自动化功能,并提供门户和管理功能以实现自助服务。Service Manager 组件提供服务目录,将自助服务门户推向 IT 审批工作流程,如分配容量。App Controller 组件提供管理虚拟机和服务的自助服务体验,同时涵盖私有云和 Windows Azure 公有云。Operations Manager 组件为环境提供运行智能,Orchestrator 组件提供 run-book 自动化。最后,System Center 的 Data Protection Manager 组件实施业务连续性策略。
  • 弹性 :云弹性意味着基础设施可以支持组织的变更需求,按需部署新服务,为负荷较重的服务分配更多资源,或者取消分配资源,以便在负荷较轻时节省能源。借助跨云管理,工作负荷还可以在私有云和公有云之间移动,提供额外的容量、大规模访问或其他需要特性。
    • 从 Windows Server 平台角度出发,允许运行在不同基础设施上的多个服务通过 IPSec VPN 相互连接,从而实现弹性。Windows Server 2012 内置对 IKEv2 VPN 新的支持,允许它轻松地将私有云和公有云互连。
      另外,弹性还意味着,将任何工作负荷跨云移动到公有云提供商还是可能的。在当前技术条件下,非常难于实现,这是因为工作负荷往往嵌入有大量的联网假设,如固定的 IP 地址和子网。借助 Windows Server 2012 网络虚拟化,现在,在保持其自己的 IP 地址并将其从提供商的 IP 空间中分离的情况下,移动工作负荷是可能的。
    • System Center 2012 SP1 在其网络结构中使用平台功能进行网络虚拟化。当定义工作负荷“网络”时,System Center 允许云使用者在它们可用的任意云或任意物理网络基础设施上部署此类网络。
      VMM 不仅允许向云内的服务弹性分配和发布资源,而且还允许对云本身添加或删除容量,在服务使用者看起来就好象有无限的云容量。 
  • 基于使用情况: 在云模型中,客户支付的或至少被告知的云资源使用量 基于其实际的资源消耗量。
    • Windows Server 2012 可以为诸如 CPU、内存、存储和网络等核心指标提供细化的计量信息。在 Windows Server 2012 中,当 VM 在环境中迁移时,这些指标也会跟随 VM。
    • System Center 2012 会聚合这些消耗指标,并允许云操作人员基于其策略重新显示或支付。

令 Windows Server 2012 成为一个云优化的操作系统的各种功能的详细介绍可以在下面的白皮书中找到: 使用 Windows Server 8 构建基础设施即服务 (IaaS) 云

 
应用场景
我们上面所述中可以看出,云有许多个方面。在本篇博文中,我们将主要关注服务提供商角色,特别是提供商在使用 SMB 3.0 作为 VM 的存储以及使用 Windows Server 2012 BetaHyper-V 网络虚拟化System Center 2012 SP1 Virtual Machine Manager (VMM) 的社区技术预览 (CTP) 功能方面如何支持其私有云基础设施。在未来的博文中,我们将继续深入探讨云的其他方面。

利用 System Center 2012 SP1 支持云基础设施
首先,让我们看一下 VMM 如何提供和管理 Hyper-V 网络虚拟化。在 System Center 2012 中,VMM 引入了逻辑网络,会抽象企业数据中心中的网络的各种定义,允许数据中心管理员使用应用程序拥有者的本地语言,比如用术语“我希望我的 VM 连接到 CORP 网络”表达连接性。对于每个数据中心站点,逻辑网络可以有不同的定义,VMM 中的自动化可以确保当部署 VM 时,会应用适当的配置。有了 SP1,我们在这之上引入了另一个叫做“VM 网络”的抽象。逻辑网络现在适合于光纤网络,VM 和服务现在仅连接到“VM 网络”。VM 网络可以由 VLAN、直接逻辑网络或 Windows Server 2012(具有 Hyper-V 网络虚拟化)实现。
在 System Center 2012 SP1 CTP 中,VMM 仅支持使用通用路由封装 (GRE) 创建 Hyper-V 网络虚拟化的 VM 网络,这是一种长期首选的机制。在 System Center 2012 SP1 的最终版本中,我们计划支持用 IP Rewrite 创建 VM 网络,这在现有环境中部署较为容易,且不需要更改网络基础设施,但是对于您分配的每个客户地址 (CA) 均需要一个提供商地址 (PA)。我强烈建议您阅读 Hyper-V 虚拟网络上的博文,来了解此技术的工作原理。
PA 是从逻辑网络空间分配得来的,所以您应该像先前所做的那样创建一个逻辑网络,并且分配一个 IP 地址池,VMM 可以从中为 PA 空间提取地址。接着,您需要创建一个 VM 网络,该网络会由被部署的实际服务所使用。只需点击几次VMM 控制台中的“ VM’s ”和“ Services ”视图上的新链接点,就可以创建 VM 网络。可以在此处查看上述操作的逐步详细步骤。

 

 

在上面的示例中,您可以看到 Tailspin 网络和 Wingtip 网络均具有重叠的 IP 范围。他们是使用 Hyper-V 网络虚拟化实现和自动配置的,无需任何特殊的硬件或其他软件即可提供完全隔离。创建 VM 时,现在它可以连接到此 VM 网络,因此允许其在同一 VM 网络上连接到其他 VM,同时保持该 VM 与其他属于不同客户的 VM 处于隔离状态,即便他们使用同一子网。
对于需要为其服务使用者(租户)提供隔离环境的服务提供商,此功能非常宝贵,并且提供灵活性,使得租户可以将其自己的 IP 地址带至公用云环境。在 CTP2 中,如果希望 VM 网络上的 VM 可以与不在 VM 网络上的实体交流,则您需要在这些网络之间设置网关。这可以使用具有正确路由规则的 Windows Server 实例来完成,将来您可以得到指导您如何完成设置此过程的指南。另外,随着开发功能的进一步深入,System Center 将允许此操作无缝完成。
存储是云和虚拟化项目的另一个重要组成部分。利用 Windows Server 2012,我们现在能够使用 SMB 3.0 文件共享从而在一个集群和独立的环境中承载 Hyper-V VM。这有助于降低云成本,同时增加灵活性,并使得管理更加简单。(您可以在此处阅读关于存储的更多内容。)有了 System Center 2012 SP1,使用起来非常简便。下面的屏幕截图显示了如何为集群和独立主机添加文件共享作为存储,并且在此配置中VMM 恰当地配置访问控制列表。

 

独立主机

 

Hyper-V 集群

VM 一经部署到主机和特定存储子系统上时,服务提供商可能需要灵活地将工作负荷移动到不同的主机,或使用不同的存储来确保 VM 是可用的,即便在需要为主机提供服务或者需要维护存储环境时也是可用的。有了 Windows Server 2012 和 VMM,我们现在为实时迁移 VM 及其相关存储提供多种选项。您可以:

  1. 在一个集群内实时迁移 VM(通常具有共享的区块或文件存储)
  2. 将 VM 实时迁移到集群内或从集群内迁出
  3. 将 VM 的存储从一个存储子系统实时迁移到另一个存储子系统
  4. 将 VM 从一个主机实时迁移到另一个主机(无共享存储)

作为数据中心管理员,您可以想象,这些选项为您提供了多么大的灵活性。下面的屏幕截图显示了 VMM 中的各种不同选项。

 

您可以从上面屏幕截图的左侧看到,名为 Tailspin_VM2 的 VM 运行在一个独立的主机 HV104 上。右侧的对话框显示,该 VM 可以从此独立的主机迁移到 HVClusterA 集群的节点中(hv103n3、hv101n1 和 hv102n2),还可以迁移到独立的 HV105。System Center 会自动检测到在 HV104 和 HVClusterA 之间没有共享存储,并为这些迁移加上“Live (VSM)”(实时 (VSM))标签,表示也将迁移存储,而不仅仅迁移虚拟机。

请注意,System Center 还可以令您选择在主机内迁移 VM 的存储,而 VM 无需停机。对于以下示例情况:您某个特定驱动器上的本地存储马上就要用完了,您希望将 VM 的存储移动到主机上具有更多容量的另一个驱动器上,这种情况下,上述功能特别有用。

现在您可能已经敏锐的察觉到我们仅对 HV105 显示“实时”!这是为什么呢?它并不是一个 Bug。要对此有所了解,我们来看 HV104(VM 当前所在的主机)和 HV105 的存储属性。您可能已经看到,上述每个主机都将看到相同的 SMB 3.0,因此 VMM 可以迁移 VM(无需移动该存储)。

 

 


在本篇博文中,我们讨论了云模型和两个不同的云角色(“服务提供商”和“服务使用者”)。我们还介绍了 Windows Server 2012 和 System Center 2012 SP1 如何提供此模型。我们重点介绍了 Windows Server 2012 和 System Center 2012 SP1 中的 Virtual Machine Manager 组件如何使提供商能够为VM 使用SMB 3.0 存储,以及使用 Hyper-V 网络虚拟化创建隔离网络。在接下来的几个月,我们将提供更多详细信息:有关 VMM 如何促进资源池和租户管理,以及它如何利用 Windows Server 2012 中的更多功能。