目 录

1 系统概述... 2

1.1 概述... 2

1.2 基本原理... 2

2 系统组网及资源规划... 5

2.1 组网... 5

2.2 资源规划... 5

3 新建虚拟机... 7

3.1 创建虚拟机,安装windows 2008操作系统... 7

3.2 将划分好的LUN挂载到主机上... 8

3.3 配置服务器网络... 17

3.4 将服务器加入域... 21

3.5 增加帐号和组... 22

4 添加群集服务... 23

5 添加故障转移群集服务... 29

5.1 验证配置... 29

5.2 创建群集并且加入第一个节点... 33

5.3 将第二个节点添加进入群集... 36

5.4 添加仲裁... 40

6 部署Window 2008 R2 Cluster MSDTC资源... 45

7 部署Window SQL 2008 Cluster. 51

7.1 集成SQL 2008 SP1 的操作方法... 51

7.2 安装 SQL 2008 Cluster 52

7.2.1 安装节点1. 52

7.2.2 安装节点2. 67

8 测试... 83

1 系统概述

1.1 概述

介绍双机系统为Window 2008 R2的故障转移集群配置,以及SQLserver 2008 (SP1)双机热备资源的配置。

涉及到的服务器包括2台VMware虚拟机做数据库双机,一台虚拟机做域控制器。所有虚拟机系统均为2008 R2企业版,架构均为64位。其中域控制器已经提前准备完毕,域名为VDI。

1.2 基本原理

介绍Window 2008 R2+ SQLserver 2008 (SP1)故障转移集群的基本原理。

在故障转移群集通常包含一个物理连接到群集中所有服务器的存储单元,但一次只能有一个服务器访问该存储单元中的任何给定卷。图1-1显示了一个连接到存储单元的双节点故障转移群集。

如图1-1所示,SQLserver 2008作为一个服务或应用程序存在并进行故障转移。

图1-1 故障转移群集

clip_image002

向一个群集中节点公开的存储卷或逻辑单元号(LUN)不得向其他服务器(包括另一个群集中的服务器)公开。

该案例就属于这样的双节点故障转移群集。能否进行服务的故障转移依据在于仲裁盘的配置。仲裁盘是一个单独的LUN,并且作为群集磁盘资源存在。当主节点发生故障,仲裁盘将从主机切换到备机上,之后集群中的其他服务和应用程序才能顺利切换到备机上。如果仲裁盘无法从主机切换到备机上,则无法顺利进行故障转移。2 系统组网及资源规划

2.1 组网

系统整体组网如图2-1所示。

图2-1 系统整体组网

clip_image004

2.2 资源规划

根据图2-1有以下资源规划:

l 虚拟机IP资源,如表2-1所示。

表2-1 虚拟机IP资源

DB1

DB2

Public地址

10.137.42.167

10.137.42.168

Private地址

192.168.100.243

192.168.100.244

群集管理地址

10.137.42.166

MSDTC IP

10.137.42.165

SQL Server虚拟地址

10.137.42.163

l 系统用户和组的规划,如表2-2所示。

表2-2 系统用户和组的规划

帐号

类型

说明

vdi\administrator

帐号

域管理员帐号,最高的管理权限

vdi\DBadmin

帐号

数据库管理员帐号

vdi\DBServices

帐号

数据库服务运行帐号

vdi\DBEngine

数据库引擎组

vdi\DBAgent

数据库代理组

vdi\DBAnalysis

数据库分析服务组

注:所有的用户和组均为在AD域中而不是本机,同时将Administrator DBadmin DBServices加入服务器本地管理员组中,同时Administrator DBadmin应该为域中管理员群组中。您也可以使用一个普通域帐号进行安装,不区分管理员帐号和服务运行帐号,该域帐号需要加入到域管理员群组中。

l 存储的规划。

存储分别为从华赛S3900中划分出的三个LUN,放入群集中称为群集磁盘。在Windows server 2008 R2群集中,磁盘一般挂载为3个,规划如下:

? 一个为仲裁盘盘符为F,11G。

