SQL Server 2016 无域群集配置 AlwaysON 可用性组

时间:2022-11-24 01:22:18

windows server 2016 与 sql server 2016 高可用允许不许要加入AD ,管理方面省了挺多操作,也不用担心域控出现问题影响各服务器了。


本测试版本: window server 2016 datacenter + sql server 2016 ctp


IP规划:

主机名

IP

说明

ad

192.168.2.2

域服务器(kk.com)windows xp

Server131

192.168.2.131

节点

Server132

192.168.2.132

节点

Winclt2016

192.168.2.139

群集

Testag_listener

192.168.2.135

可用性组监听器


要求:每个节点都创建一个本地的计算机用户,要求账号密码一致,并隶属于管理员组 “Administrators” 。

也可使用默认的管理员账号administrator ,如果使用的不是默认的计算机管理员账号 administrator,则配置注册表添加 LocalAccountTokenFilterPolicy 设置为 1 。

如下:

new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1

本次测试使用的是默认的管理员账号:administrator

因不需要将计算机就加入到域中,但是DNS还是需要配置的,所以先安装DNS服务器,此处略过……


各节点配置网卡信息:

SQL Server 2016 无域群集配置 AlwaysON 可用性组


服务器不加入AD,但需要配置DNS后缀,如下:

SQL Server 2016 无域群集配置 AlwaysON 可用性组


配置完成后,重启节点计算机,各节点就能通过服务器全名 (SERVER131.KK.COM) 相互ping通了。

在DNS服务器管理中,将各节点主机手动添加到DNS中,如下:

SQL Server 2016 无域群集配置 AlwaysON 可用性组

添加完成后,DNS服务器也可以通过节点全名ping通各服务器了!

配置好节点名称和ip相关后,在各节点 添加 故障转移群集工具,同时添加 .net framwork 3.5


选择其中一个节点(将作为主节点),创建群集。

视频教程:https://msdnshared.blob.core.windows.net/media/2016/08/WorkgroupCluster.mp4?_=1

到选择服务器时注意!如下图,应直接输入各节点名称,再确认添加。若从“浏览” 查找,可能找不到服务器;或者即使找到服务器,确认要添加的服务器时会出错。

SQL Server 2016 无域群集配置 AlwaysON 可用性组

此处设置群集名称和IP:

SQL Server 2016 无域群集配置 AlwaysON 可用性组


接下来创建磁盘,配置仲裁,操作和以前版本差不多一样。


完成后在各节点独立安装 ms sql server 2016,服务账号选择本地管理员账号。(操作和以往版本一样)

SQL Server 2016 无域群集配置 AlwaysON 可用性组

SQL Server 2016 无域群集配置 AlwaysON 可用性组


配置 alwayson 可用性组,操作差不多。

但是既然节点没有加入AD,那么久不能用域认证,只能用证书认证,因此需要创建证书和端点。在配置可用性组前各节点进行证书认证信任。


本测试以两个节点为例,个节点数据库创建的证书,都备份并在其他节点还原。

--共享文件夹路径:C:\ClusterStorage\Volume1\

--节点一:创建主密钥/证书/端点,备份证书。
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'kk_testag2016';
GO
CREATE CERTIFICATE Cert_server131
WITH SUBJECT = 'Cert_server131',
START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
GO
BACKUP CERTIFICATE Cert_server131
TO FILE = 'C:\ClusterStorage\Volume1\Cert_server131.cer';
GO
CREATE ENDPOINT [testag_endpoint]
AUTHORIZATION [server131\administrator]
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING
(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_server131, ENCRYPTION = REQUIRED ALGORITHM AES)
GO

--节点二:创建主密钥/证书,备份证书。
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'kk_testag2016';
GO
CREATE CERTIFICATE Cert_server132
WITH SUBJECT = 'Cert_server132',
START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
GO
BACKUP CERTIFICATE Cert_server132
TO FILE = 'C:\ClusterStorage\Volume1\Cert_server132.cer';
GO
CREATE ENDPOINT [testag_endpoint]
AUTHORIZATION [server132\administrator]
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING
(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_server132, ENCRYPTION = REQUIRED ALGORITHM AES)
GO

--节点一:创建其他节点证书
USE master;
GO
CREATE CERTIFICATE Cert_server132
FROM FILE = 'C:\ClusterStorage\Volume1\Cert_server132.cer';
GO

--节点二:创建其他节点证书
USE master;
GO
CREATE CERTIFICATE Cert_server131
FROM FILE = 'C:\ClusterStorage\Volume1\Cert_server131.cer';
GO


完成后可配置可用性组了:同步提交可以设置3个了

SQL Server 2016 无域群集配置 AlwaysON 可用性组


端点配置:端点填写刚才创建的端点名称,填写后, “端口号”+“端点名称”+“对数据进行加密” 则变为不可更改。其他配置一样。

SQL Server 2016 无域群集配置 AlwaysON 可用性组

完成如下:

SQL Server 2016 无域群集配置 AlwaysON 可用性组


详细步骤截图下载:AlwaysOn无域高可用组2016.rar

SQL Server 2016 无域群集配置 AlwaysON 可用性组