SharePoint 部署架构
1. 理解SharePoint Server角色
在SharePoint环境中,最终用户在SharePoint网站页面上看到的信息,实际上都是很多后台服务器在执行许多任务后汇总形成的,当用户点击页面上相关的按钮时,页面会和后台服务器进行交互,然后把服务器处理后的信息显示到页面上。
SharePoint相关的信息存储在数据库中,一般而言,SharePoint会在多个数据库文件中存储数据。
根据实际的情况,数据库服务角色、Web服务角色、Search服务等角色可能会部署到一台单独的服务器,也可能会部署到多台服务器上。在独立的服务器环境下,一般来说,性能不高;对于大中型企业来说,应该选择把各个服务角色分开部署,这样可以处理更多的并发用户操作,同时具有良好的可扩展性。
以上的服务角色是构成SharePoint服务器场的基本元素,下面我们就详细来介绍一下各个主要的服务角色的功能。注意,在每个企业或者组织中,可能会拥有多于一个的SharePoint服务器场,最佳实践建议我们,在测试环境中,至少要有一个SharePoint服务器场。
(1)理解数据库服务器角色
在SharePoint 2010中,几乎所有的SharePoint相关的内容都保存在数据库当中,包含所有的文档库内容,列表项,文档元数据和web部件等。这样可以保证SharePoint 2010产品的高可用性,同时在出现数据丢失时,可以方便的进行灾难恢复操作。
SHAREPOINT 2010在安装时,支持的数据库只有微软的SQL Server,同时还要确保至少一个数据库服务器角色加入了SharePoint服务器场,否则会安装失败。SharePoint 2010支持的SQL Server版本罗列如下:
SQL Server 2005 SP3 x64
SQL Server 2008 x64
SQL Server 2008 R2 x64
SQL Server 2008 Express x64
注意,虽然SQL Server 2008 Express x64也可以使用,但是它的数据库大小有上限限制,不能在企业实际的生产环境下使用。另外,在实际的情况下,所有的SQL Server数据库应该使用标准版或者企业版。
(2)理解Web服务器角色
在在SHAREPOINT 2010中,Web服务器角色负责处理和渲染SHAREPOINT内容,这些内容包含WEB部件,列表项、网页布局和其他要显示给用户的信息。SHAREPOINT环境中的应用程序实际上是Windows Server’s InternetInformation Services(IIS)应用程序。
SHAREPOINT Web服务角色可以运行在Windows Server 2008 x64 IIS7.0,也可以运行在Windows Server 2008 R2 x64 IIS7.0上。我们在安装SHAREPOINT 2010之前,需要安装以下的服务器角色和组件:
Application Server Role
Web Server (IIS) Role
Microsoft SQL Server 2008 Native Client
Windows Identity Foundation (KB974405)
Microsoft Sync Framework Runtime v 1.0 (x64)
Microsoft Chart Controls for Microsoft .NET Framework 3.5
Microsoft Filter Pack 2.0
Microsoft SQL Server 2008 Analysis Services ADOMD.NET
Microsoft Server Speech Platform Runtime (x64)
Microsoft Server Speech Recognition Language
所有以上的服务器角色和组件可以在联网的情况下,通过SHAREPOINT 2010安装界面中的【安装必备文件】链接自动下载并安装。注意,在SHAREPOINT环境中,通过安装多个Web服务器角色可以扩大用户并发数量,另外通过负载平衡配置也可以达到类似的目的。
(3)服务应用程序角色
对于MOSS 2007来说,SHAREPOINT 2010的一个架构改变就是添加了服务应用程序角色(Service Application Roles)。服务应用程序角色取代了MOSS 2007当中的Shared Services Providers (SSPs)。服务应用程序角色是一个独立的服务,它可以在SharePoint 2010环境中不同的Web应用程序之间共享,甚至可以在不同的服务器场之间共享。
服务应用程序是很消耗资源的,为了提高性能,有的时候这些服务应用程序分别部署到特定的服务器上。值得一提的是,这些服务应用程序在不需要的时候,在生产环境中不要开启,因为多开启一个服务应用程序,即使您不使用,它也会占用相当的服务器资源。开启所有的服务应用程序是一个不好的做法,只有在需要某项服务应用程序时,才开启它。当然,有些服务应用程序不开启,有些操作将出现错误。
(4)搜索服务应用程序角色
搜索服务应用程序角色(Search Service Application Role)可以在SharePoint 2010环境中快速检索到相关的信息。这个服务应用程序在企业的实际生产环境中是经常使用的。SharePoint 2010中的搜索服务应用程序与MOSS 2007不同,在SharePoint 2010中,很多负责搜索的角色被整成一个单独的搜索服务应用程序角色,同时SharePoint 2010支持多个冗余的索引,这样可以提高检索的速度。
需要注意的是,索引文集用于存储需要进行爬网操作的所有文档的全文副本。索引文集的大小主要取决于需要进行索引的内容大小。一般而言,索引文集的大小是需要索引内容大小的5%到30%。因此,对于索引服务器,我们应该为其索引文集分配足够的磁盘空间。
下面罗列一些需要注意的事项:
SharePoint 2010中的搜索服务对于支持的内容是安全修剪(security-trimmed)的,此处的内容不包含外部的数据源内容。通俗一点来说,就是用户只能检索到它有权限访问的内容,如果某些内容存在,但是该用户没有访问权限,那么他也是检索不到的。这个特征可以提高相关内容的安全性。
虽然SharePoint 2010中的搜索服务对于支持的内容是安全修剪的,但是访问权限只在对内容进行完全爬网时才被重新的评估。换句话说,如果一个用户在之前对某个内容具有访问权限,且对内容进行完全爬网,在后来该用户失去了访问内容的权限,如果之后没有对内容进行完全的爬网,那么该用户也可以检索到相关的内容。搜索服务对用户权限的验证信息是历史数据,不是实时数据,只有在对内容进行完全爬网时,才更新用户权限。
由于SharePoint 2010支持冗余的搜索服务和索引服务,假设搜索服务应用程序运行于多个服务器上,即使其中一台服务器出现故障,搜索功能依然可以正常使用。
(5)SharePoint管理中心服务角色
SharePoint管理中心服务角色(SharePoint Central Admin Server Role)是对SharePoint进行管理和配置的主要工具。日常很多的管理和配置任务都是通过SharePoint管理中心网站来完成的。您可以通过它新建网站集、在网站集上新建网站,在网站上新建网页等,同时您可以为不同的网站集配置其支持的服务应用程序。当然,您可以在SharePoint管理中心网站对相关内容进行编辑。
在大型企业中,该服务角色可能会安装在一个单独的服务器上,这样通过SharePoint管理中心网站进行操作时,不会影响其他服务器的性能。
2. SharePoint硬件环境
搭建SharePoint服务器平台环境,您需要了解相关软件或者服务对硬件的要求,一般而言,每个SharePoint服务角色对硬件的要求不同,但是我们必须首先知道每个SharePoint服务角色对硬件的要求,这个对后面的环节很重要。下面详细来介绍。
(1)SQL Server数据库角色服务器对硬件的要求
在SharePoint环境中的所有角色中,SQL Server数据库服务角色对硬件的要求是最高的。前面提到,SQL Server数据库存储SharePoint中几乎所有的内容信息,包含文档库、文档、列表、网站、网站集和它们的内容。从这可以看出,该角色需要消耗很大的硬件资源。下面罗列一些主要的硬件要求:
处理器:SQL Server数据库服务器在多个处理器上运行的更好。SQL Server数据库支持多线程,多处理器的服务器对于SharePoint产品来说也是很适合的。
内存:SQL Server数据库服务器对内存的要求也是比较高的。一般而言,为SQL Server分配越多的内存,它的性能也越好。通常来说,内存可以是12GB,16GB,32GB或者更多。
硬盘空间:SQL Server数据库存储SharePoint中几乎所有的内容信息,所有对硬盘的空间的要求也是比较高的。具体需要多大和SharePoint中所有的内容信息大小有关。
(2)服务应用程序角色对硬件的要求
前面提到,SharePoint 2010环境中涉及到很多的服务应用程序,对硬件的要求具体应该看要开启和运行哪些服务应用程序。一般而言,在服务应用程序中,最占用硬件资源的是搜索服务应用程序,该服务要对大量的SharePoint内容进行索引,然后把索引保存到索引文件中。通常来说,索引服务对内存的要求至少是8GB,12GB,16GB或者更多。多处理器对于服务应用程序来说也是很重要的。其他的服务应用程序对硬件的要求和搜索服务应用程序基本上差不多。
(3)Web服务器角色对硬件的要求
Web服务器角色是最通用的角色,它也是需要相当的大的内存和消耗很多的处理器资源。但相对于上面的服务角色来说,没有那么多。实际上,在服务器场中添加多个Web服务器比单纯的增加内存和处理器数量更好,这样可以更好的提高性能。在绝大多数情况下,Web服务器需要的内存在8GB到12GB之间,至少分配2个处理器。
3. SharePoint部署类型
在实际的环境下,部署SharePoint有四种部署类型:单一服务器部署;小型SharePoint服务器场部署;中型SharePoint服务器场部署;大型SharePoint服务器场部署。下面对每个部署情况进行详细的介绍。
(1)单一服务器部署
单一服务器部署是所有部署类型当中最直接也是最简单的部署类型。这种部署方式一般适合作为SharePoint 2010的开发环境,或者作为评估SharePoint 2010相关产品的评估环境。在某些情况下,小型企业也可以使用这种部署方式,但是服务器的压力比较大,也不能同时处理较多的并发用户操作。由于所有的组件和服务都安装在一个服务器上,这种部署方式的优点就是部署简单,方便管理。
本书中使用的SharePoint 2010演示环境就是采用这种部署方式。如果企业的生产环境中,不建议使用这种部署方式,它在性能方面比较的差,一般不能满足企业的实际需求。使用单一服务器部署方式,在服务器上将同时运行以下的组件和服务:
SharePoint 2010配置数据库、内容数据库和其他SharePoint 2010数据库
Web服务
SharePoint 2010所有开启的服务应用程序
SharePoint 2010管理中心应用程序
SQL Server 2008 R2安装并开启的服务(数据库服务、报表服务、分析服务和整合服务)
SharePoint 2010所有的网站集及下面的网站程序
图1 单一服务器部署
(2)小型SharePoint服务器场部署
对于一些小型企业或者组织来说,如果使用SharePoint 2010产品的员工比较多,平时在该平台上协作的次数也比较多的话,可以考虑使用小型SharePoint服务器场部署的方式。下图是该种部署方式的示例图。从图中可以看出,小型SharePoint服务器场部署方式是把数据库和其他SharePoint 2010组件和服务分开部署,这样在性能方面和单一服务器部署方式对比来讲就会得到很大的提高。这种部署可以同时处理更多的并发用户操作,同时减少操作响应时间。
小型SharePoint服务器场部署需要两台服务器,在硬件方面的成本会提高。但是这种付出是有回报的,它能获得良好的性能。
在单独安装SQL Server 2008 R2数据库的服务器上会运行以下组件:
SQL Server 2008 R2数据库服务
SQL Server 2008 R2报表服务
SQL Server 2008 R2分析服务
SQL Server 2008 R2整合服务
SharePoint 2010配置数据库、内容数据库和其他SharePoint 2010数据库
在单独安装SharePoint 2010产品的服务器上会运行以下组件:
SharePoint 2010所有开启的服务应用程序
SharePoint 2010所有的网站集及下面的网站程序
SharePoint 2010管理中心应用程序
Web服务
2小型SharePoint服务器场部署
(3)中型SharePoint服务器场部署
对于大中型企业或者组织来说,一般而言员工数量比较多,平时员工之间协作的频率也是比较高的。小型SharePoint服务器场部署对于这种情况就显得力不从心了。此时可以考虑使用中型SharePoint服务器场部署。下图共有六个服务器,但是在实际情况下,服务器的数量可以根据企业的规模和用户数量来具体确定。
与小型SharePoint服务器场部署不同的是,这种部署方式把Web服务和SharePoint 2010其他的服务应用程序分开,这样可以提高性能。两台或者更多的Web服务器可以提供负载平衡,增加可用性,如果其中某个Web服务器出现故障,其他的Web服务器可以继续提供服务。两台或者更多的数据库服务器也是同样的道理,这样可以保证高可用性和提供灾难恢复。另外,这种部署可以把用户数量方便的扩展到成千上万。
3小型SharePoint服务器场部署
(4)大型SharePoint服务器场部署
实践证明,利用服务器冗余和负载平衡技术可以提高服务性能,同时保证高可用性和提供灾难恢复。服务器冗余我们可以使用微软的集群服务技术,对于负载平衡可以使用网络负载平衡技术来实现。对于大型SharePoint服务器场部署而言,就是在中型SharePoint服务器场部署的基础上,把特定的服务安装到多个服务器上,这样就会得到提高性能的目的。在企业的生产环境中,应该根据企业的实际情况来确定应该把什么服务安装到多台服务器上,例如如果企业要对大量的文档进行索引检索,那么搜索服务就应该要安装在多台服务器上,这样可以大大提高搜索的性能,减少查询响应时间。
4大型SharePoint服务器场部署
评论