Windows Server 2003 和 SQL SERVER 2008 群集配置指南_第1页
Windows Server 2003 和 SQL SERVER 2008 群集配置指南_第2页
Windows Server 2003 和 SQL SERVER 2008 群集配置指南_第3页
Windows Server 2003 和 SQL SERVER 2008 群集配置指南_第4页
Windows Server 2003 和 SQL SERVER 2008 群集配置指南_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、sql server 2008 群集配置指南(windows 2003)1. 文档目的本文档将介绍sql server 2008在windows2003上群集配置方法及注意事项。1.1. 概述microsoft sql server 2005 中的故障转移群集为整个 sql server 实例提供高可用性支持。例如,您可以将故障转移群集的一个节点上的 sql server 实例配置为在发生硬件错误、操作系统错误或计划升级时故障转移到此群集中的任何其他节点。故障转移群集是一个或多个节点(服务器)与两个或多个共享磁盘的组合,即资源组。一个资源组及其网络名称、构成群集应用程序或服务器的 intern

2、et 协议 (ip) 地址的组合称为“虚拟服务器”。sql server 虚拟服务器在网络中就像单个计算机一样,不过,它还具有一种功能,在当前节点不可用时,可以在节点之间进行故障转移。故障转移群集显示为常规应用程序或服务器,但它具有提高可用性的附加功能。服务器群集本身和群集服务器上安装的 sql server 实例都可以视为虚拟服务器。注意:sql server 2005(包括2008)只支持故障转移群集,并不支持类似oracle rac的网格计算群集。1.2. 工作原理windows操作系统和sql server的各个节点是通过心跳(heartbeat)信号检查各个节点是否可用的。在操作系统

3、级别上,群集各节点通过持续不断的通讯,检查所有节点的可用情况。当安装完sql server容灾群集后,sql server虚拟主机通过service control manager每隔5秒检查sql server服务是否正在运行,这种检查行为我们称之为looksalive,它几乎不影响操作系统的性能,但是这也是一种不彻底的检查。looksalive认为只要sql server服务状态为可运行时,检查结果即为成功,即使sql server服务可能根本无法响应请求。 由于looksalive无法彻底检查sql server服务的工作状态,每隔60秒还会进行一次isalive检查。isalive检查

4、机制是通过在sql server实例上运行select servername (t-sql语句),根据sql查询返回的结果来决定sql server服务是否能够响应请求。尽管isalive发出的查询请求可能已经被sql server服务正常响应了,但是这并不能判断所有的用户数据库是否都是可用的,其性能是否满足要求。如果isalive发出的查询无法成功,它会重试5次,然后尝试重新连接sql server实例。如果5次重试全部失败,将认为sql server服务失败了。根据sql server容灾群集中sql server的资源设置,群集将尝试重启服务或在其它节点启动sql server服务。is

5、alive检查可以容忍查询返回错误的结果,但是如果返回错误结果次数超过设定的阀值,最终还会认为数据库服务已经无法工作了。当sql server实例发生节点转移时,sql server的资源将在新的节点上启动。windows群集在新的节点上启动sql server服务,sql server服务通过内部恢复进程启动数据库。当sql server服务启动,并且master已经联机,sql server资源将被认定已经启动。接下来用户数据库将被恢复。那些在事务日志中已经完成的事务将被重用(redo阶段),没有完成的事务将被会退(undo阶段)。sql server 2005 enterprise版本的

6、用户数据库,一旦恢复了已提交事务(redo阶段),数据库就可以使用了。对于sql server 2005其它版本和早期版本只有当所有未提交事务全部被会退(undo阶段),用户数据库才能使用,这些版本的数据库恢复时间决定于有多少需要回退的未提交事务。系统参数recovery interval可以设定redo恢复的最小时间,通过对其设置可以避免长时间的redo操作进而加速恢复过程。如果想减少undo的恢复时间,需要避免使用长事务。1.3. 拓扑图下面为两节点群集拓扑图:1.4. 群集节点规格sql server 2005 standard editionsql server 2005 enterp

7、rise editionwindows server 2003 enterprise edition2*8windows server 2003 datacenter edition2*8*说明:虽然windows server 2003 enterprise 和windows server 2003 datacenter最多支持八个节点,但是sql server 2005 standard只能最多支持其中的两个。2. 配置群集2.1. 配置操作系统群集 sql server 2005群集是基于操作系统群集基础上实现的。我们必须首先配置操作系统群集。2.1.1. 安装环境介绍我们使用两台服务器