? 一个为数据库的MSDTC服务(分布式事务协调服务)磁盘共享盘12G,磁盘盘符为H。

? 一个为数据库数据共享磁盘51G,盘符为G。实际磁盘大小可根据现场需要进行调整。

3 新建虚拟机

3.1 创建虚拟机,安装windows 2008操作系统

通过vSphere Client登录vSphere1主机,右键单击左侧目录树中的vSphere1虚拟机,选择“新建虚拟机”。详细步骤请参见VMware相关文档中创建虚拟机章节。

本案例中两台虚拟机安装完毕后,每台机器上分别有本地磁盘C盘以及一个光盘D盘。在vSphere Client中分别为sqlserver1和sqlserver2,两台虚拟机分别在不同的物理主机上。如图3-1所示。

图3-1 虚拟机安装

clip_image006

3.2 将划分好的LUN挂载到主机上

通过vSphere Client将划分好的LUN挂载到主机上,挂载需要有一个技巧。在VMware的虚拟机中虚拟磁盘如果是映射原始的LUN,则产生的.vmdk的磁盘文件实际仅仅是数据存储的映射文件。由于在故障转移群集中向一个群集中一个节点公开的存储卷或逻辑单元号(LUN)不得向其他服务器公开,所以同一个LUN不能既挂载到数据库主机,又挂载到数据库备机上。

具体操作步骤如下。

步骤 1 通过vSphere Client将三个LUN通过裸机映射的方式分别挂载到虚拟主机sqlserver1上。

1. 在vSphere Client中右键单击虚拟主机,选择“编辑设置”。

2. 在虚拟机属性界面单击“添加”。

3. 如图3-2所示,在“添加硬件”界面,选择“硬盘”,单击“下一步”。

图3-2 添加硬件

clip_image008

4. 如图3-3所示,选择“裸机映射”,单击“下一步”。

图3-3 选择设备类型

clip_image010

5. 如图3-4所示,选择需要挂载的LUN,单击“下一步”。

图3-4 选择磁盘

clip_image012

6. 在“选择数据存储”界面,选择“与虚拟机存储在同一目录中”,单击“下一步”。

7. 在“兼容模式”界面的“兼容性”区域中,选择“物理”,单击“下一步”。

8. 如图3-5所示,在“高级选项”界面的“虚拟设备节点”下拉列表框中选择“SCSI(1:0)”单击“下一步”。

clip_image014

此处增加的三个磁盘请分别选择“SCSI(1:0)”、“SCSI(1:1)”、“SCSI(1:2)”。

图3-5 选择虚拟磁盘高级属性

clip_image016

9. 单击“完成”。

10. 在vSphere Client中右键单击虚拟主机,选择“编辑设置”。

11. 如图3-6所示,配置SCSI总线共享,选择“物理”,单击“确定”。

图3-6 配置SCSI总线共享

clip_image018

创建完成后,在虚拟机后台分别产生3个“.vmdk”文件。

步骤 2 在操作系统中进行磁盘初始化,盘符按照规划分别为F、G、H。

1. 启动并登录虚拟主机。

2. 在左下角选择服务器管理器,在服务器管理器界面选择“存储 > 磁盘管理”。

3. 如图3-5所示,右键单击需要格式化的磁盘,选择“联机”。

图3-7 磁盘联机

clip_image020

4. 如图3-6所示,在右侧空白区域单击鼠标右键,选择“新建简单卷”。

图3-8 新建简单卷

clip_image022

5. 按照提示向导,创建盘符名称,完成简单卷的创建。

6. 按照上面的步骤分别完成F、G、H磁盘格式化。

步骤 3 通过vSphere Client,编辑虚拟备机的配置,添加新的硬盘。这次选择的方式是使用现有虚拟磁盘,分别选择步骤 1中在虚拟主机上已经产生的3个“.vmdk”文件,并且对应关系必须和虚拟主机上盘符一样,即他们的对应物理LUN和刚刚挂载时保持一致。

1. 在vSphere Client中右键单击虚拟备机,选择“编辑设置”。

