SQLServer 2012 Always on配置全过程
SQLServer 2012 Always on是针对高可用性和灾难恢复的新解决方案。可以配置一个或多个辅助副本以支持对辅助数据库进行只读访问,并且可以将任何辅助副本配置为允许对辅助数据库进行备份。 这样就提供了硬件的使用效率。
“可用性组”针对一组离散的用户数据库(称为“可用性数据库”,它们共同实现故障转移)支持故障转移环境。一个可用性组支持一组主数据库以及一至四组对应的辅助数据库。可用性组在可用性副本级别进行故障转移。故障转移不是由诸如因数据文件丢失或事务日志损坏而使数据库成为可疑数据库等数据库问题导致的。
每组可用性数据库都由一个“可用性副本”承载。有两种类型的可用性副本:一个“主副本”和一到四个“辅助副本”。前者用于承载主数据库,后者则承载一组辅助数据库并作为可用性组的潜在故障转移目标。主副本使主数据库可用于客户端的读写连接。此外,它在称为“数据同步”的过程中使用,在数据库级别进行同步。主副本将每个主数据库的事务日志记录发送到每个辅助数据库。每个辅助副本缓存事务日志记录(“硬化”日志),然后将它们应用到相应的辅助数据库。主数据库与每个连接的辅助数据库独立进行数据同步。因此,一个辅助数据库可以挂起或失败而不会影响其他辅助数据库,一个主数据库可以挂起或失败而不会影响其他主数据库。
或者,您可以配置一个或多个辅助副本以支持对辅助数据库进行只读访问,并且可以将任何辅助副本配置为允许对辅助数据库进行备份。部署 AlwaysOn可用性组需要一个 Windows Server故障转移群集 (WSFC)群集。
图显示一个可用性组,该组包含最大数目的可用性副本,即一个主副本和四个辅助副本。
来自:http://msdn.microsoft.com/zh-cn/library/ff877884.aspx
虽然2012 Always on是基于WSFC的,但是并不需要共享存储,所以配置就非常简单。
下面是我的安装步骤:
至少需要三台机器(我创建了三台虚拟机,一台是作为DC,DNS服务器,两台Nod3)
机器名 |
角色 |
OS |
IP Address |
DC |
Domain Controller |
Windows 2008R2 |
192.168.1.10 |
Node1 |
Cluster Node 1 |
Windows 2008R2 |
192.168.1.11 Public |
192.168.2.1 |
|||
心跳线 |
|||
Node2 |
Cluster Node 2 |
Windows 2008R2 |
192.168.1.12 Public |
192.168.2.2 |
|||
心跳线窗体底端 |
首先配置Windows集群:
1. 安装.NETFramework 3.5.1 Features和Failover Clustering
2. 安装Windows KB 2494036
3.新建集群
4.选择加入集群的服务器:
5.检测配置:
6.不需要选择检测共享磁盘(AlwaysOn不需要)
7.开始检测:
8.检测内容(检测完成后可以导出Report):
9.之后输入Cluster名字和IP点击下一步创建成功,成功后打开Server Manager查看集群配置(可以看到并没有共享磁盘,跟传统的集群还是有区别的):
由于我们只使用了两台机器,所以当一台机器Down掉之后就没有仲裁了,无法成功转移。当使用多节点做仲裁,可以使用三台Node,这样一台Down掉之后另外两台可以做仲裁。如果两个Node,不使用共享磁盘可以使用Share文件的方式,具体的配置可以参考:http://www.sqlskills.com/blogs/jonathan/failover-clustering-without-a-san-sql-server-2012-and-smb-for-shared-storage/(之前没有配置这一步,虽然AlwaysOn级别可以Failover,但是真正一台Node Down掉之后就不行了,感谢@struggle1指出这个问题。)
现在我们集群已经配置后了,下一步是安装SQLServer并且配置Always On.
Part2:http://blog.csdn.net/smithliu328/article/details/7886513
Part3:http://blog.csdn.net/smithliu328/article/details/7886656