8、构建双节点群集,这也是我们项目实施中最普遍的应用场景。接下来我们介绍一下硬件及软件环境。请注意:群集节点的硬件环境可以不同(cpu型号或内存大小),但是操作系统的版本必须相同。. 硬件环境外部磁盘设备:划分成两个逻辑分区,仲裁盘qdisk(1gb)、数据存储clusterdata(100gb)。每台机器均配置两块千兆网卡:public(外部访问)和private(群集内部通讯)。说明:仲裁盘在生产环境中设置为1gb就足够了。. 软件环境操作系统为windows 2003 server enterprise x86 sp2域名解析dns(domain name sys

9、tem)所有节点已经加入相同的域中(试验环境域为 )一个域用户,其在两个节点中都有administrator权限。(试验环境中使用了域管理员administrator). node1网络设置public:ip:subnet mask:dns:说明:node1在试验环境中充当dns服务器。生产环境不应该如此配置。private:ip:subnet mask:. node2网络设置public:ip:subnet m

10、ask:dns:private:ip:subnet mask:2.1.2. 安装操作系统群集在node1上单击“群集管理器”,开始群集配置。选择“创建新群集”,然后确定。下一步选择域(),键入群集名win2003cluster。下一步机器名输入node1。下一步这一步是检测硬件环境是否符合群集要求。如果这一步出现错误提示,可以点击“查看日志”,按照提示检查网络设置和磁盘阵列连接是否正确。如果通过,可以继续下一步输入群集的ip地址,这也是操作系统虚拟服务器的ip地址。下一步输入域用户名

11、和密码,这里使用的是域管理员administrator。说明:在项目实施时一定不能用域的管理员administrator。应该要求用户网络管理员提供一个专门管理群集的新用户。这个新用户在各个群集节点中应该在本地管理员组(local administrator group)中。下一步点击“仲裁”按钮,在弹出的窗口中选择仲裁资源。我们选择磁盘q(qdisk)作为仲裁盘。下一步整合资源,创建群集。下一步单击“完成”结束操作系统群集配置。群集win2003cluster已经配置成功。但是目前只有node1,我们需要将第二个节点加入,构建出容灾群集。单击“节点”下一步输入节点2的机器名“node2”并将

12、其添加入所选计算机内,下一步下一步输入密码,下一步下一步node2上的共享磁盘qdisk和clusterdata已经被node1所独占。这个警告不用理会。下一步单击“完成”结束node2节点的添加配置。至此,操作系统容灾群集已经安装完毕。2.1.3. 配置群集网络通信右键选择群集“属性”选择“网络优先级”“private”属性。private网卡是专门用于群集节点内部通讯使用的,所以要选择“只用于内部群集通讯(专用网络)”。点击确定。说明:如果群集只有两个节点,这两个节点的private网卡可以使用直连线连接。接下来,设置网卡public的通讯方式。选择“所有通讯(公用网络)”。点击“确定”。

13、请确保private在public上面(private优先级更高)。确定完成网络设置。说明:为了避免心跳通讯成为单一故障点,我们设置网卡private专用于心跳通讯,网卡public兼用于心跳通讯。2.1.4. 测试操作系统群集点击“资源”,目前群集资源的所有者为node1,node1是当前群集的工作节点。为了测试群集的可用性,在node1上右键选择“停止群集服务”node2接管了资源,成为目前群集的工作节点。启动node1的群集服务。停止node2的群集服务。资源被再次切换到node1上。说明:建议实施人员在实施环境中通过关闭电源或拔掉网线等物理方法进一步测试群集可用性。2.sql serv

14、er 2008 群集技术2.2. 概述microsoft sql server 2008 中的故障转移群集为整个 sql server 实例提供高可用性支持。例如,您可以将故障转移群集的一个节点上的 sql server 实例配置为在发生硬件错误、操作系统错误或计划升级时故障转移到此群集中的任何其他节点。故障转移群集是一个或多个节点(服务器)与两个或多个共享磁盘的组合,即资源组。一个资源组及其网络名称、构成群集应用程序或服务器的 internet 协议 (ip) 地址的组合称为“虚拟服务器”。sql server 虚拟服务器在网络中就像单个计算机一样,不过,它还具有一种功能,在当前节点不可用时