2. 在虚拟机属性界面单击“添加”。

3. 在“添加硬件”界面,选择“硬盘”,单击“下一步”。

4. 如图3-8所示,选择“使用现有虚拟磁盘”,单击“下一步”。

图3-9 使用现有虚拟磁盘

clip_image024

5. 如图3-9所示,单击“浏览”,选择虚拟主机添加硬盘时产生的.vmdk文件路径,单击“下一步”。

图3-10 选择已有的.vmdk存储路径

clip_image026

6. 在“高级选项”界面单击“下一步”。

7. 单击“完成”。配置完3个硬盘后,如图3-10所示,可以在虚拟机属性中查看各个硬盘的属性。

图3-11 虚拟备机配置

clip_image028

步骤 4 启动虚拟备机。

如图3-11所示,磁盘管理中显示3个盘符保持脱机状态。

图3-12 脱机状态

clip_image030

clip_image031

在添加故障转移集群前,无法让两台机器同时开启。

----结束

3.3 配置服务器网络

将2台数据库机器加入到域中,注意添加域前,确保2个机器的物理网卡已经设置正确。每台服务器必须具备2个网卡。如果虚拟机中没有两个网卡则需要添加。两个网卡一个设置为域网络用于Cluster的对外网络通讯,一个设置为群集节点心跳。

在两台主机上添加虚拟网卡步骤如下。

步骤 1 登录vSphere Client。

步骤 2 右键单击虚拟主机,选择“编辑设置”。

步骤 3 在“虚拟机属性”界面,单击“添加”。

步骤 4 如图3-12所示,选择“以太网适配器”,单击“下一步”。

图3-13 添加网卡

clip_image033

步骤 5 如图3-13所示,选择物理网卡。

图3-14 选择物理网卡

clip_image035

步骤 6 单击“完成”。

----结束

设置通过vSphere Client进行操作。设置之后如下:

l 虚拟主机

? 网卡1如图3-14所示。

图3-15 主机网卡1

clip_image037

? 网卡2如图3-15所示。

图3-16 主机网卡2

clip_image039

l 虚拟备机:

? 网卡1如图3-16所示。

图3-17 备机网卡1

clip_image041

? 网卡2如图3-17所示。

图3-18 备机网卡2

clip_image043

3.4 将服务器加入域

配置好网络后需要将两台服务器加入域,如图3-18所示。

图3-19 计算机域更改

clip_image044

3.5 增加帐号和组

按照资源规划,增加帐号和组。同时将Administrator DBadmin DBServices加入两台服务器本地管理员组中,Administrator DBadmin应该为域中的管理员群组。后续的安装配置需要切换成DBadmin用户进行操作。

clip_image014[1]

此处也可以不创建这么多的帐号,统一使用安装指南中创建的“域名\install”安装用户进行安装。

4 添加群集服务

两台虚拟服务器分别切换为DBadmin用户进行后续操作。

操作步骤

步骤 1 进入服务器管理器,如图4-1所示,选择“功能 > 添加功能”。

图4-1 添加功能

clip_image046

步骤 2 如图4-2所示,选择“故障转移群集”,单击“下一步”。

图4-2 选择功能

clip_image048

步骤 3 如图4-3所示,单击“安装”。

如图4-4所示,系统显示安装进度。

图4-3 确认安装选择

clip_image050

图4-4 安装进度

clip_image052

步骤 4 如图4-5所示,系统提示安装成功,单击“关闭”。

图4-5 安装结果

clip_image054

clip_image014[2]

如果在安装过程系统提示需要安装相关的服务,则按照提示进行添加。

步骤 5 安装其他4个功能。

其他4个功能的安装请参见步骤 1~步骤 4。

----结束

操作结果

如图4-6所示,服务器上共安装5个功能。

图4-6 显示结果

clip_image056

5 添加故障转移群集服务

开始建立群集时,确保群集中只有一个节点处于开机状态,其他节点应处于关机状态,群集所需的磁盘阵列磁盘连接状态正常。所以这里需要将虚拟备机关闭。以下操作均使用VDI\dbadmin用户在主机上完成。

