部署AlwaysOn第一步:搭建Windows服务器故障转移集群

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)有基本的了解。WSFC必须部署在域管理环境中,由多台服务器组成,每台服务器称作一个“结点”(Node),每个结点上都运行了Windows服务器故障转移集群服务,整个集群系统允许部分结点掉线、故障或损坏而不影响整个系统的正常运作。集群自动检测结点的健康状态,一旦活跃结点发生异常,变为不可用,则另一台结点服务器自动接管发生故障的服务器,升级为活跃服务器,并继续处理任务,一台服务器接管发生故障的服务器的过程称为"故障转移"。

一,Windows故障转移集群的基本组成要素

结点和活跃结点(Active Node):组成集群的每台Server叫做一个结点,在同一时刻,只能有一个结点处理用户的请求,提供服务,该结点叫做活跃结点;活跃结点是由集群决定的,对用户完全透明;

虚拟服务器(Virtual Server):集群中的所有结点组成一个虚拟服务器,也就是说,从集群的外部看,只能看到一个服务器,而看不到背后的一堆结点服务器,虚拟服务器拥有自己的机器名和IP地址,也称作“虚拟网络名”和“虚拟IP”,用户通过虚拟网络名和虚拟IP地址来访问集群,实际上,虚拟网络名和虚拟IP都在DNS服务器上登记在册,和物理服务器的网络名和IP地址没有任何区别;

共享磁盘(Shared Array):所有需要在结点之间共享的资源,例如,SQL Server数据文件,错误日志等,都被存储在Shared Array上,不需要共享的文件则被存储在每个结点的本地磁盘(Local Disk)上;

私有网络和公共网络:组成集群的多个结点之间,通过私有网络(Private Network)和公共网络(Public Network)连接起来,结点之间通过私有网络发送“心跳信号”来感知彼此是否工作正常;公共网络用来被集群外部的客户端使用的网络,外部客户端通过公共网络访问集群节点;

 

二,Windows 集群提供的功能

Windows集群无法提供负载均衡的能力,在任意时刻,集群中只有一个结点能够处理用户的请求,而其他结点都处于空闲状态,处理用户请求的结点叫做活跃(Active Node),活跃结点是由集群决定的,对用户完全透明。

1,健康检测和自动故障转移

AlwaysOn高可用技术利用Windows服务器故障转移集群的健康检测和自动故障转移特性,因此,AlwaysOn必须建立在WSFC之上:

健康检测:结点之间,通过私有网络互相发送心跳信号来感知彼此是否工作正常,这类信号称作“心跳线”,一旦某台服务器因为异常而无法回应信号,那么剩余的结点就认为该结点“Dead”,把该结点从当前集群排除;集群的整体健康状况,是由集群中结点的仲裁投票决定的。

自动故障转移:以“心跳信号”监视各个结点服务器的健康状况,如果主结点(Primary Node)不能响应心跳信号,那么另一台服务器自动升级为Primary Node,继续处理任务,故障转移的过程不会对应用程序造成影响,用户甚至察觉不到虚拟服务器内部的故障转移;

WSFC提供的功能很多,但是,部署AlwaysOn只需要了解这两个机制,对于WSFC的其他应用,可以暂时不用了解,下面的第三,四,五章节,分步骤搭建WSFC。

2,集群的仲裁配置

仲裁投票(Quorum Voting):Quorum是仲裁,法定数量的意思,在仲裁模式下,仲裁配置决定集群在正常提供服务时,能够容忍多少个结点发生故障。在集群中的故障结点达到仲裁(Quorum)规定的数量之前,集群能够继续提供服务。

WSFC在集群的结点之间进行健康检测和仲裁投票,每一个结点通过周期性地发送心跳信号,检测其他其他结点的健康状态,并和其他结点共享健康数据,无法响应心跳信号的结点被认为处于异常状态,集群的所有健康结点都会很快知道该结点出现故障。

仲裁结点集合是投票结点和见证结点(Witness)结合,仲裁结果由多数(Majority)结点决定,集群整体的健康状态是由周期性的仲裁投票的结果决定的,WSFC根据仲裁投票的结果,执行自动故障转移或者使集群离线:如果仲裁结点集合(Quorum Node Set)的投票结果表明大多数结点是健康的,那么集群将进行故障转移,继续提供服务;如果投票结果是少数结点,那么集群将处于离线状态。关于集群的仲裁配置,请参考我的随笔:《故障转移集群的仲裁》。

3,集群的资源组

资源组:资源组是由一个或多个资源组成的组,故障转移是以资源组为单位发生的,在任何时候,每个资源组都仅属于集群中的一个结点,该结点是活跃结点。在配置资源组时,一个资源所依赖的其他资源必须和该资源配置在同一个资源组中,跨资源组的依赖关系是不存在的。

活跃结点拥有集群的资源组,能够处理客户端的请求,也就是说,拥有资源的结点为用户提供服务。活跃结点也称作主结点(Primary Node),集群中的其他结点称作辅助结点(Secondary Nodes),在Primary Node出现故障时,集群自动将资源转移到其他辅助结点。基于健康检测的策略控制自动故障转移的过程,故障转移实际上是资源拥有关系(Resource Ownership)的转移。