15、,可以在节点之间进行故障转移。故障转移群集显示为常规应用程序或服务器,但它具有提高可用性的附加功能。服务器群集本身和群集服务器上安装的 sql server 实例都可以视为虚拟服务器。注意:sql server 2008只支持故障转移群集,并不支持类似oracle rac的网格计算群集。2.3. 工作原理windows操作系统和sql server的各个节点是通过心跳(heartbeat)信号检查各个节点是否可用的。在操作系统级别上,群集各节点通过持续不断的通讯,检查所有节点的可用情况。当安装完sql server容灾群集后,sql server虚拟主机通过service control ma

16、nager每隔5秒检查sql server服务是否正在运行,这种检查行为我们称之为looksalive,它几乎不影响操作系统的性能,但是这也是一种不彻底的检查。looksalive认为只要sql server服务状态为可运行时,检查结果即为成功,即使sql server服务可能根本无法响应请求。 由于looksalive无法彻底检查sql server服务的工作状态,每隔60秒还会进行一次isalive检查。isalive检查机制是通过在sql server实例上运行select servername (t-sql语句),根据sql查询返回的结果来决定sql server服务是否能够响应请求。

17、尽管isalive发出的查询请求可能已经被sql server服务正常响应了,但是这并不能判断所有的用户数据库是否都是可用的,其性能是否满足要求。如果isalive发出的查询无法成功,它会重试5次,然后尝试重新连接sql server实例。如果5次重试全部失败,将认为sql server服务失败了。根据sql server容灾群集中sql server的资源设置,群集将尝试重启服务或在其它节点启动sql server服务。isalive检查可以容忍查询返回错误的结果,但是如果返回错误结果次数超过设定的阀值,最终还会认为数据库服务已经无法工作了。当sql server实例发生节点转移时,sql

18、server的资源将在新的节点上启动。windows群集在新的节点上启动sql server服务,sql server服务通过内部恢复进程启动数据库。当sql server服务启动,并且master已经联机,sql server资源将被认定已经启动。接下来用户数据库将被恢复。那些在事务日志中已经完成的事务将被重用(redo阶段),没有完成的事务将被会退(undo阶段)。sql server 2008 enterprise版本的用户数据库,一旦恢复了已提交事务(redo阶段),数据库就可以使用了。对于sql server 2005其它版本和早期版本只有当所有未提交事务全部被会退(undo阶段),

19、用户数据库才能使用,这些版本的数据库恢复时间决定于有多少需要回退的未提交事务。系统参数recovery interval可以设定redo恢复的最小时间,通过对其设置可以避免长时间的redo操作进而加速恢复过程。如果想减少undo的恢复时间,需要避免使用长事务。2.4. 拓扑图下面为两节点群集拓扑图:2.5. 群集节点规格sql server 2005 standard editionsql server 2005 enterprise editionwindows server 2003 enterprise edition2*8windows server 2003 datacenter e

20、dition2*8*说明:虽然windows server 2003 enterprise 和windows server 2003 datacenter最多支持八个节点,但是sql server 2005 standard只能最多支持其中的两个。3. 配置群集3.1. 配置操作系统群集 sql server 2008群集是基于操作系统群集基础上实现的。我们必须首先配置操作系统群集。windows2003操作系统群集的配置方法请参考sql server 2005 群集配置指南中的3.1节配置操作系统群集。请注意:sql server 2008不支持在域控制器上安装群集,因此如果使用虚拟机做实验

21、时,请安装独立的域控。3.2. 配置sql server 2008群集操作系统群集配置完毕后,我们开始sql server 2008的群集安装。3.2.1. 配置msdtc选择新建资源“资源类型”选择“分布式事务协调器(dtc)”,下一步下一步选择仲裁盘和群集名作为其依存资源。完成。确定,完成msdtc配置。右键选择“联机”msdtc配置完毕。3.2.2. 安装.net framework 3.5运行sql server 2008安装程序时提示需要安装.net framework 3.5,直接到微软网站下载这一组件。下载地址:/downloads/