5.1 验证配置

步骤 1 如图5-1所示,进入故障群集管理器中,单击“验证配置”。

图5-1 配置验证

clip_image058

步骤 2 如图5-2所示,选择主机节点,单击“确定”。

图5-2 选择主机节点

clip_image060

步骤 3 如图5-3所示,选择“运行所有测试”验证项,单击“下一步”。

图5-3 正在测试选项

clip_image062

步骤 4 单击“下一步”。

步骤 5 如图5-4所示,单击“下一步”。

如图5-5所示,系统显示“正在验证”。

图5-4 确认设置

clip_image064

图5-5 正在验证

clip_image066

步骤 6 如图5-6所示,单击“完成”。

图5-6 摘要

clip_image068

5.2 创建群集并且加入第一个节点

操作步骤

步骤 1 如图5-7所示,进入故障群集管理器中,单击“创建一个群集”。

图5-7 创建集群

clip_image070

步骤 2 如图5-8所示,单击“下一步”。

图5-8 开始之前

clip_image072

步骤 3 如图5-9所示,选择主机节点,单击“确定”。

图5-9 选择主机节点

clip_image074

步骤 4 单击“添加”。

步骤 5 如图5-10所示,添加管理集群名称并设置管理集群的IP,单击“下一步”。

图5-10 管理集群

clip_image076

步骤 6 单击“确认”,进行安装。

----结束

操作结果

一个群集就成功建立,并且主节点已经成功添加到群集中。

5.3 将第二个节点添加进入群集

在完成群集的建立和第一个节点添加进群集之后,将一直处于关闭状态的第二节点开机并且将第二个节点加入群集。

步骤 1 如图5-11所示,进入故障集群管理器,单击“添加节点”。

图5-11 添加节点

clip_image078

步骤 2 如图5-12所示,单击“下一步”。

图5-12 开始之前

clip_image080

步骤 3 如图5-13所示,,选择主机节点,单击“确定”。

图5-13 选择主机节点

clip_image082

步骤 4 单击“添加”。

步骤 5 如图5-14所示,选择“是。”,单击“下一步”。

图5-14 验证警告

clip_image084

步骤 6 按照默认提示,单击“下一步”。

步骤 7 如图5-15所示,单击“完成”。

图5-15 摘要

clip_image086

----结束

5.4 添加仲裁

添加仲裁必须在群集服务的主节点上进行,即可以正常访问仲裁盘、数据盘、MSDTC服务器资源盘。

步骤 1 右键单击刚创建的群集,选择“更多操作(O)… > 配置群集仲裁设置(Q)…”。

步骤 2 如图5-16所示,进入配置群集向导页面,单击“下一步”。

图5-16 开始之前

clip_image088

步骤 3 如图5-17所示,选择“节点和磁盘多数(D)”,单击“下一步”。

图5-17 选择仲裁配置

clip_image090

步骤 4 如图5-18所示,选择F盘为磁盘见证的存储卷,单击“下一步”。

图5-18 配置存储见证

clip_image092

步骤 5 如图5-19所示,确认群集仲裁配置,单击“下一步”。

图5-19 确认仲裁配置

clip_image094

步骤 6 如图5-20所示,单击“完成”。

图5-20 摘要

clip_image096

----结束

6 部署Window 2008 R2 Cluster MSDTC资源

前提条件:

l 已经完成了windows 2008集群的安装。

l 服务器已经安装了.NET Framework 3.5 with Service Pack 1,这个一般需要在Windows server 2008 系统中进行服务的添加。

l 服务器上已经安装了Windows Installer 4.5,如果是64位的系统不需要。

l 在配置MSDTC时,不再像windows 2003一样在单个节点开启msdtc服务,而是需要安装成为windows failover clsuter的一个单独的应用服务,需要占用一个ip地址,一个逻辑硬盘。

开始配置DTC

步骤 1 如图6-1所示,进入故障转移群集管理器,选择“服务和应用程序 > 配置服务或应用程序”。

