.Net架构设计(二)SqlServer集群搭建
-
一、主从集群
-
此处配置Windows2008 群集,将用于SQLserver 2008 双机故障转移群集,此处SQLserver 的群集基于Windows群集实现。Windows 2008 集群更容易实现了,只要规划好IP和磁盘分配,可一直按窗口界面进行配置。
服务器要求:
本次测试要求3台服务器,1台域控制器(Windows 2003 、双网卡可选),2个集群节点(Windows server 2008、双网卡)。
要求工具:
WindowsInstaller 4.5 Redistributable
Microsoft.NET Framework 3.5 Service Pack 1
StarWindVirtual SAN? Free
说明:Windows Installer 和NET Framework 3.0 默认安装,StarWind 用于模拟网络存储(可参考 StarWind 模仿 iSCSI 进行网络存储管理)
网络配置:
节点一(Win8-ServerA)
节点二(Win8-ServerB)
Public IP
192.168.2.201
192.168.2.202
Private IP
10.10.10.201/24
10.10.10.202/24
DC/DNS
192.168.2.9 / 192.168.2.1
MSDTC
192.168.2.204
集群管理IP
192.168.2. 200
共享存储盘符设置:(用于测试,所以设置较小)
仲裁盘(D)
1GB
MSDTC共享盘(F)
2GB
数据库共享盘(E)
3GB
【Windows 群集主要步骤】
1.前期:
1.1. 配置域环境
1.2. 配置网络共享存储
1.3. 配置各节点网络
2. 在2个节点中配置:
2.1. 添加角色:应用程序服务器
2.2. 添加功能:故障转移群集
3. 在任选1个节点(将作为主节点):
3.1. 故障转移群集管理:验证配置
3.2. 故障转移群集管理:创建一个群集
3.3. 磁盘管理:磁盘连接并创建简单卷
3.4. 故障转移群集管理:仲裁配置
3.5. 故障转移群集管理:分布式事务协调器(DTC)配置
域环境部署不说明,网络存储参考 StarWind 模仿 iSCSI 进行网络存储管理
1.3. 配置各节点网络
节点1:
网卡1: ip :192.168.2.201,子网掩码:255.255.255.0,网关:192.168.2.1,DNS:192.168.2.1
网卡2: IP:10.10.10.201,子网掩码:255.255.255.0
节点2 :
网卡1: ip :192.168.2.202,子网掩码:255.255.255.0,网关:192.168.2.1,DNS:192.168.2.1
网卡2: IP:10.10.10.202,子网掩码:255.255.255.0
确认在2个节点中都可以看到相同的3个离线磁盘。
2.1. 添加角色:应用程序服务器
在2个节点都添加应用服务器角色,在往后安装SQLserver 也有用到。
打开服务器管理器,点击角色树形菜单,点击添加角色。如以下图安装步骤。
安装完成!~
2.2. 添加功能:故障转移群集
故障转移群集增强了服务和应用程序的高可用性,可以让其他群集能识别到该节点。在2个节点都添加故障转移群集。
打开服务器管理器,点击功能树形菜单,点击添加功能。如以下图安装步骤。
配置完成!~
现在选择 节点 192.168.2.201 作为首个节点(主节点),以下操作都在该节点执行。
3.1. 故障转移集群管理:验证配置
开始—程序—管理工具——打开 故障转移群集管理,点击 验证配置…
验证完成!~
3.2. 故障转移集群管理:创建一个集群
以上验证无误,则可继续,创建一个群集。在故障转移群集管理中,点击创建一个群集…
群集添加完成,可以在域控中计算机看到群集的虚拟计算机。
3.3. 磁盘管理:磁盘连接并创建简单卷
添加群集后,磁盘自动添加到群集中,若未添加,可以手动添加。
将3块网络磁盘联机并初始化,创建简单卷。
磁盘创建完成!~
3.4. 故障转移集群管理:仲裁配置
仲裁者在这里不需要单独的服务器,而是使用磁盘作为仲裁者,用于检测和协调故障转移。
用故障转移群集管理连接到群集中,右键群集服务器——更多操作——配置群集仲裁设置
仲裁盘配置完成!~
3.5. 故障转移集群管理:分布式事务协调器(DTC)配置
分布式事务协调器 (DTC) 服务用于协调以下事务:将更新两个或多个事务保护资源,如数据库、消息队列、文件系统等。这些事务保护资源可能位于一台计算机上,也可能分布在多台联网的计算机上。
右键服务和应用程序,点击配置服务或应用程序打开配置
分布式事务协调器配置完成!~
关于节点中的网络配置,可点击群集中的网络树形目录查看。群集中默认识别了节点中的网络配置,此处不需要设置。
至此,Windows群集配置完成!~
首次配置,可能有设置不合理的地方,欢迎指出,相互学习。
文中都是插图,到时再整理一个完整的下载链接。
好了,接下来就登录安装SQLserver 数据库了!~
二、qlServer 读写分离
读写分离是中型规模应用的数据库系统常见设计方案,通过将数据从主服务器同步到其他从服务器,提供非实时的查询功能,扩展性能并提高并发性。
-
数据库的读写分离的好处如下:通过将“读”操作和“写”操作分离到不同的数据库服务器上,降低对主服务器的CPU、内存、存储、网络资源的争用;主服务器的增删改进行时,不影响查询服务器的查询,降低阻塞的发生,提高了并发性;建立容灾副本甚至实现异地容灾,在发生灾难时,可以减少数据的损失。为了实现数据库读写分离,应用程序需要作如下调整:在应用程序的配置文件中设置两个数据库连接字符串,一个指向主服务器,一个指向查询服务器;增删改或者实时性查询使用指向主服务器的连接字符串;允许非实时的查询及报表请求使用指向查询服务器的连接字符串。SQL Server提供了三种技术,可以用于读写分离的实现:日志传送、事务复制和SQL Server 2012中新增的功能Always On技术。这三种技术的比较如下: