故障转移群集(Failover Cluster)是 Windows Server 下的群集技术的全称。它指的是一组协同工作的独立服务器,通过物理链路和软件进行连接,以相应的技术手段来实现更好的服务可用性:当群集内某一台物理服务器出现故障时,另一台服务器开始接管故障服务器的服务(此转移的过程被称为故障转移过程)。群集角色会主动监测群集内的主机工作是否正常,通过故障转移,最终用户所能感知到的停机时间将会非常短暂。尽管群集多数是由两台以上的独立服务器组成,但在逻辑上,它们被认为是一个紧密的整体。
故障转移群集在 Windows Server 下是一项覆盖面很广的技术,其不仅可以提升 Hyper-V 的服务可用性,还可以将以下几个重要角色添加到故障转移群集中:
高可用性(High_Availability)简称 HA,其不限制具体采用的技术,只要利用到了"未雨绸缪"的设计思想,均算是高可用性的一种。如正常的系统备份、硬件级别的离线冷备份、硬件级别在线热备份、异地灾备、软件群集技术,这些均算是高可用性的范畴内。唯一不同
的是,由于所采用的技术不同,其所提供的可用性级别不同,出现故障时的转移时间不同。
故障转移群集的优点正如其名称一样,通过转移故障,为最终用户带来自动化的,中断时间相对较短的高可用性。总的来说,故障转移群集可以实现以下几个目标:
由此可以看出,故障转移群集是一种为提供更高可用性而存在的技术。在 Windows Server 2012 R2 中,故障转移群集支持最多 64 个节点,而在 Windows Server 2008 R2 中,仅仅支持 16 个节点。在数据中心越来越庞大的今天,16 个节点的限制显然是捉襟见肘的,要满足用户的需求,升级系统势在必行。同时,在 Windows Server 2012 R2 中,每个群集中的最大虚拟机数量也从 Windows Server 2008 R2 中的 1000 个提升到了 8000 个。
故障转移群集可以为企业带来更高的可用性,相应的,为了搭建故障转移群集需要付出一部分代价方可实现。
故障转移群集要求网络存在冗余,一般实际部署中,单台物理服务器会使用两条网线,其中一条接入生产网络,另外一条作为心跳线(heart line),为群集之间互相验证存活的手段。需要注意的是,心跳线在 Windows Server 2012/2012 R2 中并不是必要条件。故障转移群集建议的是网络链路的"最好"存在冗余,至于冗余的线路是承载生产网络还是单纯作为心跳使用,并没有严格要求。
如果希望业务能够很好的分层处理,在规划服务器虚拟化或微软私有云之初,就需要对故障转移群集的网络部分进行统筹设计。任何方案都类似,当架构成型后,再做架构方面的变动,就会牵扯到很多环节,继而有可能影响业务的持续可用。
如果希望使用故障转移群集,则必须要为故障转移群集准备共享存储,共享存储可以使用直连存储、iSCSI 存储、光纤存储中的一种。关于三种存储的优缺点,以及所采用的硬盘所带来的性能差异可参考本书前面的章节。如果企业预算紧张或在测试环境中希望对群集的功能进行验证,则可以使用 Windows Server 2012 R2 自带的角色功能来搭建"iSCSI 目标服务器"。
作为 Windows Server 2012 起自带的一项系统功能,"iSCSI 目标服务器"最大的优势是搭建简单,应用方便。在 Windows Server 2008 R2 时代,如果希望搭建虚拟化的共享存储,一般会采用"Openfiles"的类 Linux 操作系统来实现,Openfiles 配置共享存储的操作步骤较多,设置选项也较为复杂,相比我们熟知的 Windows Server 系统,其部署难度和管理难度都超出预期。Windows Server 2012 R2 提供了简便快捷的"iSCSI 目标服务器",将部署和运维共享存储的难度进一步降低。
另一方面,Windows Server 2012 R2 中"iSCSI 目标服务器"所生成的存储格式为 vhd 或 vhdx,在 Windows Server 2012/2012 R2 操作系统中,这种文件格式极易被编辑和拷贝、增减、维护。这一点也是该功能的显著优势。
操作系统:2012R2
软件环境:ISCSI/DNS/AD/SLQ-Server2014
说明:三台服务器,其中一台AD(AD也做共享磁盘),两台sql,
实现目标:双台sql使用共同的存储,并在一台失去联系后,另外一台会自动顶上。
需要4个磁盘卷:仲裁盘、群集共享卷、MSDTC、可用磁盘卷(数据存储盘)
通过isci服务来创建上述的四个磁盘卷。 域控服务器不需要关联这四个磁盘卷。
3个服务器:
节点1:192.168.1.130 192.168.192.130
节点2:192.168.1.131 192.168.192.131
DC:192.168.1.136
故障转移群集:192.168.1.137
分布式事务ip:192.168.1.138
数据库集群ip:192.168.1.139
只有两个节点关联磁盘,域控服务器不关联磁盘。
新建4个isci磁盘卷
本次采用域控服务器下的磁盘创建isci虚拟磁盘。配置好本机的ip。
如果是实际环境建议用存储来创建isci虚拟磁盘。
选择添加角色和功能。
点击下一步
下一步
下一步
选择如图所示,文件和isci服务下的isci目标服务器。
点击下一步
下一步
点击安装
完成安装即可。
新建虚拟磁盘,选择文件与磁盘服务下的iscsi,点击任务,选择新建iscsi虚拟磁盘。
选择本地的一块磁盘,用来创建虚拟磁盘。
下一步指定虚拟磁盘的名称和描述,名称必须指定。需要创建四个虚拟磁盘。
可以分别命名为 zhongcai、qunji、DATA、MSTDC。其中仲裁大小(2G即可,实际也是2G即可);qunji群集卷( 20G左右,实际指定为100G至200G左右);DATA(实际工作做需要指定1T-2T左右,本次演示,使用25G即可。);MSTDC(20G左右即可)。
下一步,指定磁盘大小,并且选择动态扩展
下一步,如果没有isci目标,选择新建isci目标
下一步,指定名称如:isci
下一步,点击添加,选择输入选定类型的值,指定类型为ip,值添加为两个节点的ip地址。
下一步,
下一步
点击创建
完成。
同理创建其他三块群集盘。
子节点添加访问isci虚拟磁盘,在后面加入域之后进行操作即可。
增加域控服务器
选择添加功能和角色,选择ActiveDirectory域服务。
下一步,选择故障转移群集管理
下一步
完成后点击下一步,直到安装完成。
安装完成后,会提示提升为域控服务器。点击后,弹出界面如下图所示:
选择添加新林,指定根域名。
下一步
输入还原密码:
*********
一直到下一步
指定NetBIOS域名TRSCLUSTER(这个域名用于之后登陆该域使用,警告可以忽略)
先决条件检查
然后,下一步,最后安装完成后会自动重启计算,重启完成即可。
重启完成后用 域名\Administrator 登录到系统中。
接下来用域管理员登录以后,可以创建一个域账号,然后指定域账号为永不过期,不可修改。并且指定域账号的权限为管理该域。后面会用到该账号。
如图选择ActiveDirectory用户和计算机
新建一个域用户
下一步
指定用户密码永不过期,用户不能更改密码
这里设置的用户名密码为:trsadmin/*********
完成
提升用户权限为domainadmin
确定
接下来讲DomainAdmin设置为主要组,并且删除DomainUser组。
最后点击应用确定即可。
============================================================================
将节点加入域之前,需要先配置节点的ip地址。
如图节点一ip配置:
由于使用虚拟机,其中Ethernet0是nat转换网卡,所以配置为私有的ip地址,具体ip网段可以查看虚拟化后生成的网段,然后手动修改。
注:实体机的时候可以配置一个真是IP再配置一个任意ip即可
Ethernet1是桥接的物理机网卡状态,所以配置ip地址同物理机一样即可。其中DNS指定为域控服务器的ip地址。
如图,私有ip地址配置如下所示:
选择高级
取消如图所示的勾选。
如图所示禁用TCP/IP上的NetBIOS.
私有ip配置完毕。
接下来配置公共ip,如下图所示:配置好ipv4的地址即可
接下来指定网卡的顺序。将公共网卡指定为第一位。
调出菜单栏,选择高级---高级设置
指定顺序
两个网卡的ipv6协议最好都取消掉。
网卡配置完毕后是加入域。
接下来是将节点加入域
加入域之前,将两个节点都安装上故障转移群集管理功能。安装方式同添加域服务器时相同,区别是只选择故障转移群集管理即可。
添加域的方法,选择这台电脑,右键选择属性。
选择更改设置,选择域,指定域名,点击确定。
加入域时,需要输入域账号,加入域完成后,需要重启计算机。
重启完成之后使用之前创建的域管理员账号登录系统
TRSCLUSTER\trsadmin
*******登录系统。
————————————————————————————————————————————————————————————————————————-——————
接下来需要添加之前创建的iscsi虚拟磁盘,到节点服务器上。
选择iscsi发起程序
填写目标ip,即最开始创建iscsi服务的服务器ip地址。点击快速连接。
选择需要连接的目标
点击连接,完成,然后点击确定。
添加后,在本地还无法看到对应的磁盘卷。需要通过服务器管理添加。
选择文件和存储服务,选择磁盘,然后可以看到添加的iscsi虚拟磁盘都处于脱机状态,选中一个磁盘,然后点击联机。
联机后,选择新建卷
创建卷即可,然后一直下一步,默认直到创建完成为止。
另外一个节点同样处理过程。(备注,另一个节点不需要再做新建卷的操作。直接联机后即可。)
选择服务器管理---工具---故障转移群集管理器
然后点击创建群集,系统会进行验证配置。
如果这里验证完成后有错误,说明之前配置的还存在问题,需要返回前面的步骤并检查配置。
配置分布式事务角色
这里ip需要填写一个未被分配的ip地址。
然后下一步,直到安装完成为止。
安装完成后,可以通过群集管理器查看节点和磁盘。
这时需要指定其中一个群集磁盘为群集共享卷。
方法是选中群集磁盘,右键,将磁盘添加到群集共享卷。
选择的集群管理器
打开群集管理界面
然后右键选择配置角色,或者从图示地方进入
下一步,选择如图所示:
指定名称,和ip地址,这里的ip地址要指定一个未被分配的ip地址。
下一步选择存储,指定为之前分配的iscsi虚拟磁盘的msdtc磁盘。
然后点击确认。直到最后安装完成。
然后安装数据库
主节点:
这里的ip地址同样需要填写一个未被分配的ip地址
另外一个节点的安装:
选择向SQLServer添加节点
下一步
下一步
一直下一步
选择安装另外一个节点。
然后一直下一步,这里都是默认会识别到之前的主节点。
中间需要填写下 域用户的密码
直到安装完成为止。
可以使用ping 数据库集群的虚拟ip地址。(之前安装数据库主节点是指定的IP地址)
不间断的ping 这个虚拟ip地址,
或者直接使用数据库连接工具连接,访问数据库。将其中一台服务器关机后,数据库始终可以使用。
使用工具连接数据库