|
SQL Server高可用性部署实施 SQL server 群集
2010-09-27 11:15:23| 分类: 数据库 | 标签:无 |字号大中小 订阅
SQL Server高可用性部署实施 收藏
摘要:
本文主要阐述如何实现SQL Server双节点群集高可用性部署实施,通过微软MSCS技术使SQL Server达到企业级安全应用要求。另外 ,本文介绍SQL Server 2005中新增的镜像服务功能,相比MSCS SQL Server 群集,SQL Server数据库镜像是基于软件的高可用性解决方案。
1. 概述
本方案目标是通过微软MSCS技术使SQLServer达到企业级应用要求,内容包含双节点主动/被动模式群集和主动/主动模式群集。另外 ,本文介绍SQL Server 2005中新增的镜像服务功能,相比MSCS SQL Server 群集,SQL Server数据库镜像是基于软件的高可用性解决方案。
2. 架构设计
本实施方案使用3台服务器实现双节点主动/主动模式SQL Server 2005群集。使用的SQL Server 版本为SQL Server 2005 Enterprice Edition。
2.1.服务器信息
以下清单描述服务器的基本信息,同时包含虚拟服务器的基本设置。
计算机名称 IP 说明 备注
Contoso-DC 192.168.0.1 域控制器
Contoso-SQLND1 192.168.0.2 SQL Server群集节点1
Contoso-SQLND2 192.168.0.3 SQL Server群集节点2
SQLCluster 192.168.0.6 SQL Server群集虚拟IP Virtual
SQLCluster-DTC 192.168.0.7 SQL Server群集DTC虚拟IP Virtual
SQLCluster-SQL1 192.168.0.8 第一个SQL Server虚拟服务器 Virtual
SQLCluster-SQL2 192.168.0.9 第二个SQL Server虚拟服务器 Virtual
一些服务器未包含在以上清单表中,包括备份域控制器,MOM监控服务器等。
2.2.系统架构
整个系统架构主要分为三部分,“数据物理存储”,“数据服务”以及“域控制器”,在每个部分分别实现高可用性。
数据物理存储
在数据持久性存储方面采用区域网络存储(SAN),实现数据安全和高可用性。
数据服务
数据服务包含两台数据库服务器,通过主机总线适配器(HBA)高速访问SAN。在两台服务器上安装SQL Server 2005 Enterprice Edition,实现主动/主动模式群集。使用主动/主动模式群集虽然能够充分利用硬件资源,但是需要考虑最坏的情况,即只有一个节点可用的情况下该节点是否能承受服务负荷。
域控制器
由于整个平台实现基于域环境,因此使用两台服务器实现主域控制器和备份域控制器。
对于SQL Server 的双节点群集实现可以有两种方式,
(图1)
(图2)
对于主动/被动模式,只有一台群集虚拟服务器可以访问,在某一时间只有一台物理服务器进行工作,在该物理服务器出故障时,MSCS自动实现切换,虚拟服务器转移到另一台物理服务器。如果采用主动/主动模式对数据库服务器进行群集后会有两台虚拟数据库服务器,如果群集中的某一个节点出现故作,MSCS控制故障转移,这使另一个正常的节点需要承受两个节点的服务。
下图显示了服务器的物理架构部署,
(图3)
3. 基础环境
对于基础环境的配置,如果没有了解过群集的相关基础知识,在安装共享磁盘和配置网络的过程中可能会遇到一些问题,建议先了解一下有关方面的知识。本文的附录包含了“共享磁盘安装”的简单介绍。
3.1.基础硬件
一台域控服务器
需要符合域控制器安装条件。
二台SQL Server服务器
由于SQL Server采用主动/主动方式进行群集,除了各自的系统盘外,至少需要4个共享磁盘,一个用于群集仲裁,一个用于DTC,另外两个用于SQL Server虚拟服务器。
群集仲裁:盘符设置为“Q”,卷标设置为“Quorum”。设置容量为800MB。
DTC:盘符设置为“D”, 卷标设置为“MSDTC”。容量为600MB。
SQL Server虚拟服务器1数据盘:盘符设置为“R”,卷标设置为“SQLData1”。
SQL Server虚拟服务器2数据盘:盘符设置为“S”,卷标设置为“SQLData2”。
每台SQL Server服务器需要有两块网络适配器,一块用于数据传输,设置名称为“Public”,另一块用于群集节点间的心跳检测,设置名称为“Heartbeat”。关于心跳网络的配置可参考本文附录。
3.2.基础软件
服务器操作系统均使用Windows Server 2003 Enterprise Edition with SP2。
二台SQL Server服务器依次安装Internet信息服务6.0、分布式事务处理协调器(MSDTC)、Microsoft .NET Framework 2.0以及SQL Server2005客户端组件。
3.2.1. 分布式事务处理协调器的安装
在多计算机环境中安装和配置 SQL Server 2005 之前,必须在要安装 SQL Server 2005 的每台计算机上启用网络 DTC 访问和网络 COM+ 访问。
以下过程在 Windows Server 2003 上启用网络 DTC 访问和网络 COM+ 访问。
1. 单击“开始”,指向“控制面板”,然后单击“添加或删除程序”。
2. 单击“添加/删除 Windows 组件”。
3. 选择“应用程序服务器”,然后单击“详细信息”。
4. 选择“启用网络 DTC 访问”和“启用网络 COM+ 访问”,然后单击“确定”。
5. 单击“下一步”。
6. 单击“完成”。
7. 停止然后重新启动分布式事务处理协调器服务。
8. 停止然后重新启动 Microsoft SQL Server 和其他参与分布式事务的资源管理器服务,例如 Microsoft 消息队列。
?. 群集中的SQL Server 节点都必须应用同一远程过程调用 (RPC) 身份验证级别。当计算机运行于不同操作系统,加入工作组或者位于互不信任的各个域中时,DTC 代理不能正确验证 DTC。有关详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=54805。
?. 如果有防火墙,必须打开DTC和RPC所需的端口。有关详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=61914 。
?. 若要确保DTC设置正确,可使用以下DTC测试工具:
?. DTC Tester。可以从 http://go.microsoft.com/fwlink/?LinkId=61913 下载
?. DTC Ping。可以从 http://go.microsoft.com/fwlink/?LinkId=61915 下载。
3.2.2. Internet 信息服务 6.0安装
在下面的过程中,将安装 Internet 信息服务 6.0。
1. 单击“开始”,指向“控制面板”,然后单击“添加或删除程序”。
2. 在“添加或删除程序”对话框中,单击“添加/删除 Windows 组件”。
3. 在“Windows 组件向导”中,选择“应用程序服务器”,然后单击“详细信息”。
4. 选择“ASP.NET”和“Internet 信息服务(IIS)”,单击“确定”,然后单击“下一步”。
5. 在“完成 Windows 组件向导”页上,单击“完成”。
6. 关闭“添加或删除程序”对话框。
注意 SQL Server 2005的一些组件需要用到Internet 信息服务。
3.2.3. 安装 SQL Server 2005 客户端工具
如果在基础环境中没有安装 SQL Server20005 客户端工具。在下面的过程中,将安装 SQL Server 2005 客户端工具。
1. 将 SQL Server 2005 安装盘插入 DVD-ROM 驱动器。浏览到“Tools”文件夹,然后双击“setup.exe”。
2. 在“最终用户许可协议”页上,接受许可协议,然后单击“下一步”。
注意 如果系统中缺少某些必需组件,SQL Server 2005 组件更新程序可能会安装这些组件。
3. 在“安装必备组件”页上,单击“下一步”。
4. 在“欢迎使用 Microsoft SQL Server 安装向导”页上,单击“下一步”。
5. 在“系统配置检查”页上,确保没有错误,然后再单击“下一步”继续。
6. 在“注册信息”页上,单击“下一步”。
7. 在“功能选择”页上的“客户端组件”下,右键单击下列组件,然后为这些功能选择“将安装到本地硬盘上”。完成后,单击“下一步”。
? 连接组件
? 管理工具
? SQLXML 客户端功能
? 早期组件
8. 在“错误和使用情况报告设置”页上,保留默认设置的值,然后单击“下一步”。
9. 在“准备安装”页上,检查信息,然后单击“安装”。
10. 在“安装进度”页上,安装完成后,单击“下一步”。
11. 在“完成 Microsoft SQL Server 2005 安装”页上,单击“完成”。
注意 SQL Server 2005的安装的时候可以一起安装客户端工具。
4. 部署域控制器
这里只介绍主域控制器和DNS的配置过程。在安装 Windows Server 2003 时,请使用以下参数:
参数 值 备注
计算机名称 Contoso-DC
IP地址 192.168.0.1
子网掩码 255.255.255.0
首先DNS服务器 192.168.0.1
在安装域控制器的服务器上完成Windows系统安装后,必须使用管理员身份来进行其他操作。
4.1.升级域控制器
在下面的过程中,将把计算机升级为Contoso.com的域控制器。
1. 单击“开始”,指向“运行”,在“运行”对话框中输入“dcpromo”,然后按Enter。
2. 在“欢迎使用 Active Directory 安装向导”页上,单击“下一步”。
3. 在“操作系统兼容性”页上,单击“下一步”。
4. 在“域控制器类型”页上,选中“新域的域控制器”,然后单击“下一步”。
5. 在“创建一个新域”页上,选中“在新林中的域”,然后单击“下一步”。
6. 在“新的域名”页的“新域的 DNS 全名”中输入 Contoso.com,然后单击“下一步”。
7. 在“NetBIOS 域名”页中,将“域 NetBIOS 名”保留为 CONTOSO,然后单击“下一步”。
8. 在“数据库和日志文件文件夹”页上,单击“下一步”。
9. 在“共享的系统卷”页上,单击“下一步”。
10. 在“DNS 注册诊断”页上,选中“在这台计算机上安装并配置 DNS 服务器,并将这台 DNS 服务器设为这台计算机的首选 DNS 服务器”,然后单击“下一步”。
11. 在“权限”页上,选中“只与 Windows 2000 或 Windows Server 2003 操作系统兼容的权限”,然后单击“下一步”。
12. 在“目录服务还原模式的管理员密码”页上的“还原模式密码”中输入一个密码,确认此密码,然后单击“下一步”。
13. 在“摘要”页上,单击“下一步”。
14. 在“正在完成 Active Directory 安装向导”页上,单击“完成”,结束将计算机升级为域控制器的过程。
15. 单击“立即重新启动”,重新启动计算机。
4.2.创建群集服务帐户和域组
在下面的过程中,将为 SQL Server 群集创建群集服务帐户。
1. 单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“Active Directory 和计算机”。
2. 在“Active Directory 用户和计算机”MMC 中,展开“contoso.com”。
3. 右键单击“用户”,选择“新建”,然后选择“用户”。在“全名”字段中,键入“群集管理员”。
4. 在“用户登录名”字段中,键入 ClusterAdm,然后单击“下一步”。
5. 输入帐户密码,然后单击“下一步”。
6. 单击“完成”,创建群集服务帐户。
在下面的过程中,将创建SQL Server Cluster Administrators组,用于在后面的阶段中配置 SQL Server 2005。
1. 在 Contoso-DC 上,单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“Active Directory 用户和计算机”。
2. 展开“contoso.com”,右键单击“用户”,指向“新建”,然后单击“组”。
3. 在“组名”字段中,键入 SQL Server Cluster Administrators。在“组作用域”中选择“全局”。在“组类型”中选择“安全”。单击“确定”。
注意 在二台SQL Server服务器上添加Contoso\ClusterAdm群集服务帐户到本地管理员组。
5. SQL Server群集
在下面的过程中,将对两台SQL Server服务器实现主动/主动模式群集。
在第一台计算机上安装 Windows Server 2003 时,请使用以下参数:
参数 值 备注
计算机名称 Contoso-SQLND1
域 Contoso
IP地址
子网掩码
首选DNS服务器 192.168.0.2
255.255.255.0
192.168.0.1
心跳IP地址
子网掩码 192.168.200.1
255.255.255.252
在第二台计算机上安装 Windows Server 2003 时,请使用以下参数:
参数 值 备注
计算机名称 Contoso-SQLND2
域 Contoso
IP地址
子网掩码
首选DNS服务器 192.168.0.3
255.255.255.0
192.168.0.1
心跳IP地址
子网掩码 192.168.200.2
255.255.255.252
5.1.创建SQL Server群集
在下面的过程中,将在 Contos-SQLND1 上创建 SQL Server 群集。
1. 使用Contoso\ClusterAdm群集服务帐户登录到 Contoso-SQLND1。
2. 单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“群集管理器”。
3. 在“打开到群集的连接”对话框中,从“操作”下拉列表中选择“创建新群集”,然后单击“确定”。
4. 在“欢迎使用新建服务器群集向导”页上,单击“下一步”。
5. 在“群集名称和域”页上的“群集名称”字段中,键入 SQLCluster,然后单击“下一步”。
6. 在“选择计算机”页上,确保在“计算机名”中指定 Contoso-SQLND1,然后单击“下一步”。
7. 在“正在分析配置”页上,单击“下一步”。
8. 在“IP 地址”页上,输入 192.168.0.6,然后单击“下一步”。
9. 在“群集服务帐户”页上的“用户名”字段中,键入 ClusterAdm,键入为此服务帐户创建的密码,然后单击“下一步”。
10. 在“建议的群集配置”页上,可以单击“仲裁”为仲裁资源选择共享磁盘。这里选择盘符为“Q”卷标为“Quorum”的磁盘为仲裁资源,请单击“下一步”。
11. 在“正在创建群集”页上,单击“下一步”。
12. 在“正在完成新建服务器群集向导”页上,单击“完成”。
5.2.加入节点2到SQL Server群集
在下面的过程中,将把 Contoso-SQLND2 加入 SQL Server 群集。
1. 使用Contoso\ClusterAdm群集服务帐户登录到 Contoso-SQLND2。
2. 单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“群集管理器”。
3. 在“打开到群集的连接”对话框中,从“操作”下拉列表中选择“添加节点到群集”。在“群集或服务器名”字段中,键入 SQLCluster,然后单击“确定”。
4. 在“欢迎使用添加节点向导”页上,单击“下一步”。
5. 在“选择计算机”页上,确保在“计算机名”字段中指定Contoso-SQLND2,然后单击“添加”将 Contoso-SQLND2 添加到“所选计算机”中。单击“下一步”。
6. 在“正在分析配置”页上,单击“下一步”。
7. 在“群集服务帐户”页的“密码”字段中,键入 ClusterAdm,键入为此服务帐户创建的密码,然后单击“下一步”。
8. 在“建议的群集配置”页上,单击“下一步”。
9. 在“正在添加节点到群集”页上,单击“下一步”。
10. 在“正在完成添加节点向导”页上,单击“完成”。
5.3.配置分布式事务处理协调器群集
在下面的过程中,将把分布式事务处理协调器 (DTC) 群集到 SQL Server 群集上。
1. 使用Contoso\ClusterAdm群集服务帐户登录到 Contoso-SQLND1。
2. 单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“群集管理器”。
3. 右键单击“组”,指向“新建”,然后单击“组”。
4. 在“名称”字段中,键入“SQL DTC 组”,然后输入该组的说明。
5. 将“Contoso-SQLND1”和“Contoso-SQLND2”添加到“首选所有者”中,然后单击“完成”。
6. 右键单击“SQL DTC 组”,指向“新建”,然后单击“资源”。
7. 在“名称”字段中,键入 “SQL DTC IP”。
8. 在“资源类型”下拉列表中,选择“IP 地址”,然后单击“下一步”。
9. 在“可能的所有者”页上,单击“下一步”。
10. 在“依存关系”页上,单击“下一步”。
11. 在“TCP/IP 地址参数”页上,在“地址”字段中输入 192.168.0.7,然后在“子网掩码”字段中输入 255.255.255.0。单击“完成”,然后在“群集管理器”对话框中单击“确定”。
12. 右键单击“SQL DTC 组”,指向“新建”,然后单击“资源”。
13. 在“名称”字段中,键入“SQL DTC 网络名称”。在“资源类型”下拉列表中,选择“网络名称”,然后单击“下一步”。
14. 在“可能的所有者”页上,单击“下一步”。
15. 在“依存关系”页上,选择“SQL DTC IP”,单击“添加”,然后单击“下一步”。
16. 在“网络名称参数”页上的“名称”字段中,键入 SQLCluster-DTC,然后单击“完成”。
17. 在“群集管理器”对话框中,单击“确定”。
18. 右键单击“SQL DTC 组”,指向“新建”,然后单击“资源”。
19. 在“名称”字段中,键入“SQL DTC 磁盘”。在“资源类型”下拉列表中,选择“物理磁盘”,然后单击“下一步”。
20. 在“可能的所有者”页上,单击“下一步”。
21. 在“依存关系”页上,选择“SQL DTC IP”和“SQL DTC 网络名称”,单击“添加”,然后单击“下一步”。
22. 在“磁盘参数”页上,从“磁盘”下拉列表中选择盘符为“D”卷标为“MSDTC”的共享磁盘。然后单击“完成”。
23. 在“群集管理器”对话框中,单击“确定”。
24. 右键单击“SQL DTC 组”,指向“新建”,然后单击“资源”。
25. 在“名称”字段中,键入 SQL DTC。在“资源类型”下拉列表中,选择“分布式事务处理协调器”,然后单击“下一步”。
26. 在“可能的所有者”页上,单击“下一步”。
27. 在“依存关系”页上,选择“SQL DTC IP”、“SQL DTC 网络名称”和“SQL DTC 磁盘”,单击“添加”,然后单击“完成”。
28. 在“群集管理器”对话框中,单击“确定”。
29. 右键单击“SQL DTC 组”,然后单击“联机”。重新启动服务器。
30. 单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“组件服务”。
31. 展开“组件服务”,然后展开“计算机”。
32. 右键单击“我的电脑”,选择“属性”,然后单击“属性”。
33. 选择“MSDTC”选项卡,然后单击“安全配置”。
34. 在“安全设置”窗格中,选中以下选项:
? 网络 DTC 访问
? 允许远程客户端
? 允许远程管理
? 允许入站
? 允许出站
注意 请确保选中“要求对呼叫方进行验证”。在 Windows Server 2003 群集环境中,必须选择此事务模式。有关详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=61920 。
? 启用 XA 事务
35. 单击“确定”。
36. 在“DTC 控制台消息”对话框中,单击“是”重新启动 DTC。
37. 在“DTC 控制台消息”对话框中,单击“确定”确认 DTC 已重新启动。
38. 单击“确定”关闭“我的电脑属性”对话框。
39. 关闭“组件服务 MMC”。
注意 必须在 Contoso-SQLND2 上执行步骤 30 至 步骤 39。(在Windows 2003中群集会自动配置其它节点的DTC,因此不需要重复执行步骤30 至 步骤 39)。
注意 请重新启动这两个节点。
5.4.安装SQL Server
在下面的过程中,将把 SQL Server 2005 Enterprise Edition 安装到 SQL Server 群集上。
5.4.1. 创建SQL Server群集组1
1. 使用Contoso\ClusterAdm群集服务帐户登录到 Contoso-SQLND1。
2. 单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“群集管理器”。
3. 右键单击“组”,指向“新建”,然后单击“组”。
4. 在“名称”字段中,键入“SQL Server 组 1”,然后输入该组的说明。
5. 将“Contoso-SQLND1”和“Contoso-SQLND2”添加到“首选所有者”中,然后单击“完成”。
6. 右键单击“SQL Server 组 1”,指向“新建”,然后单击“资源”。
7. 在“名称”字段中,键入“SQL Server 磁盘”。在“资源类型”下拉列表中,选择“物理磁盘”,然后单击“下一步”。
8. 在“可能的所有者”页上,单击“下一步”。
9. 在“依存关系”页上,单击“下一步”。
10. 在“磁盘参数”页上,从“磁盘”下拉列表中选择盘符为“R”,卷标为“SQLData1”的共享磁盘,然后单击“完成”。
5.4.2. 节点1 SQL Server 安装
1. 在 Contoso-SQLND1 上,将 SQL Server 2005 安装盘插入 DVD-ROM 驱动器进行安装。
2. 在“最终用户许可协议”屏幕上,接受许可协议,然后单击“下一步”。
注意 如果系统中缺少某些必需组件,SQL Server 2005 组件更新程序可能会安装这些组件。
3. 在“安装必备组件”页上,单击“下一步”。
4. 在“欢迎使用 Microsoft SQL Server 安装向导”页上,单击“下一步”。
5. 在“系统配置检查”页上,确保没有错误,然后再单击“下一步”继续。
6. 在“注册信息”页上,单击“下一步”。
7. 在“要安装的组件”页上,选择“SQL Server Database Services”、“创建 SQL Server 故障转移群集”和“工作站组件、联机丛书和开发工具”,然后单击“下一步”。
8. 在“实例名称”页上,选择“默认实例”,然后单击“下一步”。
9. 在“虚拟服务器名称”页上的“虚拟服务器名称”字段中,键入 SQLCluster-SQL1。
10. 在“虚拟服务器配置”页上的“IP 地址”字段中,键入 192.168.0.8,单击“添加”,然后单击“下一步”。
11. 在“选择群集组”页上,选择“SQL Server 组 1”,然后单击“下一步”。
12. 在“群集节点配置”页上,确保将“Contoso-SQLND2”添加到“所选节点”,然后单击“下一步”。
13. 在“远程帐户信息”页上,键入对两个节点都有管理员权限的用户的用户名和密码,然后单击“下一步”。
14. 在“服务帐户”页上,清除“为每个服务帐户进行自定义”复选框,然后指定 SQL Server 服务的登录帐户。如果选中“使用域用户帐户”,则请输入一个本地帐户或域帐户以及密码,然后单击“下一步”,笔者使用Contoso\ClusterAdm群集服务帐户。
15. 在“群集服务的域组”页上,输入正在安装的每个群集服务的现有域组的名称。在安装 SQL Server 2005 之前,必须创建这些域组。这里使用 Contoso\SQL Server Cluster Administrators。单击“下一步”。
16. 在“身份验证模式”页上,选择“Windows 身份验证模式”,然后单击“下一步”。
17. 在“排序规则设置”页上,保留默认值,然后单击“下一步”。
18. 在“错误和使用情况报告设置”页上,保留默认值,然后单击“下一步”。
19. 在“准备安装”页上,检查信息,然后单击“安装”。
20. 在“安装进度”页上,安装完成后,单击“下一步”。
21. 在“完成 Microsoft SQL Server 2005 安装”页上,单击“完成”。
注意 安装完成后,请重新启动系统。
5.5.安装第2个SQL Server虚拟服务器
在下面的过程中,将在群集上安装第二个 SQL Server 2005 虚拟服务器。
5.5.1. 创建SQL Server群集组2
重复“创建SQL Server群集组1”中的步骤,将 SQL Server 2005 安装到 SQL Server 群集,并应用以下参数:
? 群集资源组名称:SQL Server 组 2
5.5.2. 安装SQL Server 2
重复“创建SQL Server群集组2”中的步骤,并应用以下参数:
? SQL Server 命名实例:SQL2
? SQL Server 虚拟服务器名称:SQLCluster-SQL2
? SQL Server 虚拟 IP 地址:192.168.0.9
? 选择 SQL Server 群集组:SQL Server 组 2
5.6.设置群集主动/主动模式
完成后以上步骤后,在下面的过程中,将两个 SQL Server 虚拟服务器配置为在 SQL Server 群集上以主动/主动模式运行。
1. 登录到 Contoso-SQLND1,单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“群集管理器”。
确保 Contoso-SQLND1 是 SQL Server 组 1 的所有者,并且 Contoso-SQLND2 是 SQL Server 组 2. 的所有者,可以右键单击这些组,然后选择“移动组”将资源组移到指定节点。完成此操作后,每个节点都有一个运行的活动 SQL Server 虚拟服务器,用于为对方节点提供故障转移支持。
6. 高可用性测试
在以下过程中通过保留群集中的单个节点来测试平台的可用性。
1. 在SQL Server 群集中,保持“Contoso-SQLND1”运行,关闭“Contoso-SQLND2”。
2. 打开“群集管理器”,选择“打开到群集的连接”,输入群集名称“SQLCluster”。选择“资源”节点,确认右边窗口中所有项“所有者”列名称为“Contoso-SQLND1”,状态为联机。
7. SQL Server 镜像服务
在实施SQL Server 2005 MSCS群集的时候,笔者花了一些时间来学习SQL Server 2005镜像服务技术。数据库镜像是SQL Server 2005的一个新特性,它允许将一个SQL Server中的数据库内容镜像到另一个SQL Server上,在发生错误的时候,通过镜像数据库来进行错误恢复。SQL Server 2005 SP1推出后,微软对其提供完全技术支持,镜像服务技术在生产环境中可以安全使用。
如果大家对SQL Server 2005镜像服务技术比较有兴趣,建议看TechNet讲师牛可的WebCast。
《使用数据库镜像保障高可用的数据库应用》
http://www.microsoft.com/china/technet/webcasts/class/SQL_2005_2.mspx
笔者对SQL Server 镜像服务的介绍一些内容来自该WebCast。
关于SQL Server 2005镜像服务更多的内容可以看《SQL Server 镜像服务简述》,
http://blog.iyunv.com/zhzuo/archive/2007/12/30/2004943.aspx
7.1.数据库镜像
数据库镜像是用于提高数据库可用率的软件解决方案。镜像基于数据库层面,仅适用于使用完整恢复模式的数据库,简单恢复模式和大容量日志恢复模式不支持数据库镜像。
数据库镜像通过数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境的另一个SQL Server数据库中来实现。镜像的拷贝是一个备用拷贝,一般情况下不能直接访问,只在主服务器出现错误时提供恢复,镜像服务器成为主服务器提供服务。如果需要访问镜像数据库,可以通过快照方式只读访问。
7.1.1. 镜像服务特点
相比SQL Server的MSCS群集对硬件的要求,SQL Server镜像服务是基于软件的高可用性解决方案。同SQL Server MSCS群集不同,SQL Server镜像服务主要特点如下:
1. 基于软件的高可用性解决方案,低硬件成本。
2. 快速的故障转移恢复,通常在10秒钟内转移。
3. 基于数据库级别实现,对单个数据库进行故障转移。
7.1.2. 镜像中的服务器角色
1. 主体服务器(Principal Server)。承载主体数据库,接受用户连接和事务处理请求。
2. 镜像服务器(Mirror Server)。承载镜像数据库,作为主体数据库的热备份。
3. 见证服务器(Witness Server)。监视服务器状态和连接性,实现自动故障转移。
7.1.3. 镜像会话的周期
1. 会话初始化。镜像请求事务日之记录,与主体服务器实现同步。
2. 会话过程。主体服务器将日志记录传输给镜像服务器,各个角色之间相互监视会话状态。
3. 会话终止。发生故障转移,管理员终止数据库镜像。
4. 故障转移。对于高可用性的数据库镜像模型中,主体数据库不可用将触发自动故障转移, 在短时间内恢复服务( |
|