22、details.aspx?familyid=d0e5dea7-ac26-4ad7-b68c-fe5076bba986&displaylang=zh-cn下载完毕后,分别在各个群集节点上安装:比较简单,按照提示安装即可。注意:因为微软提供了非完整安装包,非完整安装包需要连接internet才能安装,我们下载的是完整安装包,因此连接internet或断开internet的提示可以不予理会。3.2.3. 安装主节点sql server 2008再次运行sql server 2008安装程序“确定”,继续“下一步”,继续“下一步”,继续完成,重新启动服务器。在节点一上运行sql server 2008

23、安装程序“新的sql server 故障转移群集安装”“确定”,下一步注意:要选择有产品密钥的,千万不要选择“enterprise evaluation”。“下一步”“我接受许可条款”“下一步”“安装”“下一步”将共享功能目录放置在本机磁盘上。“下一步”输入“sql server 网络名称”,使用默认实例名,“下一步”注意:这个“sql server 网络名称”将作为以后namepipe方式访问sql server群集使用的名称。“下一步”输入一个sql server的资源组名,这个组将会在操作系统群集中出现。“下一步”s盘是在磁盘阵列上的,sql server自动识别出来了。如果有多个磁盘阵

24、列盘,请选择sql server安装的盘符,我这里只有s盘可用。“下一步”这里需要注意下,每个群集节点是有两个网卡的,我设置了private只用于群集内部通讯,而public用于混合通讯,所以sql server安装程序认为只有public可以使用。下面是public和private在操作系统群集中的设置:我为sql server群集设置了ip地址,以后使用tcp/ip方式访问sql server时将使用这个ip地址。“下一步”请联系域管理员,在域中分别创建上面两个全局安全组,以供sql server群集使用。也可以只建立一个域组,如sqlservergroup。三类服务全部放在一个域组中。组

25、的类型见下图:“下一步”为各个服务设置帐户名。注意:出于安全角度考虑,不建议用域管理员的帐户。应该在域中建立一个独立的域用户专门用于sql server群集。其权限需要是各个节点机器本机的管理员权限。“下一步”选择混合登陆模式,否则无法使用sa登陆。而且最好将当前用户添加到sql server管理员组中,这样可以使用身份验证方式登陆sql server。可以检查下“数据目录”是否正确:filestream目前u9并没有使用,可以不设置“下一步”“下一步”“下一步”提示安装kb937444,到微软网站下载。下载网址:/kb/937444/zh

26、-cn在本文档编制期间,微软还没有提供x86简体中文的补丁。中文环境无法继续,接下来的手册只能按照英文操作系统安装过程进行讲解。正在进行的安装过程。“close”结束主节点安装。可以在群集管理器中看见sql server组了。接下来安装其它节点的sql server。3.2.4. 安装附属节点sql server 2008 切换到sql server群集的其它节点的操作系统上,运行sql server 2008安装程序。“add node to a sql server failover cluster”“ok”“next”可能这个地方会遇到如下错误:两个解决方案:1、 将安装文件拷贝到本地磁

27、盘目录,修改对应版本目录下的defaultsetup.ini的文件名。如:x86环境下,修改安装文件中x86目录下的defaultsetup.ini的文件名,只要让安装文件找不到即可,我改成:defaultsetup_.ini。在输入product key时从defaultsetup.ini中把序列号手工输入即可。2、 安装/kb/956717/#appliesto这个hotfix。.“i accept the license terms”“next”“install”“next”刚才主节点是“node4”,这里已经识别出了。“next”添

28、加上密码,“next”“next”“next”“install”完成群集其它节点的安装。装完后的服务。没有report service。我们需要额外为其它节点安装report service。“ok”“install”“next”“next”“next”选中“reporting services”,这个地方请注意:如果为了稳妥配置,建议同时选中“database engine service”,如果选中“database engine service”,将会建立一个新的数据库实例,那么在配置附属报表服务的时候,附属报表的report server数据库就应该放在这个新装的命名实例中(下面起的实例名为report)。下面的3.2.6节要做出一定的调整(数据库存放位置)。请牢记:report server是独立的组件,可以认为它们和群集无关。能够自动进行故障转移完全是因为全局群集名和各节点使用了相同的url。“next”为报表实例命名为“report”,“next”“next”输入服务用户名、密码。“next”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论