图6-1 服务和应用程序

clip_image098

步骤 2 如图6-2所示,单击“下一步”。

图6-2 开始之前

clip_image100

步骤 3 如图6-3所示,选择“分布式事务协调器”,单击“下一步”。

图6-3 选择服务或应用程序

clip_image102

步骤 4 如图6-4所示,添加MSDTC服务名称和群集资源地址,单击“下一步”。

图6-4 客户端访问点

clip_image104

步骤 5 如图6-5所示,选择H盘为MSDTC磁盘,单击“下一步”。

图6-5 选择存储

clip_image106

步骤 6 如图6-6所示,确认存储配置,单击“下一步”。

如图6-7所示,系统显示:“正在配置群集存储设备”。

图6-6 确认存储配置

clip_image108

图6-7 配置高可用性

clip_image110

步骤 7 如图6-8所示,单击“完成”。

图6-8 摘要

clip_image112

----结束

7 部署Window SQL 2008 Cluster

Windows 2008 R2 Cluster 在进行安装SQL Server 2008 Cluster,必须将SQL Server 2008集成SP1补丁,否则安装将会失败。

7.1 集成SQL 2008 SP1 补丁

集成SQLServer2008SP1-KB968369-x64-CHS.exe补丁的操作过程需要在Server 2008 操作系统内用命令行完成。下面以制作64位系统为例,x86方法相同,只是目录对应为x86。

clip_image114

安装数据库前,必须完成SQLServer2008SP1-KB968369-x64-CHS.exe的集成,使用集成了补丁包的安装包才能完成双机的安装。

操作示例

以SQLServer2008_FullSP为原始创建目录,“e:\SQLServer2008_FullSP1”为复制目录,“e:\SQLServer2008_FullSP1\PCU”为解压目录来进行集成SQL 2008 SP1的操作。

操作步骤

步骤 1 在主节点的E盘(本地磁盘)创建“SQLServer2008_FullSP1”目录。

步骤 2 复制SQL Server 2008的原始安装包到“e:\SQLServer2008_FullSP1”。

步骤 3 将SQL SP1补丁包解压缩到“e:\SQLServer2008_FullSP1\PCU”。

步骤 4 使用命令复制 Setup.exe 和 Setup.rll 提取的协调股的位置原始来源媒体位置。

Robocopy e:\ SQLServer2008_FullSP1\PCU e:\ SQLServer2008_FullSP1 setup.exe

Robocopy e:\ SQLServer2008_FullSP1\PCU e:\ SQLServer2008_FullSP1 setup.rll

步骤 5 使用命令复制所有文件而不是文件夹,除了“Microsoft.SQL.Chainer.PackageData.dll”,从“e:\SQLServer2008_FullSP1\PCU\”到“e:\SQLServer2008_FullSP1\”来更新原始档案。

Robocopy e:\ SQLServer2008_FullSP1\PCU\x64 e:\ SQLServer2008_FullSP1\x64 /XF Microsoft.SQL.Chainer.PackageData.dll

步骤 6 在“e:\ SQLServer2008_FullSP1\x64 目录下的defaultsetup.ini 文件最后一行,增加下列内容为PCUSOURCE=”.\PCU”,如下:

;SQLSERVER2008 Configuration File

[SQLSERVER2008]

PCUSOURCE=”.\PCU”

clip_image014[3]

如果在e:\ SQLServer2008_FullSP1\x64 目录下没有defaultsetup.ini文件,需新建该文件。

----结束

7.2 安装 SQL 2008 Cluster
7.2.1 安装节点1

由于SQL 2008群集的安装是每个节点分别安装,首先在主节点上执行安装。进入d:\ SQLServer2008_FullSP1双击“Setup”进行安装。

clip_image014[4]

其他节点安装时将制作好的安装文件复制到其他节点的本地硬盘即可。

操作步骤

步骤 1 如图7-1所示,单击“安装”。

图7-1 安装

clip_image116

步骤 2 如图7-2所示,单击“新的SQL Server故障转移群集安装”。

图7-2 SQL Server安装中心

