【IT168 方案】Microsoft SharePoint 是一套集成的服务,提供全面的内容管理、企业搜索及其他功能,以提高业务协作。最新版本 SharePoint 2010 增加了许多新功能,其中包括借助 PowerPivot 实现的业务分析功能,使软件的功能更加丰富。
在 Microsoft 历史中,SharePoint 是发展最快的产品之一。根据最新的 IDG 调查,62% 的 CIO 认为 SharePoint 是其技术组合中至关重要的组成部分,并且 50% 以上的 CIO 指出 SharePoint 挑战,特别是与存储相关的挑战,影响着他们的业务。目前,在拥有 1,000 名用户以上的公司中,半数公司的 SharePoint 数据年增长率达到 41% 或更高*。快速的增长导致占用大量耗费资源的物理空间,并且使管理和数据保护也更加困难。
如果方法得当,虚拟化可以解决其中许多问题。在本文中,我将探讨您可以如何使用 Microsoft Hyper-V(TM) 和 NetApp 存储来虚拟化 SharePoint 环境(SharePoint 2007 或 SharePoint 2010)。虚拟化可以显著减少整体物理占用空间——节省电力、散热和物理空间成本,还能简化管理。当需要向 SharePoint 环境进行添加时,您可以迅速地向现有虚拟机添加资源或添加更多的虚拟机。在数据保护、可用性和灾难恢复方面,虚拟化为您提供了更多、更好的选择。
SharePoint 的组成部分
SharePoint 是一个多层应用程序,可使用角色单独地扩展每一层。IT 团队可以使用任意数量的物理服务器来支持这些 SharePoint 角色,这些设备的集合称为“库”。您可以选择单独运行某些 SharePoint 角色,并在同一物理服务器上合并其他角色,但是 Microsoft 非常好的实践通常会建议一台服务器上运行一个角色,并且许多 IT 部门在单独的物理服务器上运行 SharePoint 角色,以避免当这些角色需要扩展时可能出现的任何潜在性能瓶颈问题。
图 1) 三层 SharePoint 环境。
Web 层包括一个或多个无状态的 Web 服务器(称为 Web 前端服务器或 WFE)。WFE 服务器处理传入的请求并将其发送至应用程序层中正确的服务器。WFE 可以实现负载平衡,并且根据您的可扩展性要求,可以添加更多的服务器。拥有 20 台或更多服务器并非闻所未闻,在 SharePoint 环境中,这样会极大地造成物理服务器的蔓延。
应用程序层运行 SharePoint 管理 Web 站点、最终用户 Web 站点和共享服务提供商。(SharePoint Web 站点和共享服务提供商通常在单独的物理服务器上运行。)管理站点是特殊的 SharePoint 站点,允许管理员为最终用户设置和配置站点。SharePoint 2010 在应用程序层中为 PowerPivot 添加了一个额外的服务器角色。
数据库层提供应用程序层所需的所有后端数据库服务。SharePoint Server 依赖 SQL Server 数据库来存储配置、管理、站点内容和搜索数据。SharePoint 安装具有配置数据库,其中包含全局配置数据(如 Web 服务器上有关安装和服务器设置的信息)等信息。SharePoint 还在 SQL Server 数据库中保留所有站点内容,例如,在 SharePoint 文档库中管理的文档存储在数据库中,而非 Windows 文件系统。其他数据库存储 SharePoint 搜索服务(如索引)使用的信息以及对于特定的 SharePoint 安装少有的功能。通常,运行 SQL Server 的单个系统为 SharePoint 提供后端服务,但是在大型安装中,这些数据库也可以在多个物理服务器之间分布。
每个层中服务器数量的激增导致了物理环境中的蔓延问题。虚拟化并整合服务器和存储可显著减少 SharePoint 环境所需的物理服务器的数量,并简化管理的所有方面,同时还能提高服务器利用率。
通过 NetApp 和 Hyper-V 计划部署
从 Hyper-V 来说,从物理转变为虚拟最简单的方法是使用 Microsoft System Center Virtual Machine Manager 等工具用虚拟机替换每个物理服务器。应小心地安排这些事项,以使单个物理服务器出现故障时,对 SharePoint 造成的影响要尽可能得少。换句话说,尽管可以将 SharePoint 使用的所有虚拟机放在一个物理服务器上,但是不建议这样做。在可用的服务器之间分布 SharePoint 功能,以保证弹性和性能。Microsoft 在此 TechNet 文章中提供了有关在 Hyper-V 上虚拟化 SharePoint 的更多指导。NetApp 还在最近发布的非常好的实践指南中提供了有关 SharePoint 环境的详细指导。虽然此指南关注的是物理部署,但是非常好的实践也适用于虚拟环境。
从 NetApp 角度来看,有以下几个重要注意事项:
调整环境的大小
消除重复
安排数据布局
调整
当需要调整环境大小以保证容量和性能时,您显然想要避免调整得过大或过小。NetApp 使用两种方法来调整您环境的大小,第一个方法是基于用户的总数以及需要向每个用户提供的存储数量。第二个方法需要您确定所拥有的文档数量、平均大小和版本号,并估计这些值在未来几个时间点的情况。如果您可以提供当前信息并了解增长率,显而易见,此方法可提供更加准确的预测。
消除重复
在任何 SharePoint 环境中,每台服务器上安装的操作系统文件、应用程序二进制等内容都存储大量的重复。通过 NetApp 存储虚拟化 SharePoint 带来的一个少有的好处是可以消除主存储上的重复数据,从而恢复空间。使用 NetApp FlexClone,您可以通过合适的软件创建虚拟机模板,然后根据需要为该类型的每台虚拟机多次克隆相应模板。此流程极其快速并且节省空间,因为无需复制整个模板。仅各个克隆版之间的不同之处存储在磁盘上。
对于已使用标准配置方法部署的虚拟机,如果虚拟机共享同一 LUN 或卷,那么 NetApp 重复数据删除可恢复大部分重复的存储。
布局
最后考虑如何安排非常好的数据布局,保证数据保护和灾难恢复。NetApp 建议应用程序层和数据库层中的所有 SharePoint 数据都存储在与虚拟机操作系统和应用程序分开的 LUN 中。(这与最近一篇谈论通过 VMware 虚拟化 Microsoft 应用程序的 Tech OnTap 文章中描述的布局类似。)此方法允许您利用 NetApp SnapManager 工具来保护 SharePoint 数据。
对于在 Hyper-V 上运行的 SharePoint 环境,您将使用三种 SnapManager 工具:
SnapManager for Hyper-V。安装在每台 Hyper-V 服务器上。为 Hyper-V 虚拟机提供一致备份和复制。
SnapManager for Microsoft Office SharePoint Server。在 SharePoint 关联的每台虚拟机上安装代理以协调一致备份和复制。
SnapManager for SQL Server。安装在每台 SQL Server 虚拟机上,为 SQL Server 提供一致备份和复制。(SnapManager for SQL Server 受 SnapManager for SharePoint 的控制并作为解决方案的组成部分。)
SharePoint 数据保护和DR
SharePoint 在项目管理和协作中经常使用,在自动化客户服务、研究和开发以及其他部门级别的流程中也越来越受到欢迎。对 SharePoint 环境的任何中断都会导致推迟产品上市或使客户等待。根据 ESG,大约三分之一的计划 SharePoint 用户在整个组织中部署 SharePoint,这意味着——与 Exchange 相似——如果发生中断,计划每个人都会受到影响*。这些因素使 SharePoint 数据保护和灾难恢复日益重要。
在上一部分中提到的 SnapManager 工具可以为虚拟 SharePoint 环境提供备份和复制。SnapManager for Hyper-V 可保护虚拟机。SnapManager 采用 NetApp Snapshot(TM) 技术可执行常规虚拟机备份,从而将中断降到最低并实现几乎瞬时恢复。使用 SnapManager for Hyper-V 将虚拟机复制到二级站点,如果在主站点发生灾难,可快速重新启动虚拟机。
SnapManager for Microsoft Office SharePoint Server (SMMOSS) 为整个 SharePoint 环境协调备份和复制。
图 2) SnapManager for Microsoft Office SharePoint Server (SMMOSS)。
SMMOSS Manager 利用在 SharePoint 环境中安装的 Control Agent 和 Member Agent 的服务负责提供集中备份/恢复管理。它还提供集中图形用户界面 (GUI),为 SharePoint Web 应用程序启动备份和恢复任务。
SMMOSS 介质服务器生成并存储与 SharePoint Web 应用程序的备份集相关的各种信息, 其中包括备份集索引和备份集元数据。
SMMOSS Control Agent在每台 SharePoint Web 前端服务器上作为服务运行并负责查找在该 WFE 上运行的 SharePoint Web 应用程序。它还负责为 Web 应用程序在其各自的 WFE 服务器上启动备份和恢复任务。它在 Member Agent 的帮助下完成此任务。
每台 SQL Server 上的 SMMOSS Member Agent 实际上通过使用基于 SnapManager for SQL Server (SMSQL) 的命令来执行备份或恢复任务。之所以需要 SMSQL 是因为只有 SMSQL 能够备份或恢复 SQL Server 数据库。SharePoint Web 应用程序使用特殊的 SQL Server 数据库(内容数据库)来存储所有内容。
SharePoint Index Server 上的 SMMOSS Member Agent 执行 SharePoint 搜索数据库和索引文件的备份或恢复。(仅当索引文件位于 NetApp LUN 上时,才能对其进行备份。)
因为 SnapManager 备份使用的是 NetApp Snapshot 技术,所以在几秒钟内即可完成备份。这意味着可以在不中断的情况下频繁地执行备份。创建 SharePoint 备份后,可以轻松地将备份复制到二级站点。通过 SnapManager 可以轻松地制定复制计划。
将虚拟机和 SharePoint 数据都复制到二级站点,从而在面对灾难时,可提供恢复 SharePoint 环境所需的一切。(可以手动,也可以使用脚执行此流程。)
图 3) 联合的 Microsoft 和 NetApp 环境中的灾难恢复。
与物理环境中的灾难恢复相比,此方法体现了虚拟环境的显著优势:
它不需要复杂的、基于服务器的灾难恢复软件。
如果使用物理服务器,您必须提前通过基本上相同的服务器来配置 DR 环境,否则在裸机上重新构建环境会导致停机。而使用虚拟机(假设已复制虚拟机数据),在几分钟内即可在任一具有 Hyper-V 的服务器上重新启动必需的 SharePoint 虚拟机。您还可以在二级环境中提供较少的 Hyper-V 服务器,但要接受发生灾难时,SharePoint 的性能较低。(您可以根据需要添加更多的服务器并实时迁移运行中的虚拟机,以防发生更大规模的灾难。)
NetApp 解决方案可以减少整体存储要求。NetApp FlexClone 和重复数据删除技术可消除主存储环境和二级存储环境中的重复。许多站点发现,可以用节省的资金抵消二级环境的成本。
结论
虚拟化 SharePoint 环境可以省去许多相关成本。通过去除服务器、减少物理占用空间以及提高利用率,可以节省电耗、散热、物理空间及维护成本。管理也变得更加简单,新服务器的配置时间也从几天缩减到几小时,甚至几分钟。
在虚拟 SharePoint 环境中添加 NetApp 存储可大大增加这些好处。NetApp 通过其 FlexClone 和重复数据删除技术消除了虚拟环境中固有的重复,同时可提供更完善的数据保护和灾难恢复,从而更好地保护关键 SharePoint 资源。
* ESG 研究报告:“Microsoft SharePoint Adoption, Market Drivers, & IT Impact”《Microsoft SharePoint 的采用、市场驱动因素及 IT 影响》,2009 年 3 月。