完整安装always on 集群
准备工作
1、 四台已安装windows server 2008 r2 系统的虚拟机,配置如下:
CPU : 1核
MEMORY : 2GB
DISK : 40GB(未分区)
NetAdapter : 2块
2、 网卡设置:
本地连接:外网IP(由于虚拟机本身处于内网网段,192.168.1.2-192.168.1.255,在此我们把当前内网视为外网公开的IP)。
PC01:192.168.1.241 (域主机)
PC02:192.168.1.242 (集群主节点)
PC03:192.168.1.243 (集群辅助节点)
PC04:192.168.1.244 (集群辅助节点)
本地连接2:域内网IP。这里设置为192.168.10.1
PC01:192.168.10.1 (域主机)
PC02:192.168.10.2 (集群主节点)
PC03:192.168.10.3 (集群辅助节点)
PC04:192.168.10.4 (集群辅助节点)
3、 虚拟机默认安装只有一块网卡,以下演示添加网卡:
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330142559844-909718150.png)
注意:此时两块网卡都处于NAT模式,在此我将第一个网络适配器的网络连接模式改为桥连接,目的是为了与我物理机所处的内网电脑进行交互。
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330142704857-378525955.png)
安装域控制器和配置域
安装域控制器
在IP:192.168.1.241这台虚拟机上建立域控制器
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330142728032-460849611.png)
注意:在未配置固定IP时,无法安装有效的域控制器
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330142740309-140207362.png)
此时我们设置虚拟机的固定外网IP(注意:这里没有配置DNS服务器地址,所以无法在虚拟机上面连接到真实外网,在正式环境中,需要配置DNS服务器地址):
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330142822484-686836582.png)
内网IP:
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330142837091-878160779.png)
再次来安装域控制器:
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330142850197-340236749.png)
域控制器安装完成
安装域服务和配置域
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330142940713-1443226062.png)
域配置完成后,会提示重启虚拟机,请立即重启!
将其它几台虚拟机加入域
先将其它几台虚拟机的第二块网卡,也就是本地连接2的IP地址改为准备工作中的IP地址,
同时,DNS服务器指向内网IP为192.168.10.1的虚拟机,这个是必须的,否则无法加入新建的域。
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330143156854-1478757635.png)
加入域成功,立即重启虚拟机!
安装和配置windows server故障转移集群
先安装.net framework 3.5
安装完成!
安装故障转移功能
配置故障转移集群
使用NewCluster\administrator账户登录除域主机外的所有虚拟机,
注意:域管理员账户才能配置故障转移集群
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330143459200-451032628.png)
创建一个故障转移集群
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330143531252-706580177.png)
检查防火墙,将域防火墙关闭
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330143637515-466611611.png)
但依旧有问题,这时我发现PC03和PC04两台虚拟机的外网IP是自动获取,于是将其分别修改:
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330143708238-1452871433.png)
然后再添加节点:
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330143722495-1149794787.png)
集群配置完成。
安装和配置sqlserver 2012 always on集群
安装sqlserver 2012
在集群的每一台虚拟机上安装sqlserver2012
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330143919952-782122895.png)
选择安装账户,这里选择是域管理员账户
重启计算机,完成sqlserver2012的安装!
配置sqlserver 2012
为每个节点的虚拟机的sqlserver服务开启alwayson功能
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144246276-1532007084.png)
配置别名
IP:192.168.10.2
同样在32位的客户端也添加上同样的别名
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144401072-1944864466.png)
打开32位和64位客户端协议中的命名协议
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144422580-392159626.png)
IP:192.168.10.3(操作步骤跟上面相同)
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144438486-1219454564.png)
IP:192.168.10.4
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144457289-951139977.png)
使用别名测试登录
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144516887-431279460.png)
注意:如果安装时未使用域管理员账户,并且未将与管理员账户加入sqlserver管理员账户组中,将无法采取windows验证模式使用域管理员账户免密码登录sqlserver
配置always on
准备工作
1、 创建文件夹用于存储数据库备份。
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144607424-177498823.png)
2、 创建一个测试数据库,并备份数据库。如果已有数据库,只需备份数据库。
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144622054-1293561599.png)
3、 将备份路径共享
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144634190-730567435.png)
创建alwayson高可用性组
只需要在IP:192.168.10.2上创建即可
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144708760-409003468.png)
注意:一定要先修改数据库恢复模式为完整恢复模式,并完整备份数据库。否则这里的状态会显示为不满足先决条件。
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144738912-475616103.png)
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144802539-68677195.png)
添加侦听器
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144830860-1810476314.png)
到此alwayson集群完成:
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144851034-1365165250.png)
测试集群:
在主节点IP:192.168.10.2上创建一个表,并插入一条数据
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144903338-662950843.png)
在辅助节点IP:192.168.10.3上查看表和数据
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144912077-970103493.png)
在辅助节点IP:192.168.10.4上查看表和数据
![](https://images2018.cnblogs.com/blog/1349445/201803/1349445-20180330144923913-1577125389.png)
测试成功!
关于应用程序连接集群问题,应该是连接集群的虚拟IP,也可以用SSMS直接连接虚拟IP,此时,sa账户的密码一定要在集群所有节点上配置一样。否则集群切换后,使用sa的账户连接会出现密码错误问题。