clip_image118

步骤 3 如图7-3所示,选择要安装的实例功能,单击“下一步”。

图7-3 功能选择

clip_image120

步骤 4 如图7-4所示,配置实例名称和ID,单击“下一步”。

图7-4 实例配置

clip_image122

步骤 5 如图7-5所示,从下拉列表框中选择群集资源组,单击“下一步”。

图7-5 群集资源组

clip_image124

步骤 6 如图7-6所示,选择群集磁盘,单击“下一步”。

图7-6 群集磁盘选择

clip_image126

步骤 7 如图7-7所示,配置群集网络配置,单击“下一步”。

图7-7 群集网络配置

clip_image128

步骤 8 如图7-8所示,选择“使用服务SID”,单击“下一步”。

图7-8 群集安全策略

clip_image130

步骤 9 如图7-9所示,配置服务器,单击“下一步”。

图7-9 服务器配置

clip_image132

步骤 10 配置数据库引擎,

1. 如图7-10所示,设置帐户信息。

图7-10 帐户设置

clip_image134

clip_image014[5]

默认密码是Abc1234%。

2. 如图7-11所示,配置数据目录,单击“下一步”。

图7-11 数据目录

clip_image136

步骤 11 如图7-12所示,配置Analysis Services,单击“下一步”。

图7-12 Analysis Services配置

clip_image138

步骤 12 如图7-13所示,配置Reporting Services,选择“安装但不配置报表服务器”,单击“下一步”。

图7-13 Reporting Services配置

clip_image140

步骤 13 如图7-14所示,单击“下一步”。

图7-14 错误和使用情况报告

clip_image142

步骤 14 如图7-15所示,单击“下一步”。

图7-15 群集安装规则

clip_image144

步骤 15 如图7-16所示,单击“安装”。

图7-16 转杯安装

clip_image146

步骤 16 如图7-17所示,安装完成,单击“关闭”。

图7-17 完成

clip_image148

----结束

操作结果

完成主机安装。

7.2.2 安装节点2

前提条件

在另外一个节点安装SQL SERVER 2008,群集资源不切换,保留在刚才安装过数据库的节点上。

操作步骤

步骤 1 如图7-18所示,单击“向SQL Server 故障转移群集添加节点”。

如图7-19所示,系统弹出“安装程序支持规则”界面,单击“确定”。

图7-18 SQL Server安装中心

clip_image150

图7-19 安装程序支持规则

clip_image152

步骤 2 如图7-20所示,输入产品密钥,单击“下一步”。

图7-20 产品密钥

clip_image154

步骤 3 如图7-21所示,选择“我接收许可条款(A)”,单击“下一步”。

图7-21 许可条款

clip_image156

步骤 4 如图7-22所示,单击“安装”。

图7-22 安装支持程序

clip_image158

步骤 5 如图7-24所示,单击“下一步”。

图7-23 安装程序支持规则

clip_image160

步骤 6 如图7-24所示,配置SQL Server 实例名,单击“下一步”。

图7-24 群集节点配置

clip_image162

步骤 7 如图7-25所示,配置服务帐户,单击“下一步”。

图7-25 服务帐户

clip_image164

步骤 8 如图7-26所示,单击“下一步”。

图7-26 错误和使用情况报告

clip_image166

步骤 9 如图7-27所示,系统显示添加节点规则,单击“下一步”。

图7-27 添加节点规则

clip_image168

步骤 10 如图7-28所示,单击“安装”。

图7-28 准备添加节点

clip_image170

步骤 11 如图7-29所示,单击“下一步”。

图7-29 添加节点速度

clip_image172

步骤 12 如图7-30所示,单击“关闭”。

图7-30 完成

clip_image174

----结束

操作结果

如图7-31所示,安装完成后会显示此图。

图7-31 安装完成页面

clip_image176

8 测试

可以通过以下测试来验证。

在两个主备数据库同时开机的情况下,将主机关闭,在备机上观察故障注意群集管理器,相关的服务应该成功被切换到备机,所有服务的当前所有者均为备机。