设为首页 收藏本站
查看: 1616|回复: 0

[经验分享] 部署AlwaysOn第一步:搭建Windows服务器故障转移集群

[复制链接]
发表于 2017-6-27 15:19:18 | 显示全部楼层 |阅读模式
  在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)连接起来,结点之间通过私有网络发送“心跳信号”来感知彼此是否工作正常;公共网络用来被集群外部的客户端使用的网络,外部客户端通过公共网络访问集群节点;
DSC0000.png

  二,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”
DSC0001.png

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

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

  四,配置故障转移集群
  1,打开故障转移机器管理器
  安装Failover Clustering 功能完成之后,打开Server Manager,在菜单Tools中选择“FailOver Cluster Manager”,打开故障转移机器管理器
DSC0004.png

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

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

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

  5,定义“用于管理群集的访问点”
  为集群命名,Cluster Name实际上是虚拟服务器的网络名;集群的IP地址由系统自动配置,该IP地址实际上是虚拟服务器的IP地址;
DSC0008.png

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

  五,配置集仲裁设置
  当集群中的结点发生故障时,会由其他结点接手继续提供服务,不过,当结点之间通信出现问题,或大多数结点发生故障时,集群就会停止服务,可是集群可以容忍多少个结点发生故障呢?这要由仲裁配置(Quorum Configuration)决定,仲裁配置使用多数原则,只要集群中健康运行的结点数量达到仲裁规定的数量(多数结点投赞成票),集群就会继续提供服务,否则集群就停止提供服务。在停止提供服务期间,正常结点持续监控故障结点是否恢复正常,一旦正常结点的数量恢复到仲裁规定的数量,集群就恢复正常,继续提供服务。
  1,返回到故障转移集群管理器,在“Failover Cluster Manage”下拉列表中展示创建成功的集群
DSC00010.png

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

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

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

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

  至此,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)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-388761-1-1.html 上篇帖子: 使用Topshelf组件构建简单的Windows服务 下篇帖子: Windows Form调用R进行绘图并显示
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表