SQLServer2016AlwaysO
架构方案
1AlwaysO
的介绍SQLServerAlwaysO
是“全面的高可用性和灾难恢复解
决方案”,SQLServer2016所支持的AlwaysO
技术集中了故障转移群集、数据库镜像和日志传送。故障转移群集的单位是SQL实例,数据库镜像和日志传送的单位是单个用户数据库,而AlwaysO
支持的单位是可用性组,每个组中可以包括一个或者是多个用户数据库。一旦发生切换,则可用性组中的所有数据组会作为一个整体进行切换。
AlwaysO
底层采用Wi
dows故障转移群集的机制进行监测和转移,因此也需要先建立Wi
dows故障转移群集,只不过可用性组中的数据库不一定非要再存放在共享存储上了。可以是存储在本地磁盘上。
AlwaysO
的关键特性:1和故障转移群集一样,也需要一个虚拟网络名称虚拟IP用于客户端的统一连接。2辅助服务器可以独立执行备份和常用维护命令。通过配置,可以实现客户端的只读请求可以被自动定向到辅助服务器。3主服务器和辅助服务器之间的数据会被加密和压缩,以提高安全性和网络传输效率。
f4支持自动、手动和强制三种故障转移方式。5有仪表盘用于监控Alwayso
运行状态监测。
11AlwaysO
的基本架构在Wi
dows故障转移群集的基础上部署AlwaysO
高可用
组,可以在群集节点上安装SQLServer单机实例,也可以安装SQLServer群集实例,AlwaysO
仅要求所有SQLServer实例都运行在同一个集群中,但SQLServer实例本身是不需要群集模式的,这与以往版本的群集的实例完全不同。在此建议使用单机模式的SQLServer,好处是:可用性副本是个单机实例,那么数据库副本就存放在该运行该实例节点的本地磁盘上;如果可用性副本是个群集实例,那么数据库副本就存放在共享磁盘上,存在共享安全和磁盘读取性能问题。
可用性组从Wi
dows群集角度来看,就是一个群集资源,其中的所有数据库作为一个整体在节点间进行故障转移,当然这不包括系统数据库,系统数据库是不能加入高可用性组中的。因为需要借助Wi
dows群集实现监控和转移,所以AlwaysO
会受到一些限制:
一个可用性组中的所有可用性副本必须运行在单一的Wi
dows群集上,跨不同Wi
dows群集的SQLServer实例不能配置成一个AlwaysO
可用性组。
一个可用性组的所有可用性副本必须运行在Wi
dows群集
f的不同节点上。运行在同一个节点上的两个不同实例不能用作同一个可用性组的副本。
AlwaysO
最多可以支持五个副本,但只有一个可用性副本上运行的数据库是处于可读写状态。这个可读写的数据库被称为主数据库,同时这个可用性副本被称为主副本。其r