SQL Server 高可用性(二)群集与侦听器

一、群集

1. MSFC

  在SQL Server中谈到群集,首先就会存在一个误区。实际上,SQL Server群集应当理解为“在MSFC中运行的SQL Server Service”,它依赖于MSFC。

  在Windows Server 2003时,Windows的群集被称为Microsoft Cluster Service(MSCS)。从Windows Server 2008 开始被称为 Microsoft Failover Cluster(MSFC)。

  在创建SQL Server群集之前,必须在Windows中实现一个MSFC,然后再将SQL Server安装成为MSFC中的一个“服务与应用程序”。


2. 节点

  SQL Server群集实际上是将SQL Server实例作为一个服务安装在MSFC的每一个节点。MSFC最多允许16个节点。也就是说,可以将一个SQL Server实例安装到最多16个节点上。

  但同一时间只能在其中一个节点(主节点)运行这个SQL Server实例(服务)。即使你想在辅助节点上强行启动对应的SQL Server实例,MSFC也会加以阻止。


3. Fail-over

  关于群集的第二个误区,是群集与负载平衡的区别。故障转移群集是用于获得高可用性的,而非用于实现负载平衡。

  MSFC会一直监听SQL Server实例(服务),当主节点上的SQL Server实例失败(Fail)了,MSFC会通知下一个节点立即运行SQL Server实例,并且MSFC将连接到旧节点上的全部请求转移到新的节点,从而保证客户端业务的连续性。这就是Fail-over(故障转移),也就是说,只有在发生故障时才会转移,而不是负载平衡(Load Balance)。


4. 仲裁
  MSFC中存在一个非常重要的因素,那就是节点配置方式(仲裁)。可以理解为,仲裁需要使用投票机制,得票超过半数的节点才能成为主节点。

  Windows Server 2003时较常用的是2个节点加1个仲裁磁盘。

  Windows Server 2008则推荐使用节点多数(奇数个节点),当节点数量为偶数时才推荐添加一个仲裁磁盘。也就是说,Windows Server 2008 创建 Microfost Windows Cluster 时,仲裁磁盘(共享存储)并不是必须的。



二、侦听器

  侦听器在MSFC中被称为虚拟网络名称(Virtual Network Name)。

wKiom1OxRVmDh5GDAAPpvzaTnFM377.jpg

  1. MSFC的侦听器

  MSFC自身就有一个侦听器,客户端可以直接访问这个侦听器。对这个侦听器的访问被MSFC重定向到主节点。

wKioL1OxR4vDzc29AAG1tn2mZxY733.jpg


  例如,使用远程桌面直接连接到侦听器。进入远程桌面后,再查看这台计算机的属性,可以发现其实就是主节点这台计算机。

wKiom1OxRp-h8vhrAAKXa6CyrFc406.jpg



2. SQL Server Cluster的侦听器

  要访问SQL Server群集,必须访问SQL Server Cluster的侦听器。

wKiom1OxQynC_0igAAH_xUR4JPo512.jpg

  如果直接访问主节点的名称,则报错,因为SQL Server群集实例并没有绑定到主节点名称,而是只绑定到MSFC中的SQl Server群集侦听器。

wKioL1OxRHPjmg2qAAKsBVTC5y0334.jpg


3. AlwaysOn可用性组的侦听器

  要访问AlwaysOn可用性组,可以使用以下两种方式:

(1)访问AlwaysOn可用性组的侦听器

  连接到侦听器后,客户端可以实现read/write。而且由于后端的节点是自动Fail-over,所以客户端不用关心后端发生的节点切换。

wKioL1OxSTWRiy6pAASCIgSMgKM132.jpg

(2)直接访问指定的节点

  如果可以连接到指定的节点,客户端可以实现read-only(前提条件是该节点启用了read-only选项。但是客户端在write时可能会报错,因为这个节点不一定就是主节点。当这个节点Fail后,客户端的连接被断开。

wKioL1OxSnDS657UAALKZJOa-8Y824.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值