从零搭建故障转移,sql server2016 AlwaysOn无域高可用性全教程

Posted Archy_Wang_1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零搭建故障转移,sql server2016 AlwaysOn无域高可用性全教程相关的知识,希望对你有一定的参考价值。

一、简介

环境:小编使用的服务器是windows server 2016(系统服务器) + sql server 2016(数据库服务器)
(windows server 2016 + sql server 2016以上才可用无域高可用,windows server 2016 + sql server 2016下载地址MSDN, 我告诉你 - 做一个安静的工具站

windows server 2016 下载

sql server 2016 下载


下面进入主题吧!

ip地址

二、安装故障转移和.net3.5

主机名IP说明
win-138192.168.66.138服务器138,也就是节点138
win-138192.168.66.138服务器139,也就是节点139
mk-AlwaysOn192.168.66.137集群IP,虚拟的
mk-SQL192.168.66.140监听器IP

在服务器中添加角色和功能(两台计算机都要安装)

默认下一步,下一步,勾选NET Framework 3.5 功能故障转移群集,直到安装完成。


二.修改并加入域(两台计算机都要改)

在我的电脑中点击属性(也可以使用win+E进入文件夹,在此电脑中右键后点击属性)—>更改设置–>在弹出的窗口点击更改–>弹出的窗口点击其他–>最后点击确定(点击确定之后会重启电脑,点击立即重新启动)

修改HOST文件(两台计算机都要安装)

在文件夹中 C:\\Windows\\System32\\drivers\\etc 打开文件hosts,在hosts以笔记本或写字板方式打开,并进行新增和保存(保存不了的,把hosts文件复制到桌面后进行修改,修改完再覆盖C:\\Windows\\System32\\drivers\\etc中的hosts)
新增内容hosts(注意是自己的IP,请参考下面的表格图):

主机名IP说明
win-138192.168.66.138服务器138,也就是节点138
win-138192.168.66.138服务器139,也就是节点139
mk-AlwaysOn192.168.66.137集群IP,虚拟的
mk-SQL192.168.66.140监听器IP
 
  1. 192.168.66.137 mk-AlwaysOn

  2. 192.168.66.138 win-138.gdmk01.cn

  3. 192.168.66.139 win-139.gdmk01.cn

  4. 192.168.66.140 mk-SQL

  • 1
  • 2
  • 3
  • 4

三、关闭防火墙(两台电脑执行)

关闭防火墙,要不然故障转移会有问题

设置允许应用或功能通过windows防火墙

还是在刚刚的防火墙中点击设置允许应用或功能通过windows防火墙,设置以下几项

四、修改DNS(两台电脑执行)

在右下角网络中打开internet网络,设置DNS服务器

五、新建故障转移(任意一台电脑执行)

打开PoserShell运行以下代码,注意修改成自己的IP跟计算机名(参考上面的表格)

New-Cluster -Name mk-AlwaysOn -Node win-138,win-139 -StaticAddress 192.168.66.137 -AdministrativeAccessPoint DNS
  • 1

六、验证故障转移是否成功(任意一台电脑关机)

最好测试两台电脑(也可跳过不做这一步)

如WIN-139关机(有人问怎么打开这个界面?在服务器管理器–>工具–>故障转移群集–>右键故障转移群集管理器–>连接到群集(N)–>输入集群的名称,如:mk-alwayson)

恭喜各位故障转移已全部搞定,接下来就是sql server 2016的高可用性安装了

七、安装sql server 2016(两台电脑都要装)

下载地址:MSDN, 我告诉你 - 做一个安静的工具站 上面有提过的

安装的话就不介绍了,不懂的小朋友请参考特别注意安装的功能和目录要一致,否则高可用会失败https://jingyan.baidu.com/article/948f592434b407d80ef5f97d.html

八、设置共享文件

在C盘中新建一个gdmk文件夹
设置共享人为Everyone,修改权限级别为读取/写入

九、在配置管理器中启用高可用和修改账户名登录


十、安装证书(特别特别要小心)

SQL Server Management Studio (SSMS) 下载地址:下载 SQL Server Management Studio (SSMS) - SQL Server Management Studio (SSMS) | Microsoft Docs
–共享文件夹路径:\\win-138\\gdmk
注:下面登录用户均使用sa用户进行登录操作

节点1:WIN-138

 
  1. USE master;

  2. GO

  3. --创建主密钥

  4. CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Abc123';

  5. --创建证书 这里有两个"CERT1",建议每台机器都改成不同的名称以作区分

  6. CREATE CERTIFICATE CERT1 WITH SUBJECT = 'CERT1', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';

  7. --把刚才创建的证书备份到文件 这里也有两个CERT1要改

  8. BACKUP CERTIFICATE CERT1 TO FILE = 'C:\\gdmk\\CERT1.cer';

  9. --创建终结点,设为证书验证 这里第二行有1个CERT1要改

  10. CREATE ENDPOINT [group0_endpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)

  11. FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT1, ENCRYPTION = REQUIRED ALGORITHM AES)

  12. GO

节点2:WIN-139

  1. USE master;

  2. GO

  3. --创建主密钥

  4. CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Abc123';

  5. --创建证书 这里有两个"CERT1",建议每台机器都改成不同的名称以作区分

  6. CREATE CERTIFICATE CERT2 WITH SUBJECT = 'CERT2', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';

  7. --把刚才创建的证书备份到文件 这里也有两个CERT1要改

  8. BACKUP CERTIFICATE CERT2 TO FILE = 'C:\\gdmk\\CERT2.cer';

  9. --创建终结点,设为证书验证 这里第二行有1个CERT1要改

  10. CREATE ENDPOINT [group0_endpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)

  11. FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT2, ENCRYPTION = REQUIRED ALGORITHM AES)

  12. GO

节点1:WIN-138

 
  1. --载入其它节点证书

  2. --不用载入自己的证书!

  3. --不用载入自己的证书!

  4. --不用载入自己的证书!

  5. --CREATE CERTIFICATE CERT1 FROM FILE = 'C:\\gdmk\\CERT1.cer';

  6. CREATE CERTIFICATE CERT2 FROM FILE = 'C:\\gdmk\\CERT2.cer';

  7. GO

节点2:WIN-139

 
  1. --载入其它节点证书

  2. --不用载入自己的证书!

  3. --不用载入自己的证书!

  4. --不用载入自己的证书!

  5. CREATE CERTIFICATE CERT1 FROM FILE = 'C:\\gdmk\\CERT1.cer';

  6. --CREATE CERTIFICATE CERT2 FROM FILE = 'C:\\gdmk\\CERT2.cer';

  7. GO

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

十、新建可用性组

数据库先备份








最后一直下一步,直到完成!

大功告功!

以上是关于从零搭建故障转移,sql server2016 AlwaysOn无域高可用性全教程的主要内容,如果未能解决你的问题,请参考以下文章

从零搭建故障转移,sql server2016 AlwaysOn无域高可用性全教程

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

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

在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群

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

Windows Server2016+SqlServer2016搭建AlwaysOn集群