三,安装Windows Server Failover Clustering(WSFC)服务

集群的每个结点服务器都必须在同一域中,并且都安装了Windows Server Failover Clustering(WSFC)服务,安装的过程十分简单,按照该章节的步骤,只需几步就安装成功。

1,打开服务器管理器(Server Manager),选择“Add roles and features”

2,在添加功能向导中,勾选“Failover Clustering”,点击“Next”,开始安装

 3,在“Confirmation” Tab中,进行确认,点击“Instanll”按钮,进行安装操作

 

四,配置故障转移集群

1,打开故障转移机器管理器

安装Failover Clustering 功能完成之后,打开Server Manager,在菜单Tools中选择“FailOver Cluster Manager”,打开故障转移机器管理器

2,在故障转移管理器中,创建集群

用户在故障转移管理器(Failover Cluster Manager)中,能够对已经创建成功的Failover Cluster进行管理,查看集群的信息,监控集群的状态和验证(Validate)集群的配置等。在截图的标记处,点击Create Cluster,开始创建新的集群。

3,添加集群的结点服务器

输入集群的结点服务器名称,节点服务器必须位于相同网段中,能够相互访问;

4,验证警告

如果需要对集群的基本环境,包括硬件,进行WSFC需求验证,可以选择“Yes”,本例选择“No”,不验证

 

 5,定义“用于管理群集的访问点”

为集群命名,Cluster Name实际上是虚拟服务器的网络名;集群的IP地址由系统自动配置,该IP地址实际上是虚拟服务器的IP地址;

6,确认配置信息,点击“Next”,创建新的集群

五,配置集仲裁设置

当集群中的结点发生故障时,会由其他结点接手继续提供服务,不过,当结点之间通信出现问题,或大多数结点发生故障时,集群就会停止服务,可是集群可以容忍多少个结点发生故障呢?这要由仲裁配置(Quorum Configuration)决定,仲裁配置使用多数原则,只要集群中健康运行的结点数量达到仲裁规定的数量(多数结点投赞成票),集群就会继续提供服务,否则集群就停止提供服务。在停止提供服务期间,正常结点持续监控故障结点是否恢复正常,一旦正常结点的数量恢复到仲裁规定的数量,集群就恢复正常,继续提供服务。

1,返回到故障转移集群管理器,在“Failover Cluster Manage”下拉列表中展示创建成功的集群

2, 右击群集节点,在上下文菜单中点击“More Actions”,在扩展菜单中选择“Configure Cluster Quorum Settings”为该集配置仲裁

 

3,打开配置集群仲裁的向导

4,选择仲裁配置选项,使用默认的仲裁配置,由集群决定仲裁管理选项

微软推荐配置一个Quorum Witness,帮助实现集群的最高可用性,如果对仲裁配置不是很了解的话,可以使用默认选项,由集群决定仲裁配置。

5,确认仲裁配置选项,点击“Next”,开始配置集群的仲裁设置

至此,Windows 服务器故障转移集群搭建完成,用户可以在WSFC的基础之上,部署AlwaysOn高可用技术,创建可用性组(Availability Group)。

 

参考文档:

Failover Cluster Step-by-Step Guide: Configuring the Quorum in a Failover Cluster

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

Windows Server Failover Clustering (WSFC) with SQL Server

AlwaysOn Failover Cluster Instances (SQL Server)

作者悦光阴
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。
分类: AlwaysOn







本文转自悦光阴博客园博客,原文链接:http://www.cnblogs.com/ljhdo/p/4929237.html,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2月前
|
弹性计算 监控 负载均衡
|
8天前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
45 8
|
13天前
|
存储 数据挖掘
服务器数据恢复—V7000存储上多块Mdisk成员盘出现故障的数据恢复案例
服务器存储数据恢复环境: 一台V7000存储上共12块SAS机械硬盘(其中1块是热备盘),组建了2组Mdisk,创建了一个pool。挂载在小型机上作为逻辑盘使用,小型机上安装的AIX+Sybase。 服务器存储故障: V7000存储中磁盘出现故障,管理员发现问题后立即更换磁盘。新更换的硬盘在上线同步数据的时候,存储上另一块磁盘也出现问题,导致逻辑盘无法挂接在小型机上,业务暂时中断。V7000存储的管理界面上显示两块硬盘故障脱机。 pool无法加载,其中三个通用卷均无法挂载。
|
27天前
|
运维 监控 负载均衡
slb后端服务器故障
slb后端服务器故障
44 13
|
2月前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
2月前
|
Android开发 数据安全/隐私保护 虚拟化
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
115 4
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
73 4
|
2月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
|
2月前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
2月前
|
存储 Unix Linux
服务器数据恢复—DELL EqualLogic PS6100系列存储简介及发生故障后的处理方案
DELL EqualLogic PS6100系列存储采用虚拟ISCSI SAN阵列,支持VMware、Solaris、Linux、Mac、HP-UX、AIX操作系统,提供全套企业级数据保护和管理功能,具有可扩展性和容错功能。