Windows-Azure-Pack-云端构建指南-全-
Windows Azure Pack 云端构建指南(全)
原文:
annas-archive.org/md5/66f2df2d333e68662acdff36f6b1b74a译者:飞龙
前言
微软 Azure 是增长最快的公共云,提供全面的服务列表,并且随着时间的推移,服务列表还在不断增加。
2013 年,微软发布了 Windows Azure Pack,这是一个集合了微软 Azure Pack 技术的产品,帮助组织和服务提供商构建云解决方案,并提供与世界上最大的公共云之一相一致的体验。从那时起,Windows Azure Pack 通过每季度增加更多服务和功能,持续提升。
Windows Azure Pack(简称 WAP)与微软的成熟技术(如 Windows Server 和 System Center)集成,提供包括 IaaS 和 PaaS 服务在内的云服务。所提供的服务不仅限于微软技术,还包括其他供应商和开源技术,例如 Linux 操作系统和 MySQL 数据库。虽然云计算已经成为现实,且不再是未来技术,但 Windows Azure Pack 提供了一个稳固的平台,具备可扩展的架构,用于构建私有云或服务提供商的云。
本书专注于帮助读者使用 Windows Azure Pack 构建云解决方案。内容涵盖设计、实施和管理的原则以及构建云的步骤。按照本书的指导,读者将能够在本地构建自己的云解决方案,提供广泛的服务和功能。
本书将介绍云平台和服务的以下方面:
-
学习概述、架构和功能
-
服务提供商和组织私有云的规划
-
部署和管理任务
-
租户或用户体验
本书涵盖的内容
第一章, 了解 Windows Azure Pack 及其架构,将介绍微软的 Cloud OS 愿景及 Windows Azure Pack 在实现这一愿景中的作用。接着,介绍 Windows Azure Pack 的功能、服务提供,并总结 WAP 如何成为构建私有云或托管服务提供商云的绝佳平台。此外,本章还将探讨 WAP 基础云解决方案的架构、构建模块和部署模型。
第二章, 构建云基础设施,将重点介绍构建云解决方案所需的基础层构建。本章涵盖了计算、虚拟化、网络和存储基础设施的规划与配置,另外还包括部署系统中心组件(包括 SCVMM 和 SPF)。
第三章,安装和配置 Windows Azure Pack,将包括 Windows Azure Pack 组件的安装和配置。它还涵盖了自定义 URL 和证书的门户配置。
第四章,构建虚拟机云和 IaaS 服务,将涵盖构建 IaaS 服务,包括虚拟机(Windows 和 Linux)、虚拟网络等。它包括为提供 IaaS 服务构建平台,并开发自服务自动化部署的服务。
第五章,分配云服务 – 计划、附加组件、租户账户和订阅,将涵盖通过利用 WAP 计划和附加组件将云服务分配给租户的机制。它还将讨论租户用户账户和订阅管理。
第六章,体验云服务 – 租户视角,将帮助我们作为租户体验之前构建的服务。它将涵盖作为租户的云服务提供和管理。
第七章,提供 PaaS – WebSites 云和服务总线,将涵盖 PaaS 服务(WebSites 和服务总线)的规划和部署。此章节还将讨论如何构建网站和服务总线云服务,并作为租户体验这些服务。
第八章,提供数据库即服务,将涵盖 DBaaS 服务(SQL 和 MySQL)的规划和部署。此章节还将讨论如何构建 SQL 和 MySQL 数据库云,并作为租户体验这些服务。
第九章,自动化与身份验证 – 服务管理自动化与 ADFS,将帮助我们了解 SMA 及其将自动化添加到云部署、服务提供和运营中的功能。接着,它将介绍如何利用 ADFS 进行 Windows Azure Pack 门户中的身份验证。
第十章,通过合作伙伴的解决方案扩展 WAP 功能,将介绍 Microsoft Azure Stack 和 WAP 更新模型。它还将介绍许多由合作伙伴开发的其他解决方案,以扩展 WAP 的功能和服务。
本书所需内容
虽然本书的所有内容不要求你运行任何基础设施或软件组件,但构建本书所涵盖的云解决方案时,以下软件和足够的硬件是必需的:
-
Windows Server 2012 R2
-
Microsoft SQL Server(2008 及以上版本)
-
System Center 2012 R2
-
Windows Azure Pack
-
MySQL Server
本书适用对象
本书面向的是希望亲身体验 Windows Azure Pack 的云和虚拟化专业人士。它将帮助虚拟化客户采用云架构,同时也帮助现有的云服务提供商理解 Azure Pack 的优势。同样,本书还将帮助其他平台的云专业人士,例如 VMware/OpenStack,了解和评估 Azure Pack。如果你在服务器虚拟化方面有经验,并希望学习如何构建本地云解决方案,那么这本书适合你。如果你已经了解或有使用其他本地云解决方案的经验,如 VMware 云产品、OpenStack 等,并期待了解 Windows Azure Pack 在云计算领域能提供什么,这本书也适合你。如果你是现有的虚拟化用户,并希望在 IT 操作中采用云技术,这本书适合你。对于提供 IaaS 和 PaaS 服务的云服务提供商同样适用。
约定
在本书中,你将看到许多文本样式,这些样式用来区分不同类型的信息。以下是一些样式的示例及其含义的解释。
文本中的代码词汇、数据库表名、文件夹名称、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 用户名如下所示:“还要验证系统数据库是否已创建,如master、tempdb”
代码块如下所示:
[default]
exten => s,1,Dial(Zap/1|30)
exten => s,2,Voicemail(u100)
exten => s,102,Voicemail(b100)
exten => i,1,Voicemail(s0)
当我们希望引起你对某个代码块中特定部分的注意时,相关行或项会以粗体显示:
[default]
exten => s,1,Dial(Zap/1|30)
exten => s,2,Voicemail(u100)
exten => s,102,Voicemail(b100)
exten => i,1,Voicemail(s0)
任何命令行输入或输出都如下所示:
# cp /usr/src/asterisk-addons/configs/cdr_mysql.conf.sample
/etc/asterisk/cdr_mysql.conf
新术语和重要词汇以粗体显示。在屏幕上看到的词语,例如菜单或对话框中的内容,会以这种形式出现在文本中:“Web PI 提供了一个单击选项,名为Windows Azure Pack: Portal and API Express”
注意
警告或重要提示以框中的形式显示,如下所示。
提示
小贴士和技巧显示如下。
读者反馈
我们始终欢迎读者的反馈。告诉我们您对这本书的看法——您喜欢或不喜欢什么。读者反馈对我们来说非常重要,因为它帮助我们开发出您能够真正获得最大收益的书籍。
要向我们发送一般反馈,请通过电子邮件发送至<feedback@packtpub.com>,并在邮件的主题中提及书名。
如果您在某个领域拥有专长,并且有兴趣撰写或参与书籍的编写,请参阅我们的作者指南:www.packtpub.com/authors。
客户支持
现在,作为 Packt 书籍的自豪拥有者,我们为您提供了许多帮助,帮助您充分利用您的购买。
下载本书的彩色图片
我们还为您提供了一份 PDF 文件,其中包含了本书中使用的截图/图表的彩色图片。彩色图片将帮助您更好地理解输出结果的变化。您可以从以下链接下载该文件:
勘误
尽管我们已经尽力确保内容的准确性,但错误仍然可能发生。如果您在我们的书籍中发现错误——可能是文本或代码的错误——我们将非常感激您能报告给我们。这样,您不仅能避免其他读者的困扰,还能帮助我们改进后续版本的书籍。如果您发现任何勘误,请通过访问www.packtpub.com/submit-errata,选择您的书籍,点击勘误提交表单链接,并输入勘误的详细信息。一旦您的勘误被验证,您的提交将被接受,勘误将上传到我们的网站,或添加到该书籍的勘误列表中。
要查看之前提交的勘误,请访问www.packtpub.com/books/content/support,并在搜索框中输入书名。所需的信息将显示在勘误部分。
盗版
网络上侵犯版权的盗版问题在所有媒体中都在持续存在。在 Packt,我们非常重视版权和许可的保护。如果您在网络上发现我们作品的任何非法副本,请立即提供该副本的网址或网站名称,以便我们采取措施进行处理。
如果您发现涉嫌盗版的内容,请通过电子邮件联系我们,邮箱地址是<copyright@packtpub.com>,并附上盗版内容的链接。
我们感谢您在保护我们的作者和我们为您带来有价值内容方面的帮助。
问题
如果你在本书的任何方面遇到问题,可以通过 <questions@packtpub.com> 联系我们,我们将尽力解决问题。
第一章:了解 Windows Azure Pack 及其架构
本章将介绍微软 Cloud OS 视野以及 Windows Azure Pack 在其中的角色。本章将帮助你理解 Windows Azure Pack 云解决方案的概述、功能和服务内容,以及其构建模块。之后,我们将讲解 Windows Azure Pack 组件的架构及其在测试和生产环境中的部署模型。
本章将涵盖以下主题:
-
微软 Cloud OS 视野
-
什么是 Windows Azure Pack?
-
Windows Azure Pack 的功能和服务内容
-
Windows Azure Pack 架构组件和功能
-
Windows Azure Pack 云解决方案构建模块
-
Windows Azure Pack 部署模型
-
集成 Windows Azure Pack 和 System Center 套件以提供 IaaS 服务
微软 Cloud OS 视野
Cloud OS 是微软的混合云解决方案,由 Windows Server、Windows Azure、System Center、Windows Intune 和 SQL Server 组成。微软 Cloud OS 视野使得在微软 Azure 公共云数据中心、客户的本地数据中心或服务提供商数据中心内托管云服务时,能够提供一致的平台和体验。Cloud OS 本质上执行与传统基础设施相同的操作,如服务器和应用程序的配置,但具有云规模的能力和效率。
Windows Azure Pack 为实现 Cloud OS 视野做出了重要贡献,它将微软 Azure 的功能和经验引入组织的私有云和服务提供商云中。这为使用微软技术提供云服务提供了一个统一、一致的平台。
下面是微软白皮书《Cloud OS 的统一管理:System Center 2012 R2》中的一句话,可以对其进行总结:
"微软对于 IT 新时代的愿景提供了一个一致的平台,用于基础设施、应用程序和数据:Cloud OS。Cloud OS 跨越你的数据中心环境、服务提供商数据中心以及 Windows Azure,帮助你轻松且具有成本效益地将业务云优化。"

提示
关于微软 Cloud OS 的更多信息,请访问 www.microsoft.com/en-in/server-cloud/cloud-os/。
什么是 Windows Azure Pack?
Windows Azure Pack 是微软的一种解决方案,它与 Windows Server 2012 R2、System Center 套件、SQL 和 IIS 服务器集成。它们共同提供了一个面向组织和服务提供商的企业级云解决方案。Windows Azure Pack 将微软公共云的功能(即微软 Azure 的能力)带入你的数据中心。
Windows Azure Pack 由一系列 Azure 技术组成,使组织能够拥有企业级的自助服务和多租户云,并提供一致的 Microsoft Azure 公共云体验。为消除混淆,Windows Azure Pack 独立运行于 Microsoft Azure 云,并部署在组织自己的数据中心;由组织自行管理和运营。
Windows Azure Pack 提供包括虚拟机(基础设施即服务)、数据库即服务(DBaaS)、平台即服务(PaaS)等云服务,并具有启用自定义服务架构的灵活性,能够提供任何服务(XaaS)。
Windows Azure Pack 主要可用于以下使用场景:
-
作为组织的私有云解决方案
-
作为云服务提供商,即云转售商,作为托管云平台
令人惊讶的是,Microsoft 客户可以免费使用 Windows Azure Pack。
注意
其他 Microsoft 组件的许可,如 Windows Server、System Center、SQL Server 等,必须考虑用于云管理和工作负载基础设施。
用于组织私有云的 Windows Azure Pack
在当今云计算时代,组织的 IT 部门正逐渐转变为各个团队和业务部门(LOB)的 IT 服务提供商。在传统的计算模型中,不同的团队会向 IT 部门寻求 IT 需求,这通常是一个相当漫长的过程,涉及多个级别的审批、硬件/软件采购、实施、服务、计划安排等。该模型中,基础设施的准备本身就需要大量时间和资源,这导致在应用部署时面临各种限制。当涉及到测试和开发环境相关的请求时,情况会更加复杂。
私有云能够大幅度消除这些挑战。例如,借助私有云解决方案,开发团队可以通过一个易于使用的自助服务门户请求具有所需规格和中间件组件的虚拟机,而无需与 IT 基础设施提供部门进行繁琐的电子邮件沟通。在这种私有云基础设施中,开发团队可以期望在几分钟内就能准备好用于应用程序的服务器,而在传统模型中,这可能需要几天时间。
Windows Azure Pack 是一个平台,能够帮助组织以非常高效的方式获得所有私有云的好处和功能。让我们来看看私有云的几个主要要求和特性,以及通过 Azure Pack 提供的解决方案:
-
熟悉的技术和操作简便性:任何私有云解决方案的一个重要方面是该解决方案必须仅由组织的 IT 人员进行管理。技术应该是熟悉的并且容易管理。Windows Azure Pack 与微软产品(如 Windows Server、System Center、SQL、IIS 等)集成,这些产品已经被全球组织用于其 IT 需求。
-
自服务门户和自动化配置:Windows Azure Pack 提供与微软公共云客户相同的自服务租户门户,并结合 SPF、SMA 和 SCVMM 实现自动化配置。有关这些角色的内容将在后续主题中介绍。
-
有效利用现有基础设施:Windows Azure Pack 可以利用现有基础设施来配置工作负载,并通过验证过的 Hyper-V 和 SCVMM 功能(如动态内存、动态优化、差异磁盘等)实现有效利用。
-
支持软件定义基础设施技术:Windows Azure Pack 可以利用软件定义基础设施组件,如 SDN 和 SDS。这可以大大有助于实现硬件独立性,并避免昂贵的专有硬件购买。一个例子是使用 SDS 产品配合普通硬件服务器和磁盘机柜,而不是企业级存储阵列。
-
动态控制与计费回收:不同的团队和业务部门有不同的 IT 需求;例如,HR 部门可能需要更多存储空间来存储数据,而财务部门则可能需要更多的计算能力和存储空间。Windows Azure Pack 内置的计划和使用服务可以帮助更好地控制不同业务资源的使用,并通过计费回收进行财务管理。
-
支持多厂商操作系统和应用程序:由于 Windows Azure Pack 云集成了 Hyper-V 和 System Center,它支持广泛的操作系统,包括各种 Windows 和 Linux 版本、虚拟化供应商(默认是 Hyper-V,通过合作伙伴提供 VMware 解决方案)以及应用程序/数据库产品。
-
自定义云服务:每个组织可能都有一些特定的自定义需求,这些需求仅限于某个特定实体或团队。Windows Azure Pack 的客户产品为组织提供了灵活性,允许其设计和开发自定义服务,并将其与 Windows Azure Pack 集成,以实现云功能。
注意
并非在使用 VMware 作为虚拟化管理程序时,所有功能或自服务能力都可以使用。此内容将在第十章中详细介绍,通过合作伙伴解决方案扩展 Windows Azure Pack 能力。
Windows Azure Pack 面向云服务提供商
Windows Azure Pack 为云服务提供商(如转售商/托管服务提供商)提供了灵活性,能够为客户提供与 Microsoft Azure 云一致的体验和功能。在这种场景下,Windows Azure Pack 组件在服务提供商的数据中心运行,并为外部或内部客户提供服务。
Windows Azure Pack 为服务提供商提供了构建自己的云平台的能力,以较低的成本托管服务,并使用经过验证的 Azure 技术,使其能够赢得越来越多的业务。这为云服务提供商和 Microsoft 带来了双赢的局面,因为 Microsoft Azure 技术的足迹正在拓展到 Azure 数据中心以外的云市场。
云服务提供商的主要关注点是提供真正的多租户、自服务云平台,并具有极高的自动化可能性,这与我们之前讨论的组织私有云需求有所不同。让我们来看看服务提供商云解决方案的一些主要需求,以及如何通过 Windows Azure Pack 来满足这些需求:
-
赢得更多云业务:这不是云解决方案的直接技术需求,但却是任何服务提供商业务中最重要的方面之一。服务提供商需要赢得客户的信任,才能让客户的工作负载在提供商的云中运行。Windows Azure Pack 使用与全球领先的公共云 Microsoft Azure 相同的技术,为全球客户提供服务。这将帮助服务提供商以更低的成本向客户提供经过验证的技术,从而赢得越来越多的业务。
-
真正的多租户产品:云服务提供商必须满足不同客户的多样化需求。真正的多租户架构,在门户、产品、服务质量(QoS)等方面是任何提供商云平台必不可少的。Windows Azure Pack 通过租户门户、Windows Azure Pack 计划和订阅等功能实现了这些特性。
-
网络隔离与扩展能力:在同一数据中心运行的客户工作负载将拥有不同的网络、安全需求,并且需要完全隔离开来。Windows Azure Pack 的虚拟网络利用网络虚拟化技术,为客户的工作负载提供完全的网络隔离。Windows Azure Pack 的站点到站点 VPN 功能,使用网络虚拟化网关,使客户能够将本地网络扩展到服务提供商的云网络,从而实现混合场景。
-
广泛的云服务产品(IaaS、PaaS 等):Windows Azure Pack 云解决方案支持多种内置的自服务 IaaS、PaaS 和 DBaaS 产品,并具备添加自定义服务产品的能力。
-
使用与计费:Windows Azure Pack 云解决方案具备使用和计量功能,可与 SCOM(系统中心操作管理器)计费或其他第三方使用和计费解决方案(如 Cloud Assert 等)结合使用,提供企业级云计费解决方案。
-
极致的自动化可能性:通过与 Windows Azure Pack 集成的服务管理自动化(SMA),服务提供商可以为其环境编写专门的自动化工作流(使用 PowerShell 工作流),从而实现完全自动化的云解决方案。结合 SMA,标准的微软自动化解决方案如系统中心 Orchestrator 和 Windows PowerShell 可以被用来自动化操作。
-
优化的资源使用:Windows Azure Pack 云解决方案利用经过验证的企业级 Hyper-V 虚拟化技术,最大化硬件和软件资源的利用率。
-
自定义服务:Windows Azure Pack 提供了通过其门户添加自定义服务的选项,允许服务提供商添加与默认服务不同的独特自定义服务。
Windows Azure Pack 的功能和服务
Windows Azure Pack 与系统中心和 Hyper-V 一起提供企业级 IaaS(基础设施即服务)、PaaS(平台即服务)和 DBaaS(数据库即服务)功能。以下是 Windows Azure Pack 部署后提供的主要功能和能力:
-
云管理员管理门户:Windows Azure Pack 服务管理门户为管理员提供了创建和管理云服务目录、资源提供商、租户用户账户、计划和订阅等功能。该门户将由组织或服务提供商的云管理员使用。
-
租户管理门户:租户的服务管理门户由租户管理员使用,用于自服务功能。通过这个门户,租户可以配置、管理和监控他们可用的云服务,如 IaaS、网站和数据库。
-
服务管理 REST API:服务管理 API 是管理门户功能的核心。它可以用于提供自定义资源服务和门户集成。
-
虚拟机:这是使用 Windows Azure Pack 提供的核心服务之一。它提供基于 Hyper-V 和系统中心的 Windows 和 Linux 虚拟机。包括适用于不同操作系统版本的 VM 画廊项目、虚拟机角色用于自动化服务配置(在虚拟机部署后)以及扩展选项。
-
虚拟网络:Windows Azure Pack 租户门户为租户管理员提供了自助服务功能,可以创建自己的虚拟网络以及所需的 IP 模式和 VPN 配置。它使用 System Center 和 Hyper-V 网络虚拟化技术。虚拟网络还提供站点到站点 VPN 功能,可以将客户的本地网络扩展到云提供商的网络,以满足混合云需求。
-
数据库:此提供为 MS SQL 服务器和 MySQL 数据库服务器提供了 DBaaS 功能。租户可以使用租户服务管理门户创建数据库,这些数据库可以被 Web 服务器或任何其他应用程序用于数据库需求。
-
网站:Windows Azure Pack 提供可扩展的共享 Web 托管平台,服务提供商或组织可以利用该平台运行 Web 工作负载。这与 Microsoft Azure 公共云网站功能一致。除了支持 ASP.NET、PHP 和 Node.js 应用程序外,网站云还提供内置的用于流行 Web 应用程序(如 WordPress)的库项,并与自定义开发的应用程序和系统集成。
-
自动化:Windows Azure Pack 包括通过与 System Center Orchestrator 产品的一部分 Service Management Automation(SMA)集成,实现在环境中启用自定义自动化的功能。通过 SMA 集成,可以编写和执行自定义运行簿和工作流程。
-
自定义服务:Windows Azure Pack 架构允许将额外的自定义服务集成到服务目录中。这些功能允许云服务提供商提供任何服务。组织和服务提供商可以为自定义服务提供启用自定义资源提供程序的设计和开发。
-
服务总线:此服务使得在分布式应用程序之间提供可靠的异步消息传递服务成为可能。服务总线通过允许本地 Web 服务投影公共端点,解决了在本地应用程序和外部世界之间通信的挑战。
提示
Windows Azure Pack 支持英语、德语、西班牙语、法语、意大利语、日语、简体中文、繁体中文、巴西葡萄牙语、韩语和俄语。
Windows Azure Pack 组件和功能
现在我们了解了什么是 Windows Azure Pack,以及它的功能和服务提供,是时候深入技术细节,深入了解构成 Windows Azure Pack 的各个部分了。
Windows Azure Pack 由一系列站点和 API 端点组成,负责其不同的功能。Windows Azure Pack 组件可以分为以下两类:
-
强制组件
-
可选/依赖组件
强制组件必须在每个 Windows Azure Pack 部署中安装,而可选组件的部署取决于使用情况。
注意
Windows Azure Pack 组件使用 SQL 服务器数据库来存储其配置和运行时数据,这些数据高度依赖于数据库的可用性。
Windows Azure Pack 组件如下:
必需组件:
-
服务管理 API:
-
管理员 API
-
租户 API
-
租户公共 API
-
-
认证站点:
-
管理员认证站点
-
租户认证站点
-
-
服务管理门户:
-
管理员管理门户
-
租户管理门户
-
可选或依赖组件:
-
资源提供者扩展(虚拟机云、网站等)
-
服务总线
-
自动化和可扩展性
-
PowerShell API
-
SQL 服务器和 MySQL 服务器扩展
-
使用扩展(服务)
-
使用扩展(收集器)
-
监控扩展
-
合作伙伴启用解决方案扩展(例如,vConnect、GridPro 等)
-
客户资源提供者扩展
-
Windows Azure Pack BPA(最佳实践分析器)
让我们了解前述组件的角色和功能:
-
服务管理 API:一组服务管理的 REST API。API 是通过管理门户和 PowerShell 模块访问 Windows Azure Pack 云服务的核心端点。我们可以将 API 看作是管理门户和 PowerShell 模块的支柱,使得云服务能够与其他云基础设施进行集成。
总共有三个 API 接口,按其功能区分如下:
-
管理员 API:管理员 API 负责通过管理门户或 PowerShell 模块执行 Windows Azure Pack 中的管理任务。此 API 通常托管在企业局域网(LAN)内,即它们不会暴露给公共互联网。
-
租户 API:租户 API 负责执行租户的管理任务,例如通过租户管理门户或 PowerShell 模块配置和管理服务。此 API 不会暴露给公共互联网。
-
租户公共 API:租户公共 API 还使租户能够配置和管理他们订阅的云服务。通常,它是公开暴露的。这使得租户能够在其订阅上使用 Azure Pack PowerShell 模块进行自定义自动化任务。
除了云服务的配置和管理外,租户公共 API 使租户能够在没有管理员门户和 SMA 参与的情况下,为其云工作负载配置自定义自动化任务。
-
-
身份验证站点:身份验证站点为云管理员和租户的管理界面提供身份验证服务。当云管理员或租户用户打开各自的门户时,他们会被重定向到身份验证站点,使用其 Windows AD 凭据或 ASP.NET 凭据进行登录。如果需要,也可以使用 Active Directory 联合身份验证服务(ADFS)身份验证替代默认身份验证。成功登录后,页面将重定向到各自的管理门户。总共有两个身份验证站点:
-
管理员身份验证站点:该站点负责为管理员管理界面提供身份验证服务。默认情况下,它使用 Windows 身份验证作为身份验证源。也可以配置为支持 ADFS 作为身份验证源。该站点通常不会对外暴露在公共互联网中。
-
租户身份验证站点:该站点负责为租户管理界面提供身份验证服务。默认情况下,它使用 ASP.NET 会员提供程序进行用户身份验证。也可以配置为支持 ADFS 作为身份验证源。通常,该站点会暴露在公共互联网中,以支持租户通过互联网访问。
-
-
服务管理门户:服务管理门户是基于 HTML5 构建的网站,供管理员和租户用于云服务的创建和管理。这些门户提供与 Microsoft Azure 公有云门户类似的体验。总共有两个服务管理门户:
-
管理员管理门户:在此门户中,云管理员配置和管理资源提供者,例如 IaaS 云、网站云、目录库项、计划和用户订阅、数据库资源提供者等。此门户仅限云管理员访问,通常不会对外暴露在公共互联网中。
-
租户管理门户:这是租户用于自助服务的界面,可以进行云服务的创建、管理和监控,例如网站、虚拟机、数据库等。租户还可以通过此门户注册并订阅可用的 Azure Pack 计划。通常,该门户会暴露在公共互联网中。
-
-
可选组件:可选组件通常需要启用资源提供者扩展以及任何其他第三方解决方案/自定义产品的集成。以下是一些重要的可选组件角色及其功能:
-
虚拟机云:此组件允许 Windows Azure Pack 为 Windows 和 Linux 虚拟机以及虚拟网络提供 IaaS(基础设施即服务)服务。虚拟机云需要 SPF(服务提供者基础)和 SCVMM(系统中心虚拟机管理器)才能正常运行。
-
WebSite 云扩展:此扩展允许 Windows Azure Pack 提供网站即服务(PaaS)功能给租户。它可以与其他 Windows Azure Pack 内部组件共同安装。为了提供功能,它需要与网站云资源提供者的基础设施进行集成,详细内容将在第七章,交付 PaaS – 网站云与服务总线中讨论。
-
SQL 和 MySQL 资源提供者:此扩展为租户提供数据库即服务(DBaaS)功能。MS SQL Server 和 MySQL 数据库可以通过 Windows Azure Pack 和数据库资源提供者基础设施来提供。
-
使用扩展(API 和收集器):Windows Azure Pack 提供了一项服务,用于收集云中所提供服务的使用情况,以便拥有企业级的计费和计量系统。合作伙伴可以使用此服务开发自定义计费解决方案,并与 Windows Azure Pack 使用情况服务集成,以实现自动化和一致的计费模型。收集器服务从每个资源提供者(如虚拟机云、网站等)收集使用数据,并将数据存储在使用数据库中。使用 API 即使用服务,客户的计费解决方案可以通过它来提取这些数据。
-
服务总线扩展:此扩展实现分布式应用程序之间的可靠消息传递服务。它与 Microsoft Azure 服务总线功能相似,提供基于队列和主题的发布/订阅功能。
-
合作伙伴提供和自定义扩展:此扩展包括合作伙伴为 Windows Azure Pack 提供的可扩展性解决方案,如 GridPro 提供的请求管理、CloudAssert 提供的 vConnect 用于 VMware 集成等。开发人员还可以创建自定义扩展以添加自定义的云服务。
-
Windows Azure Pack 云解决方案构建模块
Windows Azure Pack 云解决方案有不同的基础设施组件来支持每种云服务,以交付特定的服务。上述讨论的 Windows Azure Pack 组件将保持一致,并与其他系统中心及其他 Microsoft 组件集成,以提供如 IaaS 和 PaaS 等功能。
通常,每个服务都需要一个扩展,可以与 Windows Azure Pack 组件一起安装,并负责门户集成和扩展(管理员和租户集成)。该扩展与资源提供者的基础设施组件(如 SCVMM、SQL 服务器等)直接或间接通信,以提供和管理服务。
以下截图展示了 Windows Azure Pack 云解决方案的主要组件,提供 IaaS、DBaaS 和 PaaS 服务。

Windows Azure Pack 云 IaaS 服务解决方案组件
为了启用包括 Windows 和 Linux 虚拟机、虚拟网络的 IaaS 服务,Windows Azure Pack 云解决方案需要部署并集成以下组件:
-
Windows Azure Pack 组件
-
服务提供商基础(SPF)
-
系统中心虚拟机管理器 2012 R2(SCVMM)
-
Hyper-V 2012 R2 主机和集群(用于云管理和工作负载)
-
Windows Azure Pack、SPF 和 SCVMM 的 SQL 数据库服务器
-
Windows/Linux 虚拟机模板和画廊项目
-
计算、网络和存储的可用性
-
服务管理自动化(SMA-可选)
Windows Azure Pack 虚拟机云服务使用 SPF 与 SCVMM 通信,来配置和管理虚拟机资源。所有由管理员或租户执行的虚拟机任务都由 SPF 传递给 SCVMM 执行,也就是说,SPF 负责通过 SCVMM 完成工作。SMA 与 Windows Azure Pack 和 SPF 集成,为云提供自定义自动化功能。IaaS 服务还包括通过 SCVMM 使用 Hyper-V 网络虚拟化为租户提供的虚拟网络自助服务配置。
IaaS 云的详细构建程序将在第二章,准备云基础设施和第四章,构建虚拟机云与 IaaS 服务中讨论。
网站云解决方案组件(PaaS 服务)
网站云需要部署以下组件,以为网站云服务提供 PaaS 能力。
Windows Azure Pack 与网站管理服务器通信,进行与网站云相关的操作。
网站的服务器角色包括:
-
Windows Azure Pack 组件
-
网站控制器
-
管理服务器
-
网站工作者
-
前端
-
文件服务器
-
发布者
-
网站云 API 数据库、运行时数据库和应用程序数据库的 SQL DB 服务
前述组件的部署和架构将在第七章,交付 PaaS - 网站云与服务总线中讨论。
DBaaS 服务解决方案组件(SQL 和 MySQL)
在 Windows Azure Pack 云中添加 DBaaS 服务包括以下组件:
-
Windows Azure Pack 组件
-
租户工作负载的 SQL 服务器(独立服务器或使用 SQL HA 或 Always On 的集群)
-
租户工作负载的 MySQL 服务器
Windows Azure Pack 数据库扩展 API 直接与数据库服务器通信,以为租户配置和管理数据库。这些组件的部署和架构将在第八章,交付数据库即服务中讨论。
服务总线提供的解决方案组件
服务总线是另一个使用 Windows Azure Pack 云的 PaaS 产品,它帮助开发人员构建和运行基于消息驱动的应用程序。它与 Microsoft Azure 服务总线一致,提供类似的可扩展性和弹性。服务总线产品的解决方案组件包括以下内容:
-
Windows Azure Pack 组件
-
服务总线集群(基于 Windows Server 2012 R2)
-
服务总线的 SQL 服务器数据库
服务总线的部署和架构将在 第八章,提供数据库即服务 中讨论。
自定义资源提供程序
Windows Azure Pack 提供了允许自定义资源提供程序将额外服务添加到云目录中的功能。自定义提供程序的组件将依赖于其架构,但通常包括资源提供程序的应用程序服务器及其数据库,并通过其自定义扩展与 Windows Azure Pack 集成。
在常见场景中,自定义资源提供程序的解决方案包括以下组件:
-
Windows Azure Pack 组件
-
自定义资源提供程序 Windows Azure Pack 管理员和租户扩展
-
自定义资源提供程序架构
注释
几乎所有的产品都需要一般的 Microsoft 基础架构组件,如 Active Directory、DNS 等。
Windows Azure Pack 部署模型
Windows Azure Pack 组件,包括必需和可选组件,可以根据用例在不同架构中部署。所有组件都要求使用 Windows Server 2012 或 2012 R2 作为操作系统,并可以部署在虚拟或物理机器上。建议使用虚拟机,以利用虚拟化级别的保护和其他功能。所有组件可以通过为每个组件配置两个或更多服务器的冗余方式进行部署,从而消除任何单点故障。Windows Azure Pack 组件使用 Microsoft SQL Server 进行数据库需求,也可以通过 SQL 高可用性技术来保护免受故障影响。
主要有两种部署架构用于 Windows Azure Pack 组件,并为不同需求提供进一步的部署拓扑:
-
Express 部署架构
-
分布式部署架构
Express 部署架构
在 Express 部署架构中,所有 Windows Azure Pack 必需组件都安装在单台机器上,而可选组件可以安装在同一台机器上或另一台机器上。此模型不推荐用于生产部署,仅应用于测试和评估目的。
Windows Azure Pack Express 安装通过 Microsoft Web Platform Installer 完成。对于 Express 部署,Web PI 提供一个单击选项,即 Windows Azure Pack:Portal 和 API Express,该选项将根据需求在单台机器上安装所有 Windows Azure Pack 必需和可选的组件。
在快速部署模型中,MS SQL Server(Express)也可以安装在同一服务器或单独的服务器上。
提示
Microsoft Web 平台安装程序(Web PI)是一个免费工具,可以帮助您获取 Microsoft Web 平台的最新组件,如 IIS、SQL Server Express、Windows Azure Pack 等等。Web PI 还帮助更轻松地安装这些组件。您可以从www.microsoft.com/web/downloads/platform.aspx下载 Web PI。

上图展示了在 Windows Azure Pack 快速部署模型中安装在机器上的组件。快速部署的最低硬件要求为两个 CPU,8GB 内存(无动态内存),并且需要 40GB 可用磁盘空间。详细的快速部署架构部署过程将在第三章中涵盖,安装和配置 Windows Azure Pack。
注意
快速部署仅适用于测试和评估目的,不应在生产环境中使用。
尽管 Windows Azure Pack 组件可以安装在 Windows Server 2012 或 2012 R2 操作系统上,但像 ADFS、SMA 支持等所有功能可能不会在部署在 Windows 2012 上时可用。建议使用安装了最新补丁和更新的 Windows Server 2012 R2 来获取所有功能和特性。
分布式部署架构
分布式部署架构允许在不同服务器上安装 Windows Azure Pack 角色,以提高可靠性和可扩展性。在这种部署模型中,每个组件可以安装在单独的服务器上或与其他角色共同放置,根据功能和需求。可以为每个角色添加冗余服务器和负载均衡器,以消除每个层级的单点故障。
对于生产部署推荐采用分布式部署模型,提供了横向扩展的能力。接下来的图示展示了一个没有高可用性的示例分布式部署架构。
在以下示例架构中,Windows Azure Pack 组件将安装在三个不同的服务器上,这些组件可以从 Internet 访问(租户管理员门户、认证站点和租户公共 API),这些服务器位于单独的网络区域(称为 DMZ 面向 Internet 的区域),并且通过防火墙与其他网络区域隔离。其余的 Windows Azure Pack 强制组件和面向 Internet 的组件按照安全最佳实践放置在单独的网络区域。所有服务器可以部署为任何 Hypervisor 主机上的虚拟机。
| 每个 Windows Azure Pack 服务器的最低硬件配置要求 |
|---|
| CPUs |
| RAM |
| 可用磁盘空间 |
注意
为了符合产品特定的指南,资源提供者服务器的硬件要求、高可用性和可扩展性如以下截图所示:

注意
在所有部署模型中,应根据产品特定的最佳实践部署标准的 Microsoft 基础设施服务,如 Active Directory、DNS 和 Fabric。此架构图仅限于 Windows Azure Pack 组件的部署。
最小化生产部署示例架构
分布式部署架构为用户提供了灵活性,可以根据冗余、可扩展性和安全性等需求来设计和部署 Windows Azure Pack 组件。最常见的生产部署模型之一是拥有最小占用并且没有单点故障的生产就绪架构。以下图示展示了一个具有冗余的最小化部署示例架构。

在上述示例架构中,Windows Azure Pack 组件所需的虚拟机数量为六个(不包括基础设施和资源提供服务器)。所有 Windows Azure Pack 必需的组件按功能和网络区域部署的不同,主要分为三类。
Windows Azure Pack 租户服务器:租户服务器包括租户管理门户、租户公共 API 和租户身份验证站点。两台服务器通过负载均衡提供冗余和可扩展性。由于这些服务器将面向互联网,它们必须部署在 DMZ 网络区域。
| 每台 Windows Azure Pack 租户服务器的硬件配置要求 |
|---|
| CPUs |
| RAM |
| 可用磁盘空间 |
Windows Azure Pack 管理服务器:管理服务器包括管理员管理门户、管理员 API、租户 API 和管理员身份验证站点。
两台服务器通过负载均衡提供冗余和可扩展性。由于这些服务器不会面向互联网,它们必须部署在内部网络区域。
| 每台 Windows Azure Pack 管理服务器的硬件配置要求 |
|---|
| CPUs |
| RAM |
| 可用磁盘空间 |
Windows Azure Pack 数据库服务器:在此示例中,考虑使用 2 节点 SQL 集群 / AlwaysOn 来提供 Windows Azure Pack 和 System Center 组件的数据库。此集群托管在内部网络区域,为云管理结构数据库提供冗余。
| SQL 数据库节点的硬件配置要求 |
|---|
| CPUs |
| RAM |
| 可用磁盘空间 |
资源提供者的规模和可用性最佳实践应根据产品特定的指南进行部署。
该架构适用于 SMB 组织和云服务提供商,因为它提供了最小的生产部署可行性,并且在特定需求下具备定制化的可能性。
扩展生产部署示例架构
在此示例架构中,Windows Azure Pack 解决方案的每个组件将部署在单独的专用服务器上,并提供冗余以消除任何单点故障。这种架构最适合大型企业和云服务提供商。接下来的图表将展示组件的部署模型和布局,以及最小配置。
为了在此架构中部署 Windows Azure Pack 组件,架构中需要总共 16 台虚拟机,其中包含八个故障转移/LB 集群。
| 每台 Windows Azure Pack 服务器的最小硬件配置要求 |
|---|
| CPU |
| 内存 |
| 可用磁盘空间 |

扩展 Windows Azure Pack 云部署
可扩展性是任何云解决方案中最重要的方面之一。云解决方案必须支持在基础设施规模发生变化时无需大幅更改且服务不中断的可扩展性。Windows Azure Pack 具备根据需要进行扩展的能力。为了支持扩展,Windows Azure Pack 必须以分布式模型进行部署;最佳选择是为每个组件配备专用服务器,从而以最小的努力进行扩展。
在常见场景中,特别是对于租户相关的组件,随着时间推移,租户的工作负载可能会增加,因此需要进行扩展。
在扩展 Windows Azure Pack 部署时,需要注意一些事项,具体如下:
-
租户 API 和管理门户扩展:租户管理门户需要与租户 API 一同进行扩展,反之亦然。当你扩展租户的管理门户时,还需要扩展租户 API。
-
扩展租户身份验证站点:租户身份验证必须根据 ADFS 服务器进行扩展。在此场景中,租户身份验证站点需要与 ADFS 部署相对应。
-
扩展工作负载基础设施:租户工作负载基础设施的扩展取决于使用的工作负载框架。在 IaaS 工作负载的情况下,System Center 和 Hyper-V 通过非中断性地添加更多计算、网络和存储资源,提供高度可扩展的能力。DBaaS 和 PaaS 服务也适用相同的原理。在大多数场景中,可以根据需要添加额外的资源,而不会造成中断。
注意
在扩展资源提供者的工作负载基础设施时,请参考产品特定的指南(例如 SQL 服务器、IIS、服务总线等)。
集成 Windows Azure Pack 和 System Center 套件以提供 IaaS 服务
Windows Azure Pack 利用 System Center 2012 R2 产品以及 Hyper-V 来提供基础设施即服务(IaaS)。System Center 套件是一组紧密集成的多个产品,帮助实现统一管理和配置整个数据中心或云基础设施。System Center 套件支持微软和非微软基础设施的集成。
系统中心组件负责在 Windows Azure Pack 云中提供 IaaS 服务。可与 Windows Azure Pack 集成的系统中心产品如下:
-
系统中心服务提供商基础设施:SPF 为系统中心产品增加了多租户支持。作为系统中心 Orchestrator 媒体的一部分,它提供了一个可扩展的 OData API,基于 REST Web 服务,允许程序化的多租户接口与系统中心虚拟机管理器集成。Windows Azure Pack 使用 SPF 与 SCVMM 集成,用于 IaaS 工作负载配置和生命周期管理。
-
系统中心虚拟机管理器:SCVMM 是虚拟化基础设施配置和管理计算(虚拟化主机)、网络和存储资源以部署虚拟机和服务的管理解决方案。VMM 还通过 Hyper-V 网络虚拟化实现软件定义网络功能。Windows Azure Pack 使用 SCVMM 来配置和管理云、虚拟机、虚拟网络和其他 IaaS 服务。
-
系统中心服务管理自动化(可选——用于自定义自动化功能):SMA 是 Windows Azure Pack 云基础设施的自动化解决方案。它支持在 Windows Azure Pack 云解决方案中进行资源的配置、监控和生命周期管理。它作为系统中心 Orchestrator 的一部分提供。
-
系统中心操作管理器(可选——用于监控和使用计量):SCOM 是一款监控和使用计量解决方案。它可以在 Windows Azure Pack 云中用于实时监控基础设施资源(通过 SCOM 控制台)和使用计量(通过合作伙伴解决方案,如 CloudAssert、Cloudcruiser 等)。
注意
其他系统中心产品也可以通过合作伙伴提供商解决方案与 Windows Azure Pack 集成(例如,GridPro 使得系统中心服务管理器与 Windows Azure Pack 集成,实现请求管理解决方案)。虽然某些组件可能无法直接与 Windows Azure Pack 集成以实现自助服务,但这些组件可以在云基础设施中使用,按产品特定功能增加能力。
云管理解决方案中的其他系统中心产品功能包括:
-
System Center 配置管理器:在基于 Windows Azure Pack 的云环境中,SCCM 部署有助于合规性管理、资产智能与库存、补丁解决方案和设备管理。SCCM 必须通过 SCCM 管理控制台进行管理,目前没有与 Windows Azure Pack 门户集成的功能。
-
System Center 数据保护管理器:DPM 是一个企业级备份解决方案。它可以用于云管理和工作负载资源的备份与恢复。DPM 提供诸如虚拟机和应用程序集中备份与细粒度恢复能力等功能。DPM 还可以将备份数据归档到 Microsoft Azure,从而支持混合场景。
-
System Center 服务管理器:它为云基础架构提供 IT 服务管理解决方案。SCSM 基于 Microsoft 操作框架(MOF)和 信息技术基础设施库(ITIL)的框架构建。它提供了处理事件和变更管理、变更控制和生命周期管理的内建流程。GridPro 提供了一种将 SCSM 与 Windows Azure Pack 集成的方式,从而启用有效的请求管理解决方案。
-
System Center 端点保护:端点保护是针对 Microsoft 平台的反恶意软件和安全解决方案。它可以与 SCCM 配合使用,提供企业级的端点管理解决方案。
-
System Center 应用控制器:应用控制器为 VMM 基础设施提供自助服务体验,并支持在 Microsoft Azure 中配置工作负载。
-
System Center 编排器(SCORCH):SMA 和 SPF(如上所述)是 SCORCH 产品的一部分,并与 Windows Azure Pack 紧密集成,以提供 IaaS 服务。除了 SMA 和 SPF,编排器还为数据中心提供工作流管理解决方案。编排器可以自动化数据中心的资源部署和管理操作。
摘要
在本章中,我们了解了 Microsoft Cloud OS 的愿景以及 Windows Azure Pack 如何为此做出贡献。我们了解了 Windows Azure Pack 提供的能力和服务,以及其架构组件的概述和功能。
我们了解了 Windows Azure Pack 云解决方案的构建模块,以及所需和可选组件的详细信息。
我们还介绍了 Windows Azure Pack 组件的部署模型,并讨论了几种用于测试和生产环境的云基础架构示例架构。我们讨论了 System Center 产品在提供 IaaS 服务时与 Windows Azure Pack 云的作用。
在下一章,我们将设置云基础设施,Windows Azure Pack 将利用该基础设施进行云管理和租户工作负载处理。
第二章:准备云架构
云架构是任何传统数据中心或云解决方案中最重要、最关键的部分之一。云架构本质上包括但不限于计算、网络、存储和虚拟化管理程序。设计良好并部署的云架构基础设施是确保云或传统数据中心平稳运行的关键。本章将涵盖为基于 Windows Azure Pack 的云解决方案规划和部署云架构的各个方面。这将帮助你理解 WAP 云解决方案的架构需求和部署实践。我们还将包括主要组件的安装和配置,如 SQL 数据库、SCVMM、SPF 等等。我们将讨论为组织的私有云以及服务提供商的云规划的指导原则。此架构基础设施将用于在我们的 WAP 云中提供 IaaS 服务。
本章将涵盖以下主题:
-
云架构基础设施规划
-
Hyper-V 部署最佳实践
-
设置虚拟机以用于云管理架构
-
规划和部署 SQL Server 以用于云管理数据库
-
安装和配置 System Center 虚拟机管理器 (SCVMM)
-
使用 SCVMM 规划和配置云计算虚拟化管理程序层
-
使用 SCVMM 规划和配置云网络
-
使用 SCVMM 规划和配置云存储
-
规划和部署 System Center 服务提供商基础
云架构基础设施规划
规划云架构基础设施需要实践和业务与技术决策者的参与。云架构必须以确保以可靠和高效的方式为业务提供服务的方式进行规划。当前基础设施评估、预测和未来资源规划、云服务目录,以及战略愿景和财务因素是规划云基础设施时需要考虑的关键要素。让我们看看为提供 IaaS 服务规划基于 WAP 的云架构基础设施的基础和基本原则。
选择硬件
在为你的云基础设施选择硬件时,有一长串需要注意的事项。以下是其中一些需要注意的事项:
-
遵循微软认证的硬件和软件支持性与兼容性清单。这不是强制性要求,因为基于 WAP 的解决方案几乎可以安装在任何支持虚拟化的 x86 架构硬件上,然而,建议选择微软认证的硬件,以避免在生产阶段出现任何问题。使用不受支持的硬件时,获得技术支持有时可能会遇到挑战。
-
在选择通用硬件时,检查单个服务器组件(如网卡等)的兼容性和功能。
-
使用支持新功能(如 RDMA 和其他硬件卸载能力)的最新硬件,以充分发挥超管程序和云层的所有能力。
-
检查扩展性灵活性,足够数量的处理器、内存和 PCI 插槽有助于在需要时增加资源。
-
硬件故障是常见的,检查硬件供应商的支持和服务级别协议(SLA)是个好主意,特别是在硬件故障时需要更换部件等。
-
在比较多种硬件选项时,考虑数据中心的物理要求(空间、电力、冷却等)作为其中一个参数,物理要求通常会在现实世界中成为限制因素。
尽管前述所有观点都有效,但当今数据中心技术的趋势包括软件定义战略。通过使用最佳的软件与通用硬件来运行数据中心是可行的,尽管构建通用硬件需要精心规划,但在 WAP 云解决方案中使用通用硬件既是可行的也是合理的。
例如,使用不支持的磁盘驱动器会导致与 IOPS 相关的性能问题,网络接口卡(NIC)的速度和功能也存在类似情况。在设计通用硬件时,需遵循行业最佳实践指南,并确保兼容性与微软 Hyper-V 的功能支持。
选择专有硬件与通用硬件的组合也并不罕见;组织可以选择在专有硬件上运行关键工作负载,以确保性能和支持,而在较不关键或测试与开发工作负载上使用通用硬件。
启用通用硬件选项帮助中小型企业(SMBs)在有限预算内利用企业级虚拟化和云技术来满足 IT 需求。云服务提供商也是如此,预算有限的小型供应商也能利用通用硬件进入云服务市场。
提示
微软的支持性和兼容性列表可以通过www.windowsservercatalog.com/访问。
硬件规格
选择硬件后,接下来的工作是进行规格规划。私有云和服务提供商云的云架构规格规划是一门不同的学问,但其基础是数据中心基础设施的规格规划实践。预测未来的需求是规格规划中最重要的方面,云平台应能够应对未来X年的硬件需求,具体取决于业务策略。微软提供的 MAP 工具包(微软评估与规划)可以帮助组织和服务提供商评估当前基础设施并规划目标基础设施。
让我们来看看一些针对私有云和服务提供商云的主要硬件规格最佳实践和程序。
私有云硬件规格:
-
评估当前的工作负载需求,并根据 Hyper-V 服务器虚拟化尺寸规划指南进行硬件规划,涉及虚拟 CPU、内存等。
-
利用 MAP 工具包评估传统计算中当前运行的工作负载。
-
如果计划进行 P2V 或硬件刷新,请执行服务器整合规划。
-
列出预计的新增工作负载要求(如计划中的新应用等)
-
列出预计在接下来的X年内,计算、网络和存储方面的资源增长需求。
-
如果有需要,分析隔离的基础设施要求(一些应用可能因合规等原因需要在网络/服务器层面上进行隔离)
-
考虑业务连续性和灾难恢复(BCDR)规划因素。
-
汇总所有收集的细节,并根据 Hyper-V 虚拟化和 IT 基础设施规划指南对硬件进行尺寸规划。
-
根据要管理的工作负载,添加云管理基础设施的硬件要求。
为服务提供商云环境规划云硬件:
-
评估客户需求和服务提供商技术领域中的技术要求
-
定义技术产品和灵活性,包括基础设施和应用程序及其架构要求
-
根据服务提供商的战略设定业务目标,例如在接下来的X年内拥有X数量的资源/客户
-
汇总所有收集的细节和战略决策,并根据 Hyper-V 虚拟化和 IT 基础设施尺寸规划指南对硬件进行尺寸规划
-
根据计划管理的工作负载,添加云管理基础设施的硬件要求。
注意
为云或任何传统数据中心进行硬件尺寸规划是完全不同的详细研究和实践。上述指南旨在帮助读者理解云架构硬件规划的基础基础。有关生产环境尺寸规划的产品和实践特定技术及经济指南,请参阅相关资料。
选择 Hypervisor 的部署选项和版本
Microsoft 向 Windows Server 2012 添加了各种企业级虚拟化功能。通过 Windows Server 2012 / R2,Hyper-V 成为支持更大灵活性和可扩展性的企业级验证虚拟化平台。
Microsoft Windows Server 2012 R2 Hyper-V 提供了一个企业级虚拟化平台,适用于基于 WAP 的云解决方案。Hyper-V 可以通过三种方式部署:
-
带 GUI 的 Windows Server 2012 R2 服务器并启用 Hyper-V 角色
-
带 Hyper-V 角色的 Windows Server 2012 R2 服务器核心
-
Hyper-V Server 2012 R2(免费)
带 GUI 的服务器选项安装并配置所有用户界面选项,如服务器管理器、桌面体验等。它以传统方式安装 Windows Server,并提供所有功能和特性。
Server Core版本是完整安装版本的精简版,不会安装 GUI 组件。必须通过命令行、PowerShell 或远程服务器管理选项进行管理。部署 Server Core 版本的好处包括但不限于更少的资源消耗、更小的磁盘占用、更好的安全性(通过减少被移除组件的攻击面,相比 GUI 版本更为安全)等。
推荐在云基础设施中部署 Server Core 作为虚拟化平台的操作系统,因为这些服务器将仅用于运行虚拟机。这样可以在大型基础设施中充分利用 Server Core 部署的优势。
在 Windows Server 2012 及其 R2 版本中,部署后可以在完整版本和核心版之间切换。管理员可以选择初始安装带 GUI 的服务器,配置完成后再切换到核心版本,以便于部署。
Windows Server 版本
Windows Server 有多个版本,如 Essentials、Foundation 等,但主要用于虚拟化需求的有以下两种版本:
-
Windows Server Standard 版
-
Windows Server Data Center 版
Windows Server 的 Standard 和 Data Center 版本是基于处理器授权的,每两个处理器需要一份许可证。两者提供相同的功能集,主要的区别在于虚拟化权限。Standard 版本允许运行两个 Windows Server 操作系统虚拟机,而 Data Center 版本则没有数量限制。以 Windows Server 2012 R2 Standard 版本为例,授权的虚拟化平台可以创建两个虚拟机,运行 Windows Server 2012/R2 Standard 来宾操作系统,无需购买额外的许可。对于运行 Windows Server 2008 R2 操作系统的虚拟机,许可降级权限适用。
为您的云选择合适的版本
选择合适的版本取决于云基础设施中操作系统的类型和数量。如果虚拟化工作负载主要包括 Windows 作为来宾操作系统,建议选择 Data Center 版本。如果虚拟机中的 Windows 操作系统数量不高,Standard 版本既实用又更具预算友好性。
作为最佳解决方案,在大型基础设施中,可以根据虚拟化工作负载的操作系统,灵活使用 Standard 和 Data Center 版本的组合。
对于组织而言,选择合适的版本取决于工作负载的性质,是 Windows 还是非 Windows 系统。服务器提供商可以使用 Data Center 和 Standard 版本的组合来满足客户对 Windows 和非 Windows 基础设施需求的请求。
提示
请参考www.microsoft.com/上的 Windows Server 2012 产品和版本对比指南,以获得各个 Windows 版本之间的详细比较。
免费的 Microsoft Hyper-V Server 2012 R2
Microsoft Hyper-V Server 2012 R2(也称为独立 Hyper-V)是 Microsoft 专有虚拟化技术的免费版本(是的,完全免费)。它是 Windows Server 操作系统的精简版,仅包含虚拟化技术、Windows Server 驱动程序及支持组件,如集群功能。免费 Hyper-V 版本不包括任何除了虚拟化技术以外的 Windows 功能,从而使得它的占用空间更小、管理负担更轻、攻击面更小。
免费的 Hyper-V Server 2012 R2 仅提供 Hyper-V 虚拟化功能,虚拟机的客户操作系统许可需要另行考虑。如果你在虚拟机中运行 Windows Server 操作系统,建议根据 Windows 虚拟机的数量使用标准版或数据中心版。此版本对于虚拟机内客户操作系统非 Windows 的情况非常有用。
免费 Hyper-V 服务器的一个主要应用场景是供组织或服务提供商用于托管非 Windows 工作负载。
注意
在通过定制产品或合作伙伴提供的解决方案扩展 WAP 云解决方案时,务必检查免费 Hyper-V 版本的支持性。
Microsoft Hyper-V 是基于 WAP 的云解决方案的最佳选择,尽管也可以与其他虚拟化技术供应商(如 VMware 和 Citrix)进行集成。查看特定产品指南,以选择版本和部署模型,并在选择 VMware 或 Citrix 时查看功能的支持矩阵。
选择系统中心的部署选项和版本
Microsoft System Center 2012 R2 是提供基于 WAP 的云服务的核心管理组件。系统中心产品可以通过多种方式进行部署,例如:
-
物理机或虚拟机
-
独立模式或高可用模式(取决于产品)
系统中心组件需要 Windows Server 作为操作系统来运行。它可以部署在虚拟机中,也可以部署在物理服务器上。由于我们将所有云管理和租户工作负载虚拟化,因此除非有特定需求或例外情况,否则没有必要将系统中心组件部署在物理服务器上。
对于组织和服务提供商,建议将系统中心组件部署在虚拟机中,以便利用虚拟化技术的高可用性和其他功能。
除了 Hyper-V 的高可用性,部署虚拟机内的客户操作系统或应用级高可用性还可以带来额外的好处,如应用级故障检测和负载均衡。
系统中心产品可以部署在操作系统/应用级集群或冗余模式下。
组织或服务提供商可以根据其可用性业务和技术要求选择独立模式或高可用模式的产品组合。
系统中心版本
系统中心以套件形式提供,包含两个版本。购买系统中心套件后,您可以根据许可使用所有组件(SCCM 除外)。
系统中心套件的两个版本如下:
-
系统中心标准版
-
系统中心数据中心版
许可仅在通过系统中心组件管理一定数量的端点时才需要。运行系统中心组件不需要许可。许可方式与 Windows Server 类似,是基于处理器的许可(每个许可包含两个产品)。标准版和数据中心版在功能上没有差别,差别在于你可以管理的虚拟实例数量。使用标准版时,系统中心可以管理两个OSEs(操作系统环境),而数据中心版则没有此限制。微软的许可政策可能会有所变化,具体取决于 EA/SA 等协议。因此,建议与微软联系,以规划许可和版本。
提示
请参考微软官方网站上的如何购买 System Center 2012 R2页面,了解更多关于许可和版本对比的信息。
为组织和服务提供商选择合适的 System Center 版本与选择 Windows Server 版本直接相关。选择 System Center 数据中心版来管理 Windows Server 数据中心版,反之亦然,这样可以实现一致的功能集和灵活性。
注意
所给出的许可详情是根据撰写本章时的最新信息;许可政策可能会发生变化,建议在规划许可和版本时咨询相关信息。
云管理基础设施和租户工作负载基础设施
云基础设施通常分为两个类别:云管理和租户工作负载。我们来看看这两者:
-
云管理基础设施:管理基础设施或管理集群用于托管云管理组件的虚拟机,如 Windows Azure Pack 服务器和系统中心组件。建议为云管理工作负载专门设置独立的虚拟化集群。管理集群的规模取决于提供的服务数量以及需要管理的租户工作负载的大小。
-
租户工作负载基础设施:租户工作负载基础设施用于托管客户的云资源,如虚拟机和数据库。租户工作负载基础设施的设计必须考虑到可用的云服务、服务质量(QoS)和服务等级协议(SLA)。
核心微软基础设施服务规划
微软基于 WAP 的云解决方案使用微软核心基础设施服务,如 Active Directory、DNS、DHCP 等,进行认证等基础操作。这些核心基础设施服务必须遵循产品特定的指南和行业最佳实践,以确保可用性和效率。接下来,我们来看看核心服务及其部署最佳实践:
-
Active Directory:微软的 AD 是大多数 MS 基础设施解决方案中最关键的组成部分,包括 WAP 云解决方案。AD 用于认证、授权及 WAP 云中的其他功能。AD 部署可以通过冗余(部署额外的域控制器)和安全最佳实践进行规划。应规划定期备份和灾难恢复,以确保 Active Directory 基础设施的安全。
-
DNS:通常与 AD 一同部署,DNS 为整个云提供名称解析。DNS 故障可能导致整个云系统故障,因此需要进行规划,确保每次都能保证可用性,并防止受到攻击。应规划定期备份和灾难恢复。
-
NTP:任何云计算或 IT 解决方案的另一个关键组成部分,NTP 确保所有云资源的时间同步。时间延迟可能导致整个云解决方案失败以及账单错误。NTP 设备必须具备高可用性和准确性。所有组件应配置为使用相同的 NTP 设备。加入域的 Windows 操作系统使用域控制器(PDC 角色)进行时间同步。
提示
在虚拟化持有 NTP 角色的域控制器时,遵循微软的指南。详细信息请参见
technet.microsoft.com/en-us/library/virtual_active_directory_domain_controller_virtualization_hyperv%28v=ws.10%29.aspx。 -
DHCP:动态主机配置协议(DHCP)可以用于动态分配和管理 IP 地址。DHCP 的部署应具备高可用性并高效地满足云的 IP 地址需求。
-
其他基础设施支持服务(PXE 引导服务器、IPAM 等):根据部署和使用案例,其他微软服务如 PXE 引导和裸机供应或网络引导的部署服务器,WSUS 或 SCCM 用于补丁管理,IPAM 用于 IP 地址管理,跳板机用于集中访问,安全产品应根据需要以高效且高可用的方式进行部署。
提示
云网络和存储的规划与部署选项将在本章的后续主题中讨论。
Hyper-V 部署最佳实践
虚拟化管理程序是基于 WAP 的云基础设施的核心基础,因为每个虚拟机,包括管理工作负载虚拟机,如 WAP 管理/租户门户虚拟机、SCVMM、SPF 都将在 Hyper-V 主机上的虚拟机内运行。让我们看看 Hyper-V 服务器的一些部署最佳实践。
建议在所有 Hyper-V 主机中保持配置上的一致性,应用相同的最佳实践。可以使用 SCVMM 和 AD 组策略来配置和管理所有主机的 Hyper-V 配置和策略。
集中管理是每个云解决方案的关键元素。
Hyper-V 安装最佳实践
尽管 Windows Server 2012 R2 Hyper-V 的安装过程相当简单,但还是建议遵循 Hyper-V 安装的最佳实践,以确保虚拟化基础架构的顺利和稳定运行。
虚拟化管理程序安装的最佳实践如下:
-
支持的硬件和最新硬件固件:建议使用经过验证性能和稳定性的支持硬件。始终确保更新服务器硬件、机箱或刀片的固件(视情况而定)。
-
使用硬件供应商提供的工具安装操作系统:主要服务器硬件供应商提供其专有工具来安装操作系统,如 HP 智能配置工具。这样可以确保虚拟化管理程序以正确的硬件特定驱动程序和集成工具部署。
-
选择正确的部署选项:在云基础架构中,建议使用 Server Core 版本,以利用 Server Core 部署的优势,例如更小的磁盘占用和攻击面,从而减少管理和更新负担。如果部署带 GUI 的服务器,建议移除所有不必要的组件。
-
最新设备驱动程序:使用最新的设备驱动程序,无论是专有硬件还是商品硬件。
-
Windows 更新:确保使用最新的补丁和服务包来更新虚拟化管理程序。建议部署补丁管理解决方案,以确保持续部署最新的修补程序。
-
页面文件:Hyper-V 服务器会根据系统中安装的物理内存自动管理页面文件大小。应将其设置为系统管理。
-
Windows 防火墙:根据环境需求配置 Windows 防火墙规则。如果端口级访问由网络防火墙管理,组织可以选择禁用防火墙。
-
虚拟化管理程序硬化和 VA:根据组织定义的标准应用标准安全策略。根据组织的政策进行必要的漏洞评估和修复。
-
命名约定和域:确保遵循正确的主机名约定,并在适用时加入域。对于集群节点,必须将主机加入域。
Hyper-V 网络最佳实践
Hyper-V 网络的最佳实践如下:
-
为 Hyper-V 和虚拟机网络流量分配独立网络:应考虑为管理流量(如主机管理和实时迁移)分配一个独立的物理和逻辑网络,并为虚拟机流量根据虚拟机网络区(如内部、DMZ 等)分配另一个独立的网络。
-
在物理网络路径中配置冗余:为每个网络团队配置至少两个网卡适配器,分别连接到两个不同的网络交换机。确保避免单点故障。
-
配置网卡聚合和负载均衡策略:Windows Server 2012 / R2 提供了多种负载均衡策略(Hyper-V 端口、地址哈希、动态负载均衡等),能够为 Hyper-V 网络提供最大性能和可靠性。确保配置合适的网卡聚合负载均衡策略。
-
为 IP 存储流量分配独立网络:建议为基于 IP 的存储流量(如 iSCSI、SMB 等)使用独立的物理和逻辑网络。
-
实施网络 QoS:使用 Hyper-V 网络 服务质量(Quality of Service,QoS) 功能,确保单个虚拟机不会成为其他虚拟机网络带宽的瓶颈。在基于 WAP 的云解决方案中,实施 QoS 变得至关重要,确保根据租户的计划和订阅为其虚拟机提供请求的网络带宽。
-
监控网络使用情况:持续监控 Hyper-V 网络虚拟化,以便获取网络使用情况的洞察并规划未来的可扩展性。
-
使用 SDN(软件定义网络):这不是 Hyper-V 网络的最佳实践,但通过使用 SDN(即网络虚拟化)来查看云解决方案,可以实现云网络的自动化配置、管理和灵活性。
Hyper-V 存储部署最佳实践
Hyper-V 存储部署的最佳实践如下:
-
确保存储路径冗余:为存储路径使用多路径 I/O。消除服务器端口、存储端口或 SAN 交换机等处的任何单点故障。根据 SAN 提供商的指导方针配置多路径策略,以提高可靠性和效率。
-
使用 vhdx:Windows Server 2012 引入了新的虚拟磁盘文件格式 vhdx。与旧版 vhd 格式相比,vhdx 在性能和可靠性方面具有多项优势。除非特殊需要,否则应使用 vhdx 而非 vhd。
-
正确设置磁盘和 CSV 大小:在容量和 IOPS(每秒输入输出操作次数)方面,虚拟机的磁盘大小设置非常重要。过大的磁盘可能会导致性能问题和停机故障。
-
实施存储 QoS:使用 Hyper-V 存储服务质量功能,确保单个虚拟机不会成为其他虚拟机在 IOPS 方面的存储性能瓶颈。对于基于 WAP 的云解决方案,必须确保根据租户的计划和订阅为其虚拟机提供请求的存储 IOPS。
-
监控存储使用情况:持续监控 Hyper-V 存储的容量和性能,以便获得网络使用情况的洞察并为未来的可扩展性做好规划。
-
使用 SDS/SMI-S/SMP 集成:这不是 Hyper-V 存储最佳实践,但从云的角度来看,建议使用 SDS(软件定义存储)、SMI-S 提供商阵列集成,以便更好地进行云存储的配置、管理和自动化。
Hyper-V 虚拟机部署最佳实践
Hyper-V 虚拟机部署的最佳实践如下:
-
正确规划虚拟机计算资源:更多的虚拟 CPU 并不保证更高的性能,应该根据实际的应用需求为虚拟机分配 CPU。内存也是如此,确保虚拟机不会超配或配备不足。
-
使用第二代虚拟机:第二代虚拟机提供了比第一代虚拟机更多的功能,如 UEFI 启动、合成硬件、更快的安装和启动时间等。除非特别要求,建议使用第二代虚拟机。
-
使用动态内存:建议使用动态内存,以充分利用服务器中可用的物理内存。在大规模云环境中使用动态内存有助于提高主机密度。建议在使用动态内存时进行仔细规划,以避免对虚拟机或主机的性能产生负面影响。
-
如果支持,使用非统一内存访问(NUMA):NUMA 帮助分配多个虚拟 CPU 的虚拟机通过使用执行指令的 CPU 的本地缓存和内存总线,来扩展性能并提高性能。NUMA 取决于硬件架构。
-
移除未使用的虚拟硬件:建议移除未使用的虚拟硬件,例如软盘驱动器等。
-
使用适当的集成服务:集成服务安装在客户操作系统中,使其具备虚拟化意识,并可启用例如从 Hyper-V 管理器进行平滑关机、时间同步、数据交换等功能。所有最新的 Windows 操作系统默认包括集成服务,对于非 Windows 操作系统,可能需要手动安装集成服务。
-
监控虚拟机使用情况:持续监控虚拟机的计算资源使用情况,并对过度配置或配置不足的虚拟机采取必要的纠正措施。
Hyper-V 集群与迁移部署最佳实践
Hyper-V 集群和迁移部署的最佳实践如下:
-
集群验证报告:Microsoft Windows 的故障转移集群提供功能,用于在部署集群之前检查节点的 Hyper-V 配置、清单、网络、存储和系统配置。验证检查产生的任何错误或警告应通过必要的纠正措施进行修复。成功验证的集群是实现顺利 Hyper-V 高可用功能的关键。
-
使用 SCVMM 部署和管理高可用虚拟机:这与 Hyper-V 集群最佳实践没有直接关系,但对于云解决方案,建议通过 SCVMM 部署和管理 Hyper-V 集群及迁移。
-
使用独立网络进行实时迁移:建议为实时迁移流量使用独立的物理和逻辑网络,以确保可靠性和性能。
-
集群感知更新:建议使用 CAU 进行集群节点的修补和升级。这样,组织和服务提供商可以确保在修补 Hyper-V 管理程序时不会影响终端客户的服务。WSUS 可以与 VMM 集成,自动更新 Hyper-V 主机。
设置用于云管理架构的虚拟机
经过充分规划和最佳实践后,是时候开始动手了。让我们设置虚拟机来托管我们的云基础架构。这些虚拟机将托管云管理架构,并部署在云管理集群中。
在 Active Directory 中创建用户,以将这些服务器加入 Active Directory 域。
注意
为下述每种类型的虚拟机添加一个冗余虚拟机,WAP 服务器除外(参见第一章,了解 Windows Azure Pack 及其架构,了解 WAP 高可用性),以提供高可用性架构。请参阅产品特定指南,配置各组件的高可用性。
| 序号 | 虚拟机名称 | 计算配置 | 虚拟机用途 |
|---|---|---|---|
| 1 | WAPMGT-SQLDB-01 | 4 CPU,12 GB RAM | 托管整个 WAP 解决方案数据库的 SQL 数据库 |
| 2 | WAPMGTSCVMM-01* | 4 CPU,12 GB RAM | System Center 虚拟机管理器 |
| 3 | WAPMGT-SCSPF-01 | 2 CPU,8GB RAM | 服务提供商基础架构 |
| 4 | WAPMGT-SCSMA-01 | 2 CPU,8 GB RAM | 服务管理自动化 |
| 5 | WAPMGT-ACRDG-01 | 2 CPU,8 GB RAM | 提供 Azure 控制台连接的远程桌面网关服务器 |
| 6 | WAPMGT-WAPSR-01 | 2 CPU,8 GB RAM | Windows Azure Pack(Express 安装模型) |
注意
本书中使用的虚拟机配置仅供评估使用,请遵循第一章,了解 Windows Azure Pack 及其架构以及本章内容,并结合产品特定文档进行生产部署。
上述所有虚拟机应配置以下通用设置:
-
127 GB 磁盘(动态扩展磁盘)
-
Windows Server 2012 R2 DC/STD 版操作系统
-
连接到 Hyper-V 虚拟交换机(外部)的单 NIC 卡
-
不使用动态内存
-
启用所有集成功能
-
在 Hyper-V 集群中高度可用(推荐,非强制)
虚拟机部署后的步骤如下:
-
活动 Windows 操作系统
-
分配静态 IPv4 地址
-
按命名规范分配主机名
-
将服务器加入域
-
关闭 Windows 防火墙或根据需要创建防火墙规则
为云管理数据库规划和部署 SQL Server
Windows Azure Pack 和系统中心的所有组件都使用 SQL Server 数据库来存储其配置、运行时数据、历史使用数据等。数据库的故障与相应组件的故障直接相关。
选择数据库服务器版本和部署模型
在最小部署的情况下,以下组件将使用该 SQL Server 来管理数据库:
-
Windows Azure Pack 组件
-
SCVMM
-
SPF
-
SMA
在选择数据库版本和部署模型时,必须根据先前提到的各个组件的支持性和兼容性进行对齐。
Windows Azure Pack 支持以下 MS SQL Server 版本来管理数据库:
-
MS SQL Server 2008 Service Pack 3
-
MS SQL Server 2008 R2 Service Pack 2
-
MS SQL Server 2012 Service Pack 1
-
MS SQL Server 2012 Service Pack 2
-
MS SQL Server 2014
System Center 2012 R2 对不同组件支持不同的 SQL Server 版本。以常见和最新版本为例,Windows Azure Pack 和所有 System Center 产品支持 MS SQL 2012 SP1,WAP 组件和所有 System Center 2012 R2 组件(除了应用控制器)支持 MS SQL 2012 SP2 和 MS SQL 2014。组织或云服务提供商可以根据已安装的组件选择 SQL 2012 SP1、SQL 2012 SP2 或 SQL 2014。
提示
可以在 technet.microsoft.com/en-us/library/dn281933.aspx 查看 System Center 2012 R2 的 SQL 支持矩阵。
SQL Server 中的部署模型可以根据位置、故障转移等多种方式进行部署。WAP 管理数据库部署支持以下方式:
-
独立 SQL Server 部署
-
SQL Server 故障转移集群
-
SQL Server AlwaysOn 可用性组
为云管理数据库选择正确的部署模型取决于部署策略。独立部署工作正常,但会成为单点故障。管理数据库的故障会导致所有云管理组件功能的故障。
SQL 集群(主动/被动)和 SQL AlwaysOn 可用性组可用于为管理数据库增加冗余,消除单点故障。
虽然这两种选项都为 SQL Server 提供冗余,但 AlwaysOn 通过支持没有共享存储的集群并在数据库级别提供保护,比 SQL 集群在实例级别提供更大的灵活性和可靠性。
更多关于 SQL 集群与 SQL 的对比可以参见 msdn.microsoft.com/en-us/library/ff929171.aspx。
提示
SQL 集群功能在 MS SQL 标准版中可用,而 AlwaysOn 需要企业版许可证。
在为管理数据库安装 SQL 时,必须安装以下功能。默认排序规则在部署英文版时有效。对于其他语言,请参见产品特定指南:
-
常见功能:
-
数据库引擎
-
管理工具
-
-
产品特定功能:
-
完整文本搜索(用于 SC 操作管理器和服务管理器)
-
报告服务(用于 SC 操作管理器和服务管理器)
-
分析服务(用于 SC 服务管理器)
-
部署 SQL Server 时需要考虑的额外事项包括:
-
在大型生产环境中部署额外的 SQL Server/实例,以避免性能问题。
-
报告服务实例不能在各组件之间共享。
-
配置预先设置的大小并自动增长,同时监控以实现高效和不中断的管理数据库。
-
在安装 Windows Azure Pack 组件之前,必须在 SQL Server 上启用 SQL 身份验证。如果计划配置 Windows 身份验证,则当前用户必须被添加为 SQL Server 的管理员。
-
对于 System Center 服务管理器数据库,SQL AlwaysOn 可用性组功能不支持命名实例,仅支持默认服务器实例。
注意
SQL Express 版本可以在 Express 部署中用于 WAP。对于 WAP 分布式部署和系统中心组件,标准版是最低支持版本。根据上述功能和高可用性模型选择 SQL 版本。
安装并配置 SQL Server 2012 SP2
本书中为了评估的目的,我们将使用 SQL Server 2012 SP2 独立安装作为数据库服务器。此数据库服务器将供所有 WAP 和系统中心组件使用。
-
安装前提条件:
- 在部署 SQL Server 之前,必须满足一套硬件和软件的先决条件。
-
软件要求:
在安装 SQL Server 之前,请在 SQL Server 虚拟机上安装以下组件:
-
.NET 3.5 SP1 框架
-
Windows PowerShell(默认安装)
-
网络协议和库(如共享内存、命名管道、TCP IP——默认可用)
-
-
Active Directory 账户要求:
-
在 AD 中创建 SQL Server 管理和服务登录账户
账户名称 目的 权限 Sqldbadmin SQL 数据库管理员用户 SVMM 上的本地管理员组成员 + 数据库管理员 Sqldb-svc SQL Server 服务账户 SVMM 上的本地管理员组成员 + 数据库管理员 -
将创建的用户账户添加到 SQL Server Windows 操作系统上的本地管理员组。
-
安装步骤
以下是需要遵循的安装程序:
-
下载 MS SQL Server 2012 SP1 安装介质并在 SQL 虚拟机上挂载。
-
从安装介质执行设置文件并选择独立安装。
-
SQL 设置将开始对安装 SQL Server 设置支持文件进行有效性验证检查。所有测试必须报告绿色,才能继续进行下一步。
-
输入产品密钥(嵌入在许可媒体中)或根据需要选择评估模式安装选项。
-
接受许可条款,并继续安装设置文件。
-
验证设置支持规则的结果。所有结果必须成功通过才能继续进行下一步。
-
在 安装角色 页面上选择 SQL Server 功能安装。
![安装过程]()
-
在 功能 页面上选择 数据库引擎服务、客户端工具连接性 和 管理工具 - 基础(根据上一个主题中讨论的产品特定要求选择功能)。
![安装过程]()
-
验证安装规则的状态,所有规则必须成功通过才能继续进行下一步。
-
将实例名称更改为您选择的名称。为了评估目的,我们使用的是默认实例。
![安装过程]()
-
验证磁盘空间要求和可用空间,确保可以继续进行下一步。
-
将 SQL Server 代理和数据库引擎的默认服务帐户更改为之前创建的 Active Directory 帐户。
![安装过程]()
-
在 数据库引擎配置 页面上选择 混合模式 身份验证。提供 "
sa" 作为密码,并将当前登录用户(SQLDBADMIN)添加到 SQL 管理员中。如果适用,修改数据目录位置到不同的驱动器。![安装过程]()
-
如果希望参与错误报告以向 Microsoft 提交错误,可以选择错误报告选项。
-
验证安装配置规则状态。每个规则必须成功通过才能继续进行下一步。
-
验证所选安装选项的摘要。
-
SQL 设置将根据提供的输入开始安装 SQL DB Server。
-
安装成功完成后,关闭向导,并查看安装日志以检查是否有任何错误。
安装后的任务
成功安装 SQL Server 2012 SP1 后配置以下任务:
-
使用 SQL Management Studio 登录 SQL Server 并验证安装是否成功。还要验证系统数据库(如
master、tempdb)是否已创建。 -
为 SCVMM、SPF 和 WAP 管理员 Active Directory 用户创建登录名。权限可以稍后定义。通过 安全性 | 登录名 菜单浏览,并右键单击 登录名 来创建 SQL 用户。
-
使用 SQL Server 配置管理器配置 SQL Server 网络端口以供远程访问。默认情况下,端口为 1433。
规划和部署 SCVMM 2012 R2
系统中心虚拟机管理器是该解决方案的核心,负责为基于 Windows Azure Pack 的云解决方案提供 IaaS 服务。SCVMM 负责为虚拟机、虚拟网络等 IaaS 资源的生命周期管理提供配置和管理。
SCVMM 不仅管理虚拟化主机和虚拟机资源,还负责为云虚拟机提供和管理网络和存储资源。SCVMM 提供了与第三方网络和存储提供商集成的灵活性,用于自动化资源的提供和管理。简而言之,SCVMM 是 WAP 云解决方案中 IaaS 服务的核心资源提供者。
SCVMM 是系统中心套件的一部分。WAP 通过SPF(服务提供商基础架构)与 SCVMM 进行 IaaS 服务通信。在本节中,我们将介绍 VMM 架构和部署模型,并提供安装指南。
VMM 架构和部署模型
VMM 服务器由多个组件构成,这些组件可以一起部署在单个服务器上,或在不同服务器上以分布式方式部署,以实现扩展性和可用性。VMM 需要一个 SQL Server 数据库来存储所有配置和运行时数据。整体 VMM 工作解决方案的组件如下:
-
VMM 管理服务器:此服务器负责执行 SCVMM 参与的所有任务。它安装 System Center 虚拟机管理服务,与所有其他系统中心 VMM 及非系统中心组件进行通信,完成虚拟化基础设施的提供与控制。通过在 Microsoft 故障转移集群上以 HA 模式部署,可以防止单点故障。
-
VMM 管理控制台:管理控制台供管理员连接到 VMM 管理服务并执行管理任务。默认情况下,它安装在 VMM 管理服务器上,您也可以将其安装在您的管理终端上,用于 SCVMM 管理。
-
VMM 数据库:VMM 数据库是由 Microsoft SQL Server 提供的数据库,用于存储 VMM 配置(如主机、网络、虚拟机等)及运行时数据。VMM 高度依赖此数据库进行操作,因此强烈建议在生产环境部署中使用 SQL HA 技术保护该数据库。
-
VMM 库和库服务器:VMM 库存储所有用于部署虚拟机或服务的资源。VMM 库通常包括 VHD、模板、ISO 文件、网络和存储配置文件等。VMM 库存储在由库服务器托管的文件共享中。
-
VMM 代理:VMM 代理不是一个服务器组件,它用于促进虚拟化主机和 VMM 之间的通信。VMM 代理在将主机添加到 VMM 时安装在虚拟化主机上。若存在孤立环境限制,也可以手动安装该代理。
除了 VMM 数据库(由 SQL 提供)外,SCVMM 2012 R2 安装介质中提供了所有其他组件。
VMM 部署模型
SCVMM 采用分布式架构,使其能够提供多种灵活的部署选项。组织可以选择增加如管理服务器或库服务器等组件,以满足扩展需求。主要来说,SCVMM 可以通过三种方式进行部署:
-
独立部署:在独立部署中,VMM 的所有服务器组件(VMM 管理服务器、VMM 控制台、VMM 库服务器和 VMM SQL 数据库)都安装在一台服务器上。此部署模型便于最小化部署占用,适用于测试和非生产架构。它不提供任何组件的冗余。
-
分布式部署:在分布式部署中,组织可以选择在三台或更多不同的服务器上安装管理服务器、库服务器和数据库服务器,以实现可用性和可扩展性。VMM 数据库可以通过 SQL 高可用性技术进行保护。
-
SCVMM 高可用模式:SCVMM 支持使用 Windows 故障转移集群以集群模式进行部署。虚拟机管理服务器可以通过 HA 部署模式进行保护,并使用 SQL HA 技术保护数据库。这种模式建议用于生产环境部署,以消除任何单点故障。
安装 System Center 虚拟机管理器 2012 R2
本书中的评估目的,我们将在单一机器上部署 VMM 管理服务器、VMM 控制台和 VMM 库服务器,并进行共享。云管理 SQL 数据库服务器将用于托管 VMM 数据库。
安装前提条件
SCVMM 的工作需要多个具有特定权限的 Active Directory 账户。让我们看看 SCVMM 使用时推荐的账户和权限。
SCVMM 的 AD 用户账户和组:
| 账户名称 | 目的 | 权限 |
|---|---|---|
| Scvmmadmin | SCVMM 管理用户,用于管理任务 | 是 SVMM 本地管理员组成员 + DB 管理员 |
| Scvmmsvc | SCVMM 服务的服务账户 | 是 SVMM 本地管理员组成员 + DB 管理员 |
| Scvmm-runasadmin | SCVMM 操作的运行账户 | 具有 SCVMM 及其他管理资源(如 Hyper-V 主机)的管理员权限。 |
| Scvmm-admins | 管理员的安全组 | SCVMM 上的管理员权限 |
将 SCVMM 管理员和服务账户添加为“scvmm-admin”安全组的一部分
软件前提条件
VMM 负责安装大部分软件前提条件,除了 Windows 访问和开发工具包(Windows ADK)以及 SQL 数据库相关工具。安装以下组件作为部署 System Center 虚拟机管理器 2012 R2 的前提条件:
-
来自 Windows 评估和开发工具包的功能:
-
部署工具
-
Windows 预安装环境(Windows PE)
-
-
SQL Server 连接工具:
-
SQL Server 2012 命令行工具
-
Microsoft SQL Server 本地客户端
-
除了安装,VMM 还有以下软件组件要求,安装程序会在安装过程中自动处理:
-
Windows 远程管理(WinRM 2.0)服务
-
Microsoft .NET 框架 4 或 4.5
-
Windows PowerShell 2.0
注意
Windows ADK 可从www.microsoft.com/en-in/download/details.aspx?id=39982下载,SQL 连接工具可从www.microsoft.com/en-in/download/details.aspx?id=29065下载。这些工具也可以在 SQL Server 2012 安装介质中找到。
安装过程
出于评估目的,我们将在单台机器上部署 VMM 管理服务器、VMM 控制台和库服务器。
-
下载 MS System Center 2012 R2 Virtual Machine Management 安装介质并挂载到 SCVMM 虚拟机上。
-
从安装介质中执行安装文件,并点击安装。
![安装过程]()
-
选择VMM 管理服务器功能进行安装,它将自动选择VMM 控制台。
![安装过程]()
-
输入名称和组织详细信息以及 Microsoft 提供的产品密钥,以便为您的系统中心许可证注册。如果未指定产品密钥,则 VMM 将以评估模式安装。您还可以选择在后续阶段提供产品密钥,安装完成后也可以提供。
-
接受评估/产品许可条款并继续下一步。
-
选择是或否参与客户体验改进计划。
-
启用或禁用 Microsoft 更新,启用时可以使用自动更新更新 VMM。
-
指定 SCVMM 的安装位置,默认路径为
C:\Program Files\Microsoft System Center 2012 R2\Virtual Machine Manager。 -
点击下一步将开始前置条件检查,如果前一部分中定义的任何前置条件没有完成,将返回错误或警告。完成任何待完成的前置条件并继续下一步。
-
在此页面上提供数据库配置。您可以选择使用在 SQL 实例中为 VMM 创建的现有数据库,或选择创建一个新数据库。如果在 SQL 后安装任务中更改了 SQL 端口,请进行更改。
-
验证数据库配置并继续下一步。
![安装过程]()
-
配置 SCVMM 服务登录的服务帐户。对于高可用性(HA)模式下的 SCVMM,这必须是一个域帐户。如果在 HA 模式下部署,还需提供在 AD 中存储分布式加密密钥的位置。有关 HA 模式部署的更多信息,请参阅下一部分。
![安装过程]()
-
如果需要,定制 SCVMM 通信的网络端口。
-
在库磁盘上创建一个库共享,并提供名称和位置。这将作为 SCVMM 库,用于存储 VHD、模板等资源。默认情况下,VMM 安装程序将
C:\Program Data\Virtual Machine Manager Library Files作为库共享位置。![安装过程]()
-
审查安装配置摘要并开始安装。
-
安装成功后关闭向导。
提示
VMM 安装日志位于 %SystemDrive%\ProgramData\ VMMLogs\
安装失败的已知问题是——SCVMM 服务器的计算机名称中包含 SCVMM。您可以尝试通过从主机名中删除 "-" 或将其更改为 scvmm 或其他字符来重命名服务器。
安装后的任务
以下是安装后的任务:
-
通过使用 VMM 控制台登录到 VMM 服务器来验证 VMM 是否成功安装。
-
将 SCVMM-admins 组添加到 VMM 控制台设置中的 SCVMM 管理员。
-
为虚拟化管理程序和更多相关操作创建 RunAs 帐户。
-
更新 SCVMM 至最新的更新和补丁。
高可用 SCVMM 架构和部署
如 VMM 架构和部署模型 部分所述,SCVMM 可以使用 Windows Server 故障转移集群以高可用模式部署。通过将 SCVMM 部署在 Microsoft Windows 故障转移集群服务之上,它可以防范硬件和软件层级的故障。
在集群中部署 SCVMM 管理服务器有一些前提条件,需要满足:
-
VMM 服务帐户:SCVMM 服务器上的虚拟机管理服务必须配置为使用域帐户运行。不能使用本地系统帐户在 HA 模式下运行 VMM 服务。此服务帐户必须是 SCVMM 服务器 Windows 上本地管理员组的成员。
-
Active Directory 中的分布式密钥管理容器:VMM 将所有配置和用户帐户详细信息(如 RunAs 帐户凭证)存储在 SQL 数据库中。凭证安全在每种情况下都至关重要,SCVMM 通过将这些凭证以加密形式存储来确保安全性。
有两种方法可以加密这些凭证:
-
DPAPI:DPAPI 使用计算机硬件 ID(SCVMM 安装所在的计算机)来加密凭证。
-
DKM:在 DKM SCVMM 的情况下,它将加密密钥存储在 Active Directory 中的一个容器中。这些加密密钥与任何 SCVMM 服务器的物理参数无关。
在集群部署中,SCVMM 虚拟机管理服务将在多个节点上运行,这使得 DPAPI 加密技术无法使用。在集群部署中,必须使用 DKM。
作为在集群中部署 SCVMM 的前提条件,必须在安装 SCVMM 之前在 Active Directory 中创建一个容器。该容器将用于存储各种 SCVMM 凭证的加密密钥。
部署高可用 VMM 管理服务器的步骤如下:
-
完成 VMM 服务帐户和 AD 容器的前提条件。
-
将 VMM 服务器加入 Windows Server 故障转移集群。
-
执行 SCVMM 安装设置;设置将自动检测到安装正在集群节点上运行,并提供将 VMM 部署为高可用模式的选项。
-
按照上一节中给出的 SCVMM 安装指南进行操作。
-
在提示时提供集群名称和 DKM 容器位置。
-
通过执行设置来添加其他 SCVMM 节点,设置将自动检测已部署的集群和 SCVMM 配置。
-
部署成功后,可以使用故障转移集群管理器查看集群状态并根据需要切换服务。
使用 SCVMM 规划和配置虚拟化计算层
在本节中,我们将学习如何规划和配置虚拟化资源,例如 Hyper-V 主机和集群、VMware 和 Citrix 虚拟化管理程序。在基于 WAP 的云解决方案中,虚拟化管理程序层必须由 SCVMM 控制,以提供 IaaS 服务和生命周期管理。
在本节中,我们将介绍在 SCVMM 中添加和管理虚拟化管理层的不同方法。
规划和创建 SCVMM 主机组
在包含数百台 Hyper-V 主机和成千上万台虚拟机(或更多)的规模化云部署中,有效管理主机资源的分配和控制变得具有挑战性。可以使用 SCVMM 主机组来避免这些挑战,它提供了将多个虚拟化主机分组并作为单个实体进行资源分配和管理的灵活性。
主机组规划对于组织和服务提供商有不同的基础和策略。以下是一些常见选项:
-
站点或地理位置
-
性能和能力,如容错等
-
Web 区域环境的隔离,如 DMZ
-
服务提供商云中的大型租户专用主机组
-
带或不带 BC 和 DR 的主机组
-
云管理基础设施和租户工作负载基础设施
-
更多选项
我们可以在主机组中添加 Hyper-V 主机或集群以及 VMware/Citrix 主机,并在主机组层级定义各种设置,如:
-
一般设置。
-
部署规则。
-
主机预留设置(CPU、内存、网络和存储带宽等)
-
动态优化。
-
电源优化。
-
网络和存储资源以及配额。
-
PRO 配置。
-
自定义属性。
主机组可以嵌套到服务提供商的更高层级管理结构中。默认情况下,子主机组继承父主机组的设置和策略,但可以在子主机组层级覆盖这些设置。虚拟化管理程序主机可以从一个主机组移动到另一个主机组。
你可以创建由多个主机组组成的 SCVMM 云。SCVMM 云将在第四章,构建虚拟机云和 IaaS 服务中详细讨论。
创建主机组
以下是创建主机组的步骤:
-
使用 VMM 控制台登录到 SCVMM 服务器,并打开 Fabric 工作区。
-
在 Fabric 菜单中展开 Servers,右键点击 All Hosts。
![创建主机组]()
-
点击创建主机组并提供主机组友好名称。
-
配置主机组属性。
![创建主机组]()
在主机组中添加虚拟机主机
创建主机组后,我们可以将虚拟机主机添加到各自的组中,以应用主机组级别的策略。我们可以选择添加已配置的虚拟化程序或集群,或者使用 SCVMM 执行裸机配置。我们还可以使用 SCVMM 创建一个由已配置的独立 Hyper-V 主机构成的 Hyper-V 集群。
将 Hyper-V 主机添加到主机组
以下是将 Hyper-V 主机添加到主机组的步骤:
-
使用 VMM 控制台登录到 SCVMM 服务器并打开 Fabric 工作区
-
右键点击已创建的主机组并选择添加 Hyper-V 主机和集群。
![将 Hyper-V 主机添加到主机组]()
-
在给定选项中提供 Windows Server 的位置信息
-
使用 RunAs 账户或手动凭据提供访问主机的凭证
-
根据之前提供的服务器位置填写发现范围的详细信息
-
选择目标主机组和主机设置
-
审核配置摘要并完成向导以添加主机。
![将 Hyper-V 主机添加到主机组]()
使用 SCVMM 规划和配置云网络 Fabric
云网络是任何私有云或服务提供商云中最关键且最复杂的部分。云网络必须足够高效和灵活,以处理租户和企业每日变化的网络需求。软件定义网络是为租户提供自动化和灵活网络的关键支柱,同时确保完全隔离和可扩展性。在本节中,我们将学习在 WAP 云中针对私有云和服务提供商云的各种云网络解决方案组件。
在讨论租户工作负载网络需求之前,必须注意,云管理基础设施与租户工作负载基础设施的网络应当分开。用网络术语来说,这分别被称为控制平面和数据平面。云管理基础设施的网络在配置和管理上应当保持独立。为了澄清这一建议,假设在某种情况下,云网络因物理网络问题而中断,而由于网络控制器虚拟机也运行在同一有问题的网络上,您无法对云网络解决方案进行任何更改以使其恢复运行。在设计云网络控制平面和数据平面时,请遵循相同的云管理和租户工作负载基础设施建议。
私有云和服务提供商云的网络需求不同,下面我们将看看这两者在 WAP 云中的主要云网络需求及其解决方案:
-
私有云的云网络需求:
-
安全可靠的虚拟网络,易于管理
-
T&D 环境的隔离网络能力
-
根据网络流量,使用防火墙将不同区域隔开
-
更快速且自动化的网络配置
-
IP 地址的自动分配与管理
-
支持自定义需求的可扩展性
-
服务质量控制
-
负载均衡和物理网络集成能力
-
硬件独立配置
-
-
服务提供商云的云网络需求:
-
在使用相同物理网络的情况下,实现不同租户网络之间的完全隔离
-
支持与租户本地部署的混合网络模型的可扩展性
-
自动化供应和租户控制的管理
-
在公共服务中,提供具有有限资源(如网关等)的高级地址转换能力
-
无 IP 范围使用限制
-
易于管理并且能够动态变化
-
根据租户的计划和订阅提供服务质量
-
所有企业级网络功能,如负载均衡和与物理网络集成或硬件独立的配置
-
WAP 与系统中心和 Hyper-V 一起,为私有云和服务提供商云的需求提供真正的云网络功能。SCVMM 的网络功能,如逻辑网络和交换机、网络负载均衡集成、网络虚拟化(这是一个重要的技术)、网络虚拟化网关、端口配置文件,以及 Windows Azure Pack 提供的自动化和自助服务体验,为组织和服务提供商的所有这些需求提供了解决方案。
网络虚拟化
网络虚拟化允许我们在相同的物理硬件上创建多个独立的网络,这些网络在相同的物理 NIC 卡和网络交换机/路由器上进行传输和路由,彼此之间完全隔离。网络虚拟化是当今最现代化的网络技术之一——软件定义网络(SDN)的基础。网络虚拟化使得传统的物理网络设备,如路由器、防火墙和负载均衡器,能够转变为软件。软件定义网络使得从第 2 层到第 7 层的所有网络功能能够实现隔离和多租户支持。网络虚拟化是云服务提供商必须拥有的技术,能够为租户提供灵活的隔离网络,而不依赖彼此。
使用 通用路由封装(NVGRE)机制的 Hyper-V 网络虚拟化,用于促进虚拟机的虚拟网络。Windows Azure Pack 与 SCVMM 和 Hyper-V 一起,为私有和服务提供商云解决方案提供真正的自助服务自动化虚拟网络。Hyper-V 和 VMM 提供网络虚拟化网关,使虚拟化的网络流量能够与物理网络和外部世界进行通信。
每个连接到虚拟化网络的 VM 都有两个关联的 IP 地址,一个来自虚拟网络,称为客户地址(CA),另一个来自云提供商地址(PA)。Hyper-V 网络虚拟化在传输数据包时使用 PA 来封装 CA 地址的数据包,包括源 IP、目标 IP 和虚拟网络 ID,以便数据包能够在物理网络上传输。在接收端,它解封装数据包并只使用 CA 地址将数据包发送到另一个虚拟机。
网络虚拟化在 Hyper-V 主机的 Hyper-V 虚拟交换机层面上工作。从 Server 2012 开始,Hyper-V 虚拟交换机可以扩展,以提供除默认二层功能外的其他功能。可以在虚拟交换机上编程并实现额外的扩展,提供更多的网络和安全功能,如网络过滤、虚拟防火墙等。这使得真正的软件定义网络基础设施成为可能。
实现网络虚拟化没有单独的专用 NIC 要求,我们可以使用相同的 NIC 或虚拟交换机来处理传统网络和虚拟化网络两种类型的流量。
提示
提供程序地址不需要是物理 NIC 或团队的 IP 地址,在 VMM 中,它来自逻辑网络中配置的 IP 池。
配置 SCVMM 中的网络布线
在本节中,我们将配置 SCVMM 中的网络布线,用于传统网络和虚拟化网络。配置 VMM 中网络布线时有多个网络资源:
-
逻辑网络
-
MAC 地址池
-
负载均衡器
-
VIP 模板
-
逻辑交换机
-
端口配置文件
-
端口分类
-
网络服务
-
VM 网络(适用于 VM 和服务工作区)
逻辑网络
SCVMM 中的逻辑网络是 SCVMM 网络布线的最高层次结构。它可用于表示一个网络站点或一个不同的网络域。逻辑网络可以由多个虚拟机网络组成。可以创建多个逻辑网络,如生产网络、T&D 逻辑网络等。逻辑网络可以分配给主机和主机组。
在传统网络中,创建与您环境中物理网络相对应的逻辑网络,如 DMZ、备份、内部网络等。在这种情况下,每个逻辑网络将创建一个虚拟机网络。
在逻辑网络级别启用网络虚拟化。
创建逻辑网络
创建逻辑网络需要遵循以下步骤:
-
使用 VMM 控制台登录 VMM 服务器并选择布线工作区。
-
展开网络,然后点击逻辑网络。
-
右键点击逻辑网络,然后点击创建逻辑网络。
![创建逻辑网络]()
-
输入逻辑网络的名称,如WAP-CLOUD-PROD,并可以添加可选的描述,以便在大型部署时容易识别。根据您的网络拓扑选择一个连接的网络、VLAN 基于网络或 PVLAN 网络。
![创建逻辑网络]()
-
点击下一步并在逻辑网络中添加网络站点。选择一个可以使用此逻辑网络的主机组,以及VLAN ID 和 IP 子网。
![创建逻辑网络]()
-
在摘要页面上查看配置,并点击完成以创建网络。
为新创建的逻辑网络创建 IP 池
IP 池用于提供可用的 IP 地址范围给 VMM 进行 IP 分配。分配给逻辑网络的 IP 池也用于在网络虚拟化中提供 PA(提供者地址)。
-
打开 VMM 控制台中的Fabric | Networking。
-
展开逻辑网络,右键点击逻辑网络并选择创建 IP 池。
![为新创建的逻辑网络创建 IP 池]()
-
提供 IP 池名称和描述,并选择我们创建的逻辑网络。
-
在网络站点上,点击使用现有网络站点。
-
输入一个可用的 IP 范围。
![为新创建的逻辑网络创建 IP 池]()
-
为给定的 IP 范围提供网关。
-
如果有,配置 DNS、DNS 后缀和 WINS 设置。
-
在摘要页面上查看设置并创建 IP 池。
在逻辑网络上创建虚拟化的 VM 网络和 IP 池
VM 网络由虚拟机网络适配器使用,以便连接到虚拟化的 VM 网络,并使用逻辑网络作为 PA。在传统的网络场景中,每个逻辑网络创建一个 VM 网络并供虚拟机使用。也可以自动创建与逻辑网络对应的虚拟网络。
创建一个 VM 网络
以下是创建 VM 网络的步骤:
-
登录到 VMM 控制台并选择逻辑网络。
-
右键点击逻辑网络并选择创建 VM 网络。
-
为 VM 网络提供名称和描述以便识别。选择相应的逻辑网络。
-
配置隔离设置,点击使用 Hyper-V 网络虚拟化进行隔离来创建隔离网络。
![创建 VM 网络]()
-
提供虚拟网络名称和子网。
![创建 VM 网络]()
-
如果有,选择一个 Hyper-V 网络虚拟化网关。
-
查看配置并完成创建 VM 网络的向导。
为每个通过 VM 网络创建向导创建的 VM 网络创建 IP 池。
私有或服务提供商云网络部署的下一步是根据云网络设计创建并附加所有逻辑网络和 VM 网络,并将其相应附加到主机组。
提示
VM 网络管理向导在 VMM 控制台的“VM 和服务”工作区中可用,而非在 fabric 工作区中。
除了逻辑网络、VM 网络和 IP 池之外,VMM 还提供了多种其他网络资源,如上所述,以增强对云网络架构的管理控制和灵活性。
MAC 地址池
MAC 地址池允许您为虚拟机提供自定义的静态 MAC 地址。虽然 VMM 默认创建了一个 MAC 地址池,但您始终可以根据需求创建一个新的池。
负载均衡器
通过使用负载均衡,您可以轻松地在多个服务器之间分配流量,从而实现应用程序的扩展。SCVMM 内置支持使用 Microsoft NLB 作为本地负载均衡提供程序,您还可以为支持的第三方负载均衡器集成(如 F5、Citrix 等)添加自定义配置。第三方集成的自定义配置提供程序需要安装。
VIP 模板
VIP 模板是负载均衡器用于虚拟 IP 需求的配置。它们可以用于配置 VIP 配置,负载均衡流量规则,如 HTTPS 等。
逻辑交换机
这些功能使得您可以在 Hyper-V 主机上集中部署网络。逻辑交换机可以配置为使用特定的端口映射、分类和扩展。
端口配置文件
端口配置文件使得在所有 Hyper-V 主机上部署一致的网络设置成为可能,例如 QoS 和高级安全功能。
端口分类
端口分类可用于对端口进行分类,例如 10GB 网络、低带宽网络等。
网络服务
在网络服务中,第三方网络设备可以与 SCVMM 集成,例如 TOR 交换机等。
使用 SCVMM 规划和配置云存储架构
基于 Microsoft Windows Azure Pack 的云解决方案支持块存储和基于文件的存储,并可通过 VMM 配置,用于存储虚拟机和其他云 IaaS 资源。
私有云和服务提供商云的存储需求和解决方案可能会有所不同。虽然在私有云中通常可以看到传统的企业级 SAN 存储解决方案,但在私有云和服务提供商云解决方案中,基于通用硬件的软件定义存储解决方案也在使用。VMM 支持多种存储解决方案集成,用于自动化配置和管理,解决私有云和服务提供商云的存储挑战。
在基于块的存储情况下,VMM 可以利用存储区域网络(SAN)通过光纤通道、iSCSI 和 SAS 存储连接解决方案来存储虚拟机和资源。
对于基于文件的存储,VMM 可以与支持 SMB 3.0 协议的存储解决方案集成,以便访问基于文件的存储。Windows Server 文件服务器提供 SMB 功能,使共享存储能力得以实现,而无需购买昂贵的存储阵列解决方案。
VMM 中的云存储部署选项
VMM 提供了多种选项来存储虚拟机和其他云资源。每个存储设备在 Hyper-V 主机上呈现为本地或远程存储,本地存储指的是本地附加或分配给主机的存储设备,而远程存储则指远程连接的 LUN。让我们来看一下在 VMM 环境中提供存储架构的主要选项。
-
直接附加存储(DAS):这是直接连接到虚拟化主机的存储磁盘,通常以服务器机箱内部的硬盘驱动器形式,通过内置 RAID 控制器或基于 SAS 的 JBOD 连接方式连接。这是专门为每个主机提供的,不可共享。它不提供高可用性或主机故障容错,因此不推荐用于生产环境。
-
传统 SAN 阵列:来自 EMC、NetApp、日立等领先厂商的企业级存储解决方案属于这一类。这些解决方案可用于通过 FC/iSCSI 及其他连接机制在 LUN 上存储虚拟机。VMM 可以通过支持静态和动态发现与 iSCSI 目标阵列集成。
-
支持 SMI-S 或 SMP 提供者的存储解决方案:支持通过 SMI-S 或 SMP 协议与 SCVMM 集成的存储解决方案属于这一类。SMI-S 通过 VMM 控制台实现自动化存储配置和管理,提供真正的自动化云解决方案。建议在私有云中将任何支持的传统存储与 VMM 集成,实现存储层的自动化。有关配置 SMI-S 以进行 VMM 集成的详细信息,请参阅供应商的特定指南。
-
文件存储(SMB 3.0):Windows Server 2012 R2 Hyper-V 支持通过 SMB 协议访问的文件共享存储虚拟机。基于 Windows Server 的文件服务器集群可以部署并与 VMM 集成,用于存储云虚拟机和资源。
-
横向扩展文件服务器:横向扩展文件服务器是 Windows Server 的一个功能,确保在多个主机之间同时持续提供文件共享存储。SOFS 可以利用连接的 JBOD 文件服务器节点,为 Hyper-V 主机提供始终可用的文件共享。SOFS 使用 SMB 协议提供存储访问。可以通过 System Center 虚拟机管理器轻松配置和管理 SOFS。
-
软件定义存储(Microsoft 存储空间):在今天的软件定义基础设施时代,微软提供了 Windows 存储空间,可用于在普通硬件上提供存储解决方案,而无需购买昂贵的存储阵列。这可以被云服务提供商用来提供共享存储功能和能力,而无需投资传统的存储解决方案。微软存储空间将物理磁盘组合在一个存储池中,可用于创建数据存储需求的空间。它可以配置为在每个级别保护故障,通过保持多个数据副本。存储空间可以通过使用连接到 JBOD 托盘的多个节点来提供共享存储功能。
提示
可在social.technet.microsoft.com/wiki/contents/articles/16100.system-center-2012-vmm-supported-storage-arrays.aspx找到支持 VMM 集成的存储解决方案列表。
在 VMM 中配置存储架构
让我们来看看在 VMM 中可用于存储架构的各种可配置参数。
-
存储分类:存储分类可用于为可用的存储资源提供友好的名称或容器,例如金牌存储、银牌存储,这些分类基于容量、性能、可靠性等因素进行区分。这可以简化日常管理任务,在分配存储时以简化的方式表示复杂的架构。你可以将存储池与分类关联,以便通过友好的名称映射资源。要创建存储分类,需要执行以下步骤:
-
登录到 VMM 控制台并打开架构工作区。
-
右键点击存储 | 分类和池以创建分类。
-
提供一个友好的名称和描述,然后点击添加。
![在 VMM 中配置存储架构]()
-
-
存储提供商:存储提供商提供在 VMM 中添加存储设备以实现自动化 LUN 提供和管理的选项。VMM 2012 R2 提供了以下存储解决方案的灵活性:
-
基于 Windows 的文件服务器
-
通过 SMI-S 提供商发现并管理的 SAN 或 NAS 设备
-
由本地 SMP 提供商管理的 SAN 设备
-
通过 SMI-S 提供商发现并管理的光纤通道架构
-
通过在 VMM 中集成存储设备,我们可以使用 VMM 控制台为 Hyper-V 主机提供和分配 LUN,存储设备的提供和管理可以通过 VMM 进行,这允许完成自动化存储部署和管理的灵活性。
-
在 VMM 中添加存储设备:
-
启动 VMM 控制台,并以管理员权限连接到 VMM 服务器。
-
打开架构工作区,在存储部分下右键点击提供商。
-
选择添加存储设备,然后从给定选项中选择设备类型。
![在 VMM 中配置存储面料]()
-
提供发现范围、凭据和更多详细信息,具体取决于存储提供商类型。
-
选择一个可用的存储设备并完成向导以进行添加。
-
验证在 VMM 存储面料工作区中列出的阵列。
-
-
存储设备集成后的任务:
-
创建存储池和 LUN
-
将存储池与之前创建的分类进行映射
-
将 LUN 和存储池分配给主机
-
管理和监控存储资源
-
规划和部署服务提供商基础
System Center Service Provider Foundation 2012 R2 是 System Center 套件的一部分,可在 System Center 2012 R2 Orchestrator 安装介质中获得。SPF 为 System Center 产品如 SCVMM、SMA 等增加了多租户能力。SPF 暴露了一个可扩展的 OData Web 服务,与虚拟机管理器进行交互。
服务提供商和组织可以设计和开发自己的云门户,并利用 SPF 来使用 SCVMM 的 IaaS 能力。Windows Azure Pack 通过 SPF 与 SCVMM 集成,以便提供和管理云 IaaS 资源,如虚拟机、虚拟网络等。
SPF 架构和部署选项
SPF 是由四个 Web 服务组成,具体如下:
-
SPF Admin Web 服务:Admin Web 服务负责创建和管理租户、角色、印章(SCVMM)等。可以通过
https://SPFSERVER:8090/SC2012R2/Admin/Microsoft.Management.Odata.svc访问此服务。运行 SPF Admin Web 服务应用程序池的用户必须是本地管理员和SPF_Admin本地组的成员。 -
SPF VMM Web 服务:VMM Web 服务负责执行虚拟机管理器的操作,如创建虚拟机、网络、用户角色等。此服务还负责维护和复制在 WAP 和 SCVMM 等组件上进行的更改。它可以通过以下地址访问:
-
https://SPFSERVER:8090/SC2012R2/VMM/Microsoft.Management.Odata.svc。运行 SPF Admin Web 服务应用程序池的用户必须是本地管理员、SPF_VMM本地组的成员,并且分别是 SPF 和 VMM 服务器上的 VMM 管理员。 -
SPF Usage 服务:Usage Web 服务与 System Center Operations Manager 数据仓库集成,并由 WAP 或第三方计费提供商用于收集资源使用数据。运行 Usage 服务的用户帐户必须是本地管理员和
SPF_Usage组的成员,并具有对 SC Operations Manager 数据仓库数据库的访问权限。 -
SPF 提供程序服务:提供程序 Web 服务供资源提供者交付 IaaS 服务。提供程序服务使用 Microsoft ASP.NET Web API,而非其他 Web 服务使用的 OData。提供程序服务还使用 VMM 和管理员服务。运行 SPF 提供程序 Web 服务应用程序池的用户必须是 SPF 服务器上的本地管理员及 SPF_Provider、SPF_VMM 和 SPF_Admin 本地组的成员。
系统中心服务提供者基础结构可以通过两种方式进行部署:
-
独立单服务器部署:在独立部署的情况下,解决方案中仅部署一个服务器,且没有冗余。这种方式不推荐用于生产环境,仅用于测试和评估目的。所有 Web 服务始终安装在同一台服务器上。
-
高度可用的可扩展部署:SPF 支持使用负载均衡器进行高度可用的部署。可以使用硬件负载均衡器(LB)或 Microsoft NLB 提供多个 SPF 服务器之间的负载均衡。可以将多个 SPF 服务器部署在负载均衡器后面,指向一个高度可用的数据库,以为 SPF 部署在每个层提供高可用性(HA)能力。这是生产环境场景中推荐的部署模型。
安装服务提供者基础结构 2012 R2
和其他系统中心或 Microsoft 产品一样,SPF 也有一套前提条件,需要在开始安装之前满足。SPF 安装二进制文件包含在 System Center 2012 R2 Orchestrator 媒体中。
安装前提条件
以下是安装前提条件。
按如下方式创建 SPF 服务账户(Active Directory 账户):
| 账户名 | 目的 | 权限 |
|---|---|---|
| Spfsvc | 用于运行 IIS 应用程序池的 SPF 服务账户 | 本地管理员 + SPF 本地组 + SCVMM 管理员 + SQLDB 系统管理员 |
| Spflocal | SPF 集成的本地账户 | 本地管理员 + SPF 本地组 + SCVMM 管理员 |
如果需要,还可以为管理员、提供程序、使用情况和 VMM 应用程序池创建独立的服务账户。
软件前提条件
在开始安装服务提供者基础结构之前,需要安装以下软件:
Windows 功能:
-
管理 OData 互联网信息服务(IIS)扩展
-
.NET Framework 4.5 功能,WCF 服务和 HTTP 激活
-
对于 Web 服务器(IIS),请安装以下 IIS 组件:
-
基本身份验证
-
Windows 身份验证
-
应用程序部署 ASP.NET 4.5
-
应用程序开发 ISAPI 扩展
-
应用程序部署 ISAPI 过滤器
-
IIS 管理脚本和工具角色服务
-
-
Web 服务:
-
WCF 数据服务 5.0 用于 OData V3
-
ASP.NET MVC 4
-
-
虚拟机管理器 2012 R2 控制台
-
证书 SPF 创建自签名证书,生产环境部署应由 CA 提供 SSL 证书
注:
本地账户由 Windows Azure Pack 用于注册 SPF。
安装过程
以下是安装过程:
-
登录到 SPF 服务器并挂载 System Center Orchestrator 媒体。
-
从已挂载的媒体中运行
SetupOrchestrator.exe。 -
在独立安装部分点击服务提供商基础设施。
-
这将启动SPF 安装向导,点击安装以继续。
-
接受协议并继续。
-
设置程序将检查前提条件,如果所有检查成功完成,继续进行。如果出现失败,检查错误。
-
提供数据库服务器IP 和端口号以及数据库名称。
![安装过程]()
-
提供 SPF 文件的安装文件夹和端口号。(默认
C:\intepub和8090)。选择生成自签名证书或提供预先创建的 SSL 证书用于 SPF。 -
SPF 会自动在 SPF 服务器上创建本地组以进行管理权限,提供 SPF 管理员服务账户和管理员账户,SCVMM-Admins 组和 SPF 本地账户。
-
提供每个服务的服务账户详情,即管理员 Web、VMM、使用情况和提供者。
![安装过程]()
-
审查安装配置和摘要,然后继续进行安装。
-
安装成功后关闭向导。
安装后任务
以下是安装后的任务:
-
验证 IIS 中的安装成功和应用程序池状态。
![安装后任务]()
-
验证在 SPF 服务器中创建的本地组,并将
spflocal user添加到所有组中。![安装后任务]()
-
为 SPF 网站启用基本身份验证,这是 WAP 集成的要求。
总结
在本章中,我们学习了为私有云需求和服务提供商规划云架构。我们涵盖了从硬件到虚拟化程序、网络和存储的每一层的基础设施规划。还介绍了 Hyper-V 的部署最佳实践,这将有助于部署可靠和稳定的虚拟化程序层。
我们了解了 SCVMM 和 SPF 架构,并且为这两个产品提供了安装指南。我们学习了 SCVMM 中云架构的计算、网络和存储的规划和配置。
在下一章中,我们将介绍 Windows Azure Pack 门户、API 和身份验证站点的安装与配置。
第三章:安装和配置 Windows Azure Pack
在上一章中,我们讲解了云基础设施的规划与配置,它用于托管云基础设施管理和租户工作负载。接下来,本章将讲解 Windows Azure Pack 网站、API 和认证站点的安装与配置。我们还将覆盖部署后的步骤,例如根据企业和服务提供商的需求自定义门户名称和证书。
本章将覆盖以下主题:
-
Windows Azure Pack 部署模型回顾
-
安装和配置 Windows Azure Pack
-
在分布式模型中安装 Windows Azure Pack
-
WAP 组件所需的防火墙端口
-
自定义 WAP 门户的可访问性和证书总结
-
将服务提供商基础设施与 WAP 注册
Windows Azure Pack 部署模型回顾
在第一章,了解 Windows Azure Pack 及其架构中,我们介绍了适用于组织私有云和服务提供商云需求的架构及各种部署模型。在开始实际安装 Windows Azure Pack(WAP)之前,让我们回顾一下可能的和推荐的部署模型。
-
快速部署架构:在快速部署架构中,WAP 的所有组件(门户、API 和认证站点)都安装在单一的 Windows Server 2012/Windows Server 2012 R2 上。它不提供任何高可用性,仅适用于测试、开发和部署。为了在本书中评估 WAP,我们将遵循快速部署模型。
-
分布式部署架构:在分布式部署架构中,WAP 角色如管理员/租户门户或 API、认证站点以分布式方式部署,涉及多个 Windows 服务器,以提供可扩展性和高可用性,并确保安全性。分布式部署架构可以根据需求进行定制,例如只为某些角色添加 高可用性(HA)层,而不是为所有角色添加。这种架构适用于生产环境部署。
安装和配置 Windows Azure Pack
Microsoft Web Platform Installer(WEB PI)用于在快速部署和分布式架构中安装 Windows Azure Pack 组件。Microsoft Web Platform 是一款免费的工具,用于下载并安装最新的 Microsoft Web 平台相关组件,如 IIS、.NET、Web 开发工具、Web 应用程序、Windows Azure Pack 等。Web PI 会自动检测执行它的操作系统,并仅显示可下载和安装的兼容解决方案。
在下载并启动 Web 平台安装程序之前,我们需要确保 Windows Azure Pack 安装的前提条件已完成。在开始安装之前,先完成前提条件。
WAP 安装前提条件
为了评估目的,我们正在以 Express 部署模型安装 Windows Azure Pack。在开始安装之前,必须满足以下硬件和软件的前提条件。请参阅 第一章,了解 Windows Azure Pack 及其架构,以获取硬件要求的详细信息以及 Express 和分布式部署架构的部署模型。
-
Active Directory 用户账户:
-
在 Active Directory 中为 Windows Azure Pack 组件身份验证创建以下用户账户和组:
账户名称 目的 权限 Wapsvc WAP Web 服务的服务账户 WAP 服务器上的本地管理员组成员和 WAP Admins 组成员 Wapadmin 管理 WAP 云的管理员账户 WAP 服务器上的本地管理员组成员 + WAPAdmins 组成员 Wapadmins WAP 管理员组 WAP 服务器上的本地管理员组成员
-
-
硬件要求:
-
Windows Server 2012 R2 虚拟机或物理服务器
-
8 GB RAM(无动态内存)
-
50 GB 可用磁盘空间
-
-
软件要求:
-
Windows Server 2012 /2012 R2 操作系统。Windows Server 2012 R2 提供了所有最新功能和支持。如果在 Windows Server 2012 上部署,请查看功能兼容性指南。
-
Microsoft Web 平台安装程序 5,下载地址
www.microsoft.com/web/downloads/platform.aspx。 -
Microsoft .NET Framework 3.5 服务包。使用服务器管理器和添加功能向导进行安装。
-
IIS(Internet 信息服务)。Windows Server 操作系统的组件。Web 平台安装程序可以在 WAP 安装之前自动安装它。稍后手动添加管理控制台。
-
Microsoft .NET Framework 4.5 Extended with ASP.NET for Windows 8。可以使用服务器管理器的“添加功能”向导进行安装。WEB PI 也可以在启动 WAP 安装之前自动安装此组件。
-
应该禁用管理员的 Internet Explorer 增强安全配置。请使用服务器管理器来禁用它。
注意
在 Windows Server 2012 或 2012 R2 上安装 .NET Framework 3.5 时,需要在“添加角色和功能”向导中指定 .NET 文件的备用位置。有关更多信息,请访问
technet.microsoft.com/en-in/library/dn482071.aspx。 -
安装 Windows Azure Pack:Portal 和 API Express
在成功完成前提条件后,我们可以开始安装 Windows Azure Pack。
按照以下步骤安装 WAP Express:
-
登录到 WAP 服务器。
-
启动 Microsoft Web PI(Microsoft Web Platform Installer)。
-
搜索Windows Azure Pack: Portal and API Express。Web PI 会自动检测到其正在运行,并且 Windows Server 2012 R2 只会显示兼容的产品供下载和安装。
-
搜索Windows Azure Pack: Portal and API Express。这将自动下载并安装作为 Express 部署一部分的所有 WAP 组件。
![Installing Windows Azure Pack: Portal and API Express]()
-
点击添加以选择高亮显示的条目进行下载和安装。
-
选择安装以继续操作。
-
Web PI 向导将显示可以安装的先决条件和可选组件。如果不打算使用某些组件(如合作伙伴提供的扩展),可以选择删除它们。
![Installing Windows Azure Pack: Portal and API Express]()
-
删除任何额外或未使用的组件,并点击我接受以继续操作。
-
根据需求选择 Microsoft 更新设置。建议启用 Microsoft 更新,以便使用 Windows Update 控制台将 WAP 和其他组件更新到最新功能和修复版本。
-
向导将开始下载并安装 WAP 组件和先决条件,如下图所示:
![Installing Windows Azure Pack: Portal and API Express]()
-
安装成功后,将进入配置页面,页面上提供了关于配置 WAP 已安装组件的详细信息,如下图所示。在初始设置期间,WAP 会在 IIS 中创建一个名为 Windows Azure Pack 配置站点的站点,用于配置和集成所有 WAP 组件和数据库。点击继续以继续操作。点击继续还会打开配置站点页面,您可以现在配置,或者稍后关闭页面再进行设置。
![Installing Windows Azure Pack: Portal and API Express]()
-
审核已安装组件的摘要并完成向导。如遇到错误,请查看安装日志。退出 Web PI 控制台。
-
已安装的组件可以在程序和功能(
appwiz.cpl)管理控制台中验证。提示
Microsoft Web PI 总是包含 Windows Azure Pack 组件的最新版本及其更新。
配置 Windows Azure Pack Express 部署
在前面的话题中,我们只安装了那些尚未准备好使用的 WAP 组件。现在,我们需要通过将其与管理数据库等进行集成,来配置所有的 WAP 组件(已安装在单个服务器上)。Windows Azure Pack 配置站点用于配置安装。您可以通过打开 IE 和输入其 URL,或使用开始菜单图标来打开 WAP 配置站点。
配置 WAP Express 安装的步骤如下:
-
使用以管理员身份运行启动 Internet Explorer。
-
打开可以通过
https://localhost:30101/访问的 Windows Azure Pack 配置站点。 -
如果出现任何 SSL 警告,点击继续访问此网站。
-
点击立即配置继续下一步。
![配置 Windows Azure Pack Express 部署]()
-
在数据库服务器设置向导中提供所需的信息:
-
服务器名称:用于托管云管理数据库的 SQL 服务器的 FQDN。
-
身份验证类型:Windows 身份验证或 SQL 身份验证。
-
数据库服务器管理员用户名和数据库服务器管理员密码:向导将在继续之前自动检测用户名和密码是否正确。
-
配置存储密码短语:WAP 使用加密和解密技术存储和检索 SQL 配置中存储的机密数据。此密码短语将用于加密和解密数据。在分布式部署中配置所有服务器时,必须使用相同的密码短语。
![配置 Windows Azure Pack Express 部署]()
-
-
选择是否参与客户体验改进计划。
-
审查需要配置的组件并点击右下角的勾选标记。
![配置 Windows Azure Pack Express 部署]()
-
WINDOWS AZURE PACK 设置将开始配置每个角色。配置完成可能需要几分钟时间。配置完成并且所有组件都成功时,点击完成。
-
配置已完成。现在可以继续验证部署并进行后续步骤。
提示
配置完成后,登出并重新登录到 WAP 服务器。这将创建必要的安全权限来登录门户。

验证成功的部署
配置向导完成后,建议快速运行一些测试,以验证部署和数据库集成是否成功完成。执行以下检查以验证部署是否成功:
-
验证所有 Internet 信息服务(IIS)网站和应用程序是否已在 WAP 服务器上创建。使用Internet 信息服务(IIS)管理器进行验证。如果未安装 IIS 管理器,请使用服务器管理器安装它。
![验证成功的部署]()
-
验证所有 WAP 数据库是否已在设置过程中指定的 SQL 服务器上创建。使用 SQL Management Studio 访问 SQL 管理服务器。访问 WAP 数据库服务器并展开数据库,以查看所有在服务器上创建的数据库:
![验证成功的部署]()
-
验证管理员门户和租户门户的登录和可访问性。尝试登录管理员门户:
管理员门户网址:
https://WAPServer:30091租户门户网址:
https://WAPServer:30081 -
运行 Microsoft Best Practice Analyzer for Windows Azure Pack,识别部署中的任何缺口。
提示
用于安装 WAP 组件的帐户必须用于登录到管理门户。可以通过将用户添加到 WAP 服务器上的 MgmtSvc Operators 本地组来添加额外的共同管理员。
可以通过 Microsoft Web Platform Installer(WebPI)下载并安装 Windows Azure Pack 的 Microsoft 最佳实践分析器。
在分布式架构中安装 Windows Azure Pack
在分布式架构中安装 Windows Azure Pack 与快速安装类似。在分布式架构中,选择的不是 Windows Azure Pack: Portal and API Express,而是单独选择并在多个服务器上安装组件,例如管理员站点和管理员身份验证站点。
Microsoft Web Platform Installer(Web PI)用于选择各个组件并在所有 WAP 服务器上安装它们。让我们来看一下在分布式架构中部署 WAP 的步骤。
-
在所有 WAP 服务器上完成硬件和软件的先决条件(请参阅第一章, 了解 Windows Azure Pack 及其架构,该章最后一部分讨论 WAP 在分布式架构中的各种部署拓扑,软件先决条件)。
-
验证 Windows 防火墙或网络防火墙中是否允许所需的防火墙端口。
-
根据架构部署任何负载均衡器(物理或逻辑),用于 WAP 虚拟机。
-
按顺序在 WAP 服务器上安装并运行 Microsoft Web Platform Installer。
-
按照给定的顺序在多个服务器上安装和配置 WAP 组件:
-
安装并配置 WAP 服务管理 API(管理员 API、租户 API 和租户公共 API)
-
安装并配置 WAP 管理门户(管理员站点、租户站点等)
-
安装并配置身份验证站点(管理员身份验证站点和租户身份验证站点)
-
安装并配置其他组件,如资源提供者等
-
-
在配置过程中,提供 SQL 服务器的详细信息和密码短语。记下密码短语,因为在配置其他组件时必须完全一致。建议将其记录下来,因为一旦丢失,就无法恢复密码短语。
-
配置负载均衡器以分配流量和 DNS 记录。
-
为负载均衡的名称自定义门户和身份验证站点的 URL 和端口。
-
用受信任的 SSL 证书替换自签名证书。
-
测试部署并完成后续部署最佳实践,例如运行 BPA。
更改门户的 URL 和端口,以及更换 SSL 证书,将在后续主题中讨论。
注意
默认情况下,Windows Azure Pack 门户使用 HTTPS。如果您尝试通过 HTTP 打开门户,将会显示页面无法显示的错误。要接受 HTTP 流量,请在 IIS 中为每个网站创建附加绑定,指向 80 端口,并与默认的 HTTPS 绑定一起使用。
每个门户的 Web.Config 已经有一个将 HTTP 流量重定向到 HTTPS 的规则,该规则在为端口 80 添加绑定后生效。
WAP 组件所需的防火墙端口
以下网络端口必须在网络中或任何其他外部防火墙中允许,以便实现 WAP 组件与管理员或租户访问网站之间的通信。
Windows Azure Pack 会在 Windows 防火墙中自动创建这些端口的规则(如果已启用)。请注意,以下列表仅包括 WAP 组件使用的默认端口;如果使用任何自定义端口,请添加其他端口。
| WAP 服务 | 端口号 | 范围 |
|---|---|---|
| 管理员 API | 30004 | 需要访问管理员 API 的任何 IP 地址。通常是云管理 IP 范围。 |
| 管理员管理门户 | 30091 | 需要访问管理员门户的任何 IP 地址。通常是云管理 IP 范围。 |
| Windows 身份验证站点(用于管理员门户身份验证) | 30072 | 需要访问管理员门户的任何 IP 地址。通常是云管理 IP 范围。 |
| 配置站点 | 30101 | 本地 WAP 组件子网。在初始设置时将访问该站点。 |
| 监控站点 | 30020 | 需要访问监控服务的任何 IP 地址。通常是云管理范围。 |
| MySQL 资源提供程序 | 30012 | 使用指定服务的任何 IP 地址。 |
| SQL Server 或 MySQL 资源提供程序 | 30010 | 使用指定服务的任何 IP 地址。 |
| 租户 API | 30005 | 使用指定服务的任何 IP 地址。 |
| 租户公共 API | 30006 | 使用指定服务的任何 IP 地址。通常是所有互联网 IP 范围。 |
| 租户管理门户 | 30081 | 使用指定服务的任何 IP 地址。通常是所有互联网 IP 范围。 |
| 租户身份验证站点 | 30071 | 使用指定服务的任何 IP 地址。通常是所有互联网 IP 范围。 |
| 用途 | 30022 | 使用指定服务的任何 IP 地址。 |
| WebAppGallery | 30018 | 使用指定服务的任何 IP 地址。 |
自定义 WAP 门户的可访问性和证书
默认情况下,WAP 网站使用服务器主机名作为网站 URL、默认端口号以及自签名证书。在本主题中,我们将更改网站的名称,即 URL、默认端口(例如将 30081 更改为 443 用于租户门户)以及根据需要使用的内部或公共 SSL 证书。建议自定义这些门户的配置,以提高安全性和用户体验。
假设一个租户门户(也称为客户门户)的用户体验,该门户具有足够复杂的 URL 和一个自定义端口,同时会出现不受信任的 SSL 证书的安全警告。Windows Azure Pack 提供了灵活性,可以更改 URL 和端口,并为 WAP 网站提供受信任的 SSL 证书,从而提高安全性和优化终端用户体验。
在开始操作之前,让我们了解哪些网站涉及用户登录(管理员或租户)。WAP 门户使用基于声明的身份验证机制进行登录过程,如下所示:
-
用户通过输入 WAP 服务器的主机名和端口,打开各自的门户网站,如管理员门户或租户门户。
-
管理员站点将网页重定向到相应的身份验证站点网页。
-
用户通过 Windows 身份验证/ASP.NET 身份验证或 ADFS 等机制输入凭据。在身份验证成功后,用户将获得安全访问令牌,并再次被重定向到门户网页。
-
管理员门户网页接受用户的安全令牌,并根据用户可用的服务/权限显示门户。
如我们所知,四个网站在验证用户身份并根据角色获取个性化门户方面发挥作用。为了提供流畅的用户体验,我们需要自定义名称、端口,并为以下 WAP 网站提供受信任的证书:
-
管理员管理门户
-
管理员身份验证站点
-
租户管理门户
-
租户身份验证站点
对于组织的私有云,在大多数情况下,所有这些网站将仅从组织内部访问,这使得可以使用内部 CA(证书颁发机构)提供的 SSL 证书来保护所有网站。
在服务提供商场景下,租户门户将通过公共互联网访问;而管理员门户则可能仅在提供商的网络内访问。在这种情况下,应为租户管理门户和身份验证站点使用由公共 CA 发放的 SSL 证书,而管理员门户和管理员身份验证站点则可以使用内部 CA 提供的证书。
这使得建议明确:内部 CA 提供的 SSL 证书应用于企业局域网内使用的门户和身份验证站点,而任何公共门户或身份验证站点应分配由公共受信任的 CA 发放的 SSL 证书。
总的来说,为了改善用户体验和安全性,需要对用户可访问的网站执行以下建议:
-
为管理员和租户网站使用更简洁的 URL。
-
使用标准端口如 443(HTTPS)以避免 URL 中的复杂性。
-
使用受信任的 SSL 证书,以避免任何与 SSL 相关的安全警告。
为实现上述建议,需要在 WAP Cloud 解决方案中执行以下操作:
-
为新 URL 创建 DNS 记录(在内部 DNS 和公共 DNS 服务器中)。
-
为每个网站生成并导入受信任的 SSL 证书。
-
配置网站绑定,以使用新 URL、端口和证书。
-
更新 Windows Azure Pack 配置数据库,添加新的 URL 和端口。
配置门户的 DNS 名称。
默认情况下,WAP 管理门户和身份验证站点使用以下端口。
以下是 WAP 网站的默认 URL 和端口:
| 网站名称 | URL | 端口 |
|---|---|---|
| 管理员管理门户 | https://WAPServer:30091 |
30091 |
| 管理员身份验证站点 | https://WAPServer:30072 |
30072 |
| 租户管理门户 | https://WAPServer:30081 |
30081 |
| 租户身份验证站点 | https://WAPServer:30071 |
30071 |
为了评估目的,我们将根据以下表格更改 URL 和端口。组织和服务提供商可以根据需要选择自己的名称和端口。
| 网站名称 | URL | 端口 |
|---|---|---|
| 管理员管理门户 | https://admin.wapcloud.com |
443 |
| 管理员身份验证站点 | https://adminauth.wapcloud.com |
443 |
| 租户管理门户 | https://manage.wapcloud.com |
443 |
| 租户身份验证站点 | https://manageauth.wapcloud.com |
443 |
"A" 记录和 "PTR" 记录需要在内部和外部 DNS 服务器中创建,指向 WAP 服务器的前述名称。如果有任何服务可以通过互联网访问,如租户门户和身份验证站点,则需要更改公共 DNS 服务器。
可以使用 DNS 管理器在内部 DNS 服务器上创建记录。使用以下步骤来创建记录:
-
在 DNS 服务器上打开 DNS 管理器。
-
右键点击DNS 区域,然后点击创建新记录按钮。
-
提供门户和 WAP 服务器的名称及 IP,如下所示:
![配置门户的 DNS 名称]()
-
选择创建关联的指针(PTR)记录。
-
使用相同的方法创建所有所需的记录。
获取 WAP 网站的 SSL 证书
获取 WAP 管理门户和身份验证站点的 SSL 证书类似于为任何其他运行在 web 服务器上的网站获取 SSL 证书。SSL 证书通常由任何 CA 权威在线请求并分配,或者通过在 IIS 服务器上创建证书请求文件,然后将证书请求文件提交给公共 CA 提供商以获得所需的 SSL。
Active Directory 证书服务,即内部企业 CA,可以用于为仅在公司网络内可访问的门户分配证书,例如管理员的管理门户等。为了评估目的,我们将使用内部 Windows ADCS 服务作为 CA 来为这些网站分配证书。
假设您已经在组织内部配置了企业 CA(Active Directory 证书服务),以下是请求和分配 WAP 网站 SSL 证书所需的步骤:
-
登录 WAP 服务器并打开 IIS 管理器。
-
选择您的 IIS 服务器名称,然后在主页上点击服务器证书。
-
服务器证书窗口将显示所有现有的自签名证书或其他在 IIS 服务器中使用的证书。
-
点击操作窗格中的请求域名证书。
-
提供所要求的通用名称、组织、组织单位、城市/地区、州/省和国家/地区的详细信息,如下图所示。通用名称将是为其请求证书的网站的 FQDN。
![获取 WAP 网站的 SSL 证书]()
-
指定运行和配置 ADCS 的 CA 名称和服务器名称。为证书分配一个友好的名称,方便识别和管理。
![获取 WAP 网站的 SSL 证书]()
-
点击完成将会在 IIS 中请求并导入证书,如下图所示:
![获取 WAP 网站的 SSL 证书]()
-
为剩余的三个网站请求证书。
要从公共 CA 请求 SSL 证书,请执行以下步骤:
-
打开IIS 管理器 | IIS 服务器主页 | 服务器证书。
-
在操作面板中点击创建证书请求。
-
提供所要求的通用名称、组织、组织单位、城市/地区、州/省和国家/地区的详细信息。通用名称将是为其请求证书的网站的 FQDN。
-
根据公共 CA 的要求,选择加密服务提供商和位长度。
-
指定文件名和位置以提取证书请求文件。
-
将此请求文件提交给公共 CA 在线或通过离线方式。CA 将根据证书请求文件中收到的详细信息生成 SSL 证书。
-
在 IIS 管理器的服务器证书菜单中,点击完成证书请求。
-
提供由 CA 提供的证书文件的文件路径。
-
证书将会被添加到 IIS 中。
配置站点绑定以使用新的 URL、端口和 SSL 证书。
现在,我们需要配置 WAP 网站以使用这些新的名称、端口和 SSL 证书。按照以下步骤操作:
-
打开 WAP 服务器上的 IIS 管理器,浏览网站。
-
选择MgmtSvc-AdminSite以选择管理员站点的管理门户。
-
在操作面板中点击绑定。
-
选择现有的 HTTPS 绑定,点击编辑绑定。
-
提供新的端口号和主机名,并选择新创建的SSL 证书用于管理员站点。
-
选择要求服务器名称指示复选框。
-
点击确定提交更改。
-
对剩余的网站重复上述步骤。
![配置站点绑定以使用新 URL、端口和 SSL 证书]()
以下是 IIS 网站名称和相应的 WAP 网站:
| IIS 网站名称 | WAP 组件 |
|---|---|
| MgmtSvc-AdminSite | 管理员管理门户 |
| MgmtSvc-WindowsAuthSite | 管理员认证站点 |
| MgmtSvc-TenantSite | 管理员管理门户 |
| MgmtSvc-AuthSite | 租户认证站点 |
更新 Windows Azure Pack 数据库中的更改。
在前面步骤中进行的所有更改必须在 Windows Azure Pack 配置存储中更新,才能生效。接下来,我们将在管理 SQL 服务器上的 WAP 配置数据库中更新门户 URL 和端口的更改。
将使用 Windows Azure Pack PowerShell 来更新更改。我们需要更新 WAP 数据库中管理员和租户门户的以下三个配置项的值:
-
门户 FQDN:通过在 PowerShell 命令中使用
Set-MgmtSvcFqdn配置,这将更新 WAP 数据库中网站门户的 FQDN,例如admin.wapcloud.com。 -
身份验证服务中继:通过在 PowerShell 命令中使用
Set-MgmtSvcRelyingPartySettings配置,这将更新 WAP 数据库中身份验证站点的 URL。该 URL 将用于当用户在没有任何安全令牌的情况下访问门户时,由门户进行重定向。 -
身份验证服务重定向:通过在 PowerShell 命令中使用
Set-MgmtSvcIdentityProviderSettings配置,这将更新身份验证站点在用户身份验证后使用的重定向 URL。该 URL 将用于身份验证站点在用户身份验证后将其重定向到管理员或租户门户。
接下来给出的 PowerShell 命令中的示例 URL 需要在生产环境中替换为实际的名称。更新 WAP 数据库中新网站的 URL 和端口的步骤如下:
-
以 WAP 管理员身份登录到 WAP 服务器。
-
以管理员身份运行 Windows PowerShell。
-
通过执行以下命令导入 Windows Azure Pack PowerShell 模块:
Import-Module -Name MgmtSvcConfig -
通过在 PowerShell 中执行以下命令更新管理员门户的 FQDN。此命令中的 FQDN 是管理员门户的 FQDN:
Set-MgmtSvcFqdn -Namespace "AdminSite" -FullyQualifiedDomainName "admin.wapcloud.com" -Port 443 -Server "WAPMGT-SQLDB-01.wapcloud.com" -
通过执行以下 PowerShell 更新管理员身份验证站点的 FQDN。此命令中的 FQDN 是管理员身份验证站点的 FQDN:
Set-MgmtSvcFqdn -Namespace "WindowsAuthSite" -FullyQualifiedDomainName "adminauth.wapcloud.com" -Port 443 -Server "WAPMGT-SQLDB-01.wapcloud.com" -
通过执行以下 PowerShell 更新管理员身份验证站点重定向的更改。此命令中的 FQDN 是管理员身份验证站点的 FQDN:
Set-MgmtSvcRelyingPartySettings –Target Admin –MetadataEndpoint 'https://adminauth.wapcloud.com:443/FederationMetadata/2007-06/FederationMetadata.xml' -ConnectionString "Data Source=WAPMGT-SQLDB-01.wapcloud.com ;User ID=sa; Password=*******" -
通过执行以下 PowerShell 更新身份验证服务的重定向。此命令中的 FQDN 是管理员门户的 FQDN:
Set-MgmtSvcIdentityProviderSettings –Target Windows –MetadataEndpoint 'https://admin.wapcloud.com/FederationMetadata/2007-06/FederationMetadata.xml' -ConnectionString "Data Source=WAPMGT-SQLDB-01.wapcloud.com ;User ID=sa;Password=********" -
通过执行以下 PowerShell 更新租户管理员门户的 FQDN。此命令中的 FQDN 是租户门户的 FQDN:
Set-MgmtSvcFqdn -Namespace "TenantSite" -FullyQualifiedDomainName "manage.wapcloud.com" -Port 443 -Server "WAPMGT-SQLDB-01.wapcloud.com" -
通过执行以下 PowerShell 更新租户身份验证门户的 FQDN。此命令中的 FQDN 是租户身份验证门户的 FQDN:
Set-MgmtSvcFqdn -Namespace "AuthSite" -FullyQualifiedDomainName "manageauth.wapcloud.com" -Port 443 -Server "WAPMGT-SQLDB-01.wapcloud.com" -
通过执行以下 PowerShell 更新租户身份验证重定向站点的更改。此命令中的 FQDN 是租户身份验证站点的 FQDN:
Set-MgmtSvcRelyingPartySettings –Target Tenant –MetadataEndpoint 'https://manageauth.wapcloud.com:443/FederationMetadata/2007-06/FederationMetadata.xml' -ConnectionString "Data Source=WAPMGT-SQLDB-01.wapcloud.com ;User ID=sa; Password=*******" -
通过执行以下 PowerShell 更新租户身份验证服务的重定向。此命令中的 FQDN 是租户管理员门户的 FQDN:
Set-MgmtSvcIdentityProviderSettings –Target Membership –MetadataEndpoint 'https://manage.wapcloud.com/FederationMetadata/2007-06/FederationMetadata.xml' -ConnectionString "Data Source=WAPMGT-SQLDB-01.wapcloud.com ;User ID=sa;Password=********" -
成功更新的配置将输出如下:
![在 Windows Azure Pack 数据库中更新更改]()
验证门户自定义设置
可以按照以下步骤验证前一节中的自定义设置是否生效:
-
通过登录租户和管理员门户验证门户 URL 和端口自定义是否正常工作。
-
通过点击网站浏览器中的 SSL 按钮来检查网站的 SSL 证书。
-
验证登录或访问门户时没有显示 SSL 信任相关的警告。
使用 WAP 注册服务提供商基础架构
现在我们已经准备好管理员和租户使用的门户,接下来是将 WAP API 与前一章中准备的 Fabric 进行集成或通信。在本节中,我们将使用 Windows Azure Pack 服务管理 API 注册服务提供商基础架构。
请参阅第一章,了解 Windows Azure Pack 及其架构,系统中心集成部分,了解 WAP API 与 SPF 之间的集成。
在注册之前,验证 SPF 是否已正确部署和配置,以确保注册成功:
-
WAP 服务器和 SPF 之间的必需端口已实现网络连通性
-
SPF 应用程序池身份以域用户身份运行
-
SPF 应用程序池身份用户对 SCVMM 和 SPF 数据库具有管理员权限
-
本地用户在 SPF 服务器上为 WAP 集成创建。确保该本地用户已添加到 SPF 本地组服务器(
SPF_Admin,SPF_Provider,SPF_Usage,SPF_VMM)
注册 SPF 端点到 WAP 的步骤如下:
-
使用 WAP 管理员凭据登录 WAP 管理员门户。
-
选择虚拟机云。打开虚拟机云页面时会出现注册 SPF 的选项。如果不可用,请点击快速启动(
)按钮。 -
选择注册系统中心服务提供商基础架构。
![使用 WAP 注册服务提供商基础架构]()
-
提供 SPF 服务器的 FQDN 和登录凭据:
SPF 服务器:
https://WAPMGT-SCSPF-01:8090/使用第二章,准备云 Fabric中 SPF 安装时创建的 spflocal 帐户。登录名中不要提供任何域名或计算机名称。
![使用 WAP 注册服务提供商基础架构]()
-
注册任务通过点击勾选框开始。
![使用 WAP 注册服务提供商基础架构]()
-
注册成功完成后,点击确定:
![使用 WAP 注册服务提供商基础架构]()
-
现在,我们可以开始集成 SCVMM 并构建 IaaS 服务,这将在下一章中讨论。
总结
在本章中,我们学习了在快速部署模型和分布式部署模型中安装和配置 Windows Azure Pack。我们进行了不同 WAP 组件的安装和配置演示。
我们还涵盖了定制门户网站的 URL、端口和 SSL 证书,以提供更好的用户体验并符合组织和云服务提供商的需求。在本章结束时,我们定制了可供用户(管理员和租户用户)访问的管理员和租户门户,准备提供云服务。
在下一章,我们将构建 IaaS 云服务目录。
第四章:构建虚拟机云和 IaaS 服务
在前一章中,我们安装并配置了 Windows Azure Pack 组件。此时,管理员和租户可以访问的门户在云服务提供方面非常基础。在本章中,我们将构建与 Windows Azure Pack、SPF 和 SCVMM 集成的虚拟机云。Windows Azure Pack 虚拟机云用于提供 IaaS(基础设施即服务)功能,如虚拟机、虚拟网络等。
你将了解虚拟机云的架构、规划和实施。此外,我们将开始构建云服务,如虚拟机和模板、画廊资源及其集成,并与 SCVMM 中的基础设施资源进行映射。你将学习使用微软提供的标准云服务画廊项目,并开发定制的画廊项目以满足特定需求。
本章将涵盖以下主题:
-
虚拟机云概述
-
将 SCVMM 注册到 Windows Azure Pack
-
为 Windows Azure Pack 云构建 SCVMM 云
-
为云目录准备操作系统镜像(Windows 和 Linux 虚拟机)
-
IaaS 虚拟机服务 – 独立虚拟机与虚拟机角色
-
构建独立虚拟机 IaaS 服务
-
VM 角色架构
-
使用画廊资源构建虚拟机角色 IaaS 服务
-
使用GRIT(Gallery Resource Import)工具
-
使用虚拟机角色创作工具开发虚拟机角色资源
-
访问租户虚拟机 – Windows Azure Pack 控制台连接
虚拟机云概述
Windows Azure Pack 云解决方案中的虚拟机云是一个顶层的伞形结构,用于提供 IaaS 服务。在System Center Virtual Machine Manager (SCVMM)中创建的云表示为 Windows Azure Pack 管理门户中的虚拟机云。
虚拟机云可以用来提供带有多租户功能的 IaaS 服务。在基于 Windows Azure Pack 的云中,云计划、订阅、云服务目录和基础设施资源都是在虚拟机云层面进行配置、映射和管理的。
Windows Azure Pack 使用 SPF 与 VMM 进行通信,处理与虚拟机云相关的所有操作和管理。根据需求,可以在一个或多个 SCVMM 中创建多个虚拟机云;但推荐只创建单个或较少数量的虚拟机云。
创建多个虚拟机云的使用场景包括 GEO 站点位置、为租户提供专用硬件服务、备份/辅助/灾难恢复基础设施,或根据云提供商策略提供的功能;但这些不局限于此。
IaaS 服务包括虚拟机、虚拟网络和带有自动化应用部署的 IaaS 虚拟机,这些服务通过虚拟机云提供。但它们不限于此。
虚拟机云负责提供 IaaS 服务,包括虚拟机、网络和虚拟机内部的自动化应用部署。
将 SCVMM 注册到 Windows Azure Pack
在开始构建 VM 云和 IaaS 提供之前,我们必须将我们的 SCVMM 实例注册到 Windows Azure Pack。这也称为印章注册。
注册 SCVMM 印章与 Windows Azure Pack 的以下步骤需要执行
-
登录 Windows Azure Pack 管理门户进行管理员操作。
-
浏览vm clouds工作区。
![在 Windows Azure Pack 中注册 SCVMM]()
-
点击使用现有虚拟机云提供商来配置虚拟机。
-
提供虚拟机管理器服务器 FQDN和端口号(如果自定义)。请注意,Windows Azure Pack 使用服务提供商基础 VMM 服务帐户访问 VMM,因此不需要凭据。输入远程桌面网关 FQDN,这将用于 Azure Pack 控制台连接。稍后可以在本章中配置远程桌面网关。
![在 Windows Azure Pack 中注册 SCVMM]()
-
成功注册后,在 Windows Azure Pack 门户的云工作区中将显示 VMM 印章。
![在 Windows Azure Pack 中注册 SCVMM]()
-
检查 Windows Azure Pack 注册错误、Windows Azure Pack、SPF 和 VMM 日志,以防任何注册失败。
我们目前在 Windows Azure Pack 门户中看不到任何列出的云,因为我们只集成了虚拟化机器云提供商。现在,我们将开始构建 VM 云。
为 Windows Azure Pack 云构建 SCVMM 云
在SCVMM中的云是一个包含我们的 VMM 布局资源(如计算(hypervisors)、网络和存储),以及资源(如 VM、服务和模板)的总称。在 SCVMM 中创建的云被 Windows Azure Pack 用于通过计划和订阅向租户提供 IaaS 服务。
在 SCVMM 中可以使用 SCVMM 主机组创建云,这些主机组可能包含不同的 hypervisor,或者可以从 VMware 资源池创建。在撰写本书时,Windows Azure Pack VM 云不支持使用 VMware 资源池创建的 SCVMM 云。
请注意,虽然可以将 VMware 或服务器资源添加到 SCVMM 云中,但通过 Windows Azure Pack 租户门户对这些资源进行 IaaS 资源配置是不可能的。目前,仅支持 Hyper-V 作为 WAP VM 云中 IaaS 服务的 hypervisor。第三方合作伙伴解决方案可用于使用基于 VMware 的虚拟化解决方案的 Windows Azure Pack。此限制仅适用于租户的 IaaS 工作负载,可用于托管 Windows Azure Pack 管理服务器、网站、DBaaS 服务器等的 VMware/Xen 和其他基于 VM 的 VM。
在创建 SCVMM 云之前,让我们看看 SCVMM 云在 Windows Azure Pack VM 云支持方面的要求。
Windows Azure Pack VM 云的要求
创建 SCVMM 云时,请注意以下有关 Windows Azure Pack VM 云的前提条件:
-
SCVMM 云必须从主机组中创建。当前,Windows Azure Pack 不支持使用 VMware 资源池创建的云。
-
创建云时,不能选择云能力配置文件(ESX 服务器、Hyper-V 或 XenServer)。
-
必须根据可用的容量选择云容量(计算/网络/存储资源)。这些资源的限制将适用于使用 Windows Azure Pack 云的租户在资源供应过程中。
-
计划用于 Windows Azure Pack 的逻辑网络必须已创建并与 SCVMM 云关联。
-
必须已创建并配置 VMM 库共享与云一起使用。
-
服务管理自动化(SMA)将在接下来的章节中讨论。如果它用于与 SCVMM 云相关的自动化,则必须在 SPF 服务器上信任 SMA Web 服务证书。这将在第九章,自动化与身份验证 - 服务管理自动化与 ADFS中详细讨论。
在 SCVMM 中创建云
SCVMM 管理控制台用于在 VMM 中创建云。在创建云之前,请确认已配置所有必需的架构组件。请参阅第二章,准备云架构,以回顾架构组件的要求。
按照以下步骤创建 SCVMM 云:
-
使用具有管理权限的 VMM 控制台登录到 SCVMM 服务器。
-
单击主页功能区中的创建云。
![在 SCVMM 中创建云]()
-
在创建云向导中提供云名称和描述。
![在 SCVMM 中创建云]()
-
在选择此云的资源部分,选择将用于 Windows Azure Pack 租户工作负载的主机组云。向导还将显示 CPU、内存和网络方面的容量或主机组。
![在 SCVMM 中创建云]()
-
在逻辑网络页面,选择为 Windows Azure Pack 云使用而创建的逻辑网络或网络。租户将使用这些网络来创建和使用虚拟机网络。这将利用网络虚拟化为租户提供独立的虚拟网络。有关网络虚拟化的更多信息,请参阅第二章,准备云架构,了解更多关于网络虚拟化的内容。
注意
请注意,分配给 Hyper-V 主机物理网络适配器的逻辑网络仅在此页面上可见。
![在 SCVMM 中创建云]()
-
可选地,选择负载均衡器,使其在此云中可供访问。
-
可选地,选择用于云端的VIP 模板。VIP 模板与负载均衡器配合使用,用于虚拟 IP 和其他相关配置。
-
可选地,选择端口分类以供云资源使用。端口配置文件可用于指定云层的QOS(服务质量),并在 Windows Azure Pack 计划级别进行精细控制。
-
可选地,选择存储来存储此云中的虚拟机。有关 Windows Azure Pack 云存储选项的详细信息,请参阅第二章,准备云基础设施。
-
选择存储的虚拟机路径和只读库共享以供云端使用。
![在 SCVMM 中创建云]()
-
选择容量以了解可供租户使用的云容量。这是 SCVMM 层面云的重要设置之一。容量应根据资源的可用性谨慎选择。此容量限制将适用于云中所有托管 IaaS 工作负载的租户。租户级别的容量限制将在 Windows Azure Pack 计划级别配置。虽然 CPU 和内存等值易于理解,但容量中的自定义配额值是根据虚拟机模板的参数(如大小)定义的值。稍后,这些将用于限制任何自服务用户在云中提供的最大资源。
注意
请注意,自定义配额点提供向后兼容性,仅适用于在 VMM 2008 R2 中创建的自服务用户。这些不适用于 Windows Azure Pack 虚拟机云。
![在 SCVMM 中创建云]()
-
在功能配置文件页面中,不要选择任何配置文件(ESX/Hyper-V/XenServer)。Windows Azure Pack 不支持在 IaaS 工作负载的租户使用带有功能配置文件的 SCVMM 云。
-
如适用,添加任何云灾难恢复解决方案,可在复制组页面上进行操作。
-
查看总结页面上的设置。
-
点击完成以创建云端。
-
查看任务以验证云创建任务的状态。新创建的云将显示在SCVMM 虚拟机和服务管理工作区中。
注意
Azure Site Recovery,微软基于云的灾难恢复解决方案,可以用于保护 SCVMM 云免受灾难影响。请访问
azure.microsoft.com/en-in/services/site-recovery/以了解更多关于 Azure Site Recovery 的信息。
在 Windows Azure Pack 门户中验证 SCVMM 云
我们在上一篇文章中创建了一个 SCVMM 云。为了将其用于构建 IaaS 云服务,它必须在 Windows Azure Pack 管理门户中的虚拟机云部分可见。服务提供商基础架构负责同步 SCVMM 和 Windows Azure Pack 层级所做的更改,反之亦然。让我们验证一下云是否在 Windows Azure Pack 管理门户中可见:
-
登录到 Windows Azure Pack 管理门户(管理员)。
-
浏览 虚拟机云 部分。
-
展开当前已注册的 SCVMM 服务器。
-
在上一篇文章中创建的新云将可见。
![在 Windows Azure Pack 门户中验证 SCVMM 云]()
如果在 Windows Azure Pack 管理门户中没有看到新创建的云, 请验证 VMM 中 创建新云 作业的状态。请查看 SPF SCVMM 和 Windows Azure Pack 集成检查表及状态。
SCVMM 作业窗口提供了清晰的细节,包含执行特定任务所发生的事件及其各自的状态。这对于任何故障排除操作都非常有用。

通过本主题,我们已经成功将我们的基础架构和云与 Windows Azure Pack 集成。此外,我们将开始为 Windows Azure Pack 云创建云服务。
为云目录准备操作系统镜像(Windows 和 Linux 虚拟机)
云服务目录可以与任何在线购物网站的商品目录进行对比。在任何在线购物网站上,都有不同类型的商品可供购买,而每个商品可能会有不同的尺寸或版本。
客户选择目录中提供的商品并进行购买。在云目录的情况下,类似的购买方式也适用。如果我们查看任何公共云提供商,例如微软、亚马逊等虚拟机服务目录,可能会有不同操作系统以不同格式提供,如普通操作系统或为特定应用或工作负载类型定制的操作系统,这些操作系统以不同的配置尺寸(CPU/内存/存储容量)提供。还可以有其他特征和区分目录的因素,如高可用性、性能、功能等。
在基于 Windows Azure Pack 的云解决方案中,SCVMM 虚拟机模板和 Windows Azure Pack 画廊项目是云目录的核心。虚拟机模板和画廊项目都依赖于预安装的操作系统 VHDXs,用于虚拟机和应用程序的配置。这些 Hyper-V 虚拟硬盘(VHD)或 VHDXs 存储在 VMM 库中,以供虚拟机模板和画廊资源使用。
在本节中,我们将介绍虚拟磁盘的规划和执行,以用于虚拟机模板和画廊项目的准备。
规划虚拟机镜像
准备虚拟机镜像和目录是任何云解决方案中的持续过程,因为云需要满足 IT 解决方案日常变化的需求。为任何云准备的镜像数量和类型将取决于提供商的策略和产品组合。
在基于 Windows Azure Pack 的云解决方案的通用场景中,可以为组织和服务提供商的云解决方案准备以下镜像。
以下是基于 Hyper-V 支持的操作系统:
-
所有可用和受支持的 Windows 操作系统的镜像如下:
-
Windows Server 2012 R2
-
Windows Server 2012
-
Windows Server 2008 R2 SP1
-
Windows 客户操作系统(Win 7/8/8.1)
-
-
所有可用和受支持的 Unix/Linux 系统的镜像如下:
-
Red Hat Enterprise Linux
-
Cent OS
-
任何其他支持的 Unix 发行版
-
-
任何其他 Hyper-V 支持的操作系统
对于操作系统磁盘的大小,Windows Azure Pack 会为租户的虚拟机提供与 VHD 模板相同的大小。尽管可以使用 Windows Azure Pack 自动化功能进行定制,但最好有多种大小变体的操作系统虚拟磁盘,例如以下:
-
150 GB
-
100 GB
-
80 GB
-
40 GB
-
根据组织或租户的需求提供任何其他大小
在应用程序或工作负载特定的操作系统磁盘基础设施即服务(IaaS)中,虚拟机不仅仅是为租户的工作负载提供纯粹的操作系统;它还可以根据租户的要求提供带有预配置应用程序的服务器,支持自动化应用程序部署;例如包括 Web 服务器、为租户专门配置的数据库服务器等。可以为应用程序或工作负载特定的产品创建单独的操作系统磁盘,这些磁盘具有特定预安装或配置的应用程序或平台,用于部署应用程序(如 .NET 框架)。
为 Windows 操作系统虚拟机准备 Sysprepped 虚拟磁盘
每个 Windows 操作系统都有一个独特的标识符,即 SID(安全 ID)。为避免任何 SID 冲突,使用 Sysprep 来处理通过模板 VHD 部署的虚拟机。
一旦为虚拟机镜像的准备工作完成计划,以下说明可以用来准备 Sysprepped 虚拟磁盘。
为 Windows 操作系统模板准备 VHD 的步骤如下:
-
创建一个 Hyper-V 虚拟机。
-
挂载操作系统安装 ISO 并安装操作系统。
-
安装或验证 Hyper-V 集成服务。
-
配置所需的本地加固策略。
-
配置访问设置,例如启用 RDP 和配置 Windows 防火墙。
-
安装所需的代理(如杀毒软件、备份等)。
-
如适用,安装所需的 Windows 角色和功能。
-
安装任何其他第三方应用程序(如适用)。
-
在启动时添加任何脚本(如 Windows 激活、代理配置和应用程序部署)。
-
使用最新的 Windows 补丁和服务包更新操作系统。
-
执行必要的清理工作,例如移除安装介质、事件查看器日志、临时文件等。
-
最后检查操作系统,识别任何缺失的组件或问题。
-
要使用 Sysprep 泛化操作系统镜像,我们可以在
C:\Windows\System32\Sysprep文件夹中找到Sysprep.exe。在系统清理操作中选择进入系统开箱体验(OOBE),并勾选泛化选项。在关机选项中选择关机,以在 Sysprep 完成后关闭虚拟机。![为 Windows OS 虚拟机准备 Sysprep 虚拟磁盘]()
完成此过程后,虚拟磁盘文件可以复制到 VMM 库中供模板使用。建议保留多个已准备好的磁盘文件副本,以备未来使用和回滚。
注意
在虚拟磁盘中配置的产品密钥、主机名和其他值对使用该虚拟磁盘配置的虚拟机没有任何影响。Sysprep 过程完成后,这些配置将不再使用。
准备 Linux OS 虚拟机的 VHDX
Linux 操作系统没有任何 SID 关联,因此不需要执行任何 Sysprep 操作。然而,在对 Linux 工作负载进行操作系统镜像泛化时,需要遵循额外的考虑事项。
让我们执行以下步骤以准备 Linux 操作系统镜像:
-
确定 Linux 版本、分区/LVM 配置等。
-
挂载操作系统安装 ISO 并安装操作系统。
-
安装或验证Linux 集成服务(LIS)。
-
配置任何需要的本地加固策略。
-
安装所需的代理(杀毒软件、备份等)。
-
安装 SCVMM 客户端代理。
-
安装任何其他第三方应用程序(如适用)。
-
在启动时添加任何脚本(例如代理配置/应用程序部署)。
-
使用最新的补丁和更新更新操作系统。
-
执行一些必要的清理工作,例如移除安装介质、日志、临时文件等。
-
最后检查操作系统,识别任何缺失的组件或问题。
-
移除任何 IP 配置并关闭虚拟机。
完成此过程后,虚拟磁盘文件可以复制到 VMM 库中供模板使用。建议保留多个已准备好的磁盘文件副本,以备未来使用和回滚。
Linux 操作系统的 SCVMM 客户端代理可以在 VMM 管理服务器的C:\Program Files\Microsoft System Center 2012\Virtual Machine Manager\agents\Linux目录中找到。将代理复制到 Linux 虚拟机中,并执行以下命令进行安装:
-
运行以下命令:
chmod +x install -
根据需要运行以下命令,适用于 x86 或 x64:
./install scvmmguestagent.1.0.0.544.x64.tar ./install scvmmguestagent.1.0.0.544.x86.tar
IaaS 虚拟机服务 – 独立 VM 与 VM 角色
基于 Windows Azure Pack 的云解决方案为租户提供了以下两种虚拟机工作负载配置选项:
-
独立虚拟机
-
虚拟机角色(VM 角色)
独立虚拟机
Windows Azure Pack 租户管理员门户中的独立虚拟机是独立虚拟机产品目录与 SCVMM 中创建和配置的虚拟机模板之间的直接映射。
对于独立虚拟机,所有配置都在 SCVMM 层面进行。Windows Azure Pack 门户用于使用 SCVMM 虚拟机模板中的预定义配置来创建虚拟机。这不允许租户用户根据自定义需求自定义虚拟机。
云管理员需要预先创建多个 SCVMM 虚拟机模板,以提供不同的大小和选项,从而为租户提供灵活性。对现有独立虚拟机提供的任何更改都必须在 SCVMM 端进行。
由于 Windows Azure Pack 中的独立虚拟机直接使用 SCVMM 虚拟机模板,因此通常用于提供标准操作系统或预安装或配置应用程序的操作系统。它不能用于根据租户需求以自动化方式安装应用程序(这由 SCVMM 中的服务模板引擎提供)。
在后续的主题中,你将学习如何创建一个 SCVMM 虚拟机模板,该模板可供 Windows Azure Pack 中的独立虚拟机角色使用。
虚拟机角色
Windows Azure Pack 中的虚拟机角色为租户用户提供了一个可定制的自服务向导,用于请求虚拟机,这使租户用户可以根据需求自定义虚拟机。虚拟机角色也可以用于在虚拟机之上自动化部署应用程序,并以相同的自服务方式交付。
与独立虚拟机角色不同,虚拟机角色使用 SCVMM 的服务模板引擎来配置操作系统和应用程序。
Windows Azure Pack 订阅中的 VM 角色可以包含相同类型或应用程序的多个虚拟机,并且可以轻松扩展(只需移动滑块)。
虚拟机角色提供了比独立虚拟机更多的灵活性,具体包括:
-
为租户的虚拟机请求提供可定制的自服务向导。
-
使用虚拟机角色,租户可以根据云提供商提供的选项控制虚拟机配置和部署,这消除了租户用户对 VMM 管理员在标准模板上所需的任何虚拟机更改的依赖。
-
它通过与 SMA(服务管理自动化)的集成,提供极高的自动化能力。
-
它不仅以自服务自动化的方式部署虚拟机,还可以部署应用程序。
-
它在一个统一的框架下部署和管理相同类型的多个实例。
-
它只需点击一下(通过移动滑块)即可扩展实例数量。
-
它提供了使用 Hyper-V 差异磁盘或专用磁盘(在 CU5 中新增)来节省大量磁盘空间和管理开销的灵活性,适用于大型部署的操作系统。
-
微软和第三方供应商提供了广泛的预配置画廊项目,供虚拟机角色用于标准使用。也可以开发自定义虚拟机角色,这使得虚拟机角色的提供可能性几乎无限。
在后续的主题中,您将学习虚拟机角色的架构、实现和其他方面的内容。
构建独立虚拟机 IaaS 服务
每个 Windows Azure Pack 云中的独立虚拟机服务都必须与 SCVMM 库中的虚拟机模板有直接映射。SCVMM 库中的虚拟机模板可以使用之前准备的虚拟磁盘进行配置。我们现在开始为 Windows Azure Pack 创建 SCVMM 中的虚拟机模板。可以使用相同的 VHD 和定义的硬件/操作系统配置组合创建多个模板,为租户提供灵活的虚拟机工作负载部署选项。
使用虚拟机模板为 Windows Azure Pack 提供服务的要求
创建用于 Windows Azure Pack 独立虚拟机的虚拟机模板时必须考虑以下事项:
-
在模板创建向导的硬件配置页面上,不得选择任何云能力配置文件。如果使用的是任何预配置的硬件配置文件,情况也是一样。
-
用于创建模板的 VHD 必须启用远程桌面。
-
在创建虚拟机模板时,必须从下拉列表中选择客户操作系统配置文件。不能选择为“无”。
创建用于 Windows Azure Pack 独立虚拟机云服务的 SCVMM 虚拟机模板
在创建虚拟机模板之前,准备好所需的 VHD 文件并将其复制到 VMM 库中。
创建独立虚拟机角色模板的步骤如下:
-
使用具有管理员权限的 VMM 管理控制台登录 SCVMM。
-
转到库工作区并展开模板。
![创建用于 Windows Azure Pack 独立虚拟机云服务的 SCVMM 虚拟机模板]()
-
点击创建虚拟机模板以启动虚拟机模板向导。
-
选择使用库中存储的现有虚拟机模板或虚拟硬盘。如果 VHD 文件尚未复制到 VMM 库,也可以选择从已部署在主机上的现有虚拟机。
![创建用于 Windows Azure Pack 独立虚拟机云服务的 SCVMM 虚拟机模板]()
-
点击浏览以从 VMM 库中选择可用的 VHD。
-
提供模板名称、描述和代数。使用一个具有自解释性的名称和描述,详细说明虚拟机的相关信息,因为这些将显示给 Windows Azure Pack 门户中的租户用户。最好在描述中包括硬件和软件配置以及可用的功能集。
注意
虚拟机的代数描述了虚拟机的特性和功能。第 2 代虚拟机引入了 Hyper-V 2012 R2,支持 UEFI 固件、所有合成设备等功能。有关第 2 代虚拟机的更多信息,请访问
technet.microsoft.com/en-in/library/dn282285.aspx。![为 Windows Azure Pack 独立虚拟机云提供创建 SCVMM 虚拟机模板]()
-
使用预创建的硬件配置文件或自定义设置来定制模板的硬件。确保未选择任何云能力配置文件。在稍后的存储中,任何硬件更改必须在虚拟机模板的硬件配置文件属性中进行。
-
根据租户的需求配置适当的网络配置,如虚拟交换机名称、IP 池和 MAC 地址(必须是静态的)。在此阶段添加任何额外硬件,例如数据磁盘。
![为 Windows Azure Pack 独立虚拟机云提供创建 SCVMM 虚拟机模板]()
-
配置操作系统配置文件设置。不要在操作系统配置文件设置中选择"无";相反,预先创建客户操作系统配置文件并从下拉列表中选择。进行必要的更改,例如 Windows 操作系统版本、管理员密码、时区、产品密钥、域/工作组、要运行的脚本等。不要在此页面中选择任何角色和功能。这些仅在服务模板或虚拟机角色中支持。
![为 Windows Azure Pack 独立虚拟机云提供创建 SCVMM 虚拟机模板]()
-
对于应用程序配置文件和 SQL 配置文件设置请选择"无",因为这些在独立虚拟机中不受支持。
-
审查摘要页面中的设置,并完成向导以创建虚拟机模板。
-
在设置中的作业窗口查看作业状态。
-
新创建的模板将在 VMM 库工作区的虚拟机模板部分中可用。
测试虚拟机模板功能
在 Windows Azure Pack 部署中分配此独立虚拟机模板之前,最好通过以下步骤配置一个测试虚拟机来测试配置:
-
登录到 SCVMM 并浏览库工作区下的虚拟机模板部分。
-
右键点击新创建的虚拟机模板并选择创建虚拟机。
![测试虚拟机模板功能]()
-
提供虚拟机名称和描述。最好为任何虚拟机使用相同的虚拟机名称和主机名,以确保一致性并在每一层都能轻松识别。
-
如有需要,定制硬件和客户操作系统配置文件。
-
选择新创建的云或主机组作为虚拟机的目标。
![测试虚拟机模板功能]()
-
配置操作系统计算机名称,并添加自定义属性,如服务器开关机操作。
-
审查摘要中的所选值,然后点击创建以开始创建此虚拟机。
-
监控虚拟机创建作业是否有错误;在作业成功完成后,浏览虚拟机和 SCVMM 管理控制台中的服务工作区。
-
登录到新创建的虚拟机,并根据配置验证预期结果。
虚拟机角色架构
Windows Azure Pack 中的虚拟机角色为 IaaS 产品提供了更大的灵活性和自助服务功能。虚拟机角色不仅仅是为租户的工作负载提供虚拟机,它通过以自助服务的方式提供自动化的应用程序部署,将 IaaS 服务提升到了另一个层次。
虚拟机角色包是用 JSON 开发的,并提供用于配置虚拟机和应用程序的资源或值。JSON(JavaScript 对象表示法)是一种轻量级的数据交换格式。
包含虚拟机角色的 JSON 文件以及元数据(如图标、资源等)构成了虚拟机角色包。
一个虚拟机角色主要由以下两个组件/包组成:
-
资源定义包
-
资源扩展包
在深入了解这些包之前,让我们先理解虚拟机角色的工作机制。在没有自助服务门户的传统场景中,虚拟机创建需要一组输入变量,如硬件配置(CPU 数量、内存大小等)和网络配置(虚拟交换机),这些是由虚拟化管理员在虚拟机创建过程中提供的。在基于云的自助服务场景中,也会发生类似的事情,其中某些值(如虚拟机名称、配置等)会根据租户需求提供,而某些则由云管理员预先配置,例如用于虚拟机部署的虚拟化主机或 SCVMM 云。
在基于 Windows Azure Pack 的云解决方案中,租户用户将通过自助服务向导在 Windows Azure Pack 租户门户中提供特定于租户的值。这些值需要传递给 SCVMM,在那里它会添加管理员指定的值并开始虚拟机的创建。以类似的方式,IaaS 服务上的应用部署也需要从租户用户和管理员那里获取值,以便部署应用。
所有这些操作都必须以自助服务和自动化的方式进行。
前面提到的虚拟机角色包或画廊资源包便于实现上述功能。
资源定义包
资源定义包包含虚拟机配置或在自助服务向导中提供给租户用户的值,以及通过资源扩展包定义的与 SCVMM 中资源的映射。资源定义还包含一个小包,叫做 视图定义,它包含租户用户可见的值和图形图像。如果适用,视图资源定义值会映射到资源扩展,并传递给 VMM 以进行虚拟机和应用程序部署。资源定义包以 .resdefpkg 扩展名存储,并导入到 Windows Azure Pack 中。
总体来说,以下文件构成了资源定义包:
-
资源定义文件 (RESDEF 文件):它包含 SCVMM 所需的所有参数——从虚拟机角色到虚拟机和服务的配置。
-
查看定义文件 (VIEWDEF 文件):它包含表单和图标映射(发布者图标/资源图标),在租户用户请求 IaaS 资源时会显示这些内容,使用虚拟机角色画廊项。
-
图标:这些图标在画廊项列表中对租户用户可见。
-
本地化文件:这些文件用于显示具有本地化值的画廊项自助服务部署向导。
资源定义包包括条件或参数值,这些条件或参数值必须在 SCVMM 资源级别满足,以确定使用哪个硬盘作为操作系统或数据存储。这些值需要在 SCVMM 中为虚拟机角色使用配置在资源上。例如,Windows Server 2012 R2 虚拟机的虚拟机角色可能会配置一个条件,使用 SCVMM 中与操作系统系列 Windows Server 2012 兼容的 VHD 等。只有兼容的资源才能在画廊资源部署向导中供租户用户选择。
资源扩展包
资源扩展包在系统中心虚拟机管理器中导入。扩展包用于将应用作为虚拟机角色部署的一部分进行配置。这个组件是虚拟机角色的可选部分,仅在使用自动化应用程序配置部署虚拟机角色时使用。这可以与 VMM 服务模板中的应用配置文件进行比较。资源扩展利用 SCVMM 服务模板引擎执行应用程序逻辑。
在资源扩展包中配置的参数与资源定义中的参数进行映射。
除了资源扩展包外,一些虚拟机角色还包含应用负载。
应用负载包含诸如安装二进制文件、媒体、脚本和其他应用部署所需的先决条件等资源。这个组件是可选的,其必要性因应用而异。
获取虚拟机角色画廊资源
画廊资源包括所需的包,例如资源定义包、资源扩展包和任何虚拟机角色的应用负载。组织或服务提供商可以选择以下方式获取画廊资源以供云虚拟机角色使用:
-
使用微软或第三方提供的画廊资源:微软网页平台安装程序包括各种现成的画廊资源,适用于多种产品,例如 Windows Server 虚拟机、Web 服务器、域控制器等。这些画廊项可以根据特定环境需求进行下载和自定义。
-
开发自定义画廊项:组织或服务提供商还可以选择以 JSON 格式开发自己的画廊项。这为基于 Windows Azure Pack 的云解决方案提供几乎所有内容的灵活性。
处理画廊项——可用工具
虽然 JSON 文件和包看起来更像是开发者的东西,而不是 IT 专业人员的工具,但有一些工具可以被 IT 专业人员或云服务提供商利用,以便在没有任何开发知识(至少是特定语言的知识)的情况下处理画廊项。微软和第三方供应商提供以下工具来处理基于 Windows Azure Pack 部署的画廊项:
-
VM 角色创作工具:此工具可用于创建、查看和编辑画廊项包,如资源定义包、资源扩展包等。它还可以用于编辑微软或供应商提供的画廊项,以便进行自定义修改。此工具由 CodePlex 开发(
vmRoleauthor.codeplex.com/)。 -
画廊资源导入工具:此工具简化了将资源定义包导入到 Windows Azure Pack,将资源扩展包导入到 SCVMM,并设置资源属性(如硬盘)的过程。此工具完全使用 PowerShell 编写。
使用画廊资源构建 VM 角色 IaaS 产品
微软和一些第三方供应商已经开发了广泛的标准画廊项供公众使用。这些画廊项可以被组织或服务提供商下载并用于他们的云 IaaS 产品。值得注意的是,这些项也可以根据特定的定制需求进行修改或定制。
微软 Web 平台安装程序用于下载微软提供的 Windows Azure Pack 画廊项。
使用 Microsoft Web PI 下载画廊项
Windows Azure Pack 画廊项不在标准 Web PI 下载列表中;必须添加自定义源。我们来看看下载这些资源的步骤:
-
登录 Windows Azure Pack 或任何其他具有互联网连接的服务器。
-
启动Microsoft Web 平台安装程序(
www.microsoft.com/web/downloads/platform.aspx)。 -
点击 Web PI 底部的选项链接。
-
在自定义源中添加
www.microsoft.com/web/webpi/partners/servicemodels.xml。![使用 Microsoft Web PI 下载画廊项]()
-
新的服务模型选项现在将在 Web PI 中提供。
-
浏览服务器模型选项和画廊资源。选择添加以下载画廊资源。
-
点击安装将把这些画廊资源下载到运行 PI 的服务器上的本地文件夹中。
![使用 Microsoft Web PI 下载画廊项]()
在 Windows Azure Pack 和 SCVMM 中准备和导入画廊资源
从 Web PI 下载的每个画廊资源通常包含以下一个或多个包:
-
一个或多个资源定义包
-
资源扩展包
-
ReadMe 文件
-
任何其他应用程序负载文件
ReadMe 文件通常包含关于 VM 角色、包详情、其他应用负载详情以及适用时的下载链接。最重要的是,它包含了为 VM 和应用程序提供资源所需准备 SCVMM 资源的说明。
在 Windows Azure Pack/SCVMM 中导入画廊项并使其可用通常包括以下操作:
-
下载
ReadMe文件中指定的画廊资源和任何应用负载。 -
根据
ReadMe文件中的要求准备操作系统或数据磁盘。操作系统磁盘必须使用sysprep准备,并上传到 VMM 库。 -
在 SCVMM 中导入资源扩展包。
-
按照
ReadMe中的说明准备虚拟硬盘(操作系统/数据磁盘)属性。 -
在 Windows Azure Pack 中导入资源定义包。
-
如果
ReadMe文件中有其他要求,请执行相应的附加任务。 -
测试配置。
在 SCVMM 中导入资源扩展包。
使用 Windows PowerShell cmdlet 在 SCVMM 中导入资源扩展包。此时没有 VMM 或 Windows Azure Pack 图形用户界面可用来执行此功能。
以下 PowerShell 命令可用于导入此资源扩展:
-
启动虚拟机管理器 PowerShell 模块。
-
使用管理员权限连接到 VMM 服务器。以下 PowerShell 代码可用于在 PowerShell 会话中连接到 VMM 服务器:
Get-VMMServer -
在计算机名属性值中输入 VMM FQDN。这将使用登录到 Windows 的凭证连接到 VMM 服务。
-
根据要求执行以下 PowerShell 命令,将资源扩展导入到 VMM 中。
以下代码将在 SCVMM 库
MSSCVMMLibrary中导入名为SampleVMRole.resextpkg的资源扩展,该包存储在SystemDrive\GalleryResources\Sample-VMRole-Pkg\MyVMRole.resextpkg文件夹中:$libraryShare = Get-SCLibraryShare | Where-Object {$_.Name -eq 'MSSCVMMLibrary'} $resextpkg = $Env:SystemDrive + "\GalleryResources\Sample-VMRole-Pkg\SampleVMRole.resextpkg" Import-CloudResourceExtension –ResourceExtensionPath $resextpkg -SharePath $libraryShare –AllowUnencryptedTransfer -
使用以下 PowerShell 命令验证资源扩展导入状态,以确认导入是否成功:
Get-CloudResourceExtension -
结果将显示在 SCVMM 中导入的所有资源扩展。
配置虚拟硬盘属性以供 VM 角色使用。
每个 VM 角色画廊资源至少需要一个操作系统虚拟磁盘进行 VM 部署,另外可以选择性地需要一个或多个额外的数据磁盘。由于 VMM 通常包含大量虚拟硬盘,VHD 属性如操作系统名称、操作系统系列名称和版本、标签等用于识别与特定 VM 角色兼容的磁盘。
每个画廊资源都有自己的特定参数值,这些参数在 ReadMe 文件中定义。需要手动在为给定 VMM 角色准备的虚拟硬盘上配置这些参数。所有符合要求参数的虚拟硬盘,在请求资源时将提供给租户用户的自服务门户。
例如,以下属性是配置为可用于某个画廊资源的虚拟硬盘所必需的,该资源用于为 Windows Server 2012 操作系统提供虚拟机:
| 配置 | 安装以下软件:
- Windows Server 2012
|
| 操作系统属性 | 使用以下之一:
-
64 位版本的 Windows Server 2012 Datacenter
-
64 位版本的 Windows Server 2012 Standard
-
64 位版本的 Windows Server 2012 Essentials
-
Windows Server 2012 R2 Datacenter 预览版
-
Windows Server 2012 R2 Standard 预览版
-
Windows Server 2012 R2 Essentials 预览版
|
| Familyname 属性 | 考虑以下 familyname 的值:
-
Windows Server 2012 Datacenter
-
Windows Server 2012 Standard
-
Windows Server 2012 Essentials
-
Windows Server 2012 R2 Datacenter 预览版
-
Windows Server 2012 R2 Standard 预览版
-
Windows Server 2012 R2 Essentials 预览版
|
| 标签 | 添加以下所有标签:
-
Windows Server 2012
-
Windows Server 2012 R2
|
这些参数可以通过 VMM GUI 或 VMM PowerShell 配置。tags 参数只能通过 VMM PowerShell 配置。
配置操作系统属性
操作系统属性指定安装在虚拟硬盘中的操作系统。可以通过 VMM 管理控制台或 PowerShell 配置。
在以下示例 PowerShell 中,值可以根据画廊资源的Readme文件中的值进行替换:
$myVHD = Get-SCVirtualHardDisk | where {$_.Name –eq '2012R2BASE.vhd'}
$WS2012Datacenter = Get-SCOperatingSystem | where { $_.name –eq 'Windows Server 2012 R2 Datacenter Preview' }
Set-scvirtualharddisk –virtualharddisk $myVHD –OperatingSystem $WS2012Datacenter
对于数据磁盘,操作系统属性必须设置为无。
配置 family name 和 release 属性
familyName 和 release 属性是虚拟磁盘在租户自助服务部署向导中可用性的配置。所有按画廊资源要求配置了 familyName 和 release 属性的虚拟磁盘,租户用户都可以看到并使用。
familyName 通常包含操作系统版本和虚拟机角色特定的值,例如 Web 服务器、域控制器等。release 属性通常控制虚拟硬盘的多个版本,通常表示为 1.0.0.0、1.0.0.1、1.1.0.0 等。
familyName和release属性可以通过 VMM 管理控制台或 PowerShell 配置。请参阅以下示例 PowerShell,了解如何为虚拟硬盘配置familyName和release属性。值可以根据画廊资源Readme文件中提供的要求进行替换:
$myVHD = Get-SCVirtualHardDisk | where {$_.Name –eq '2012R2BASE.vhd'}
$familyName = "Windows Server 2012 R2 DataCenter Preview"
$release = "1.0.0.0"
Set-scvirtualharddisk –virtualharddisk $myVHD –FamilyName $familyName –Release $release
数据磁盘可以具有不同的值,例如 SQL DB 磁盘、更大的磁盘、更小的磁盘等。
配置标签属性
tags 属性必须根据画廊资源要求正确配置,以便用于部署。操作系统磁盘必须配置 tags,而数据磁盘可能有也可能没有特定的 tags 要求。标签可能是定义角色或虚拟机角色提供的功能的词汇。
标签只能通过 VMM PowerShell 配置。目前没有 VMM GUI 选项用于配置虚拟硬盘上的 tags。
请参阅以下 PowerShell 示例,用于配置虚拟硬盘的 tags 属性。可以根据画廊资源 Readme 文件中提供的要求替换相关值:
$myVHD = Get-SCVirtualHardDisk | where {$_.Name –eq '2012R2BASE.vhd'}
$tags = $myVHD.Tag
if ( $tags -cnotcontains "WindowsServer2012R1" ) { $tags += @(" WindowsServer2012") }
Set-scvirtualharddisk –virtualharddisk $myVHD –Tag $tags
注意
配置虚拟磁盘属性的 PowerShell 必须在 VMM PowerShell 或 Windows PowerShell 上执行,并加载 VMM 模块,且连接到 SCVMM 实例。
在 Windows Azure Pack 中导入资源定义包
可以通过 Windows Azure Pack 管理或管理员门户,或者 Windows Azure Pack PowerShell 导入画廊资源定义包。
以下是在 Windows Azure Pack 中导入画廊资源定义包的步骤:
-
登录 Windows Azure Pack 管理门户进行管理员操作。
-
导航到 vm clouds 工作区。
-
点击 GALLERY 标签。
-
从任务面板中点击 IMPORT 按钮。
![在 Windows Azure Pack 中导入资源定义包]()
-
选择要导入的资源定义文件(
RESDEFPKG)。 -
导入成功后,项目信息将在画廊中列出。
![在 Windows Azure Pack 中导入资源定义包]()
导入的画廊项目信息现在可以通过 Windows Azure Pack 租户门户进行部署测试。该部分将在下一章详细介绍。
使用 GRIT(画廊资源导入)工具
GRIT(也称为画廊资源导入工具)是微软提供的一个 PowerShell 编写的工具。它可以简化前面提到的画廊资源下载和安装过程。GRIT 工具为画廊资源的安装或导入生命周期提供了图形用户界面。
建议在处理画廊资源时使用 GRIT 工具,以方便管理员操作,并避免在 PowerShell 脚本中出现人为错误。
GRIT 功能
GRIT 提供了一个易于使用的图形用户界面,具备以下功能:
-
它既可以与微软提供的画廊资源一起使用,也可以与自定义开发的资源一起使用。
-
它可以直接从 Microsoft 下载画廊资源(无需使用 Web PI)。
-
导入资源扩展文件
-
导入资源定义文件
-
它可以比较并配置画廊资源所需的虚拟磁盘属性(包括操作系统磁盘和数据磁盘),并与 VMM 库中可用的磁盘进行对比。
-
它可以使画廊项目信息变为私有或公开(这一点将在下一章详细讨论)。
-
移除资源定义或扩展文件
使用 GRIT 处理画廊资源
GRIT 工具的最新版本是 1.2,可以从gallery.technet.microsoft.com/Gallery-Resource-Import-2273ce71下载。GRIT 工具需要访问 SCVMM、SPF 和 Windows Azure Pack,因此 SPF 服务器是运行此工具的最佳位置。
我们需要执行以下步骤以使用 GRIT:
-
下载 GRIT 工具并使用具有 SCVMM、SPF 和 Windows Azure Pack 权限的帐户登录 Windows。
-
以提升权限执行下载的
GalleryResourceImportTool.ps1PowerShell 脚本。 -
PowerShell 脚本执行将开始检查参数和先决条件。
-
它将启动一个 GUI 控制台,具体内容取决于网络连接情况。
![使用 GRIT 处理库资源]()
-
浏览本地计算机以查找库资源文件,或者选择任何在线可用的库资源下载并导入文件。
![使用 GRIT 处理库资源]()
-
选择虚拟磁盘配置页面来设置 VHD 属性。
-
从下拉列表中选择适用的操作系统版本。
-
选择操作系统版本后,将自动显示可用的 VHD 及其状态(与 VM 角色包中指定的要求匹配)。选择 VHD 来使用此特定库项,并点击将这些操作系统磁盘设置应用于选定磁盘并刷新列表以应用操作系统磁盘参数,点击将这些数据磁盘设置应用于选定磁盘并刷新列表以应用数据磁盘参数。刷新后的列表将显示已配置的磁盘,状态为绿色,表示已配置。
![使用 GRIT 处理库资源]()
-
选择库资源导入页面,分别导入 SCVMM 和 Windows Azure Pack 中的资源扩展和定义包。
-
从下拉列表中选择VMM 库 共享。
-
选择导入资源扩展、导入资源定义,或根据需要选择两者。
-
如果需要,选择使库项公开(此内容将在下一章中详细讨论)。
-
点击导入将分别导入 SCVMM 和 Windows Azure Pack 中的资源扩展和定义包。
![使用 GRIT 处理库资源]()
-
附加工具页面可以用来访问其他功能,例如删除扩展和定义包或将任何定义包设为私有。
![使用 GRIT 处理库资源]()
使用 VM 角色创作工具开发 VM 角色库资源
VM 角色创作工具作为一个开源项目发布在 CodePlex 上。它提供了一个易于使用的 GUI,用于为 Windows Azure Pack VM 角色开发自定义库资源。
使用 VM Role Authoring 工具,可以从零开始开发 VM Role 的组件,如资源定义包和资源扩展包,同时也可以用于修改微软提供的现有图库项,以满足特定环境的需求。
VM Role Authoring 工具可用于 VM Roles 的开发和修改操作,包括:
-
一个资源定义包
-
查看定义包和本地化资源文件
-
Windows 和 Linux 机器的资源扩展包
-
资源定义到资源扩展的参数和值映射
获取 VM Role Authoring 工具
此工具可在 CodePlex 网站上获取。写本书时,最新的稳定版本是 1.1。
任何支持的 Windows 系统都可以用来使用此工具开发 VM Roles。
你可以从vmroleauthor.codeplex.com/下载 VM Role Authoring 工具。下载后,工具可以解压到系统中的任何位置。
开发示例图库资源 – VM Role
VM Role 是用 JSON 语言编写的。VM Role Authoring 工具为其添加了一个基础的图形用户界面。通过使用 VM Role Authoring 工具,IT 专业人员可以在不掌握 JSON 的情况下开发自定义图库资源(虽然掌握 JSON 会更好)。
VM Role Authoring 工具以两种方式展示每个配置和绑定:
-
编辑器视图:提供 GUI 界面。
-
JSON 视图:这是高级 JSON 语言中的配置视图。可以进行深度自定义修改。
让我们为 Windows 机器 IaaS VM Role 创建一个示例 VM Role 图库资源,以便了解更多关于使用 VM Role Authoring 工具以及开发自定义 VM Role 的信息。
以下是创建 VM Role 的步骤:
-
执行
VM Role Authoring Tool.exe。![开发示例图库资源 – VM Role]()
-
提供包名称和存储图库资源的目录。
![开发示例图库资源 – VM Role]()
-
提供名为版本和发布者的图库资源。
.
![开发示例图库资源 – VM Role]()
-
资源需求包含了在虚拟硬盘上设置的必要参数,这些硬盘将用于此 VM Role 的配置。输入如标签等参数。
![开发示例图库资源 – VM Role]()
-
展开应用程序配置文件(Windows)并选择角色和功能。此选项可用于在自动化过程中启用 VM Role 部署后的 Windows 角色和功能。选择兼容的操作系统以及所需的角色和功能。
![开发示例图库资源 – VM Role]()
-
点击 Add 并选择 Web Application / SQL DAC Application / Script Application 或其他适用的选项,以便进行自动化应用程序安装。此功能使云服务提供商能够提供超越 IaaS 的服务:在 Vanilla IaaS 服务之上进行自动化的 Web、应用程序和数据库配置。
![开发示例画廊资源 – VM 角色]()
-
选择 File 并选择新的 Resource Definition 文件。提供资源定义文件的名称和位置。添加 Version 和 Publisher 属性。
![开发示例画廊资源 – VM 角色]()
-
在 Extension Reference 页面中,执行资源定义和资源扩展参数之间的绑定或映射。选择可用的资源扩展包。它将自动填充 Name 和 Publisher 等详细信息。
![开发示例画廊资源 – VM 角色]()
-
在 Parameters 选项卡中,添加由租户用户在自助服务表单中提供的值。
![开发示例画廊资源 – VM 角色]()
-
Scale Out 配置为此虚拟机角色添加了简单的(只需移动滑块)扩展和缩减功能。可以提供最小、初始和最大实例数量。
![开发示例画廊资源 – VM 角色]()
-
Hardware Profile 提供与虚拟机大小相关的选项,包括计算(CPU 和内存)。Param.VMRoleVMSize 提供可供租户用户选择的标准 Azure 大小,如 Extra Small、Small 等。
![开发示例画廊资源 – VM 角色]()
-
在 Storage Profile 中,云管理员可以为虚拟机角色添加额外的 VDHX,例如数据磁盘和数据库磁盘等。需要为每个添加到虚拟机角色中的磁盘定义标签等参数。
![开发示例画廊资源 – VM 角色]()
-
Network Profile 提供用于配置虚拟机角色网络选项的功能,如 NIC 连接、负载均衡器等。可以使用 Add 按钮添加更多网络适配器。
![开发示例画廊资源 – VM 角色]()
-
Operating System Profile 提供配置操作系统选项,例如本地管理员密码、计算机加入域或工作组。租户特定的设置可以通过自助服务向导由用户输入。使用下拉列表中的生成新参数将值映射到自助服务向导。
![开发示例画廊资源 – VM 角色]()
-
在 ViewDefinition 部分,可以添加租户用户在画廊目录中可以看到的图形图标,如 Label、PublisherLabel 和 Description。
![开发示例画廊资源 – VM 角色]()
-
点击 Validate 以验证所有配置和映射。
-
点击 Save 保存包和其他组件。
这些包现在可以分别导入到 Windows Azure Pack 和 SCVMM 中。请参阅前面的主题,了解如何导入库资源。
使用 VM 角色创作工具、JSON 脚本语言能力和 服务管理自动化 (SMA),服务提供商可以配置 XaaS(任何服务作为一种服务)云服务。
虚拟机角色示例工具包
微软提供了一个虚拟机角色示例工具包,可以作为使用虚拟机角色创作工具开发自定义虚拟机角色的参考。
示例工具包包含了资源扩展包、资源定义包、有效载荷、自定义脚本等的示例配置。这有助于云服务提供商开发客户虚拟机角色库资源。
虚拟机角色示例工具包可以从blogs.technet.com/b/privatecloud/archive/2013/12/11/virtual-machine-Role-example-kit.aspx下载。
访问租户虚拟机 – Windows Azure Pack Console Connect
Windows Azure Pack 为租户提供了两种连接虚拟机的方式:
-
远程桌面连接
-
Windows Azure Pack Console Connect
在 Windows Azure Pack Cloud 中的远程桌面连接使用传统的 RDP 机制,需要网络连接到虚拟机的客户操作系统、启用 RDP、允许 RDP 通信的防火墙规则等。如果机器需要通过互联网访问(服务提供商云场景),还需要公有 IP。
另一个选项是 Windows Azure Pack Console Connect,它解决了 RDP 方法的挑战。它通过 Hypervisor 主机使用远程桌面网关提供对虚拟机客户操作系统的访问。Console Connect 不需要与客户操作系统的网络连接。
Console Connect 使租户用户能够像通过远程桌面网关使用 SSL 访问 Hyper-V 管理器上的虚拟机连接一样访问其虚拟机。
Console Connect 不依赖于虚拟机内操作系统的状态(无论是关闭、电源故障,还是其他)。由于 Console Connect 的工作方式与 RDP 不同,因此一些 RDP 功能,如剪贴板重定向、驱动器映射、声音和打印机重定向等,无法使用。
Windows Azure Pack Console Connect 架构
Windows Azure Pack Console Connect 利用 Windows Server 2012 R2 的远程桌面网关服务,通过底层的虚拟化管理程序基于 SSL 与虚拟机建立 Console Connect 连接。
Console Connect 不使用任何虚拟机内部操作系统的身份验证。它基于 SSL 证书令牌声明身份验证工作。这要求 Windows Azure Pack、SPF、远程桌面网关服务器、VMM 和 Hyper-V 主机彼此信任。
Windows Azure Pack 结合远程桌面网关、SPF 和 SCVMM 对用户进行身份验证并授权访问虚拟机,并生成分配给租户的令牌,以便访问该虚拟机。Hyper-V 主机使用该令牌确保租户用户只能访问授权的虚拟机。
该过程对租户用户不可见。当租户用户通过 Azure Pack 门户使用 Console Connect 连接到任何虚拟机时,它会下载一个包含所有必要连接信息的 RDM 文件。运行此 RDP 文件将用户连接到虚拟机的控制台。

图示来源:TechNet
注意
所有参与 Console Connect 架构的服务器必须运行 Windows Server 2012 R2。
客户端端的 Console Connect 最低 RDP 版本为 8.1。
准备 Console Connect 部署所需的证书
需要在远程桌面网关服务器、SPF、SCVMM 和 Hyper-V 主机之间配置信任关系,以支持基于声明令牌的身份验证。可以使用单个或多个 SSL 证书来建立此信任关系。
用于 Console Connect 的 SSL 证书必须满足以下要求:
-
证书必须有效,即未过期。
-
密钥使用字段必须包含数字签名。
-
扩展密钥使用字段必须包含以下客户端身份验证对象标识符:(1.3.6.1.5.5.7.3.2)
-
发行证书的认证机构(CA)的根证书必须安装在受信任的根证书颁发机构证书存储区中。
-
证书的加密服务提供商必须支持 SHA256。
SSL 证书可以是自签名的,也可以是由任何内部企业或公共证书颁发机构颁发的。建议使用 CA 提供的 SSL 证书,以便更好地管理和轻松续订。
部署 Console Connect
部署 Windows Azure Pack Console Connect 需要执行多个操作,例如导入 Console Connect 证书、配置 RDS 网关以及在 Windows Azure Pack 中添加 RDS 网关。
将受信任的证书(Console Connect)导入到管理服务器
可以先将 Console Connect 证书导入到 VMM 数据库中,而不是将其逐个导入到每台 Hyper-V 主机中,然后再将其分发到 Hyper-V 主机。为此,需要执行以下步骤:
-
以管理员身份执行 VMM PowerShell。
-
使用
Set-SCVMMServerPowerShell cmdlet 连接到 SCVMM 服务器。 -
使用以下脚本将证书导入到 VMM 数据库中。根据环境的具体细节更新高亮显示的值:
PS C:\> $mypwd = ConvertTo-SecureString "password" -AsPlainText -Force PS C:\> $cert = Get-ChildItem .\RemoteConsoleConnect.pfx PS C:\> $VMMServer = WAPCLOUD-SCVMM01.wapcloud.com PS C:\> Set-SCVMMServer -VMConnectGatewayCertificatePassword $mypwd - VMConnectGatewayCertificatePath $cert -VMConnectHostIdentificationMode FQDN -VMConnectHyperVCertificatePassword $mypwd -VMConnectHyperVCertificatePath $cert -VMConnectTimeToLiveInMinutes 2 -VMMServer $VMMServer -
等待所有 Hyper-V 主机在 SCVMM 中刷新,或通过登录 VMM 管理控制台手动刷新。
-
如果使用自签名证书,请将证书的公钥导入到 Hyper-V 主机的受信任根证书颁发机构存储区。导入后,重新启动 Hyper-V 管理服务:
Import-Certificate -CertStoreLocation cert:\LocalMachine\Root -Filepath "<certificate path>.cer" -
向 SPF 服务器导入证书;在此可以使用 PowerShell:
Import-PfxCertificate -CertStoreLocation Cert:LocalMachineMy -Filepath "<certificate path>.pfx"-Password <Secure String> -
配置服务提供商基础架构以使用此证书创建声明令牌,可以使用以下 PowerShell 命令。根据需要替换指纹值:
import-module spfadmin Set-SCSPFVmConnectGlobalSettings -AccessTokenLifetimeInMinutes 5 -CertificateThumbprint 4D92EF6B88AA2A76A1BA28834A42E599C917A9C2-HostIdentityType IPv4 -
定义令牌的生命周期,范围从 1 到 60 分钟。SSL 证书的指纹值可以通过以下 PowerShell 命令找到:
$thumbprints = @(dir cert:localmachineMy | Where-Object { $_.subject -eq "CN=Remote Console Connect" } ).thumbprint
设置远程桌面服务网关
设置远程桌面服务网关时,需要执行以下步骤:
-
登录到指定的 RDS 网关角色虚拟机。
-
使用添加角色和功能在服务器管理器中安装远程桌面网关组件。
-
在远程桌面网关服务器上安装 Microsoft System Center 虚拟机管理器控制台连接网关组件。SCVMM 控制台连接网关的 MSI 安装程序可以在 SCVMM 安装媒体位置
CDLayout.EVAL\amd64\Setup\msi\RDGatewayFedAuth找到。 -
将证书的公钥导入到个人证书存储中:
Import-Certificate -CertStoreLocation cert:\LocalMachine\My -Filepath "<certificate path>.cer" -
配置 RDS 网关服务器以使用 Console Connect SSL 和哈希算法接受令牌。
通过Windows 管理工具(WMI)
FedAuthSettings类中的TrustedIssuerCertificateHashes和AllowedHashAlgorithms属性来配置此项。使用以下 PowerShell 命令配置 RDS 网关服务器:将服务器的指纹值替换为特定环境的值:
$Server = "WAPMGT-RDSG.wapcloud.com" $Thumbprint = "4D92EF6B88AA2A76A1BA28834A42E599C917A9C2" $TSData = Get-WmiObject -computername $Server -NameSpace "root\TSGatewayFedAuth2" -Class "FedAuthSettings" $TSData.TrustedIssuerCertificates = $Thumbprint $TSData.Put() -
配置 RDS 网关服务器的 SSL 证书。该证书将用于客户端识别 RDS 服务器。使用 RDS 网关管理器创建自签名 SSL 证书,或使用现有的受信 SSL 证书。
-
验证 SCVMM、Hyper-V 主机、SPF 和 RDS 网关服务器的配置。
在 Windows Azure Pack 中注册 RDS 网关服务器
Windows Azure Pack 提供在注册 SCVMM 戳记时注册远程桌面网关服务器的选项。RDS 网关服务器必须与 VMM 服务器进行映射注册才能正常工作。
任何现有的注册 SCVMM 连接也可以在后期修改,以便添加 RDS 网关。
请查看以下注册 RDS 网关的步骤:
-
登录到 Windows Azure Pack 管理门户并浏览虚拟机云。
-
选择一个现有的 SCVMM 注册,并点击编辑。
-
提供 RDS 网关的 FQDN,点击完成以完成配置。
![在 Windows Azure Pack 中注册 RDS 网关服务器]()
确保 Console Connect 部署的安全性
Windows Azure Pack Console Connect 使用基于 SSL 令牌的声明认证。建议在部署 Console Connect 环境时考虑以下安全建议:
-
令牌生命周期:租户用户下载的 RDP 文件用于访问虚拟机控制台,包含
EndpointFedAuth令牌以验证用户的真实性。建议将令牌生命周期配置为较小的值,如 1 或 2 分钟,以消除丢失或泄露该文件的安全风险。 -
在 RDS Gateway 服务器上配置强大的防火墙和安全策略,以保护其免受恶意用户或攻击。例如,最好阻止 RDP(3389)端口。
-
应限制访问生成令牌的 SCVMM 服务器上的证书存储。
-
建议为 Hyper-V 主机使用由 CA 提供的有效链证书。这将防止与计算机身份识别相关的 RDP 连接警告。
-
租户用户下载的 RDP 文件包含托管该虚拟机的 Hyper-V 服务器的主机名/网络详细信息。这使得租户用户可以看到虚拟化主机的网络信息。建议对 Hyper-V 主机进行安全保护,避免互联网访问,以防止这些信息被滥用。
总结
本章结束时,我们已经准备好了基于 Windows Azure Pack 的云解决方案,提供 IaaS 服务供租户使用。你学习了 Windows Azure Pack VM Clouds 的架构以及为 Windows Azure Pack 构建 SCVMM 云的步骤。你了解了为 Windows 和 Linux 操作系统构建 IaaS 服务(也称为目录)。我们还讨论了使用 VM Role 作者工具创建自定义服务,以及使用 GRIT 轻松导入 Windows Azure Pack 和 SCVMM 中的画廊资源。
还讨论了如何使用 RDP 和 Console Connect 访问虚拟机,并介绍了 Console Connect 架构和部署。
在下一章,我们将通过使用 Windows Azure Pack 计划和订阅,将这些服务分配给租户。
第五章. 分配云服务 – 计划、附加组件、租户账户和订阅
在上一章中,我们为基于 WAP 的云构建了虚拟机云和 IaaS 服务。在本章中,我们将继续学习如何将这些服务分配给租户,从而完成一个可用的云解决方案。我们将涵盖租户订阅所需的云计划的规划与实施,此外还将讨论附加组件、租户的订阅以及租户的用户账户管理。
本章将涵盖以下主题:
-
Windows Azure Pack 计划和附加组件 – 概述与规划
-
创建和管理 Windows Azure Pack 云计划及附加组件
-
创建和管理租户的用户账户
-
租户订阅 – 概述与管理
Windows Azure Pack 计划和附加组件 – 概述与规划
Windows Azure Pack 计划,也称为托管计划,是根据租户的协议或合同协议,分配云服务提供给租户的一种机制。这些协议或合同会考虑到多种服务、配额、可用资源数量、服务质量等因素。云提供商根据协议或云服务战略创建和配置计划;租户订阅计划,以便访问已配置的云服务。一个计划通常包含一组可用的服务,以及定义的限制或限制条件。
一个计划可以被多个具有相同需求的租户订阅。一个计划可能由多个资源提供者服务组成,例如 虚拟机云(IaaS)、网站和 服务总线(PaaS)、数据库(DBaaS)或其他自定义服务。
租户在未订阅至少一个计划之前无法访问云服务。根据需求,他们可以订阅多个计划。当租户用户订阅 WAP 计划时,会生成一个新的订阅,专门为该租户使用。该订阅用于标识和访问租户在云中的资源。
通常,计划还会与服务的定价进行映射。可以创建多个具有不同定价方案和服务的计划。可以使用多种计费适配器或解决方案,配合 WAP 计划为云服务提供商定义的定价提供云服务。
附加组件用于为计划提供额外的功能和限制,例如为使用额外数量的虚拟机或计算资源提供额外的配额。附加组件与计划链接,只有当租户具有有效的计划订阅时,才能订阅这些附加组件。
一个附加组件可以链接到多个计划。
规划 Windows Azure Pack 云计划
Windows Azure Pack 计划,提供 IaaS 服务,使用虚拟机云时只能配置一个 SCVMM 服务器和 SCVMM 云。也就是说,如果云服务提供商有多个 SCVMM 标签或云,那么必须为这些云单独创建计划。这也是前一章中建议保持单一或较少数量 SCVMM 云的原因之一。
在讨论 WAP 计划的规划之前,先来看一下我们可以在使用虚拟机云资源提供者的 IaaS 服务计划中添加的所有选项或配置:
-
服务或资源提供者的服务:一个计划可以包含一个或多个资源提供者的云服务,例如 IaaS(虚拟机云)、DBaaS(SQL/MySQL)、网站或任何自定义资源提供者。
-
VMM 管理服务器和 VM 云:使用虚拟机云的 WAP 计划提供 IaaS 服务,并与 VMM 管理服务器和 VMM 云相对应。对于其他管理服务器或虚拟机云,需要单独创建计划。
-
使用限制:WAP 计划可能包含以下资源使用限制:
-
虚拟机数量
-
CPU 核心
-
RAM(MB)
-
存储(GB)
-
虚拟网络数量
-
每秒 MB 网络流入和流出
-
每个网络的站点到站点 VPN
-
存储 IOPS
这些限制必须与 SCVMM 中配置的云级限制一致。
-
-
网络:这里的网络指的是在 SCVMM 中创建的逻辑网络。可以根据性能和功能要求(如隔离、虚拟化网络等)将租户限制在某一特定网络中。所有网络都在 SCVMM 架构中创建和配置。
-
硬件配置文件:硬件配置文件包含虚拟机的硬件配置选项,如 CPU/RAM 的数量等。在 WAP 计划中,硬件配置文件直接指代在 SCVMM 中创建的硬件配置文件。在为租户配置独立虚拟机时,这些硬件配置文件可供使用。根据业务决策,计划中可能包含多个硬件配置文件,以便为租户提供虚拟机大小上的灵活性。
-
模板:这里的模板直接指的是在 SCVMM 中为 WAP 独立虚拟机提供的虚拟机模板。根据业务决策,计划中可能包含多个模板,以便为租户提供不同种类虚拟机的灵活性。有关虚拟机模板规划的更多信息,请参见前一章。
-
画廊:在画廊中,云服务提供商可以选择为租户提供哪些画廊虚拟机角色资源。根据业务决策,计划可以包含多个画廊,以便为租户提供灵活性,涵盖不同类型的虚拟机和应用程序。有关画廊资源规划的更多信息,请参见第四章,构建虚拟机云和 IaaS 服务。
-
附加设置:这允许云服务提供商配置是否将此处提到的某些操作提供给租户。
-
创建、查看和恢复虚拟机检查点(也称为 Hyper-V 虚拟机检查点或快照)
-
保存虚拟机状态
-
将虚拟机存储到库中并从库中部署
-
连接到虚拟机的控制台(Azure Pack 控制台连接)
-
-
自定义设置:这允许云服务提供商为租户及其资源配置此处提供的自定义设置:
-
禁用租户的内置网络扩展
-
使用模板定义计算机名称
-
为所有虚拟机启用保护
-
注意
针对其他资源提供者(如网站和数据库)配置 WAP 计划,接下来的章节将涵盖这些资源提供者及其构建服务。
规划 Windows Azure Pack 计划
云解决方案中计划的数量及其配置取决于云服务提供商的商业决策或战略、提供的服务以及在云服务和资源可用性方面的能力。通常,可以创建多个计划,提供不同的服务和资源能力。例如,战略上,计划可以以多种方式设计,如下所示:
-
标准包计划或公共计划:这类计划是预配置的,包括特定的服务提供和限制,并具有定义的定价模型。可以创建多个计划,针对不同的行业、公司规模或使用场景。例如,专为托管小型网站服务设计的计划可能包括最多 5 个虚拟机、2 个数据库等 IaaS 资源,而专门为托管应用服务器设计的计划可能包括最多 50 个 Windows 或 Linux 虚拟机。
-
定制计划:当标准计划不符合特定组织的需求时,可以创建定制计划,并根据商业协议为特定组织配置服务和限制。
-
具有特殊服务或功能的计划:可以为特殊功能或服务创建单独的计划,例如某些自定义应用服务或功能,包括备份或灾难恢复。
-
财务:根据任何先前策略创建的所有计划都可以映射到定价;因此,每种类型的计划中可以创建多个计划,以适应根据商业决策制定的不同定价。
规划 Windows Azure Pack 云插件
插件与计划相关联,并在计划中配置的服务之上提供额外的功能。插件是可选的,租户可以根据需求订阅。插件仅增加配额或启动计划中的服务;它们不能用于提供计划中未包括的额外服务。配额为计划中提供的服务设定了限制。
可以创建多个附加组件并将其与计划关联。附加组件可以像计划一样进行规划,包括公开使用的标准包、为定制租户需求设计的自定义附加组件以及为特定功能设计的专用附加组件。
创建和管理 Windows Azure Pack 计划和附加组件
Windows Azure Pack 云管理员可以使用 WAP 管理门户创建和管理计划或附加组件。在创建计划或附加组件之前,云提供商必须规划并决定他们配置的计划和附加组件数量。
创建 WAP 计划
让我们执行以下步骤来创建 WAP 计划:
-
登录 WAP 管理门户作为管理员。
-
导航到计划工作区。
-
点击创建新的托管计划。创建 WAP 计划
-
为托管计划提供一个友好的名称;默认情况下,这个名称将在租户注册时可见。创建 WAP 计划
-
选择要在计划中提供的服务或资源提供者类型。创建 WAP 计划
-
选择要与计划关联的任何附加组件。这也可以稍后配置。
-
点击勾选框以创建计划。
-
默认情况下,任何计划都以私有状态创建。必须手动将其更改为公开,才能供租户使用。
-
点击名称计划以开始配置所选服务的计划。创建 WAP 计划
-
WAP 门户将显示计划仪表板,说明它尚未配置。点击屏幕底部的虚拟机云以开始配置。也可以使用添加服务按钮添加其他服务。创建 WAP 计划
-
选择要与计划关联的VMM 管理服务器和虚拟机云。创建 WAP 计划
-
选择适用的使用限制。在配置这些设置时,考虑 VMM 云级别的限制。门户将根据 SCVMM 云级别配置的限制显示可用的配置。创建 WAP 计划
-
将在 SCVMM 中创建的逻辑网络添加到计划中,以供订阅此计划的租户使用。
-
将硬件配置文件添加到计划中。这些硬件配置文件将在租户请求独立虚拟机时可供选择。
-
将 VM 模板配置文件添加到计划中。这些 VM 模板将在租户请求独立虚拟机时可供选择。
-
将画廊项目添加到计划中。这些画廊项目将在租户请求 VM 角色资源时可供选择。
-
配置额外设置以允许租户特定的操作和自定义设置以启用附加功能。
-
点击保存以完成计划配置。
-
可以以类似方式创建其他计划。
发布、配置、宣传和克隆 WAP 计划
现在,我们已经配置了一个计划,用于向租户提供云服务。在开始分配计划给租户之前,先回顾一下关于计划的一些管理操作。
默认情况下,发布计划时,新创建的计划处于私有模式,即租户无法看到并订阅。为了使计划对租户可见,必须先发布计划:
-
发布计划:选择计划并点击更改访问权限将计划设为公开。也可以通过类似的方式停用计划或将其设为私有。
![发布、配置、广告和克隆 WAP 计划]()
-
设置:此页面包含其他配置项,例如:
-
邀请码:此代码可用于在租户注册计划时验证其身份。云服务提供商可以创建邀请码并与租户共享。租户没有此代码将无法订阅该计划。
-
每个帐户最大允许的订阅数:这定义了一个帐户可以使用该计划的最大订阅数。这样,用户可以多次订阅该计划。
![发布、配置、广告和克隆 WAP 计划]()
-
-
广告:可以使用此页面配置本地化的计划广告。可以通过此页面修改租户可见的计划显示名称和描述:
-
默认情况下,WAP 使用计划名称作为显示名称,可以通过编辑广告按钮进行修改。
-
可以通过添加广告按钮创建额外的本地化广告,并提供本地化设置、显示名称和描述。
![发布、配置、广告和克隆 WAP 计划]()
-
可以通过 WAP 门户直接将计划发布到 Microsoft Web 托管画廊,或通过将计划导出为 XML 并手动上传该 XML 文件进行发布。
![发布、配置、广告和克隆 WAP 计划]()
-
-
克隆计划:Windows Azure Pack 计划可以被克隆,以创建具有预配置的现有计划设置的新计划。克隆的计划将按照原计划的设置预配置所有内容,包括广告等。以下步骤用于克隆计划:
-
登录 WAP 管理门户并浏览到计划工作区。
-
选择要克隆的计划,并点击底部窗格中的克隆。
-
提供一个新的计划名称并点击完成以克隆该计划。克隆后的计划将出现在计划工作区中。
![发布、配置、广告和克隆 WAP 计划]()
-
创建和管理附加组件
按照以下步骤创建附加组件:
-
登录 WAP 管理门户并浏览到计划工作区。
-
转到附加组件标签页。
-
点击创建新附加组件以提供附加组件。
![创建和管理附加组件]()
-
为附加组件提供一个友好的名称。此名称将显示给租户。
-
选择服务,插件将扩展。请注意,插件将要链接的计划必须提供这些服务。
-
点击插件名称开始配置设置。
-
对于使用 VM 云插件的 IaaS,按照原始配置计划选择VMM 管理服务器和VMM 云。
-
配置插件将提供的使用限制。
-
添加此插件将提供的额外网络、硬件配置文件、模板和画廊项目。
-
根据需要选择额外和自定义设置。
-
点击保存以使用定义的设置配置插件。
-
额外的插件可以以类似方式创建。
以下插件管理操作可以按计划和操作的方式执行:
-
使插件公开或私有
-
添加或删除服务
-
克隆插件以创建新的插件
-
插件在特定计划上可以订阅的最大次数
-
广告配置
将插件链接到计划
按照以下步骤将插件链接到计划:
-
登录 WAP 管理门户并浏览到计划工作区。
-
转到插件标签。
-
选择插件并点击底部窗格中的链接计划按钮。
-
选择插件需要链接的计划。
![将插件链接到计划]()
- 点击完成以将插件链接到计划。
创建和管理租户的用户账户
在 Windows Azure Pack 租户门户注册时,租户必须提供电子邮件地址和密码。这将在 Windows Azure Pack 目录中为租户创建账户(适用 ASP .Net 或 ADFS)。
租户用户账户可以通过以下两种方式在 Windows Azure Pack 中创建:
-
它们可以由租户的自助注册操作创建
-
它们可以由云管理员创建
为租户创建用户账户
创建租户用户账户的以下步骤应执行:
-
登录 WAP 管理门户进行管理员操作。
-
浏览用户账户工作区。
-
点击创建新用户。
![为租户创建用户账户]()
-
提供用户详细信息,包括电子邮件地址、密码和订阅计划。请注意,公开的计划仅在此处可用。
![为租户创建用户账户]()
-
租户现在可以使用此账户登录租户门户并使用所选计划下的服务。
管理员可以对用户账户执行额外的操作,例如:
-
暂停账户
-
重置密码
-
删除账户
注意
请注意,当使用任何其他身份验证和联合服务(如 ADFS)时,所有与租户用户账户相关的操作不适用。这些仅适用于 WAP 内置的 ASP .Net 提供程序用户账户。
配置通知设置和规则
Windows Azure Pack 提供通知功能,用于标准用户账户管理操作,如下所示:
-
通过向用户的电子邮件地址发送验证链接来验证用户的电子邮件账户
-
向用户发送新密码
-
向用户发送重置密码的链接
可以根据需求创建额外的规则。激活任何规则之前,必须先配置 SMTP 设置,因为通知需要邮件服务器来向租户的用户发送电子邮件。让我们来看看配置 SMTP 设置和通知规则的步骤:
-
登录到 WAP 管理员管理门户。
-
浏览用户账户工作区,然后是设置标签。配置通知设置和规则
-
点击添加新的 SMTP 设置。
-
添加服务器地址和端口号。
-
选择认证类型(基本或匿名)。
-
如适用,提供连接 SMTP 服务器时使用的用户名和密码。配置通知设置和规则
配置通知规则,请执行以下步骤:
-
登录到 WAP 管理员管理门户。
-
浏览用户账户工作区和规则标签。配置通知设置和规则
-
点击任何现有规则以配置设置或添加规则来创建新规则。
-
配置该规则的邮件设置,如下所示:
-
启用状态:是或否
-
回复邮件地址:如果租户希望回复自动生成的电子邮件,将使用该地址
-
邮件主题:通知消息的邮件主题
-
邮件正文:云服务提供商可以根据需求修改现有模板
-
使用的 SMTP 账户
-
可以以类似方式创建和配置额外的通知规则。管理员可以使用发件箱标签查看发送给用户的所有通知。
配置额外的账户管理设置
WAP 门户中用户账户工作区的配置标签允许云服务提供商根据自己的选择对用户账户进行通用控制:
-
要求密码强度:弱/一般/强
-
租户自助服务订阅管理:启用或禁用
这允许云管理员选择租户是否可以以自助服务的方式订阅计划(使用邀请码),或者是否必须通过云管理员进行订阅
-
账户验证要求:是/否
此设置需要相应的通知规则和 SMTP 设置来进行配置
-
忘记密码启用:是/否
此设置需要相应的通知规则和 SMTP 设置来进行配置
租户订阅 – 概述与管理
订阅是定义租户访问计划的对象,用于标识租户在云中的资源和访问权限。当租户注册任何计划或附加服务时,将创建订阅。
订阅是租户用户与计划访问之间的一对一映射。一个订阅只能附加到一个计划,而单一租户可以有多个订阅。Windows Azure Pack 为租户提供自助服务访问,允许他们创建和管理订阅,操作由云管理员定义。在本主题中,您将从云管理员的角度学习订阅管理;租户的视角将在下一章讨论。
订阅管理操作 – 管理员
Windows Azure Pack 管理门户允许对订阅进行管理操作,这些操作可以由云管理员执行。可以执行以下管理操作:
-
查看每个计划或整个云的所有订阅列表
-
显示订阅中资源使用情况的仪表板
-
挂起或删除订阅
-
将订阅从一个计划迁移到另一个计划
-
向任何订阅添加共同管理员(租户)
-
将任何附加组件与订阅关联
以下步骤是进行订阅管理操作所需执行的:
-
登录到 WAP 管理门户以进行管理员操作。
-
浏览计划工作区和订阅标签。
-
所有订阅将在 WAP 云中显示。
![订阅管理操作 – 管理员]()
-
可以通过底部面板中的按钮执行订阅管理操作。操作包括以下内容:
-
挂起订阅
-
将订阅迁移到不同的计划
-
删除订阅
-
-
点击订阅名称以获取订阅使用情况的仪表板。
-
额外的共同管理员可以通过管理员标签创建。
-
可以通过附加组件标签映射附加组件。
向租户的用户账户添加新订阅
通常,当租户注册任何计划或附加组件时,订阅会自动创建。云管理员也可以根据需要为现有或新租户用户创建额外的订阅。
执行以下步骤为现有租户账户添加新订阅:
-
登录到 WAP 管理门户以进行管理员操作。
-
浏览用户账户工作区。
-
点击用户账户,为现有账户添加新的订阅。可以使用添加用户按钮创建新用户。
-
点击用户账户将显示与该租户用户关联的订阅。
-
可以使用添加订阅按钮创建额外的订阅。
![向租户的用户账户添加新订阅]()
摘要
在本章中,您了解了向前几章创建的租户提供云服务的方式。我们涵盖了 Windows Azure Pack 托管计划和附加组件的规划及其实施。您还学习了租户账户和订阅的用户账户管理。
在本章的结尾,我们已经准备好了云解决方案,并配置了包含租户使用计划的 IaaS 服务。在下一章中,我们将作为云租户(也称为客户)访问此解决方案。我们将体验云服务的提供和管理操作。
第六章:体验云服务 —— 租户的视角
在经历了五个硬核技术章节后,本章节将变得轻松且富有奖励。在本章节中,我们将从客户或租户的角度查看我们之前部署的云设置。我们将通过订阅我们之前创建的计划来注册一个新的租户,并随后请求和管理订阅计划中提供的云服务。
我们将涵盖以下主题:
-
租户注册和账户管理
-
创建和管理虚拟网络
-
独立虚拟机——配置和管理
-
虚拟机角色——配置和管理
租户注册和账户管理
如上一章节简要介绍,租户有两种方式可以注册使用 Windows Azure Pack 中的云服务。一种是租户自行注册并订阅,另一种是云提供商预先注册。
我们已经在上一章覆盖了第二种方法。在本章中,我们将体验第一种方法。
注册和计划订阅
以下步骤应按照指示进行,以注册租户和计划或附加服务订阅:
-
登录到 Windows Azure Pack 租户门户。
-
点击注册。
-
提供电子邮件地址和密码,然后点击注册。这将在 Azure Pack 云目录(ASP.NET 提供商)中创建一个账户。
![注册和计划订阅]()
-
注册成功后,门户将显示管理门户导览。
-
要使用任何云服务,租户必须先订阅一个计划。在我的账户页面底部点击新建按钮来订阅计划。
-
云提供商发布的公共计划将在这里显示。选择计划以订阅并提供邀请代码以验证其真实性。
![注册和计划订阅]()
订阅将开始创建,可能需要几分钟才能完成。
-
订阅创建后,租户将能够看到根据计划中配置的服务提供的其他选项和工作区。
-
订阅 ID 可以在我的账户工作区的订阅标签下找到。
![注册和计划订阅]()
-
可以通过底部窗格中的更改名称按钮为订阅分配一个友好的名称。
-
通过导航到 新建 | 我的账户 | 添加附加服务,订阅该计划中可用的附加服务。
![注册和计划订阅]()
租户账户和订阅管理操作
租户的管理员可以通过租户门户以自助服务方式对账户和订阅执行以下管理操作:
-
可以查看活动订阅的列表和状态
-
可以查看订阅和附加服务下的资源当前使用情况和使用限制
-
它可以上传管理证书,以便使用基于证书的身份验证来访问分配的云服务。
-
它可以为订阅分配一个或多个联合管理员。
-
它可以订阅额外的计划或附加组件。
-
它可以删除订阅。
-
它可以删除账户。
现在,我们将详细查看之前提到的管理操作:
-
查看列表、状态、使用情况,删除活跃订阅和附加组件:
按照以下步骤执行这些操作:
-
使用租户管理员账户登录租户门户。
-
浏览我的账户工作区并点击订阅。
-
所有与账户关联的订阅将显示出来,包括订阅 ID、名称、状态、计划和注册日期。
-
点击删除按钮以删除任何现有的订阅。
-
点击订阅 ID以查看与证书相关的使用情况和限制。
-
点击附加组件选项卡以对附加组件执行类似操作。
租户账户和订阅管理操作
-
-
上传管理证书:租户可以将管理证书上传到 WAP 租户门户,这些证书可以在租户使用租户 PowerShell 或 API 登录时用于验证其真实性。
-
可以使用租户门户的我的账户工作区中的上传证书按钮上传管理证书。租户账户和订阅管理操作
-
添加联合管理员:可以使用 WAP 租户门户为任何订阅添加额外的管理员。这允许多个用户登录并请求/管理分配给租户的云服务:
-
可以在租户门户的管理员选项卡下的我的账户工作区中添加额外的管理员。租户账户和订阅管理操作
-
点击添加按钮以添加新的联合管理员。提供用户 ID 并选择要关联的订阅。租户账户和订阅管理操作
-
同一页面可以用来添加更多联合管理员或编辑/删除现有管理员。
-
-
删除账户:删除账户会删除所有相关联的订阅。在门户的我的账户工作区浏览,可以找到删除账户的选项。
创建和管理虚拟网络
租户可以根据自定义需求创建虚拟网络。虚拟网络可以根据租户的选择具有任何 IP 范围,也可以用于在租户现有的数据中心和 Windows Azure Pack 云网络之间建立站点到站点的 VPN 连接。VNet 还允许虚拟机使用网络地址转换(NAT)。租户可以创建多个相互隔离的虚拟网络。
Windows Azure Pack 虚拟网络由 Hyper-V 网络虚拟化和 SCVMM 提供支持。
创建虚拟网络
按照以下步骤创建虚拟网络:
-
使用租户的管理员账户登录租户门户。
-
浏览网络工作区。
-
点击创建虚拟网络。
![创建虚拟网络]()
-
点击快速创建或自定义创建。
-
提供虚拟网络名称和协议(IPv4 或 IPv6)。
![创建虚拟网络]()
-
提供将在 VNet 中使用的 DNS 服务器 IP。提供 DNS 后,DNS 的 IP 将自动分配给此虚拟网络下的虚拟机。此配置也可以稍后进行。
-
选择附加选项,如启用通过 NAT 访问互联网或配置站点到站点 VPN,根据需要选择。
![创建虚拟网络]()
-
选择地址空间,并根据租户的选择进行子网划分。
![创建虚拟网络]()
-
新创建的虚拟网络现在将在网络工作区下可见,并已准备好供虚拟机使用。
注意
在 Windows Azure Pack 租户门户中请求任何资源时,会提供快速创建和自定义创建或从图库中选择三个选项。快速创建会使用一些默认值来创建资源请求,而无需询问租户用户的详细信息,自定义创建则允许租户根据需要自定义请求。
管理和扩展虚拟网络。
租户的管理员可以使用租户门户对预创建的虚拟网络执行以下管理和扩展操作:
-
它可以虚拟网络 IP 使用。
-
它可以添加额外的地址空间。
-
它可以配置 DNS 服务器 IP。
-
它可以启用或禁用 NAT 或站点到站点 VPN。
-
NAT 规则。
-
它可以配置站点到站点 VPN。
-
它可以下载站点到站点 VPN 配置脚本。
注意
配置 DNS 服务器 IP 将允许虚拟网络内外的虚拟机之间进行 DNS 名称转换。任何配置了 VNet 连接的虚拟机,都会根据 VNet 配置自动配置 DNS 服务器 IP。站点到站点 VPN 将允许在云的虚拟网络与租户本地数据中心的本地网络之间建立混合云网络连接。为任何虚拟机启用NAT(网络地址转换)将允许虚拟机的私有 IP 与公共 IP 进行 NAT 转换,从而可以通过互联网访问。查看更多关于 Windows Azure Pack 混合云网络的信息,请访问blogs.technet.com/b/privatecloud/archive/2013/11/20/hyper-v-network-virtualization-architecture-and-key-concepts.aspx。
执行管理操作时,应该遵循以下步骤:
-
使用租户的管理员账户登录租户门户。
-
浏览网络工作区,然后点击网络进行管理。
-
DASHBOARD将显示虚拟网络的详细信息,如状态、网络 ID、外部 IP 和网关 IP,以及虚拟 IP 的使用情况。
![管理和扩展虚拟网络]()
-
RULES页面允许租户创建和管理所有针对公共互联网的虚拟机的 NAT 规则。
-
SITE-TO-SITE VPN允许租户配置和管理 Cloud VNET 与租户本地网络之间的站点到站点 VPN 连接。
-
CONFIGURE页面允许租户添加或修改地址空间和 DNS 服务器。它还允许配置站点到站点 VPN 或 NAT。
![管理和扩展虚拟网络]()
-
本地 VPN 配置脚本可以从networks工作区快速启动菜单下载。
独立虚拟机 – 配置和管理
独立虚拟机允许租户管理员根据云服务提供商在计划中配置的内容创建和管理虚拟的 Vanilla OS 虚拟机。云服务提供商在计划中添加的所有虚拟机模板将在创建独立虚拟机菜单中向租户显示。
创建独立虚拟机
要创建独立虚拟机,必须按照以下步骤操作:
-
使用租户管理员账户登录租户门户。
-
点击底部窗格中的NEW按钮,然后选择STANDALONE VIRTUAL MACHINE。
![创建独立虚拟机]()
-
点击QUICK CREATE或FROM GALLERY,根据需要选择。
-
选择可供租户使用的模板或磁盘。点击对象将显示云管理员配置的描述。
-
提供虚拟机名称、密码和产品密钥(如适用)。
![创建独立虚拟机]()
-
选择此虚拟机需要附加的网络。新创建的虚拟网络将在下拉列表中显示。
-
现在,CREATE VIRTUAL MACHINE操作将开始。虚拟机将在操作完成后列出在门户中的虚拟机工作区。
![创建独立虚拟机]()
管理操作 – 独立虚拟机
租户的管理员可以使用租户门户对独立虚拟机执行以下管理操作:
-
查看虚拟机的状态和资源使用情况
-
使用控制台或 RDP 连接到虚拟机
-
暂停、重启、关闭、启动、停止和删除虚拟机
-
创建、查看和恢复检查点
-
修改虚拟机大小
-
向虚拟机附加额外的设备,如网络适配器、磁盘和 DVD
接下来的基本操作可以通过在虚拟机工作区中选择虚拟机来访问。

诸如虚拟机资源使用情况仪表盘和其他高级操作等附加操作可以在samplevm | DASHBOARD下进行。

配置页面允许租户修改虚拟机配置,例如虚拟机大小,以及为虚拟机附加设备,如网络、DVD 和磁盘。

虚拟机角色 – 配置和管理。
虚拟机角色使租户能够以便捷的方式扩展和缩放虚拟机及其应用程序。一个虚拟机角色可以包含一个或多个相同类型的虚拟机。请参阅第四章,构建虚拟机云和 IaaS 服务以了解更多关于虚拟机角色的信息。
创建虚拟机角色
创建虚拟机角色时,需要按照以下步骤操作:
-
使用租户管理员账户登录租户门户。
-
点击底部面板的新建按钮,然后点击虚拟机角色。
![创建虚拟机角色]()
-
点击快速创建或从画廊创建,根据实际情况选择。
-
选择画廊项以部署虚拟机角色。
![创建虚拟机角色]()
-
提供虚拟机角色名称并选择其版本。请注意,这不是虚拟机的名称或主机名。所有虚拟机实例将以此虚拟机角色名称展示。
-
提供虚拟机配置,例如虚拟机大小、磁盘、IP 地址类型、网络、主机名模式、域或工作组设置等(如适用)。
-
提供扩展设置,如初始实例数量、最小实例数量和最大实例数量。
![创建虚拟机角色]()
-
创建虚拟机角色操作将开始。虚拟机角色将在门户的虚拟机工作区下列出,成功配置后。
管理操作 – 虚拟机角色。
租户管理员可以通过租户门户执行以下管理操作以管理虚拟机角色:
-
它可以查看虚拟机角色的状态和资源使用情况。
-
它可以查看虚拟机角色下虚拟机实例的列表。
-
它可以通过控制台或远程桌面协议(RDP)连接到虚拟机。
-
它可以暂停、重启、关机、启动、停止和删除虚拟机。
-
它可以查看单个虚拟机实例的状态和资源使用情况。
-
它可以进行虚拟机角色的扩展和缩放。
-
它可以创建、查看和恢复检查点。
-
它可以修改虚拟机角色配置(这将影响虚拟机角色下的所有虚拟机实例)。
-
它可以为虚拟机附加额外的设备,如网络适配器、磁盘和 DVD。
-
它可以删除虚拟机角色。
虚拟机角色的管理操作分布在四个页面或类别中,如下所示:
-
虚拟机角色仪表板:仪表板页面可用于快速查看虚拟机角色和资源使用情况,如下所示:
![管理操作 – 虚拟机角色]()
-
实例:INSTANCES 页面列出了在所选虚拟机角色下的所有虚拟机实例。可以选择每个虚拟机实例进行虚拟机特定的操作,这些操作都在相同的独立虚拟机角色中进行。
![管理操作 – 虚拟机角色]()
-
规模:SCALE 页面可用于根据云提供商或租户管理员在创建虚拟机角色时定义的设置来进行虚拟机角色的扩展和缩减。扩展虚拟机角色将部署额外的虚拟机,使用虚拟机角色的设置。扩展和缩减可以通过简单地将滑块向左或向右移动来执行。
将扩展滑块向左或向右移动,然后点击保存以执行虚拟机角色的扩展或缩减。
![管理操作 – 虚拟机角色]()
-
配置:CONFIGURE 页面可用于修改在虚拟机角色配置期间所选的虚拟机角色设置。请注意,只有在虚拟机角色中部署的新虚拟机才会使用新的设置进行配置。任何现有的虚拟机必须重新创建,才能使新设置生效,除非手动修改。
概述
在本章中,我们体验了从租户的角度进行 IaaS 云服务的配置和管理。我们通过 WAP 的自助服务门户注册了一个新租户,并订阅了之前创建的计划。我们创建了虚拟网络、独立虚拟机和虚拟机角色。您还了解了关于网络和虚拟机的管理操作,例如修改网络和扩展或缩减虚拟机角色。
在下一章中,我们将继续构建PaaS(平台即服务)云服务,包括网站和服务总线服务。
第七章:交付 PaaS——WebSites 云和服务总线
在本章中,我们将重点介绍 PaaS(平台即服务)云服务的 Windows Azure Pack 版本。PaaS 使租户和组织能够在云提供商的平台上开发、运行和管理他们的应用程序,而无需担心基础设施层,如硬件或操作系统。
在本章中,我们将讨论 Windows Azure Pack 中的两大 PaaS 服务,包括 WebSites 和 Service Bus。WAP 网站云可以供组织和云提供商用来向内部业务部门和租户提供网站托管服务。WAP 网站云支持多种编程语言,如 ASP.NET、PHP 和 Node.js。
WAP 网站与 Azure WebSites 一致工作。租户负责他们网站的开发和管理,而平台的责任由云服务提供商承担。
虽然这看起来像是 IT 开发人员的内容,但本章仅面向 IT 专业人员。我们将专注于构建一个可靠的平台,能够以多租户方式托管成千上万的高密度网站。任何网站开发或编程都将在相同的传统 Web 开发服务机制中进行,并且不会成为 Windows Azure Pack Websites 云的一部分。
WAP 的另一个 PaaS 服务是 Service Bus,它提供可靠且可扩展的消息传递服务。应用程序可以使用该服务传递消息或信息。
在本章中,我们将涵盖以下主题:
-
Websites 云概述及其功能
-
规划 WebSites 云平台
-
准备安装 Windows Azure Pack Websites 云
-
安装和配置 Websites 云
-
Websites 云——管理操作
-
Websites 云——租户体验
-
Windows Azure Pack 服务总线
-
安装和配置 Service Bus 云集群
Websites 云概述及其功能
Windows Azure Pack 中的 Websites 云使组织和服务提供商能够为其内部或外部租户提供高密度的 Web 托管服务。WAP Websites 云为租户提供一个平台,用于开发和运行他们的网站。
WAP 网站旨在以 Web 规模提供服务,托管成千上万的网站,具备灵活性和可扩展性,在可扩展性、精细控制和计量方面具有能力。WebSites 云平台通过结合 Windows 服务器、IIS、SQL 数据库以及许多第三方和开源技术构成。
从服务提供商的角度看 WAP 网站功能
Windows Azure Pack 网站提供与 Microsoft Azure 网站类似的体验,后者是全球最大的网页托管服务提供商之一。该网站服务基于分布式架构,提供可扩展性,并消除了任何单点故障。让我们看看 WAP 网站云为服务提供商提供的功能和特性:
-
高密度和可扩展性:WAP 网站设计为可以在单一农场中运行数万个及更多网站,并具有灵活的扩展决策。服务提供商可以从一个小型农场开始,根据需求在后期添加更多资源,而不会中断服务。
-
多租户:WAP 网站服务本质上是多租户的,并为租户提供隔离服务、细粒度的控制和自助服务。还可以为租户提供保留服务器(即专用服务器)。
-
简单且更快的部署和管理:简便性是当今 IT 解决方案的关键要求之一。WAP 网站易于部署、管理和扩展,且不繁琐。
-
自动化和自助服务:WAP 网站提供自动化平台和网站部署功能,以自助服务的方式为云管理员和租户提供服务。
-
应用程序和框架支持:WAP 网站支持广泛的框架和编程语言,无需额外的管理负担。这包括微软和第三方框架以及开源技术。WAP 网站支持的框架和技术有 ASP.NET、经典 ASP、PHP、Node.js 等,并且支持使用 GitHub、Bitbucket、Dropbox 和 Team Foundation Server 的源代码控制。除了应用程序和编程语言支持外,它还提供了一个 Web 应用库,里面有预配置的网站模板和应用程序模板。
-
灵活的服务级别:默认情况下,Windows Azure Pack 网站提供多个服务级别,如共享或专用服务器供租户选择。客户可以根据需求在共享模式和保留模式之间选择网站的规模。
-
细粒度的服务质量和计量:Windows Azure Pack 网站计划提供细粒度的服务质量控制。这确保了租户即使在共享模式下运行,也能根据合同获得所需的资源。所有这些服务级别都通过强大的计量机制来实现费用返还。
-
可靠的分布式架构:WAP 网站在分布式架构中工作,分布在多个角色和服务器上,具有完整的冗余性,消除了任何单点故障。
-
虚拟化平台无关性:网站云服务要求运行 Windows Server 2012 或 2012 R2 操作系统,这可以在任何支持的虚拟化平台或物理服务器上托管。
注意
尽管 Windows Server 2012 支持托管 WAP 网站服务器,但建议使用 Windows Server 2012 R2,并安装最新的 Windows 更新。
从租户角度来看 WAP 网站概述和功能
除了典型的云计算优势外,WAP 网站服务还为租户提供以下功能和好处:
-
简单且更快速的网站配置和管理:在传统的 IT 交付机制中,网站平台部署通常需要几天才能使网站上线。此平台部署包括基础设施级别的准备、操作系统和中间件或 Web 服务器部署。而使用 WAP 网站,租户只需几次点击即可将网站上线。这使租户能够更多地专注于网站开发,而非平台建设。
-
可扩展性:传统部署模型中的可扩展性是最具挑战性的方面。Windows Azure Pack 通过提供简单的横向扩展和缩减功能,仅需几次点击即可消除这一问题。租户可以仅在高峰时段或高峰日以非常简单且具成本效益的方式选择增加更多服务器。
-
自助服务:Windows Azure Pack 网站服务操作,如配置和管理,均通过易于使用的自助服务门户提供,从而消除了因人工操作而可能导致的任何错误和延迟。
-
广泛的框架和编程选项:租户可以根据自己的需求和选择自由选择开发框架。WAP 支持多种应用框架,例如 ASP .NET、PHP、Node.js 等。
-
灵活的开发和部署工具:WAP 支持多种开发和部署工具,包括 Visual Studio、FTP、WebDeploy、GIT、Bitbucket、Dropbox、Team Foundation Server 等。
-
Web 应用画廊:Windows Azure Pack 中提供的 Web 应用画廊包含多种预配置的网站模板和来自 Microsoft、第三方供应商以及开源的流行 Web 应用。租户可以利用这些资源更快速、高效地开发网站。
WAP 网站 – 架构
网站云解决方案由多个角色组成,并运行在多个服务器上。所有服务器都基于 Windows Server 2012 R2(也支持 2012 版本)。整体解决方案利用了 Windows 服务器的功能,如动态Windows 进程激活服务、资源限流、IIS 等,以及 SQL 数据库和网站角色。让我们深入探讨 WebSites 云解决方案的架构组件。
网站云服务角色
基于 Windows Azure Pack 的网站云服务至少由六个服务器角色组成:
-
WebSites 控制器:此角色用于部署和管理其他角色。这是首个安装的角色,包含所有媒体、设置和用于部署及配置其他角色的配置。
-
网站管理服务器:此角色与 Windows Azure Pack 管理门户和 API 通信。它暴露了一个 表述性状态转移(REST)端点,WAP 使用该端点连接并与网站云平台通信。所有网站的供应操作通过此管理服务器执行。
-
Web 工作者:此角色承载并运行租户的网站。网站的客户端请求仅由 Web 工作者处理。Web 工作者服务器可以以共享模式或专用模式工作。在共享模式下,一个 Web 工作者角色处理多个租户的网站请求,而在专用模式下,它专门为单一租户服务。
-
前端角色:此角色接受客户端请求,将其路由到工作角色进行处理,并将响应返回给客户端。一个前端服务器可以将请求路由到多个 Web 工作者角色,并具有负载均衡能力。前端服务器还负责 SSL 终止。
-
文件服务器:文件服务器是一个基于 Windows 的文件服务器角色,用于存储托管网站内容的文件。这些文件包括所有托管在网站云中的网站的应用程序和数据内容。网站使用 Windows 文件服务器的文件服务器资源管理器功能来管理网站的托管文件。
-
发布者角色:此角色通过 FTP 客户端、Visual Studio 和 WebMatrix 将内容发布到网站的农场。发布者角色使用 FTP 和 Web Deploy 协议。租户使用发布服务器上传并发布其网站内容。
WAP 网站 – 数据库角色
就像其他任何 Microsoft 产品一样,WAP 网站云平台利用 Microsoft SQL Server 处理其数据库需求。WAP 网站的数据库需求可以分为三个类别:
-
网站运行时数据库:此数据库托管租户网站的运行时数据库和配置。它必须是基于 Microsoft SQL Server 的数据库。
-
应用程序数据库或租户数据库:此数据库由租户用于托管网站数据。这不是强制性要求,取决于租户的网站架构和需求。租户必须订阅 WAP 的数据库服务才能使用此功能。根据 Web 应用程序支持,它可以是基于 MS SQL 或 MySQL 的数据库。
-
服务管理 API 数据库:此数据库由 WAP 服务管理 API 用于存储配置信息。它与我们在 第三章 中配置 Windows Azure Pack 安装时使用的数据库相同,安装和配置 Windows Azure Pack。这必须是基于 Microsoft SQL Server 的数据库。
网站云平台规划
在本主题中,我们将讨论网站云平台的容量、弹性等方面的规划因素和最佳实践。
弹性规划
Windows Azure Pack 网站云解决方案可以通过在每个角色或层级添加冗余服务器来保护免受故障影响。为冗余添加额外服务器是一个相对简单的过程。
以下是每个角色的冗余建议:
-
网站角色:通过部署额外的服务器以提供冗余,可以保护此角色免受故障影响:
-
控制器服务器:WAP 网站部署中最多可以配置两台控制器服务器,这提供了控制器层的高可用性。
-
管理和发布:对于管理和发布角色,建议至少部署两台服务器来提供冗余。根据扩展需求,也可以添加更多服务器。
-
前端:可以部署两台前端服务器以提供高可用性;然而,也支持部署多于两台前端服务器以满足容量和负载均衡需求。负载均衡器应配置用于前端服务器的客户端访问请求负载均衡。
-
Web 工作角色:建议至少配置四个 Web 工作角色——两个用于共享托管,两个用于保留托管。根据扩展需求,可以部署更多工作角色。
-
-
文件服务器:建议在生产环境中为 WAP 网站云使用预配置的基于 Windows 的文件服务器集群。请注意,Sale-out 文件服务器集群不支持网站云使用,因为它需要文件服务器资源管理器才能运行。
-
SQL 服务器:对于生产环境,建议使用配置了 SQL 级集群技术的数据库服务器,如 SQL 服务器集群或 SQL 服务器 Always On。
还建议将网站云角色托管在虚拟机中,以利用高级的虚拟化可用性技术。
容量规划
Windows Azure Pack 网站云解决方案可以根据能力需求轻松进行扩展。以下指南在规划容量时提供了基本的设计考虑:
-
网站角色:
-
控制器服务器:控制器服务器不需要太多的计算、网络或存储资源,因为它只用于配置其他角色。标准配置包括两个虚拟 CPU 和四个或八个 GB 的内存,以及足够的存储空间来托管操作系统。该控制器应满足这些要求。
-
管理:此角色负责处理 WAP 与 WebSites 云之间的通信。除非启动多个同时的配置操作,否则此服务器不需要太多资源。
-
前端服务器:前端服务器将所有网站的访问请求路由到工作节点。为了更好的负载均衡,建议部署多个前端服务器。根据 Microsoft 的指南,单个核心每秒可以处理 100 个请求。可以根据这个值来规划前端的计算能力,并将高峰时段作为一个附加因素来考虑。
-
发布服务器:发布服务器通常只有在多个发布操作被租户发起时,才会经历较高的计算利用率。
-
Web 工作节点角色:此角色是 WebSites 云中资源消耗最重的角色,因为所有网站都托管在这些服务器上。建议为 Web 工作节点角色部署多个服务器。Web 工作节点角色的内存需求需要根据单次活动中活跃网站的数量进行规划。根据 Microsoft 的建议,生产环境中每个网站的平均内存占用是 70 MB。建议根据常规活跃网站的数量以及高峰时段或日值来规划内存。
-
-
文件服务器:文件服务器托管运行在农场中的所有网站内容和应用程序,并且具有较高的磁盘 IO 强度。建议使用具有更高 IOPS 的磁盘来作为文件服务器。
-
SQL Server:根据 Microsoft 的指南,SQL 的内存应该按每 30,000 个预配网站分配 4 GB。建议预留更多内存,因为 SQL 性能主要取决于可用内存。每 10,000 个网站需要 4 GB 的磁盘空间。
网站服务器角色的域与工作组
Windows Azure Pack 网站角色可以在域环境和工作组环境中部署。建议在生产环境中使用加入域的服务器,以利用 AD 功能,如通过 Kerberos 进行安全认证、简化用户管理以及通过组策略实现更好的控制。工作组服务器可用于测试和开发环境。
准备 Windows Azure Pack WebSites 云的安装
在开始安装和配置 WAP 网站云之前,需要满足多个前提条件。我们来看一下这些条件。
准备 Windows 服务器
所有指定托管网站云组件的服务器必须运行 Windows Server 2012 或 2012 R2 操作系统。建议将服务器更新到最新的补丁。建议使用全新安装的操作系统。
在所有服务器上启用 Windows 远程管理。为发布服务器和前端服务器创建以下服务的入站访问防火墙规则:
-
文件和打印共享(SMB-In)
-
Windows 管理工具(WMI-In)
所有服务器的用户帐户控制必须禁用,以便进行远程操作。这可以通过添加以下注册表项来完成。添加该注册表项后,服务器必须重新启动:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
提示
添加上述注册表键不会影响本地 UAC 配置。
准备 DNS 记录
Windows Azure Pack 网站需要 DNS 记录来执行以下操作:
-
访问网站:默认情况下,每个托管在 Windows Azure Pack 网站中的网站都包含一个由服务提供商配置的 DNS 后缀。该 DNS 后缀需要指向前端服务器,以进行网站的名称解析。例如,在网站云中,名为 'abc' 的网站使用 DNS 后缀 'xyz.com',则其 FQDN 为 'abc.xyz.com'。服务提供商需要规划和决定 DNS 后缀,并在内部或公共 DNS 服务器中创建必要的区域。
-
开发/发布:此记录供租户上传和发布网站内容。为此,需要两个 'CNAME' 记录,它们指向发布服务器。
总体而言,以下 DNS 记录需要在 DNS 服务器中创建,以确保网站云的正常运行:
| 名称 | IP 地址 | 用途 |
|---|---|---|
| * | 前端服务器 | 访问网站 |
| *.scm | 前端服务器 | 通过 Git 发布内容 |
| ftp | 发布服务器 | 通过 Web Deploy 或 FTP 发布内容 |
| publisher | 发布服务器 | 通过 Web Deploy 或 FTP 发布内容 |
为网站云数据库准备 SQL 服务器
使用 SQL 服务器进行网站云时,必须满足以下数据库配置要求:
-
SQL 版本必须是 SQL Server 2012 SP1 或更高版本。可以使用 Express 版本进行评估;生产环境中需要使用完整版。数据库服务器必须能够从所有节点访问。
-
必须根据设计配置必要的集群技术,如 SQL 集群或 Always On。
-
必须启用混合模式身份验证。
-
如果使用命名实例,SQL 浏览器服务需要手动启动,并且需要打开 1434 端口。
准备 SSL 证书
默认情况下,Windows Azure Pack 网站会为网站云生成并安装自签名证书。建议在生产环境中不要使用自签名证书。您可以使用内部 CA 为内部私有云颁发以下证书。对于服务提供商,建议从公共信任的 CA 获取 SSL 证书。
在 WAP 解决方案中需要以下两个 SSL 证书:
-
默认域证书:这些证书在访问网站和源代码管理时使用。由于该证书被所有租户的网站使用,因此它需要是一个通配符证书,并且必须是
.pfx格式。该证书会放置在前端服务器上。根据服务提供商的命名约定,以下主题名称需要进行配置:-
*.dnssuffix.com -
*.scm.dnssuffix.com
-
-
发布证书:发布 SSL 证书用于为开发者提供安全通信,以便通过 FTP 或 Web Deploy 上传或发布网站内容。该证书需要放置在发布服务器上,并应根据服务提供商的命名约定包含以下 SAN 名称:
-
Publish.dnssuffix.com -
ftp.dnssuffix.com
-
提示
用于默认域证书的通配符证书也可以用于发布,因为它包含相同的父域名。
准备文件服务器
Windows Azure Pack 网站支持独立部署和预配置的文件服务器集群或 NAS 设备。建议在生产环境中使用文件服务器集群或 NAS 设备,以实现高可用性和更好的性能。以下步骤是为 WAP 网站配置文件服务器集群所需的:
-
配置文件服务器集群或 NAS 设备。
-
创建用户帐户和组(用于文件共享所有者和用户)。
-
启用 WinRM(Windows 远程管理)和 FSRM(文件服务器资源管理器)。
-
使用标准文件服务器操作来提供内容共享和证书存储共享。
-
将
FileShareOwners组添加到文件服务器的本地管理员组中,以启用 WinRM。 -
根据配置的用户帐户和组来配置共享的访问控制。
安装和配置网站云
Microsoft Web Platform Installer 用于下载和安装网站云组件。请参阅第三章,安装和配置 Windows Azure Pack,以了解更多有关 Web Platform Installer 的信息。
在开始安装之前,确认所有设计决策和规划已完成,并且前提条件已满足。
首先安装控制器服务器,之后它将用于安装和配置其他角色。控制器服务器的安装还会安装一个用于 Windows Azure Pack 网站的管理控制台,该控制台可以与 WAP 服务管理门户结合使用,以安装和配置其他服务器角色。
安装和配置控制器及管理服务器
以下步骤概述了控制器和管理服务器的安装和配置过程:
-
登录到指定的 WebSites 控制器服务器。
-
运行 Microsoft Web PI。
-
搜索 Windows Azure Pack WebSites。
-
选择 Windows Azure Pack: WebSiteVersion2 Update 7(本书写作时可用的最新版本)。
提示
安装控制器服务器包括下载部署和配置其他角色所需的所有媒体。
![安装和配置控制器及管理服务器]()
-
点击 安装 以继续。
-
WebSites 安装程序将自动下载、安装并启动。
![安装和配置控制器与管理服务器]()
-
点击安装网站控制器。
-
接受协议并继续。
-
验证所有需要安装的 Microsoft 和第三方组件。你可以选择本地安装,或将它们下载到另一台服务器进行安装。
-
安装将继续进行;等待下载和安装完成。
![安装和配置控制器与管理服务器]()
-
点击配置以开始配置控制器部署。
![安装和配置控制器与管理服务器]()
-
点击配置将启动 Windows Azure Pack 网站管理控制台。所有其他网站角色可以通过此向导或 WAP 管理门户进行安装和配置。
![安装和配置控制器与管理服务器]()
-
选择控制器类型;由于我们正在部署第一个控制器服务器,它将在我们的案例中作为主控制器。
-
选择文件服务器类型。选择文件服务器后,会显示额外选项,包括托管数据库配置和其他系统设置,如 DNS 后缀、凭据等。
![安装和配置控制器与管理服务器]()
-
输入托管和计量数据库的配置。
![安装和配置控制器与管理服务器]()
-
提供 DNS 后缀和网站的自动更新,并将使用信息发送到 Microsoft 设置。
![安装和配置控制器与管理服务器]()
-
提供以下系统凭据:
-
用于配置网站云角色的管理员凭据,包括前端、发布者、文件服务器和管理服务器
-
用于配置 Web 工作角色的管理员凭据
-
文件共享所有者凭据
-
文件共享用户凭据
-
服务端点凭据(由 WAP 使用)
这些用户帐户必须是目标服务器本地管理员组的成员
![安装和配置控制器与管理服务器]()
-
-
输入独立或预配置的文件服务器详细信息。
-
最后,输入服务器详细信息以配置管理角色。
![安装和配置控制器与管理服务器]()
-
网站云农场现已配置。控制器服务状态将在Windows Azure Pack 网站管理控制台中显示。
![安装和配置控制器与管理服务器]()
-
Windows Azure 网站管理控制台现在可以用来修改任何现有配置或部署额外的服务器。在服务器控制台中验证服务器状态。如有任何问题,查看错误日志。
-
可以通过选择添加额外的服务器来部署其他管理和控制器服务器。
使用 Windows Azure Pack 注册网站管理服务器
Windows Azure Pack 使用 WebSites 管理服务器的 REST 终结点来注册网站云资源提供程序和操作。执行以下步骤以向 Windows Azure Pack 注册网站云:
-
登录管理员用的 Windows Azure Pack 管理门户。
-
浏览网站云工作空间。
-
点击注册现有网站云 REST 终结点。
![使用 Windows Azure Pack 注册网站管理服务器]()
-
提供云连接详细信息,包括显示名称、管理服务器地址和凭据(服务终结点凭据)。
![使用 Windows Azure Pack 注册网站管理服务器]()
-
注册的网站云现在将在 WAP 门户的网站云工作空间下可见。
![使用 Windows Azure Pack 注册网站管理服务器]()
-
Windows Azure Pack 门户现在可以用来配置其他角色和管理任务。
安装和配置前端、Web Worker 和发布者角色
剩余的网站云角色包括前端、Web Worker 和发布者可以使用安装在控制器服务器上的 Windows Azure Pack 服务管理门户或 WebSites 管理控制台进行安装和配置。在本书的演示中,我们将使用 WAP 服务管理门户。以下步骤概述了部署剩余网站云组件的过程:
-
登录管理员用的 Windows Azure Pack 管理门户。
-
浏览网站工作空间。
-
打开新注册的网站云终结点。
-
打开角色工作空间;这将列出当前网站云农场中配置的所有网站角色。
![安装和配置前端、Web Worker 和发布者角色]()
-
点击添加角色以配置网站角色。
![安装和配置前端、Web Worker 和发布者角色]()
-
选择添加新的 Web Worker以添加一个新的工作角色。
-
提供一个工作角色服务器名称和配置,包括工作类型。工作类型包括以下内容:
-
共享
-
预留 - 小
-
预留 - 中等
-
预留 - 大
![安装和配置前端、Web Worker 和发布者角色]()
-
-
现在将开始工作角色安装。WAP 门户显示安装的状态。
-
通过提供主机名或分配给托管前端角色的服务器的 IP 添加一个新的前端。
![安装和配置前端、Web Worker 和发布者角色]()
-
只需提供主机名或指定用于托管前端角色的服务器的 IP 地址,即可添加新的发布者服务器。
![安装和配置前端、Web 工作者和发布者角色]()
-
可以通过类似的方式配置额外的服务器,以实现高可用性和更多功能。
-
安装后,所有可用的服务器角色都可以在网站云工作区下的角色标签中列出。
![安装和配置前端、Web 工作者和发布者角色]()
自定义 WebSite 云源代码控制和 Web 画廊源设置
源代码控制和 WebApp 画廊源设置是全局性的,适用于 WAP 站点云。所有网站和网站云集群都可以利用在 WAP 级别配置的源代码控制机制。WebApp 画廊源设置也是如此。
配置源代码控制
Windows Azure Pack 支持多个仓库用于网站的源代码控制。租户可以利用这些仓库来管理和发布自己的网站内容。
此设置在网站云中全局配置。
服务提供商需要首先在相应的源代码控制网站上注册,以便租户使用这些服务。支持以下源代码控制库:
-
Bitbucket
-
GitHub
-
CodePlex
-
Dropbox
配置源代码控制设置时,我们需要遵循以下步骤:
-
登录 Windows Azure Pack 管理门户进行管理员操作。
-
浏览网站云工作区。
-
点击源代码控制。
-
输入源代码控制网站的特定设置,例如客户端 ID、凭证等。
![配置源代码控制]()
Web 画廊源设置
Windows Azure Pack 与 Web App Gallery 完全集成,Web App Gallery 包含许多预配置的网站模板和 Web 应用程序。这使得客户可以更快速、更高效地部署顶级 Web 应用程序。默认情况下,Windows Azure Pack 网站云配置为 Microsoft 标准 Web App Gallery。云服务提供商还可以选择创建自定义的 Web App Gallery。以下步骤是更改 WAP 部署的 Web App Gallery URL 所需的步骤:
-
登录 Windows Azure Pack 管理门户进行管理员操作。
-
浏览网站云工作区。
-
点击设置。
-
默认情况下,配置了 Microsoft Web App Gallery 的 URL;可以通过此设置配置任何自定义的画廊源 URL。
![Web Gallery 源设置]()
网站云 – 管理操作
Windows Azure Pack 管理门户为租户用户和云管理员提供自助服务体验。WAP 管理门户可用于执行对网站云集群的监控和管理操作,例如以下内容:
-
监控云集群和租户网站的利用率及可用状态
-
配置、监控以及启动或停止网站角色
-
自定义 WebSites 设置,如 SSL 和 DNS 记录
-
配置和管理封锁列表、IP SSL 和平台凭证
使用率仪表盘
WebSites 云的仪表盘页面提供了完整网站云农场的 CPU 和内存使用率图表。除了使用率,还可以通过仪表盘页面查看网站云的事件日志。
角色 - 配置和管理
角色页面使管理员可以执行以下操作:
-
提供和移除任何网站服务器角色
-
重启、修复并使任何服务器角色离线
-
查看服务器角色列表及其状态
以下步骤概述了访问角色页面的过程:
-
登录到 Windows Azure Pack 管理门户进行管理员操作。
-
浏览网站云工作区。
-
选择要管理的网站云并访问角色标签。
![角色 - 配置和管理]()
WebSites – 监控和操作
网站页面使租户创建的网站可以执行以下操作:
-
查看和监控租户创建的所有网站
-
执行租户操作,如代表租户修改 .NET 框架版本
以下步骤概述了访问角色页面的过程:
-
登录到 Windows Azure Pack 管理门户进行管理员操作。
-
浏览网站云工作区。
-
选择要管理的网站云并访问网站标签。
![WebSites – 监控和操作]()
配置 WebSites 云设置
此页面可用于修改网站云设置,如 SSL 证书和 DNS 名称。
可以通过此页面自定义以下设置:
-
上传新的 WebSites 默认证书。默认情况下,所有 WAP 网站都配置有自签名的 SSL,这可能是一个安全隐患。使用此选项,云提供商可以上传由公开信任的 CA 签发的 SSL 证书供网站使用。通常,它会是一个包含网站域名的通配符证书。
-
可以启用、禁用或强制执行网站的 Windows 身份验证。
-
可以允许或不允许自定义应用池身份。
![配置 WebSites 云设置]()
-
配置发布设置包括以下内容:
-
Web 部署 DNS 记录
-
FTP 部署 DNS 记录
-
发布证书
![配置 WebSites 云设置]()
-
封锁列表 - IP 过滤
Windows Azure Pack 提供了强大的 IP 过滤机制,可用于防止DOS(拒绝服务)攻击。可以使用封锁列表阻止选定的 IP 或 IP 地址范围访问网站。此功能可以与防火墙设备结合使用,自动防止任何攻击。
以下步骤概述了阻止任何指定的 IP 范围访问网站的过程:
-
浏览封锁列表标签。
![封锁列表 - IP 过滤]()
-
点击开始创建阻止列表。
-
输入要阻止的 IP 范围:
![阻止列表 - IP 过滤]()
-
此页面也可以用来创建额外的阻止列表,删除任何现有的阻止列表,或者上传 CSV 文件以阻止访问。
网站云平台凭证
凭证选项卡显示所有为网站云组件之间的身份验证和授权配置的凭证。这些凭证是在部署第一个网站控制器角色时定义的。通过选择凭证名称并点击底部面板的编辑,可以轻松编辑这些凭证。浏览网站云设置下的凭证选项卡以修改任何凭证。

网站 IP SSL
租户的网站可以配置为使用基于 IP 的 SSL 证书,从而提供更加安全的网站访问机制。在这种情况下,服务提供商必须在所有前端服务器上配置所有特定于网站的 IP 地址。
网站云设置下的 IP SSL 页面可用于配置 VIP 和 VIP 之间的本地地址。VIP 设置及其端口映射也必须在负载均衡器设备上配置,以使 IP SSL 功能正常。

创建网站云计划
Windows Azure Pack 网站计划允许管理员为租户提供云服务,并对服务和资源(如 CPU 或内存)进行精细控制。可以从单一云农场创建多个计划,每个计划有不同的限制和功能。有关 Windows Azure Pack 网站计划的更多信息,请参见第五章,分配云服务 - 计划、附加组件、租户账户和订阅。
网站云计划概述和服务模型
WAP 网站计划被配置为提供三种服务模型:
-
介绍
-
基础
-
保留
对于每个计划,可以配置 17 项配额设置,其中包括订阅 CPU 时间、最大内存工作集等 QOS(服务质量)设置。
-
介绍模式:也称为免费模式。它为托管租户网站提供共享平台。这是一个入门级的服务,应该用于测试和开发目的。介绍模式下的租户网站可以根据需求升级为基础模式或保留模式。此模式不包含任何扩展能力。
-
基础模式:此模式也适用于共享模型,但比免费模式网站提供更好的性能。它为租户的网站提供低成本的托管服务,并具有生产就绪的特性,如便捷的扩展、定制 DNS 名称等。
-
保留模式:在保留模式下,租户的网站可以配置在专用资源上运行,如 CPU 核心、内存或带宽。与其他两种模式相比,这种模式提供了最高的性能。
服务提供商可以根据可用的平台能力和业务策略创建多个计划。基本上,计划可以通过两种方式进行配置:
-
标准计划:这些是公开提供的标准网站需求计划。
-
自定义计划:这些计划是根据特定租户的自定义需求和合同专门提供的。
为 WebSites 云服务创建一个计划
以下步骤概述了为租户提供 WebSites 云服务的 WAP 计划创建与配置过程:
-
登录管理门户。
-
浏览计划工作区。
-
点击让我们创建一个托管计划。
-
输入计划的友好名称。
![为 WebSites 云服务创建计划]()
-
在计划服务页面上选择WEB SITES CLOUD。
![为 WebSites 云服务创建计划]()
-
如适用,选择附加组件。
-
点击新创建的计划开始配置。
![为 WebSites 云服务创建计划]()
-
在计划服务工作区下点击计划名称以开始定制。
-
根据需求和业务策略配置额外的 QOS 和能力设置。
![为 WebSites 云服务创建计划]()
-
保存更改并配置附加计划设置,如邀请码、广告、将访问权限更改为公开等。请参见第五章,分配云服务 – 计划、附加组件、租户账户和订阅,了解更多如何在 WAP 计划中执行这些操作。
WebSites 云 – 租户体验
使用租户门户,租户可以以自助和自动化的方式配置和管理他们在 Windows Azure Pack Websites 云上的网站。在本主题中,我们将介绍租户在 WAP 网站配置和管理操作中的体验。
创建网站 – 快速创建与 Web 应用画廊
以下步骤概述了租户配置网站的过程:
-
登录 Windows Azure Pack 租户门户。
-
使用配置的邀请码订阅网站计划。
-
WEB SITES 工作区在管理门户中不可见。
![创建网站 – 快速创建与 Web 应用画廊]()
-
点击创建一个网站以开始;根据选择和需求选择快速创建或从画廊中选择。请注意,云服务提供商预配置的 DNS 后缀已添加到 URL 中。
![创建网站 – 快速创建与 Web 应用画廊]()
-
网站将在片刻间创建并可供访问和进一步开发。
![创建网站 - 快速创建和 Web 应用程序画廊]()
-
点击从画廊选择将显示 Web 应用程序画廊,供用户选择预配置的网站模板和其他 Web 应用程序。
![创建网站 - 快速创建和 Web 应用程序画廊]()
-
租户可以选择自己喜欢的画廊项并继续操作。
-
输入画廊项的特定值,包括 URL;然后,点击勾选标志部署网站。
![创建网站 - 快速创建和 Web 应用程序画廊]()
-
现在,让我们尝试打开一个新创建的网站,名为
quick.wapcloud。![创建网站 - 快速创建和 Web 应用程序画廊]()
租户现在可以使用传统的发布工具,如 FTP 和 WebDeploy,或使用源代码控制机制,如 Git,向新创建的网站发布内容。
管理操作 - 租户的网站
Windows Azure 包为租户提供了自服务门户功能,租户可以在该门户上执行、监控和管理其网站。让我们看看租户可以进行的管理和监控操作。
使用租户门户中的网站工作区,租户可以执行以下操作:
-
浏览网站
-
停止网站
-
重启网站
-
删除网站
让我们看看租户可以进行的其他管理和操作:
-
快速设置:通过网站下的快速设置按钮,租户可以学习并执行以下配置:
-
获取 WebMatrix 等工具
-
发布应用程序
-
设置从源代码控制的部署
![管理操作 - 租户的网站]()
-
-
仪表盘:此页面显示网站的统计数据,例如 CPU、内存使用率、数据使用情况以及附加设置,如 VIP。可以在此页面上执行添加新的部署插槽操作。此页面还可以用于管理链接的资源,如数据库或存储。
-
监控:此页面显示网站的使用统计数据。还可以添加其他统计计数器,例如 HTTP 错误或成功的计数。
![管理操作 - 租户的网站]()
-
WEBJOBS:这使得租户能够在 WAP 网站云中为任何已部署的 Web 应用程序运行持续或按需的脚本。
WAP 支持上传以下类型的文件到 WebJobs:
-
cmd、.bat、.exe(Windows) -
.ps1(Windows PowerShell) -
.sh(Bash) -
.php(PHP: 超文本预处理器) -
.py(Python) -
.js(JavaScript)
-
以下步骤概述了配置和管理 WebJobs 的过程:
-
在租户门户中浏览网站设置下的WEBJOBS选项卡。
-
点击添加作业以添加新的 WebJob。
-
输入名称WebJob,上传脚本文件,并配置执行类型(持续或按需)。
![管理操作 - 租户的网站]()
CONFIGURE选项卡允许租户为其网站选择平台和版本。这些项目的配置直接依赖于 Web 应用程序平台和架构,可能因部署而异。包括以下设置:
-
.NET 框架版本
-
PHP 版本
-
管理管道模式(经典或集成)
-
Windows 身份验证
-
自定义身份池
-
Web 套接字
-
SSL 证书
-
域名
-
SSL 绑定
-
应用程序诊断
-
网站诊断
-
额外的应用程序设置,如虚拟目录!管理操作–租户网站
网站设置中的SCALE选项卡允许租户执行以下操作:
-
在三种服务模型之间升级网站模式(入门、基础和预留)
-
扩展和缩减实例数量!管理操作–租户网站
租户部署的网站和 Web 应用程序可能需要额外的资源,如数据库或存储。LINKED RESOURCES选项卡允许租户将这些资源与网站关联。

Windows Azure Pack Service Bus
Windows Azure Pack Service Bus 提供了一种可靠的消息传递服务,租户的应用程序可以使用它传递信息或消息。该服务与微软的公共云产品 Azure Service Bus 一致。应用程序可以托管在任何地方;即可以托管在提供商的云中、租户的本地数据中心或其他任何地方。
Windows Azure Pack Service Bus 可以被组织内部的开发人员用来在应用程序之间高效地传递消息。服务提供商可以将此作为服务提供给外部租户,从而支持云驱动的应用程序消息传递。
Windows Azure Pack 中的 Service Bus 提供了两种解决方案:
-
Service Bus 队列
-
Service Bus 主题
理解 Service Bus 队列
Service Bus 队列通过在两个应用程序之间添加一个 Service Bus 命名空间来提供负载均衡,这使得消息接收器可以根据自己的节奏和资源可用性接收消息。这样可以实现松耦合应用程序之间高效且可靠的消息传递。
还可以有额外的接收器,它们可以从相同的 Service Bus 命名空间接收消息。以下图表解释了 Service Bus 队列的工作机制。

理解 Service Bus 主题
Service Bus 主题提供发布和订阅功能,可以被多个订阅者和接收器同时独立接收消息。订阅者还可以配置为仅接收经过筛选的消息。

在主题中,不使用直接通信模型,而是使用一种单独的通信模型——发布和订阅。在此模型中,通信是通过一个中介(即主题)建立的。与队列相比,Service Bus 主题提供了更多功能,如一对多通信。主题允许租户执行大规模的消息传输,涵盖大量的用户、应用程序和设备。
Service Bus 架构
Windows Azure Pack Service Bus 架构包含以下组件:
-
Windows Server 2012 或 2012 R2 操作系统
-
SQL Server 数据库
-
Windows Azure Pack Service Bus 1.1
-
Microsoft Windows Fabric
推荐以高度可用模式部署多个带 SQL 数据库的 Service Bus 服务器,以消除任何单点故障。此架构采用农场模型;可以在单个农场下部署多个服务器,提供弹性和负载均衡。
安装和配置 Service Bus 云农场
以下步骤是安装和配置 Service Bus 农场所必需的:
-
登录到指定的安装 Service Bus 的服务器。
-
下载并运行 Microsoft Web PI。
-
搜索 Service Bus 并选择 Windows Azure Pack Service Bus 1.1 进行安装。
![安装和配置 Service Bus 云农场]()
-
按照以下 Web PI 指令安装 Service Bus 组件。成功安装后退出。
![安装和配置 Service Bus 云农场]()
-
通过开始菜单启动 Service Bus 配置应用。
-
点击 创建新农场,根据需要选择默认或自定义设置。选择默认设置适合大多数部署模型。
![安装和配置 Service Bus 云农场]()
-
输入数据库服务器名称和凭证;点击 测试连接 测试连接性。
![安装和配置 Service Bus 云农场]()
-
输入服务帐户详细信息、证书和生成密钥(用于将新服务器添加到现有的 Service Bus 农场)。
![安装和配置 Service Bus 云农场]()
-
提供 Service Bus 配置的默认命名空间。
-
输入服务管理门户的访问凭证;这些凭证将用于 Windows Azure Pack 与 Service Bus 的通信。
![安装和配置 Service Bus 云农场]()
-
查看摘要中的设置,并点击勾选按钮开始部署。
-
配置过程将开始;监控日志以查看是否有任何错误。完成后,点击勾选按钮。
![安装和配置 Service Bus 云农场]()
将 Service Bus 云注册到 Windows Azure Pack
以下步骤概述了将 Windows Azure Pack 与 Service Bus 云农场注册的过程:
-
登录到 Windows Azure Pack 管理门户。
-
浏览Service Bus 云工作区。将 Service Bus 云与 Windows Azure Pack 注册
-
点击连接到现有的 Service Bus 云。
-
在配置 Service Bus 云配置时,输入SERVICE BUS CLOUD端点和管理员及租户操作的凭证。
-
注册成功后,新注册的 Service Bus 云将显示在Service Bus 云工作区中。将 Service Bus 云与 Windows Azure Pack 注册
编写 Service Bus 计划
与其他 Windows Azure Pack 云服务类似,租户也可以通过订阅由服务提供商配置的相关计划来使用 Service Bus。请参见第五章,分配云服务 – 计划、附加组件、租户账户和订阅,了解更多关于 Windows Azure Pack 计划的信息。以下步骤概述了编写 Service Bus 计划的过程:
-
登录管理门户。
-
浏览计划工作区,点击创建新的托管计划。
-
为计划输入一个友好的名称。
-
选择SERVICE BUS和在计划服务中新注册的 Service Bus 云。创建 Service Bus 计划
-
配置其他计划设置。请注意,没有配额或其他可配置的设置。Service Bus 云适用于所有用户的共享模型,没有每个用户的配额或限制。编写 Service Bus 计划
Service Bus – 租户的体验
本主题讨论了租户从租户角度进行 Service Bus 操作的体验。租户必须订阅一个 WAP 计划,该计划配置了提供 Service Bus 服务。
配置和访问 Service Bus 命名空间及功能
以下步骤需由租户执行,用于配置、使用和管理 Service Bus 命名空间:
-
登录 Windows Azure Pack 租户门户。
-
订阅为 Service Bus 服务提供配置的 WAP 计划。
-
浏览Service Bus工作区。配置和访问 Service Bus 命名空间及功能
-
点击创建命名空间开始创建命名空间。配置和访问 Service Bus 命名空间及功能
-
创建成功后,命名空间将在门户中可用。
-
点击连接信息了解关于命名空间的连接机制。配置和访问 Service Bus 命名空间及功能
-
命名空间的配置标签允许租户配置和管理访问策略以及用于授权的主密钥和次密钥。配置和访问 Service Bus 命名空间及功能
创建主题和队列
WAP 门户的新项目工作区用于创建新的队列或主题。以下步骤可用于创建和管理主题和队列:
-
点击 WAP 租户门户底部的NEW按钮。
-
选择SERVICE BUS。
-
根据您的选择和需求,选择QUEUE服务或TOPIC。
-
为创建所需项目提供名称和命名空间。
![创建主题和队列]()
-
成功配置后,新的队列或主题将在选定命名空间下的相应标签页中可见。选择任何已配置的主题或队列,查看其仪表板,其中包括利用率状态和连接性相关信息。
![创建主题和队列]()
总结
本章介绍了两个主要的 PaaS 云服务——WebSites 和 Service Bus。您学习了这些服务的规划、部署和租户体验。
在下一章,我们将继续学习 Windows Azure Pack 的另一个云服务——DBaaS 的规划和部署。
第八章:提供数据库即服务
在云计算服务模型中,数据库即服务提供应用程序和网站所需的关系型数据库,用户无需关心其基础设施和中间件层。开发人员或应用程序所有者只需以自助方式创建数据库。这大大减少了交付时间,并使组织能够更多地专注于应用程序。
Windows Azure Pack 支持多种数据库服务器和版本,包括 Microsoft SQL Server 和 MySQL,以集成和自助的方式进行管理。通过稍加努力,几乎可以交付所有在 Hyper-V 上支持的数据库。
在本章中,我们将讨论以下主题:
-
Windows Azure Pack DBaaS 产品概览
-
规划 DBaaS 平台架构
-
实现 SQL DBaaS
-
实现 MySQL 资源提供者架构
-
SQL 和 MySQL DBaaS 管理操作—服务提供商
-
启用数据库服务质量(QoS)—SQL 资源管理器
-
创建 DBaaS 计划
-
DBaaS - 租户体验
-
专用 DBaaS 产品
Windows Azure Pack DBaaS 产品概览及其功能
Windows Azure Pack Express 原生包含 SQL 和 MySQL 的 DBaaS 资源提供者 API。此外,这两个 API 是 WAP 默认支持的唯一 DBaaS 资源提供者。
WAP DBaaS 产品在私有云和服务提供商云解决方案中提供以下功能和能力:
-
高密度且具弹性的 DBaaS 服务
-
默认支持 SQL 和 MySQL,并提供扩展能力以支持其他数据库产品
-
多租户和共享模型
-
服务质量与细粒度控制
-
自助服务和自动化
-
多种服务模型,包括共享和专用服务,支持 IaaS 和 PaaS
-
使用和计量
-
支持多种高可用性技术,如 Always On
从租户的角度看,WAP DBaaS 服务提供以下功能:
-
它以自助方式提供简单、快速的数据库提供和管理
-
它运行在隐形的基础设施和平台上;即无需担心硬件/操作系统/数据库服务器层的提供、管理或更新
-
它提供了关于数据库版本、规模和功能的多种选项
共享和专用数据库服务
根据业务需求和合规性,租户可能需要共享或专用数据库。在共享服务模型中,单一数据库服务器通常会托管来自多个租户的数据库。租户共享计算能力和其他资源以及数据库引擎。共享服务模型在公共云解决方案中非常常见,并被广泛使用。
对于专用服务,单个服务器或一组资源(包括硬件和软件)仅托管单一租户的数据库。专用服务的典型用例包括:
-
租户根据基础设施和软件的定制需求,这些需求在共享模式下无法提供或实现
-
与安全性或合规性相关的要求
-
定制的 QoS 要求及其他更多
虽然 Windows Azure Pack 中本地提供共享数据库服务,但可以通过 VM 角色和专用织物实现专用服务。我们将在接下来的主题中详细讨论这些内容。
WAP DBaaS 的架构组件
Windows Azure Pack DBaaS 解决方案在共享模式下通常包括以下组件:
-
SQL 或 MySQL 数据库服务器和集群
-
Windows Azure Pack 服务器 SQL 和 MySQL 扩展 API 服务器
-
WAP SQL/MySQL 组、计划和租户订阅
-
任何其他与数据库服务相关的监控、管理或自动化解决方案,如 SCOM
WAP 资源提供者的 API 负责与数据库服务器的织物进行通信,用于管理和租户相关的配置操作。所有数据库由资源提供者的 API 创建和管理。
租户应用程序与数据库服务器之间的通信是直接的;也就是说,它不涉及任何 WAP 组件。
规划 DBaaS 平台织物
本主题将讨论 SQL 和 MySQL 数据库服务的共享 DBaaS 平台织物的规划。
规划数据库服务器的组
在 Windows Azure Pack 中,SQL 和 MySQL 数据库服务器都被分类到组中。一个组可以包含多个独立的或集群的数据库服务器,这些服务器可以是虚拟的或物理的。WAP 计划配置为通过组向租户提供云数据库服务。SQL 和 MySQL 组是独立工作的;也就是说,一个组不能同时包含 SQL 和 MySQL 数据库。
数据库服务器组以共享模式工作;也就是说,它们为多个用户或租户托管数据库,且为共享实例。
组织或服务提供商可以根据需求和策略规划创建多个组,例如,某个组用于提供高端数据库托管(在大小和性能方面),而另一个则可以是非 HA 组。
使用 Windows Azure Pack 数据库服务来满足私有云需求的组织,可能会根据工作负载或类型(如生产环境和T&D(测试与开发)环境)计划为 SQL 资源提供者创建多个组。以下是一些示例:
-
基于业务单元或部门的分类
-
根据关键性进行分类,这与织物的性能和可用性能力直接相关
-
为 T&D 应用程序或任何其他独立的专用数据库需求创建单独的组
-
为不同版本或功能的可用性创建单独的组,例如 DR、备份等
-
为不同的地理位置或数据中心创建单独的组
虽然大多数前述示例适用于服务提供商,但服务提供商可以选择根据以下内容创建组:
-
为租户创建独立和共享的数据库服务组
-
为提供高可用性的独立和集群服务器创建不同的组
-
根据性能和额外功能(如备份)将组分开
-
根据数据库大小划分;即为托管大型数据库和小型数据库创建不同的组
规划 SQL Server 的部署结构
Windows Azure Pack SQL 资源提供者支持以下 SQL 数据库服务器版本:
-
SQL Server 2014
-
SQL Server 2012 SP1
-
SQL Server 2008 R2 SP2 和 SP3
虽然几乎所有适用于 Microsoft SQL Server 部署的规划和最佳实践都适用,但可以遵循以下指南来创建 Windows Azure Pack DBaaS SQL 部署结构。请参阅 Microsoft 官方文档 msdn.microsoft.com/en-us/library/bb545450.aspx 了解更多关于 MS SQL 的信息:
-
使用 SQL 可用性技术:Windows Azure Pack SQL 资源提供者可以与以下类型的 SQL 数据库服务器一起部署。建议为 SQL Server 组使用 SQL 高可用性技术作为设计决策:
-
独立 SQL Server
-
SQL Always ON
-
-
利用 SQL 资源治理器:WAP 支持使用 SQL Server 2014 的资源治理器功能,为租户的数据库启用 QOS 控制
-
使用虚拟机来托管 SQL Server:使用虚拟机托管 SQL Server 虚拟机是个不错的主意,这样可以利用虚拟化层的高可用性和其他技术,如迁移性
-
附加要求:WAP 要求在 SQL Server 中启用 SQL 身份验证
规划 MySQL Server 的部署结构
Windows Azure Pack MySQL 资源提供者支持租户数据库的以下 MySQL Server 版本:
-
Windows 版 MySQL 5.1
-
Windows 版 MySQL 5.5
参阅 MySQL 文档 (dev.mysql.com/doc/) 了解更多关于 MySQL 数据库服务器的规划和规模化。通常,MySQL 服务器可以通过两种方式部署到 WAP DBaaS 服务:
-
使用 WEB PI 安装独立 MySQL 服务器
-
高可用的 MySQL 服务器通过 Windows 集群和 MySQL Enterprise 安装
实施 SQL DBaaS
实施 SQL Server DBaaS 服务包括以下步骤:
-
规划 SQL Server 部署结构
-
安装和配置 SQL Server 独立或 Always On 服务器
-
创建 SQL Server 组
-
将 SQL Server 添加到各个组中
-
创建计划并分配服务
本书未涵盖 SQL 独立或 Always On 的安装与配置。建议遵循 Microsoft 的标准指南和最佳实践来安装和配置 SQL 服务器。SQL 服务器安装指南可以在msdn.microsoft.com/en-us/library/bb500442.aspx找到。
创建 SQL 组
以下步骤概述了创建 SQL 组的过程:
-
使用管理员身份登录到 Windows Azure Pack 管理门户。
-
浏览sql 服务器工作区。
-
点击创建 SQL 服务器组。
![创建 SQL 组]()
-
提供组 名称,选择类型为独立服务器或高可用性(启用 Always On),并选中复选框以启用 SQL 资源治理(将在后续章节讨论)。
![创建 SQL 组]()
-
新创建的组将现在列在sql 服务器工作区的组选项卡下。
![创建 SQL 组]()
将 SQL 服务器添加到组
以下步骤概述了将 SQL 服务器添加到组的过程:
-
使用管理员身份登录到 Windows Azure Pack 管理门户
-
浏览sql 服务器工作区。
![将 SQL 服务器添加到组]()
-
点击添加新 SQL 服务器选项。
-
输入服务器名称和凭证(SQL 身份验证及数据库托管容量的总数据库大小)。
![将 SQL 服务器添加到组]()
-
新添加的 SQL 服务器现在将在服务器选项卡中显示。
![将 SQL 服务器添加到组]()
实施 MySQL 资源提供程序架构
MySQL 数据库引擎对于 Windows Azure Pack 可以通过两种方式安装:
-
使用传统的 MySQL 机制
-
使用 Microsoft Web Platform 安装程序
Microsoft Web Platform 安装程序在社区版中包含了 MySQL 5.1 和 5.5 版本。它以独立模式安装。安装后,必须手动启用 MySQL 服务器的远程访问,以允许 WAP 通信。
查阅 MySQL 文档以了解有关生产环境 MySQL 部署的更多信息。MySQL 文档可以在dev.mysql.com/doc/找到。
安装和配置 MySQL 服务器
以下步骤概述了使用 Microsoft Web Platform Installer 安装 MySQL 的过程:
-
使用管理员凭证登录到指定托管 MySQL 服务器数据库的服务器。
-
下载并安装 Microsoft Web Platform Installer。
-
搜索 MySQL 5.5。
![安装和配置 MySQL 服务器]()
-
选择MySQL Windows 5.5并点击添加。
-
点击安装以继续操作。
-
输入 MySQL 数据库的 root 密码。这将在安装后与 MySQL 服务器通信时使用。
![安装和配置 MySQL 服务器]()
-
接受协议并继续操作。
-
现在,将开始下载和安装过程。
-
安装成功后退出向导。
![安装和配置 MySQL 服务器]()
-
从 开始 菜单启动 MySQL 命令行客户端。
-
输入在安装过程中配置的 root 用户的密码。
-
通过在 MySQL 服务器的实用工具命令行上执行以下命令来启用远程访问,该命令行是通过 WEB PI 安装在 MySQL 服务器上的:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION -
现在,这个 MySQL 服务器已准备好与 Windows Azure Pack 集成。
创建 MySQL 组
为 MySQL 服务器创建 Windows Azure Pack 组非常简单,类似于 SQL 服务器组。以下步骤概述了创建 MySQL 服务器的要求:
-
登录到 Windows Azure Pack 管理门户以进行管理员操作。
-
浏览 MYSQL 服务器 工作区。
![创建 MySQL 组]()
-
点击 创建组。
![创建 MySQL 组]()
-
新创建的组现在将在 MySQL 组下显示。
![创建 MySQL 组]()
将 MySQL 服务器添加到组
以下步骤概述了在 Windows Azure Pack MySQL 服务器组中添加 MySQL 服务器的要求:
-
登录到 Windows Azure Pack 管理门户并浏览 mysql 服务器 工作区。
![将 MySQL 服务器添加到组]()
-
点击 添加新 MySQL 服务器。
![将 MySQL 服务器添加到组]()
-
完成后,MySQL 服务器将列在 mysql 服务器 工作区的 服务器 标签下。
SQL 和 MySQL DBaaS 管理操作 – 服务提供商
Windows Azure Pack 为管理员提供了一个自助服务门户,用于执行常规 DBaaS 管理服务操作。可以通过 WAP 门户为 SQL 和 MySQL 资源提供商的组和服务器执行以下操作:
-
组管理操作如下:
-
添加组
-
删除组
-
-
可以执行以下数据库服务器管理操作:
-
查看 SQL 服务器上的 SQL 数据库的使用情况和数量。
-
列出所有已创建的数据库。
-
更改 DB 服务器组和托管容量(仅适用于 SQL 服务器,不适用于 MySQL)。
![SQL 和 MySQL DBaaS 管理操作 – 服务提供商]()
-
修复与现有数据库服务器的连接:
![SQL 和 MySQL DBaaS 管理操作 – 服务提供商]()
-
删除服务器。
-
启用 DB QoS – SQL 资源治理器
如你所学,Windows Azure Pack 的数据库即服务提供在共享模式下工作;即多个租户可以访问托管在同一服务器上的数据库。在共享的多租户云中保证服务质量是必要的。SQL 2014 企业版的 SQL 资源治理器功能使 Windows Azure Pack 能够对租户的数据库提供服务质量控制。
资源治理器避免了某个租户消耗过多或全部资源,进而影响其他租户数据库性能的情况。这确保了每个租户根据订阅获得平等的资源份额。
Windows Azure Pack 提供的 SQL 资源治理器为云服务提供商提供了灵活性,可以对以下参数设置限制:
-
CPU
-
内存
-
IOPS
以下是 SQL 资源治理器部署或 Windows Azure Pack DBaaS 服务的架构组件:
-
SQL Server 2014 企业版服务器
-
在 WAP 中创建的启用了 SQL 治理的 SQL Server 组
-
配置了带有限制和设置的资源池模板
-
与 SQL Server 和资源池模板相关联的 Windows Azure Pack 计划
-
资源治理器是 SQL Server 2014 企业版提供的一项功能;这意味着仅可以与 SQL Server 2014 企业版数据库一起使用 WAP DBaaS 服务及其 QoS 控制。
为 WAP 实现 SQL 资源治理器
以下步骤概述了使用 SQL 治理器部署 Windows Azure Pack SQL DBaaS 服务器所需的过程:
创建 SQL 组并添加 SQL Servers
要创建 SQL 组并向组中添加 SQL Server,请执行以下步骤:
-
安装并配置 SQL Server 2014 企业版服务器。
-
在 Windows Azure Pack 中创建 SQL Server 组,并勾选启用资源治理选项。
-
将 SQL Server 添加到组中。在添加 SQL Server 时,提供 CPU 核心数、已安装内存、每个卷的 IOPS 和在服务器上创建的最大资源池数量。
新创建的 SQL Server 组和 SQL Server 将在 WAP 门户中显示。
注意
每个 SQL Server 最多可以创建 18 个池。
资源模板
资源模板用于配置限制和数值,它们与计划关联。这些值也会传递到 SQL Server 用于创建和配置资源池。
以下步骤概述了创建资源模板的要求:
-
登录 WAP 管理门户并浏览mysql servers工作区。
-
选择新创建的SQL SERVER组并浏览资源模板选项卡。
-
点击新建项目工作区,选择 SQL Server 下的创建资源模板。
![资源模板]()
-
输入一个名称来标识模板。
-
输入以下限制值:
-
最小 CPU 核心数
-
最大 CPU 核心数(软限制)
-
最大 CPU 核心数(硬限制)
-
最小内存(MB)
-
最大内存(MB)
-
每个卷的最小 IOPS
-
每个卷的最大 IOPS
-
每池最大订阅数
![资源模板]()
-
-
接下来,为以下限制提供值。这些设置适用于在资源池中创建的工作负载组:
-
每个请求的最大内存(MB)
-
每个请求的最大 CPU 时间(秒)
-
每个查询的内存授予超时(秒)
-
最大并发请求数
-
最大并行度
![资源模板]()
-
-
完成向导后,资源池模板将可在mysql 服务器工作区下使用。
![资源模板]()
该资源模板现在可以与 WAP 计划关联,以便对租户分配 QoS 控制。
编写 DBaaS 计划
像所有其他 Windows Azure Pack 云服务一样,DBaaS 服务也是通过 Windows Azure Pack 计划和附加组件分配给租户的。请参阅第五章,分配云服务 – 计划、附加组件、租户帐户和订阅,了解更多关于计划和附加组件的规划信息。
为 SQL 和 MySQL DBaaS 创建计划
以下步骤概述了为 SQL 和 MySQL 数据库创建 WAP 计划的要求:
-
登录 WAP 管理门户并浏览新项目工作区。
-
选择计划开始创建计划。
-
输入计划标识的友好名称。
-
选择SQL 服务器、MySQL 服务器,或根据需要选择两者。
![为 SQL 和 MySQL DBaaS 创建计划]()
-
新创建的计划现在将以未配置状态显示在计划工作区下。
-
点击计划名称以开始配置。
![为 SQL 和 MySQL DBaaS 创建计划]()
-
点击 SQL 和 MySQL 服务器开始将组添加到计划中。输入数据库服务器信息,包括组、模板和其他设置,例如租户的版本显示名称、最大数据库数量、正常订阅中的数据库大小及附加功能。
![为 SQL 和 MySQL DBaaS 创建计划]()
对于 MySQL 服务器,提供数据库组、显示给租户的版本名称、最大数据库数量和数据库大小。租户的 MySQL 数据库不支持调整大小,因此无法修改最大附加大小选项。

- 保存更改并配置附加计划设置,例如邀请代码、广告、更改访问权限为公开等。请参阅第五章,分配云服务 – 计划、附加组件、租户帐户和订阅,了解更多关于在 WAP 计划中执行这些操作的信息。
SQL 和 MySQL DBaaS 计划的附加组件
附加组件可以创建并与 WAP DBaaS 服务的计划关联,以增加配额和服务:
-
对于 SQL 服务器,我们有以下内容:
-
允许的额外数据库数量
-
允许的额外容量(MB)
![SQL 和 MySQL DBaaS 计划的附加组件]()
-
-
对于 MySQL 服务器,我们有以下内容:
- 允许的额外数据库数量
![SQL 和 MySQL DBaaS 计划的附加组件]()
DBaaS – 租户体验
通过租户门户,租户可以在 Windows Azure Pack 网站的云端以自服务和自动化的方式提供和管理他们的数据库。在本主题中,我们将详细介绍租户在 MySQL 和 SQL 数据库提供及管理操作中的体验。
数据库提供和访问
以下步骤概述了租户为提供和访问数据库所遵循的流程:
-
登录到 Windows Azure Pack 租户门户。
-
使用配置的邀请代码订阅 DBaaS 计划。
-
SQL 和 MySQL 工作区将不会在管理门户中显示,因为它们已经按照计划配置。
![数据库提供和访问]()
-
点击 添加新数据库 来开始创建 SQL 数据库。提供数据库 名称 并选择按提供者在计划设置中配置的 版本:
![数据库提供和访问]()
-
输入数据库管理员用户名和凭据。对应的 SQL 和 MySQL 账户将会随之创建。
![数据库提供和访问]()
-
新创建的数据库现在将在数据库和 所有项 工作区中显示。
![数据库提供和访问]()
-
选择数据库并点击底部窗格中的 查看信息,以查看连接信息并将其集成到应用程序中。请注意,数据库连接客户端与托管在云中的数据库服务器之间必须有网络连接。根据架构的不同,这可以通过互联网或 VPN 来实现。
![数据库提供和访问]()
数据库管理操作 – 租户
Windows Azure Pack 提供一个自服务门户,租户可以使用该门户执行已创建数据库的基本管理操作。
以下操作可以通过 WAP 门户执行,用于 SQL 和 MySQL 数据库。SQL 和 MySQL 数据库管理操作如下:
-
查看信息:此操作查看连接信息,并包括由租户创建的管理员用户
-
删除:此操作删除一个数据库
-
更改密码:此操作更改管理员用户密码!数据库管理操作 – 租户
-
调整大小:此操作调整数据库大小(仅适用于 SQL 数据库,不适用于 MySQL)
![数据库管理操作 – 租户]()
专用 DBaaS 提供
为单个租户使用预留或专用数据库服务器(包括基础设施和软件)属于专用数据库即服务提供的范畴。
本地的 SQL 或 MySQL 资源提供商无法为单个租户预留数据库服务器。以下选项可以被组织和服务提供商用于提供专用的 DBaaS 服务:
-
VM 角色库项(IaaS 和 DBaaS)
-
专用组和计划(在大规模部署中不推荐使用)
DBaaS VM 角色库项(IaaS 和数据库软件)
提供数据库服务的 VM 角色库项目包括 IaaS 和 DBaaS 服务模型的组合。服务提供商可以有库项目,其中包括根据租户在自服务门户中提供的参数自动化操作系统和数据库服务器的部署和配置。在这种情况下,操作系统和数据库层只能由租户进行管理。
该选项中支持的数据库列表也得到了增加;也就是说,它可以支持所有可以在 Hyper-V 虚拟机上运行的数据库。
在 Web PI 上有多个库项目可用,其中包括一些 DB 服务器的项目,涵盖 SQL 和 Oracle 数据库。可以为任何其他自定义需求开发自定义库项目。请参见 第四章,构建虚拟机云和 IaaS 服务,了解更多关于 VM 角色库项目的信息。
虽然这为租户的数据库托管提供了专用服务器,但这并不是一个真正的 PaaS 提供,因为它对租户可见基础设施服务。
专用的组和计划
服务提供商还可以选择通过 SQL 和 MySQL 资源提供商提供专用数据库作为服务,而无需添加任何 IaaS 复杂性。
服务提供商可以通过创建以下内容来实现这一点:
-
每个租户的专用服务器组
-
每个租户的专用 WAP 计划和附加组件,对应他们的服务器组
虽然这看起来是一个简单直接的解决方案,但在大规模部署中选择它并不是一个好主意。这会增加云服务提供商在管理基础设施、计费和使用解决方案方面的复杂性和管理开销。
总结
在本章中,您了解了 Windows Azure Pack 的数据库即服务(DBaaS)提供。我们完成了 SQL 和 MySQL 数据库服务器的组规划、部署和基础设施管理操作。
您还了解了 SQL 资源治理器及其用例。之后,我们讨论了撰写计划和附加组件以及租户体验的 DBaaS 服务。
在下一个章节中,我们将介绍 Windows Azure Pack 的自动化和认证解决方案,即 SMA(服务管理自动化)和 ADFS(活动目录联合服务)。
第九章:自动化与认证 - 服务管理自动化和 ADFS
本章将专注于自动化基于 Windows Azure Pack 的云解决方案。你将学习 SMA(服务管理自动化)的安装与配置。同时,你还将学习如何创建、编写和管理运行书和资产。
除了自动化,你还将学习认证相关内容,包括使用 ADFS 进行管理和租户门户的认证。本章涵盖以下主题:
-
SMA - 概述和架构
-
规划 SMA 基础设施
-
安装与配置 SMA
-
处理 SMA 资产
-
处理 SMA 运行书
-
为 WAP 门户启用 ADFS 认证
SMA - 概述和架构
SMA 作为 System Center 产品系列的一部分,为 Windows Azure Pack 云添加了自动化能力。SMA 使得云服务提供商能够自动化 WAP 云中的所有资源的预配、监控和管理。
让我们举个例子。在大规模云服务提供商的场景中,租户实时大规模地创建和删除虚拟机,也就是每天有数百个操作。该云服务提供商在云中托管的虚拟机上提供了多个功能和特性,作为其增值服务,这些功能包括:
-
备份和灾难恢复
-
实时监控
-
防病毒和反恶意软件保护
-
自动时间点状态快照
租户配置的每个虚拟机都需要在各自的工具中进行配置,以启用前述功能。在租户删除每个虚拟机后,其相应的配置也需要从备份、监控等中移除。假设在云环境中,通过传统方法实现这一点,每天有数百个或更多的虚拟机配置操作。
SMA 可以大大简化并自动化这些操作。服务提供商可以创建 SMA 运行书,用于虚拟机配置的预配和删除。运行书可以与虚拟机的创建和删除操作关联,这样便会自动启动执行具有特定虚拟机参数的相应运行书。
SMA 概述
SMA 是随着 System Center 2012 R2 产品系列推出的,并且包含在 System Center Orchestrator 安装介质中。它可以作为独立产品使用,也可以与 Windows Azure Pack 一起使用。
SMA 提供了微软本地云基础设施的自动化引擎。它依赖于 Windows PowerShell 工作流,也就是说,几乎任何可以通过 Windows PowerShell 执行的任务,都可以通过 SMA 进行自动化。
PowerShell 工作流是在 Windows PowerShell 3.0 发布时引入的,包含传统的 PowerShell cmdlet 来执行任务。SMA 中的运行书使用 PowerShell 工作流进行编写,加入了 PowerShell 工作流的以下功能:
-
检查点或挂起一个运行书的工作流
-
在多个系统上并行执行 PowerShell 任务
本地的 SMA 不提供任何图形界面来创建、管理或执行运行手册。与 System Center Orchestrator 不同,所有 SMA 运行手册必须手动用 PowerShell 工作流编写。
Windows Azure Pack 管理员门户与 SMA 集成良好,提供图形界面用于调度、执行以及执行其他管理操作。
必须注意的是,SMA 功能不适用于租户创建和管理自己的运行手册。
注意
Microsoft Azure 自动化使用与 SMA 相同的架构,并为使用 Microsoft Azure 托管其 IT 资源的客户提供类似的自动化功能。
SMA 架构
与所有其他 WAP 云组件类似,SMA 分布于多个组件之间,提供灵活的架构以提高性能并消除单点故障。SMA 包括以下组件来实现其功能:
-
SMA Web 服务
-
SMA 运行手册工作者
-
数据库服务器
-
SMA PowerShell 模块(可选)
SMA Web 服务:Web 服务是所有其他管理媒介与 SMA 之间的接口。Windows Azure Pack 使用 SMA Web 服务与 SMA 通信,并执行其他 SMA 任务,例如执行运行手册或获取运行手册的状态。
它暴露了一个 REST 端点和 OData API,可以被 WAP 或任何其他自定义开发的门户用来与 SMA 集成。
它还负责授权和分发运行手册执行任务到工作者角色。
SMA 运行手册工作者:SMA 运行手册的任务由工作者服务器执行或处理。一个运行手册工作者服务器在隔离环境中执行多个运行手册,这些环境也被称为沙箱。这确保了一个运行手册执行的活动不会影响同一工作者服务器上执行的其他运行手册。
SMA 数据库:SMA 利用 Microsoft SQL Server 数据库来存储其配置和运行时数据。SMA 数据库存储了 SMA 运行手册、任务及其他与 SMA 相关的对象的配置和运行时数据。
SMA PowerShell 模块:可以用来自动化自动化;即它提供了 40 多个 PowerShell cmdlet,管理员可以使用它们来自动化执行和管理运行手册的过程。PowerShell 模块还与 SMA Web 服务交互,以执行 SMA 操作。该模块可以安装在管理员的端点上,并可作为 SMA 操作的 WAP 门户的替代方案。
下图展示了 SMA 组件在 Windows Azure Pack 中的角色和流程:

SMA 基础设施规划
SMA 基于分布式架构运行,允许操作以简便且不中断的方式进行横向扩展和收缩。在规划 SMA 部署的基础设施时,必须考虑以下几个方面:
-
可用性规划
-
性能/容量规划
可用性规划
通过添加冗余服务器,SMA 解决方案的所有组件都可以抵御单点故障。以下指南包括每个角色的可用性方面的推荐配置:
-
SMA Web 服务角色:建议部署多个 Web 服务角色(最低推荐部署两个以确保高可用性),并配置负载均衡器。任何管理端点,如 WAP 门户,都必须指向负载均衡器,以便与 SMA Web 服务进行通信。
-
SMA 工作角色:建议部署多个 SMA 工作角色(最低推荐部署两个以确保高可用性),以避免单点故障。SMA Web 服务会自动将作业任务分配到不同的工作节点,以确保负载均衡。
-
SMA 数据库:建议使用 SQL 可用性技术来保护 SMA SQL 数据库,防止任何单点故障。SMA 数据库支持在以下环境中运行:
-
独立 SQL 服务器
-
SQL 服务器集群
-
SQL Always on
-
-
SMA 服务器的虚拟机:使用虚拟机或托管 SMA 服务器可以为硬件故障提供另一层保护。
性能和容量规划
在规划 SMA 基础设施的大小时,以下因素应考虑在内:
-
运行手册的数量
-
运行手册的大小(活动、变量、连接等)
-
运行手册的平均运行时间
-
执行的远程调用
根据前述因素,无法通过直接公式来计算大小。以下指南有助于为 SMA 服务器确定大小:
-
SMA Web 服务:SMA Web 服务是无状态的;也就是说,它可以随着计算资源的增加和附加服务器的增加,轻松进行扩展和缩放,并通过负载均衡器进行配置。Web 服务负责与管理控制台(如 WAP)以及工作角色进行通信,以分配运行手册作业。除非大量用户同时启动 SMA 执行过程,否则 SMA Web 服务对资源的需求较低。启动时,建议的计算配置是两核 CPU 和 4 GB RAM(最低配置),推荐 8 GB。
-
SMA 工作节点:SMA 工作节点托管沙箱来执行非无状态的运行手册作业。每个沙箱可以处理 30 个并发作业,默认情况下,一个工作节点最多可以托管四个沙箱。这意味着每个工作节点可以处理 120 个并发作业。标准 SMA 服务器的硬件建议配置为两核 CPU 和 4 GB RAM(最低配置),但推荐 8 GB。这样的配置可以高效处理这些工作。根据使用和需求,工作角色可以进行横向扩展。
-
SMA 数据库:每个 SMA 部署只能有一个数据库;因此,建议在生产环境中使用专用实例来承载 SMA 数据库,确保它获得所需的计算资源。微软建议使用具有最低 8 GB RAM 和 8 核心计算能力的 SQL 服务器来承载 SMA 数据库。在存储方面,根据微软指南,12 个作业每分钟的数据量需要 20 GB 的磁盘空间。并且建议遵循标准的微软 SQL Server 性能和容量指南。有关 SQL Server 最佳实践,请参阅
technet.microsoft.com/en-us/sqlserver/bb671430.aspx。
安装和配置 SMA
SMA 安装程序位于 System Center Orchestrator 媒体中,遵循与其他 System Center 产品类似的安装说明。
SMA 安装前提条件
SMA 安装前提条件可以分为三类:
-
软件组件前提条件
-
AD 账户前提条件
-
SSL 证书前提条件
Windows Server 2012 R2 是 SMA 安装的最低操作系统版本。除此之外,必须在开始安装 SMA 之前安装以下软件组件,因为 SMA 安装程序不会自动安装前提组件。
安装 SMA Web 服务的软硬件前提条件如下:
-
互联网信息服务(IIS)7.5 或更高版本
-
IIS 基本身份验证
-
IIS Windows 身份验证
-
IIS URL 授权
-
ASP.NET 4.5
-
.NET Framework 3.5(用于安装程序)
-
.NET Framework 4.5
-
WCF HTTP 激活
-
SQL Server 2012 数据库连接
注意
要在 Windows Server 2012/R2 上使用服务器管理器的 添加功能 向导安装 .NET 3.5,必须在安装过程中指定备用源位置,并指向 Windows 安装介质中的 sxs 文件夹。
安装 SMA 工作者角色的软硬件前提条件——Windows PowerShell 4.0(Windows Server 2012 R2 默认包含此版本):
-
活动目录账户:建议为运行以下服务创建独立的专用账户和组。下表列出了部署 SMA 组件所需的账户:
示例账户/组名称 账户用途 备注 SMA pool SMA 应用程序池管理员组 本地管理员组成员 SMA poolsvc SMA 池 Web 服务账户 本地管理员组成员 SMA workersvc SMA 工作者服务账户 本地管理员组成员 -
SSL 证书:建议使用由内部 CA 颁发的 SSL 证书而不是自动生成的自签名证书来安装 SMA Web 服务。此证书必须被 SPF 服务器信任。
安装 SMA Web 服务、Runbook 工作者和 PowerShell 模块
为了本书中的评估目的,我们将在单台服务器上安装这三个组件。以下步骤用于安装 SMA Web 服务:
-
登录到指定安装 SMA Web 服务的服务器。
-
从 System Center Orchestrator 媒体启动
SetupOrchestrator.exe。 -
在服务管理的安装页面上,点击Web 服务。
![安装 SMA Web 服务、运行簿工作者和 PowerShell 模块]()
-
点击安装以继续。
![安装 SMA Web 服务、运行簿工作者和 PowerShell 模块]()
-
输入名称和组织名称,并提供注册密钥(如果有)。如果此时没有提供注册密钥,安装将以评估模式进行:
![安装 SMA Web 服务、运行簿工作者和 PowerShell 模块]()
-
同意条款和条件以继续。
-
安装程序将开始检查先决条件,并显示任何适用的错误或警告。如果所有先决条件都满足,则可以继续:
![安装 SMA Web 服务、运行簿工作者和 PowerShell 模块]()
-
输入数据库服务器连接信息,包括服务器名称、端口、数据库名称和凭据。可以使用 Windows 身份验证和 SQL 身份验证:
![安装 SMA Web 服务、运行簿工作者和 PowerShell 模块]()
-
指定安全组或用户及凭据以运行 Web 服务应用程序池:
![安装 SMA Web 服务、运行簿工作者和 PowerShell 模块]()
-
指定 Web 服务端口和 SSL 证书。安装程序还可以生成自签名证书用于测试环境:
![安装 SMA Web 服务、运行簿工作者和 PowerShell 模块]()
-
指定存储 Web 服务文件的位置。
-
指定CEIP(客户体验改进计划)和 Microsoft 更新的选项。
-
审查设置后,点击安装以开始安装。
-
安装成功后,点击关闭;SMA Web 服务现已安装。
安装 Web 工作器角色
安装 SMA 工作器角色所需的步骤如下:
-
登录到指定安装 SMA 工作器的服务器。
-
从 System Center Orchestrator 媒体启动
SetupOrchestrator.Exe。 -
在服务管理的安装页面上,点击运行簿工作者。
-
输入名称和组织名称,并提供注册密钥(如果有)。如果此时没有提供注册密钥,安装将以评估模式进行。
-
同意条款和条件以继续。
-
安装程序将开始检查先决条件,并显示任何适用的错误或警告。如果所有先决条件都满足,则可以继续。
-
输入数据库服务器连接信息,包括服务器名称、端口、数据库名称和凭据。可以使用 Windows 身份验证和 SQL 身份验证。
-
指定用于运行 SMA 工作服务的服务帐户:
![安装 Web 工作角色]()
-
指定存储工人文件的位置。
-
指定 CEIP 的选择。
-
审查设置并点击安装以开始安装。
-
点击关闭以完成操作。SMA 运行书工作者已安装完毕。
可以在管理端点以类似的方式安装 SMA PowerShell 模块。
安装后任务
确保完成以下任务,以便在 WAP 集成中实现有效的 SMA 部署:
-
在生产环境中,用受信任的 SSL 证书替换 SMA Web 服务的自签名证书。
-
验证SPF(服务提供商基础架构)服务器是否信任 SMA Web 服务所呈现的 SSL 证书。
将 SMA 与 Windows Azure Pack 集成
通过注册 SMA 端点,执行以下步骤以将 SMA 与 Windows Azure Pack 集成:
-
登录 WAP 管理门户以进行管理员操作。
-
浏览自动化工作区:
![将 SMA 与 Windows Azure Pack 集成]()
-
点击注册服务管理自动化端点。
-
输入 SMA 端点的详细信息和一些凭据:
![将 SMA 与 Windows Azure Pack 集成]()
-
成功注册后,SMA 端点将在 WAP 门户中可见。
-
WAP 门户下的自动化工作区现在可以用于所有与 SMA 相关的操作。仪表板页面显示云中运行书和作业的状态和统计信息。每个运行书也可以访问类似的仪表板:
![将 SMA 与 Windows Azure Pack 集成]()
处理 SMA 资产
在基于 SMA 的 WAP 自动化解决方案中的资产提供全球配置和参数,可以被运行书(runbooks)利用。例如,执行 VM 云操作的任何运行书可能需要 VMM 服务器连接信息和凭据。在拥有数百个运行书的大型环境中,可以将这些 VMM 服务器连接信息和凭据声明为资产,而不需要在每个运行书中定义,这样它们可以被所有运行书共享。
在资产中声明此类变量有助于在后续阶段平稳地处理变化。
Windows Azure Pack 自动化中的资产包括以下内容:
-
连接
-
凭据
-
变量
-
日程安排
-
模块
资产类型和功能
以下是资产类型及其功能:
-
连接:连接包含常用服务的连接详情和授权凭据,供运行书使用。例如,包括 SCVMM、Azure 或其他可用服务等服务。
-
凭据:WAP 自动化资产中的凭据可以与 SCVMM 中的“以身份运行”(Run As)帐户进行比较。凭据包含用户名和密码,供运行书使用,以访问、修改和管理跨云的资源。WAP 自动化资产可以存储两种类型的凭据:
-
Windows PowerShell 凭证
-
SSL 证书凭证
服务提供商可以根据运行书籍所需的权限和使用情况添加多个凭证。
-
-
变量:顾名思义,变量可以用来存储运行书籍使用的关键值。变量可以按以下格式定义:
-
字符串
-
整数
-
布尔值
-
日期时间
具有敏感值(如密码)的变量可以加密以保证安全性。
-
-
计划:这可以用于为任何运行书籍创建定期的执行计划;例如,可以创建一个计划,每天在特定时间启动运行书籍来收集统计数据。
-
模块:这包含 PowerShell 模块,可以被运行书籍用来执行特定的 PowerShell cmdlet。模块可以与 System Center Orchestrator 中的集成包进行比较。
模块帮助在一个中心位置管理所有 PowerShell 模块,无需在每个工作角色中进行安装。
添加和管理资产
资产标签在 WAP 管理门户的自动化工作区下提供了添加或删除资产的选项。
添加、删除和修改资产的步骤如下:
-
登录到 WAP 管理门户进行管理员操作。
-
浏览自动化工作区和资产标签。
-
默认情况下,所有标准的 PowerShell 模块都包含在 WAP 门户中。任何额外的模块都可以被导入。任何现有的模块都可以通过底部窗格中的按钮删除:
![添加和管理资产]()
-
点击添加设置以添加新资产:
![添加和管理资产]()
-
选择要添加的资产类型并继续。
-
要创建一个连接资产,请选择一个连接并提供连接详细信息,包括连接类型、名称、主机名和凭证。默认情况下,WAP 支持以下连接类型:
![添加和管理资产]()
-
在添加服务页面选择添加凭证来添加任何凭证。提供凭证类型、凭证友好名称和用户名、密码或适用的 SSL 证书:
![添加和管理资产]()
-
在添加服务页面选择添加变量来添加任何变量,提供变量类型、变量名称和值,并可选择加密:
![添加和管理资产]()
![添加和管理资产]()
-
在添加服务页面选择添加计划来添加任何计划。提供计划名称和计划值,包括类型(一次性或每日)和开始时间:
![添加和管理资产]()
-
创建的资产现在将在资产标签下可见。它们已准备好供运行书籍使用。
-
点击任何资产将显示其配置;例如,点击一个模块将显示模块信息以及 PowerShell cmdlet。它将显示以下截图:
![添加和管理资产]()
可以以类似的方式创建其他资产。
处理 SMA runbooks
SMA runbooks 由 PowerShell 工作流组成,其中包括 PowerShell cmdlet,以自动化的方式执行指定的任务。
Runbooks 可以从automation工作区 WAP 门户下的RUNBOOKS标签进行管理。服务提供商可以在任何地方编写 PowerShell 工作流和 runbook,然后将其导入到 WAP SMA 中。
automation工作区中的RUNBOOKS标签提供以下基本操作功能,供对 runbooks 执行操作:
-
启动任何 runbook 的执行
-
将 runbook 导入到 WAP(PS1 文件)
-
将任何现有的 runbook 导出为本地系统上的 PS1 文件
-
从 WAP 中删除任何现有的 runbook
请注意,编写 runbook 时没有类似 System Center Orchestrator(SCO)的 GUI(拖放项);它必须手动编写 PowerShell 工作流。
示例 runbooks
Windows Azure Pack 默认提供与 SMA 一起使用的一些示例 runbook,供参考用于编写新 runbook。
以下步骤概述了查看和管理示例 runbook 的过程:
-
登录到 WAP 管理门户(管理员)。
-
浏览automation工作区和RUNBOOKS标签。
-
示例 runbooks 将显示。点击任何示例 runbook 以查看其工作流和其他配置。
![示例 runbooks]()
-
任何 runbook 都可以通过底部面板中的按钮启动、导入、导出和删除。
创建一个 runbook
创建 runbook 所需的步骤如下:
-
登录到 WAP 管理门户(管理员)。
-
浏览automation工作区和RUNBOOKS标签。
-
点击NEW按钮,选择RUNBOOK和QUICK CREATE:
![创建 runbook]()
-
新创建的 runbook 现在将列出在RUNBOOKS标签下。
-
点击RUNBOOK NAME执行其他操作,包括编写和调度。
编写 runbook
编写 runbook 涉及为 runbook 编写 PowerShell 工作流,并在整个生命周期中管理 runbook 版本和修改。
服务提供商可以利用多种工具来编写 runbook:
-
Windows PowerShell ISE
-
Visual Studio IDE
-
Windows Azure Pack 管理门户
-
任何其他源代码控制或编程工具
在 Windows Azure Pack 管理员门户中编写 runbook 时,它可以是草稿版本或已发布版本。已发布的版本由工作服务器在启动 runbook 时执行工作负载。
以下概述了在 Windows Azure Pack 门户中编写 runbook 所需的步骤:
首先,按照前面的说明创建 runbook。
-
选择新创建的 runbook,并浏览AUTHOR工作区。
-
点击DRAFT,然后工作流编写器将可用:
![编写 runbook]()
-
请遵循标准的 Microsoft PowerShell 工作流编写指南,为运行手册编写工作流。请参阅 Microsoft 文档
azure.microsoft.com/en-in/documentation/articles/automation-powershell-workflow/了解有关编写 PowerShell 工作流的更多信息。 -
底部面板按钮可用于向运行手册中添加额外功能,如添加另一个运行手册(嵌套)或添加任何活动或资产。
![创建运行手册]()
-
点击 SAVE 将保存当前版本的草稿。发布将使此草稿可供 SMA 工作者执行。
在运行手册 PowerShell 工作流中使用资产
在全局级别声明的 SMA 资产可以通过以下语法在工作流中使用:
-
连接:以下是一个示例,展示了在资产中声明的连接如何在 PowerShell 工作流中被访问:
$SCVMMConnection = Get-AutomationConnection -Name "SCVMVMMConnection" $SCVMMServer = $SCVMMConnection.ComputerName $SCVMMUser = $SCVMMConnection.Username $SCVMMPassword = $SCVMMConnection.Password -
凭证:以下 PowerShell 示例展示了如何在 PowerShell 工作流中访问在资产中声明的凭证:
$AccessCred = Get-AutomationPSCredential -Name "SampleCred" -
变量:以下 PowerShell 示例展示了如何在 PowerShell 工作流中访问在资产中声明的变量:
$ABCVar = Get-AutomationVariable -Name "SampleVAR"
调度运行手册
调度运行手册将根据配置的日期、时间和频率值自动启动运行手册的执行。可以将配置在资产中的调度附加到运行手册;也可以创建自定义调度。
创建运行手册所需的步骤如下:
-
在 WAP 门户中选择要调度的运行手册,并浏览 SCHEDULE 标签页:
![调度运行手册]()
-
点击现有的调度以利用在全局资产中创建的调度。点击 ADD A NEW SCHEDULE 为该运行手册添加新的调度。
-
提供调度名称和类型(一次性/每日)以及日期和时间来配置新的调度。
-
点击 Finish 保存为运行手册配置的调度。
处理作业
每当运行手册执行启动时,都会创建一个相应的作业,并分配给工作角色进行执行。工作角色在运行时将作业存储在沙箱中。
使用 Windows Azure Pack 门户的 automation 工作区,我们可以实时查看作业的状态以及历史数据。作业也可以被停止、暂停和恢复。
以下概述了查看和处理运行手册的步骤:
-
自动化 工作区下的 RUNBOOKS 标签页显示 WAP 云中所有运行手册的状态:
![处理作业]()
-
每个运行手册页面下的 JOBS 标签页可以访问每个运行手册的作业状态。选择作业状态和时间线,根据选定的参数查看作业状态。
配置运行手册日志记录
Windows Azure Pack 为云管理员提供了多个选择,用于配置运行簿的日志级别和类型。管理员可以选择每个运行簿启用或禁用以下日志级别:
-
日志调试记录
-
日志详细记录
-
日志进度记录
以下步骤是配置运行簿日志选项所需的操作:
-
选择运行簿并浏览配置选项卡。
-
向下滚动到日志区域,并根据需求配置设置;点击保存以保存更改的配置:
![配置运行簿日志]()
将运行簿与虚拟机云操作链接
将运行簿与虚拟机云操作链接,只有在发生特定事件或操作时才执行指定的运行簿。将运行簿与操作链接有助于在对象创建后立即执行所需的操作,而不是等到下一个运行簿计划。
以下步骤是将运行簿与虚拟机云中的操作链接的要求:
-
登录到 WAP 管理员门户并浏览虚拟机云工作区。
-
选择自动化选项卡:
![将运行簿与虚拟机云操作链接]()
-
点击将操作与运行簿链接。
WAP 自动化支持以下虚拟机云对象,以在特定操作上链接运行簿:
![将运行簿与虚拟机云操作链接]()
-
选择对象、操作和运行簿进行配置:
![将运行簿与虚拟机云操作链接]()
-
点击 完成以将运行簿与选定的操作链接。
启用 ADFS 身份验证用于 WAP 门户
Windows Azure Pack 标准安装包括管理员和租户门户的身份验证站点,以利用其默认的身份验证机制。Active Directory 提供全球范围的身份验证服务。通过启用 WAP 门户使用 ADFS 进行身份验证,我们可以利用 AD 的功能和特性。
这可以让服务提供商验证租户用户身份,使用租户自己托管在本地基础设施中的 Active Directory。
ADFS 身份验证架构和概述 – 管理员和租户门户
默认情况下,Windows Azure Pack 门户配置为使用以下身份验证机制。
-
WAP 管理员门户:Windows 身份验证
-
租户的 WAP 管理门户—ASP.NET 提供者
Active Directory 联合服务(ADFS)用于简化登录并启用跨应用程序和服务的真正 SSO(单点登录)功能,无论这些应用程序和服务托管在哪里(本地/公共云)。通过在 Windows Azure Pack 中使用 ADFS 进行身份验证,云提供商可以保护和简化管理员门户的身份验证机制。对于租户门户,它有助于启用租户用户的单点登录,利用租户自己的 Active Directory 进行身份验证。以下图示解释了 Windows Azure Pack 与 ADFS 的身份验证架构:

为 Windows Azure Pack 云实施 ADFS 需要以下步骤:
-
设置 ADFS 农场(包括云提供商和租户)。
-
将租户的 ADFS 作为声明提供者添加到云提供商的 ADFS 中。
-
将云提供商的 ADFS 添加为租户的 ADFS 的信任方。
-
将 WAP 门户(租户/管理员)添加为云提供商的 ADFS 信任方。
-
将云提供商的 ADFS 添加为 WAP 租户门户的声明提供者。
-
测试并验证配置。
本书未涵盖设置 ADFS 农场和配置提供方与租户之间 ADFS 服务的关系。有关 ADFS 的更多信息,请参阅 Microsoft ADFS 文档:technet.microsoft.com/en-in/windowsserver/dd448613.aspx。
将 WAP 门户添加为信任方。
以下步骤是将 WAP 门户添加为云提供商的 ADFS 服务的信任方。有关 Windows Azure Pack 架构及其组件角色的更多信息,请参阅第三章,安装和配置 Windows Azure Pack:
-
登录到 ADFS 服务器,并从服务器管理器打开 ADFS 控制台。
-
点击添加信任中继方。
-
提供 WAP 服务器的联合元数据 URL,格式为
https://manage.wapcloud.com/federationmetadata/2007-06/federationmetadata.xml:![添加 WAP 门户作为信任方]()
-
指定显示名称和可选的备注。
-
根据服务提供商的决策启用或禁用多因素认证。
-
选择允许以允许所有用户访问此信任方。
-
在完成页面,选中编辑声明规则的复选框。
-
添加名为发送 LDAP 属性作为声明的规则。
-
提供声明规则名称,并选择Active Directory作为属性存储。
-
将用户主体名称 LDAP 属性映射到名为传出声明类型的 UPN。
![添加 WAP 门户作为信任方]()
-
添加另一个规则,配置相同,唯一的不同是通过映射 MapToken-Groups—由域名 LDAP 属性限定到组的传出声明类型来更改绑定。
-
添加另一个规则,使用传递或筛选传入声明规则模板。
-
提供声明规则名称,并选择传入声明类型中的UPN。
-
添加另一个规则,使用提供声明规则名称的传递或筛选传入声明模板。在传入声明类型中选择组。
-
验证已创建的规则,并继续完成配置向导。
![添加 WAP 门户作为信任方]()
执行此操作以完成 ADFS 配置以及 WAP 网站标识符:
Set-AdfsRelyingPartyTrust -TargetIdentifier'http://azureservices/TenantSite'-EnableJWT $true
要获取标识符,请运行以下 PowerShell 命令。 在 cmdlet 中提供 WAP 门户方名称:
Get-AdfsRelyingPartyTrust -Name "Party Name"
配置 WAP 网站使用 ADFS
配置 WAP 网站使用 ADFS 作为身份验证站点的步骤如下。请参阅 第三章,安装和配置 Windows Azure Pack,以了解更多关于配置 WAP 门户的内容:
-
在 Windows Azure Pack 服务器上执行以下 PowerShell 命令,以配置租户网站使用 ADFS。租户可以替换为管理员来配置管理员门户:
Set-MgmtSvcRelyingPartySettings -Target Tenant -MetadataEndpoint https://adfs.wapcloud.com/FederationMetadata/2007-06/FederationMetadata.xml -DisableCertificateValidation -ConnectionString'Server=WAPMGT-SQLDB-01.wapcloud.com;User Id=sa;Password=*******;' -
在 Windows Azure Pack 服务器上执行以下 PowerShell 命令,以配置身份提供者使用 ADFS:
Set-MgmtSvcIdentityProviderSettings -Target Membership -MetadataEndpoint https://adfs.wapcloud.com/FederationMetadata/2007-06/FederationMetadata.xml -DisableCertificateValidation -ConnectionString'Server=WAPMGT-SQLDB-01.wapcloud.com;User Id=sa;Password=*******;' -
在 Windows Azure Pack 服务器上执行以下 PowerShell 命令,将所选用户配置为 WAP 的管理员:
$adminuser = 'userap@domain.com' $dbServer = 'WAPMGT-SQLDB-01.wapcloud.com' $dbUsername = 'sa' $dbPassword = 'SQL_Password' $connectionString = [string]::Format('Server= {0} ;Initial Catalog=Microsoft.MgmtSvc.Store;User Id={1};Password={2};',$dbServer, $dbUsername, $dbPassword) Add-MgmtSvcAdminUser -Principal $adminuser -ConnectionString $connectionstring
配置成功后,可以通过打开 WAP 门户验证 ADFS 身份验证。门户将自动将身份验证重定向到 ADFS 页面。
总结
在本章结束时,我们已经完成了构建 WAP 云解决方案的基本服务。你学习了如何构建 SMA 解决方案来自动化 WAP 云资源的提供、监控和管理。你还了解了 SMA 的规划、安装和配置过程。你学习了 SMA 资产和运行手册,包括编写和管理运行手册。
我们还介绍了如何使用 ADFS 的身份验证功能,通过 Windows Azure Pack 进行管理员和租户门户的身份验证。
在下一章中,我们将通过了解合作伙伴和第三方开发的产品来扩展 WAP 功能和特性,从而深入了解 Windows Azure Pack 云的可扩展架构。
第十章:通过合作伙伴解决方案扩展 WAP 功能
在第一章中,您学习了 Windows Azure Pack 的扩展功能,这些功能为定制云服务提供了灵活性。在本章中,我们将讨论一些由微软合作伙伴和第三方供应商开发的 WAP 可用扩展。
除了合作伙伴的解决方案外,我们还将探讨 Microsoft Azure Stack —— 由微软推出的未来本地云解决方案及 Windows Azure Pack 更新。
本章将涵盖以下主题:
-
Microsoft Azure Stack
-
Windows Azure Pack 更新
-
Windows Azure Pack 合作伙伴生态系统
-
在 WAP 中提供 VMware —— vConnect by Cloud Assert
-
Konube Integrator — 与公共云连接
-
Apprenda — 企业级 PaaS 解决方案
-
BlueStripe 的 WAP 性能中心
-
Cloud Assert 的使用和计费
-
Cloud Cruiser for WAP
-
GridPro 的请求管理
-
Odin — WAP APS 包
-
Cisco ACI — 应用为中心的基础设施
-
5nine 云安全
-
WAP 团队访问控制
-
Nutanix 超融合基础设施为 WAP 云服务提供支持
-
NetApp 存储为微软云提供支持
Microsoft Azure Stack
在 2015 年 4 月的 Ignite 大会上,微软宣布将发布一款名为 Microsoft Azure Stack 的本地云平台;Azure Stack 并不是 Azure Pack 的下一个版本。它基于不同的架构,并为微软公共云的 Azure 预览门户提供一致的体验。
在 Ignite 大会上,微软云和企业部门的副总裁 Brad Anderson 说:
"你们告诉我们,希望在数据中心中拥有完整的 Azure。Azure Stack …… 实际上是我们将整个 Azure 提供给你们,以便在数据中心运行。"
除了 Azure 一致性外,Azure Stack 预计还将提供与 MS Azure 内建的混合能力,这些在 WAP 中是无法实现的。
Azure Stack 不包括 System Center 组件作为 IaaS 服务的核心强制要求。资源提供者将直接与包括 Windows 服务器和 Hyper-V 在内的结构组件进行通信。预计 Azure Stack 将提供更多类似 Azure 的服务,包括基础设施、虚拟机、存储(blob)、网络、应用程序(Azure Service Fabric)、Web 应用程序、服务总线、Azure 资源管理器等。Azure Stack 预计不会提供 Azure 所有的功能,但在与 Windows Azure Pack 比较时,列表将会非常长。
除了门户和 API,Azure Stack 可能在其架构中包含以下组件:
-
Azure 资源管理器
-
网络控制器(Windows Server 2016)
-
基于 Azure 的计算、网络和存储服务
-
基于 Windows 的计算、网络和存储结构
Azure 资源管理器是一种新的服务管理 API。它用于管理资源,如虚拟机、网络、网站等。租户可以创建资源组并添加资源以启用 RBAC (基于角色的访问控制)。与微软 Azure 公共云预览门户相比,ARM 具备 RBAC 功能。
Microsoft Azure Stack 将为管理员和租户提供一个统一的门户,并将利用以下任何身份验证服务:
-
Azure Active Directory
-
Windows Active Directory
-
Active Directory 联邦服务 (ADFS)
在编写本书时,Azure Stack 尚未提供测试版本。预计将在 2016 年微软产品波段发布时推出。
必须注意,微软 Azure Stack 并不是 WAP 的替代品,也不意味着 WAP 的终结。WAP 将继续按其更新系统获得更新,关于这一点我们将在下一节讨论;要了解有关 Azure Stack 的更多信息,请访问 www.microsoft.com/en-in/server-cloud/products/azure-in-your-datacenter/ to learn more about Azure Stack。
Windows Azure Pack 更新
自首次发布以来,微软不断改进 Windows Azure Pack 解决方案,添加新功能并解决问题。WAP 技术计划每季度更新一次,通常与主要包括 SCVMM 和 SPF 的 System Center 产品更新同步。在编写本书时,最新的可用更新是更新汇总 8。
在更新汇总 4 之后,基于客户和合作伙伴反馈和建议,新增了改进和功能。如果你想为 Windows Azure Pack 提交一个想法或建议,访问 feedback.azure.com/forums/255259-azure-pack。Windows Azure Pack 预计将在未来的更新中支持 Windows Server 和 System Center 的未来版本。
以下 KB 文章包含在 Azure Pack 更新中修复的问题和新增的增强功能:
-
WAP 更新汇总 1:
support.microsoft.com/kb/2924386 -
WAP 更新汇总 2:
support.microsoft.com/kb/2932946 -
WAP 更新汇总 3:
support.microsoft.com/kb/2965416 -
WAP 更新汇总 4:
support.microsoft.com/kb/2992027 -
WAP 更新汇总 5:
support.microsoft.com/kb/3023209 -
WAP 更新汇总 6:
support.microsoft.com/kb/3051166 -
WAP 更新汇总 7:
support.microsoft.com/kb/3069121 -
WAP 更新汇总 7.1:
support.microsoft.com/kb/3091399 -
WAP 更新汇总 8:
support.microsoft.com/en-us/kb/3096392
Windows Azure Pack 合作伙伴生态系统
WAP,凭借其自定义扩展能力,使合作伙伴和第三方供应商能够开发解决方案,为 WAP 部署增值。这些解决方案可以包括从改进现有部署到添加新特性的技术。
当前市场上有多种解决方案可用于扩展 WAP 功能;其中一些处于开发阶段。合作伙伴解决方案可分为以下几类:
-
基础设施:基础设施合作伙伴提供基础组件,如服务器、存储、网络等,用于运行 Windows Azure Pack 管理和租户的工作负载。示例包括 Nutanix 和 NetApp 为 WAP 提供的基础设施解决方案。
-
资源提供者:这些提供者将新服务添加到 WAP 云服务目录中。示例包括通过 Cloud Assert 的 vConnect 解决方案在 WAP 上提供的 VMware 虚拟机服务。
-
集成:这些解决方案与 WAP 部署集成,提供洞察信息,如性能或服务仪表板、费用分摊、请求管理等。示例包括 Cloud Cruiser 提供的计费和费用分摊解决方案。
-
画廊项目:画廊项目为租户提供了多种选择的目录;其中包括虚拟机云和网站目录。请参阅 第四章,构建虚拟机云和 IaaS 服务,以及 第七章,提供 PaaS - 网站云和服务总线,以了解更多关于画廊项目的信息。
我们将在接下来的章节中介绍一些由合作伙伴开发的解决方案。微软提供了一个开发工具包,用于开始开发 WAP 解决方案。开发工具包可以在 msdn.microsoft.com/library/dn448665.aspx 获得。
提供 VMware 与 WAP – vConnect by Cloud Assert
Windows Azure Pack 可用于通过利用 Cloud Assert 的 vConnect 在 VMware 的服务器虚拟化平台上提供虚拟机。在编写本书时,VMware 拥有服务器虚拟化市场的最高市场份额。vConnect 帮助组织和服务提供商利用其现有的 VMware 基础设施向内部用户和租户提供 IaaS 服务。
vConnect 允许租户通过 VM 模板在 VMware 上配置和运行虚拟机。配置定义在 VM 模板级别;参数由租户在自助服务门户中定义。
除了虚拟机,vConnect 还通过与 Veeam 备份解决方案的集成提供备份即服务功能。
vConnect 提供以下功能,同时通过 WAP 提供 VMware:
-
VMware vCenter 与 WAP 集成
-
为 IaaS 产品定制的 VM 模板
-
支持 VM 快照
-
使用 Veeam 进行备份
-
按需配置
-
用户配额和细粒度控制
vConnect 的架构组件包括以下内容:
-
Windows Azure Pack 配备 vConnect 管理扩展、租户扩展和 API。
-
vConnect 数据库(MS SQL)
-
托管 VMware vSphere PowerCLI 的机器
-
VMware vSphere 基础设施
-
VMware VM 模板用于 IaaS 目录
-
WAP 计划和订阅
了解更多关于 vConnect for WAP 的信息,请访问 www.cloudassert.com/Solutions/VConnect。
Konube Integrator – 连接公有云
Konube Integrator 允许 Windows Azure Pack 用户和租户通过 WAP 门户连接到他们的公有云订阅,配置和管理他们的资源。这为租户提供了混合云体验。组织和服务提供商可以利用 Konube Integrator 为最终用户提供集成且一致的体验。
Konube Integrator 支持用户在其 WAP 门户中连接到公有云订阅的以下连接:
-
Microsoft Azure
-
亚马逊云服务
-
Rackspace
Rackspace 的连接通过 OpenStack 实现,使其能够连接到基于 OpenStack 的其他云提供商。
Konube 在其官方网站上写道,Konube Integrator 为各种规模的客户提供,解决混合云和多云挑战。如果你正在与多个云提供商合作,无论是自有云还是第三方云,现在你有一个简化工作流的解决方案。通过简单的界面和一个跨所有云资源的单一视图,你可以向最终用户提供增强的业务敏捷性。
访问 www.konube.com/ 了解更多关于 Konube Integrator for Windows Azure Pack 的信息。
Apprenda – 企业级 PaaS 解决方案
Apprenda 是领先的企业级 PaaS,推动下一代软件定义企业,颠覆行业并在软件中获胜。
Apprenda 与 Windows Azure Pack 集成,为现代 .NET 和 Java 应用程序提供完整的 PaaS 功能。Apprenda 服务可以提供给租户开发者,用于创建和管理包含 WCF 和 Windows 服务的 N-Tier、云启用的 .NET 应用程序,通过 Windows Azure Pack 租户门户进行管理。
Apprenda PaaS 服务与 WAP 集成提供以下服务,为服务提供商提供能力:
-
它将集成 WAP 和 Apprenda,将你的数据中心转变为 IT 专业人士和开发者的自服务平台
-
它将在多个私有云、公有云和托管云之间推动真正的混合云场景
-
它将加速网站和自定义应用程序的开发
-
我们可以使用云启用的现有应用程序,而无需重写它们
-
它通过 WAP 提供了一个统一的管理界面,用于管理 PaaS 工作负载
-
它使治理策略得以实施,允许应用程序在内部和外部云之间安全地迁移
通过访问apprenda.com/lp/apprenda-in-windows-azure-pack/ 和 apprenda.com/blog/video-how-apprenda-works-with-windows-azure-pack/ 了解更多关于 Apprenda 为 Windows Azure Pack 提供的解决方案。
BlueStripe 为 WAP 提供的性能中心
BlueStripe 为 Windows Azure Pack 提供的性能中心使云管理员和租户可以使用 WAP 门户进行端到端的应用监控和管理。
性能中心包括以下功能:
-
实时应用性能仪表板和应用层级仪表板
-
动态应用和依赖关系图,可视化当前使用的虚拟基础设施
-
与 Windows Azure Pack 工作流的紧密集成,支持从分析到修复的无缝过渡
性能中心提供商服务提供了灵活性,可定义在 WAP 计划中为租户提供的功能级别。性能中心架构包括管理和租户门户扩展、BlueStripe 资源提供程序和 FactFinder 管理服务器。
根据订阅部署 FactFinder 管理服务器,性能中心可以利用它从公共云(如 MS Azure)、任何本地私有云或系统获取统计数据。性能中心可以由租户的应用所有者使用,以设置自定义监控和仪表板,包括响应时间等参数。在写本书时,微软已经收购了 BlueStripe。
要了解有关 BlueStripe 在 WAP 中使用的更多信息,请访问channel9.msdn.com/Series/Windows-Azure-Pack-Partner-Solutions/04。
使用情况和计费由 Cloud Assert 提供
Cloud Assert 提供了 Windows Azure Pack 的费用回收费解决方案,可用于管理租户和内部客户的使用情况和计费。
Cloud Assert 在其官方网站上为使用和计费解决方案写道:
使用和计费解决方案使 Windows Azure Pack 管理员能够为超过 100 个资源配置定价,维护多个定价配置文件,集成计费系统,并根据最终用户的实际使用情况自动生成发票。
它支持多个场景,包括以下内容:
-
计划积分: 这类似于 Azure。用户可以有一个总体积分,例如 X 金额,且可以自由使用任何资源,直至此 X 金额。超出使用量的部分将根据使用情况自动计费。
-
捆绑优惠: 这类似于流行的服务提供商优惠。用户提前购买一组资源,例如 X CPU、Y 数据库大小和 Z 网站。只有超出这些包括单元积分的使用量才会被计费。
-
纯基于使用: 计划或资源层面不会包含任何积分。所有使用量将根据计量的资源值进行计费。
若要了解 Cloud Assert 的使用和计费详情,请访问 www.cloudassert.com/Solutions/Usage。
Cloud Cruiser for WAP
Cloud Cruiser 为 Windows Azure Pack 提供财务管理解决方案,帮助服务提供商和组织管理财务事务。Cloud Cruiser 提供两种形式:
-
Cloud Cruiser Express
-
Cloud Cruiser Premium
Cloud Cruiser 在其官方网站上发布了关于各版本功能的描述。
Windows Azure Pack 的 Cloud Cruiser Express 提供以下功能:
-
直接从 WAP 门户查看您的云费用。
-
自动化您的 Windows Azure Pack 计算环境的费用分摊和云计费。
-
通过租户预算和自动警报通知,掌控您的云支出。
-
使用从 Windows Azure Pack 安装程序直接安装的简化版 Cloud Cruiser Express,10 分钟内即可启动并运行。
升级到 Windows Azure Pack 的 Cloud Cruiser Premium 提供以下功能:
-
扩展您的财务管理能力,以支持更大规模的部署,包括更多的虚拟机、数据库和网站实例。
-
支持异构计算环境,增加微软云产品或其他公共、私有或传统计算环境。
-
增加高级财务管理功能,如客户和服务分析、利润管理、需求预测等。
若要了解有关 Windows Azure Pack 的 Cloud Cruiser 的更多信息,请访问 www.cloudcruiser.com/partners/microsoft/。
由 GridPro 提供的请求管理
由 GridPro 提供的请求管理允许 Windows Azure Pack 用户提交、跟踪和更新在 Azure Pack 内的资源请求和事件。请求管理与 System Center Service Manager 集成,以提供这些功能。
GridPro 列出了使用请求管理对于组织和服务提供商的以下好处:
-
通过 Windows Azure Pack 集成,在统一门户中提供请求管理和服务管理功能。
-
它使用户和租户能够提交、跟踪和更新事件和请求。
-
它允许决策者批准请求,并允许执行者在 Windows Azure Pack 门户中完成任务。
-
它从 Service Manager 2012 服务目录中向用户和租户发布新的请求服务。
-
收集的服务使用数据可以用来实现请求的货币化。
-
使主机服务商能够提供基于 Windows Azure Pack 的更高价值服务。
-
使用数据使得基于事件和请求的计费成为可能
-
基于声明的身份验证为用户访问提供灵活性
-
它可以通过为用户提供单一视图,轻松管理资源,使他们能够根据资源类型执行预定义的操作
-
它支持 Windows Azure Pack 支持的所有 12 种语言
要了解更多关于 GridPro 的请求管理,请访问 www.gridprosoftware.com/en/products/requestmanagement。
Odin – WAP APS 包
正如 Odin 在其官方网站上所述,Windows Azure Pack APS 包提供对 Windows Azure Pack 的完整支持,使服务提供商能够根据其基础设施提供 Windows Azure 服务。此 APS 包通过自动化计费、配置和客户管理,减少了提供 Windows Azure Pack 服务的市场推出时间。
当你部署带有服务自动化的 Windows Azure Pack APS 包时,你将获得以下完整的业务能力:
-
商店集成
-
自动化订购和配置
-
客户自服务控制面板
-
计费和服务计划管理
-
资源报告与跟踪
-
完全的转售商和白标功能
-
定制工作流的能力,以最高效地推动业务流程
要了解更多关于 Odin 针对 Windows Azure Pack 的解决方案,请访问 www.odin.com/products/automation/services-and-applications/windows-azure-package/。
Cisco ACI – 应用中心基础设施
Cisco ACI 旨在根据应用程序需求和业务策略为应用程序提供数据中心网络。ACI 通过使应用中心策略能够托管应用程序基础设施(如虚拟机和网络)在网络上,从而以应用中心的方式促进这一过程。
Cisco 将其 ACI 应用策略框架与包括 Hyper、SCVMM 和 Azure Pack 在内的微软技术集成。虽然与 WAP 集成,但 ACI 为租户提供自服务体验,使他们能够根据网络需求选择策略。
ACI 通过为 Windows Azure Pack 开发 ACI 自定义资源提供程序和扩展来实现这一点。
启用此解决方案的 ACI 架构包含以下组件:
-
带有 ACI 资源提供程序和扩展的 Windows Azure Pack 解决方案(UR 5 或更高版本)
-
SCVMM 逻辑网络
-
Cisco APIC 代理程序用于 Hyper-V——安装在所有 Hyper-V 主机上
-
包含 ACI 服务的 WAP 计划和订阅
除了网络策略外,ACI 还通过 Citrix 和 NetScaler 的产品为租户提供第 4 层到第 7 层的访问能力。要学习并开始实现 Cisco ACI 与 Windows Azure Pack 的集成,请访问www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/1-x/和www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/1-x/virtualization/b_ACI_Virtualization_Guide.pdf。
5nine 云安全为 Windows Azure Pack 提供了安全即服务的功能,使服务提供商能够为客户提供安全服务。它允许租户管理防火墙配置,并保护运行 Windows 或 Linux 的虚拟机。
5nine 为 Windows Azure Pack 增加了两项主要功能,包括虚拟防火墙和IDS(入侵检测系统)。这些功能无需在虚拟机内部安装代理即可提供。无代理解决方案确保虚拟机性能不受影响。
5nine 与 Hyper-V 的虚拟交换机集成,以启用这些功能。请参考以下链接了解更多关于 5nine 云安全在 Windows Azure Pack 中的应用:
www.5nine.com/5nine-security-for-hyper-v-product.aspx#Azure
www.5nine.com/Docs/5nine_wap_extension_overview_en.pdf
www.5nine.com/Docs/5nineCloudSecurityAzurePack_Guide.pdf
WAP 的团队访问控制
由 Terawe 控制的团队访问是一个针对 Windows Azure Pack 的范围访问控制(类似于 RBAC)解决方案。团队访问控制使得管理员、团队经理和成员能够在受控且灵活的方式下使用资源,同时实现配额管理和访问控制。要了解更多关于 WAP 团队访问控制的信息,请访问www.terawe.com/tac4wapack。
Nutanix 超融合基础设施用于 WAP 云
作为超融合市场的领导者,Nutanix 已对 WAP 工作负载进行功能测试,并将其迁移至 Web Scale 虚拟计算平台。要访问在 Nutanix 平台上运行 Windows Azure Pack 云的参考架构,请访问go.nutanix.com/microsoft-private-cloud-windows-azure-pack.html。
NetApp 存储用于微软云
NetApp 存储解决方案与 Microsoft Cloud OS 集成,支持从私有云到公共云的扩展,加速基于云的数据中心基础设施、应用程序和服务的部署。要了解更多关于 NetApp 针对 Microsoft 云平台的解决方案,请访问 www.netapp.com/us/solutions/cloud/microsoft-cloud/index.aspx。
总结
在本章中,我们讨论了 Microsoft Azure Stack,这是微软下一代的本地云构建平台。你了解了 Windows Azure Pack 更新系统。
我们介绍了 Windows Azure Pack 合作伙伴生态系统,并讨论了合作伙伴开发的解决方案,这些解决方案扩展了 Windows Azure Pack 的功能。
本章标志着我们使用 Windows Azure Pack 构建云的旅程的结束。在本书中,你学习了如何规划、实施、管理和体验基于 Microsoft 技术构建的云解决方案。如果你按照书中的步骤进行实验,那么现在,你应该已经准备好提供一个企业级的云解决方案,涵盖 IaaS、PaaS 和 SaaS 服务。
学习是一个在这个变化莫测的 IT 世界中永无止境的过程。
我推荐 social.technet.microsoft.com/wiki/contents/articles/20689.the-azure-pack-wiki-wapack.aspx 来保持对 Windows Azure Pack 的最新了解。
我推荐 blogs.technet.com/b/privatecloud/ 来了解其他 Microsoft 云技术的最新动态。












































)按钮。





























































































































































































浙公网安备 33010602011771号