SQL Server故障转移集群
在XenServer集群上给客户搭建一个应用服务,要求有负载均衡,Web服务器用Windows Server 2008 R2 + IIS,数据库Sql Server 2008 R2,并且使用SAN存储。我设计的逻辑架构如下图:
上面的架构图中包含7个VM,分别是作为转发器的LVS Director和LVS Backup、作为Web服务器装
有Windows Server 2008 R2系统的2个VM、装有Sql Server 2008 R2的2个VM以及作为SQL
Server故障转移集群域控制器
和DNS和ISCSI Target的1个VM。
客户端通过虚拟IP访问Web服务器,请求首先到达LVS Director,LVS Director根据特定的算法将请求转发到2台Web服
务器其中的一台,Web服务器根据具体情况,往SQL Server服务器读或写数据。Web服务器通过虚拟IP访问SQL
Server
服务器,其中接到请求的SQL Server服务器将读取存放在ISCSI Target中的相应数据或往ISCSI Target中写入相应的数
据,而最终数据都存放在SAN存储中。
LVS Director和LVS Backup的功能一样,它们之间通过Heartbeat来探测对方的状态,如果LVS Director出问
题,LVS Backup将接管服务,即LVS Backup将会接收到来自客户端的请求,这样其中一台转发器出现故障不会影响到
负载均衡的功能。同样,后面的Web服务器如果一台出现了故障,LVS会将请求发送到正常的那台Web服务器上。Web
服务器通过虚拟IP访问SQL Server服务器,在Web服务器看来,就像后端只有一台SQL
Server服务器一样,如果其中一
台SQL Server服务器出现故障,另一台SQL Server服务器将接受Web服务器的请求继续服务。这样一来,LVS、Web服
务器、SQL Server服务器均不存在单点故障,只要每一种服务器还有一台能正常工作,服务就不会受影响。注意到了
吧,作为域控制器、DNS、ISCSI Target的服务器只有一台,这里又引入了单点故障,但是这台VM基本上不装什么应
用,一般认为是比较稳定的,不太容易出现问题,这里用一台应该就够了。
我猜可能有童鞋又有疑问了,我们不都是在用SAN存储吗,本来就是共享的,为何要搞个ISCSI Target呢?按本人的理
解,没有一台VM作为ISCSI Target好像还真搞不了这个故障转移集群(如有误请指出)。Windows Server 2008在创建集
群时需要集群的成员有ISCSI共享盘,这些磁盘有作为仲裁磁盘的,也有作为共享数据盘的。我们的SAN存储是挂载
到XenServer上的,这些XenServer之间是共享SAN存储,但是对于XenServer的2个VM来说,它们添加磁盘就是通过你
所熟悉的“add disk”操作来完成,这样一来,他们虽然也是用到了SAN存储,但是两个VM使用了SAN存储的不同部
分的空间,在VM看来它们并没有共享什么存储。现在的做法是通过“add disk”给作为ISCSI Target的VM添加一
个1000G的磁盘,这个1000G空间来自SAN存储,然后在该VM上Microsoft ISCSI Target软件,通过这个软件将这
个1000G的磁盘作为ISCSI目标共享给两台Sql Server服务器,这样两台Sql Server服务器有了共享的ISCSI盘(作为仲裁
盘、数据盘),就可以建立故障转移集群,并且将以后web服务器产生的数据存储在这个1000G的磁盘中。
SQL Server故障转移集群的更多相关文章
- 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
原文地址: http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...
- sql server 复制,镜像,日志传输及故障转移集群区别
一, 数据库复制 SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步, ...
- 从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)
本篇主要讲配置Windows 故障转移集群及遇到的相关问题(坑),因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 四种集群的仲裁配置: 1.多 ...
- (转载) 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...
- SQL AlawaysOn 之四:故障转移集群
声明,故障转移集群,仅安装在SQL服务器中,域服务器不能和SQL服务器一起加入集群. 1.添加故障转移集群,下一步 2.安装 3.在域控制服务器上的管理工具里打开故不障转移集群管理器,选择创建集群 4 ...
- windows server 2012R2 故障转移集群配置
配置说明: AD:10.10.1.10/24 Node-2:10.10.1.20/24 Node-3:10.10.1.30/24 zhangsan-PC:10.10.1.50/24 VIP1:10 ...
- sqlserver2008 复制,镜像,日志传输及故障转移集群区别
一, 数据库复制 SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步, ...
随机推荐
- es6--之箭头函数
「箭头函数」是 ECMAScript6 中非常重要的性特性.很多文章都在描述它的上下文透明性以及短语法.新特性必然会带来很多好处,但凡事都有两面性.本篇文章会通过情景引导,让你知晓哪些情景下应该绕过箭 ...
- Python基础数据类型之字符串
Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...
- 2017 ACM/ICPC Asia Regional Qingdao Online
Apple Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submi ...
- sql语句中的join连接(左连接、右连接、全连接、内连接)
内部连接(inner join): select * from d_user a inner join D_ORGANIZATION b on a.COMPANY_XID=b.ID 内部链接也是排他 ...
- 常州模拟赛d3t2 灰狼呼唤着同胞
题目背景 我的母亲柯蒂丽亚,是一个舞者.身披罗纱,一身异国装扮的她,来自灰狼的村子. 曾经在灰狼村子担任女侍的她,被认定在某晚犯下可怕的罪行之后,被赶出了村子. 一切的元凶,都要回到母亲犯下重罪的那一 ...
- Spring Boot SpringSecurity5 身份验证
对于没有访问权限的用户需要转到登录表单页面.要实现访问控制的方法多种多样,可以通过Aop.拦截器实现,也可以通过框架实现(如:Apache Shiro.Spring Security). pom.xm ...
- msp430项目编程56
msp430综合项目---扩展项目六56 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结
- spl_autoload_register() && __autoload函数
一.__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数. 在index.php中,由于没有包含test.class.php,在实例化printit时 ...
- openURL
在iOS开发中,经常需要调用其它App,如拨打电话.发送邮件等.UIApplication:openURL:方法是实现这一目的的 在iOS开发中,经常需要调用其它App,如拨打电话.发送邮件等.UIA ...
- 数据库系统学习(十)-嵌入式SQL语言之动态SQL
第十讲 嵌入式SQL语言之动态SQL 静态SQL 区别变量和属性:高级语言向嵌入式SQL传递变量的方法 动态SQL 动态构造SQL语句是应用程序员必须掌握的重要手段 SQL语句的动态构造示例 根据界面 ...