在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故障转移集群的更多相关文章

  1. 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群

    需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...

  2. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  3. (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...

  4. sql server 复制,镜像,日志传输及故障转移集群区别

    一, 数据库复制 SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步, ...

  5. 从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)

    本篇主要讲配置Windows 故障转移集群及遇到的相关问题(坑),因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 四种集群的仲裁配置: 1.多 ...

  6. (转载) 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...

  7. SQL AlawaysOn 之四:故障转移集群

    声明,故障转移集群,仅安装在SQL服务器中,域服务器不能和SQL服务器一起加入集群. 1.添加故障转移集群,下一步 2.安装 3.在域控制服务器上的管理工具里打开故不障转移集群管理器,选择创建集群 4 ...

  8. 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 ...

  9. sqlserver2008 复制,镜像,日志传输及故障转移集群区别

    一, 数据库复制 SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步, ...

随机推荐

  1. docker.io/centos安装phpstudy

    1.准备工作 yum install vimyum install wget yum install make yum -y install bzip2 yum install m4 yum inst ...

  2. 机器学习实战之kNN算法

    机器学习实战这本书是基于python的,如果我们想要完成python开发,那么python的开发环境必不可少: (1)python3.52,64位,这是我用的python版本 (2)numpy 1.1 ...

  3. PIL:Python Imaging Library(图像处理标准库)和Qrcode:二维码生成

    安装PIL Mac或Linux安装命令:sudo easy_install PIL 如果报错:fatal error: 'freetype/fterrors.h' file not found Mac ...

  4. POJ——2251Dungeon Master(三维BFS)

    Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 25379   Accepted: 9856 D ...

  5. USACO Party Lamps

    题目大意:一排灯有n个,有4种开关,每种开关能改变一些灯现在的状态(亮的变暗,暗的变亮)现在已知一些灯的亮暗情况,问所以可能的情况是哪些 思路:同一种开关开两次显然是没效果的,那么枚举每个开关是否开就 ...

  6. 算法复习——floyd求最小环(poj1734)

    题目: 题目描述 N 个景区,任意两个景区之间有一条或多条双向的路来连接,现在 Mr.Zeng 想找一条旅游路线,这个路线从A点出发并且最后回到 A 点,假设经过的路线为 V1,V2,....VK,V ...

  7. Codeforces 895.A Pizza Separation

    A. Pizza Separation time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. JS return false 与 return true

    在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. Return False 就相当于终止符 ...

  9. 升级完Android Studio3.2后,打包release出现的错误

    升级完Android Studio2.3后,打包release出现的错误 Error:Execution failed for task ':qq:lintVitalRelease'.> Lin ...

  10. ORACLE的impdp和expdp命令【登录、创建用户、授权、导入导出】

    使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...