SqlServer2016 无域AlwaysOn双机高可用性配置

Windows Server 2016 以及 SQL Server 2016出来已有一段时间了,因为Windows Server 2016可以配置无域的Windows群集,因此也能够以此来配置无域的SQL Server AlwaysOn 高可用。

下面就来一步一步配置2个节点的无域的SQL AlwaysOn

环境准备:

(1)2台物理服务器,也可以是2台虚拟机。操作系统:Windows Server 2016 Datacenter

(2)2台服务器上均安装SQL Server 2016 (也可以是SQL Server 2012)

IP以及名称规划:

节点1(物理服务器或虚拟机):JF-SQLDB01 IP地址:10.2.218.131

节点2(物理服务器或虚拟机):JF-SQLDB02 IP地址:10.2.218.132

Windows群集名称:JF-AlwaysOn IP地址:10.2.218.130 (虚拟IP)

可用性组名称:SQLAG

SQL侦听器名称:JFSQL01 IP地址:10.2.218.133(虚拟IP)

注意事项:

1,只有Windows Server 2016 操作系统才能配置不依赖域的群集 ,2台服务器的操作系统,安全补丁,SQL Server版本要完全一致。

2,两个节点的Windos Server 2016 都以Administrator账户登录,并且两台服务器的Administrator密码相同,无特殊意义,只是为了方便后续的操作。

3,两个节点的SQL Server 2016 服务启动账户都设置成Administrator 。2个节点的数据库都有Administrator的登录名,也就是使用Administrator登录服务器时,可用Windows身份验证登录SQL Server。

即:节点1的SQL Server上有:JF-SQLDB01\administrator ;节点2上有:JF-SQLDB02\administrator ;这2个登录账号,在安装SQL Server的时候可创建。均有sysadmin权限。

一:首先配置Windows故障转移群集(2个节点均使用Administrator登录)

第一步:安装Windows故障转移群集(所有节点都需要安装)

image

第二步:每个节点的计算机不需要加入域,但需要添加DNS后缀,且每个节点的后缀必须要相同(例如:test.cn),如下图所示的操作。

image

第三步:在每个节点上都添加一个用户(我增加的用户名称是DCAdmin),且用户名以及密码每个节点都一致,添加此用户的目的是为了2台服务器能访问共享文件夹。

image

第四步:在每个节点的 hosts 文件中添加每个节点的服务器IP地址和名称、群集IP地址和名称、侦听器IP地址和名称,如下所示。

hosts文件路径:C:\Windows\System32\drivers\etc

hosts文件可以用记事本打开

image
image

服务器名称,填写的是计算机全名,也就是服务器名带上之前设置的DNS名称后缀的名称,例如:JF-SQLDB01.test.cn。host文件需要在2个节点的服务器上都进行相同的操作。

第五步:设置允许应用或功能通过防火墙,两个节点均要设置,按照下面图中红框框出的地方设置,注意选项后面打勾的位置。

image
image
image

第六步:在DB1这个节点上,以管理员方式运行PowerShell ,使用脚本创建Windows群集。因为无域的群集没有图形化界面可设置,所以只能使用PowerShell 进行创建。

image

注意:如果登陆Windows Server 2016服务器的账户不是Administrator,需要先以管理员方式运行PowerShell,并执行下面的脚本:

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

因为我登陆Windows Server 2016用的是Administrator,所以跳过执行上面的命令,直接运行下面的PowerShell脚本:

New-Cluster -Name JF-AlwaysOn -Node JF-SQLDB01,JF-SQLDB02 -StaticAddress 10.2.218.130 -AdministrativeAccessPoint DNS

--获取集群名
Get-Cluster

--群集详情
Get-ClusterResource

image

使用Power Shell 安装群集后,在故障转移群集管理器中是看不到群集信息的,需要手动连接到群集,如下面图所示:

image

打开故障转移群集管理器后,在管理器处右键鼠标,选择“连接到群集” :

image

在弹出的对话框中手动输入群集的名称:

image

这样就能在故障转移群集管理器中看到群集的信息了。同样的方法在DB2的节点上再重复设置即可在DB2上看到群集信息。

image

二:配置SQL Server AlwaysOn
SQL Server的安装这里就不描述,直接从配置AlwaysOn开始操作。
1 ,这里配置AlwaysOn,我采用的是共享文件夹的方式,所以首先在DB1这个节点上创建一个共享文件夹添加之前在每个节点上都创建的用户DCAdmin,这样DB2这个节点也能访问。


image

2,在DB1和DB2上设置启用AlwaysOn

image

启用AlwaysOn会要求重启服务,重启就可以。

**3,重启服务后,查看服务器属性,确保 HADR 为 True **


image

既然节点没有加入域,那么就不能用域认证,只能用证书认证,因此需要在每个节点的数据库中创建其他节点的数据库证书。(请留意我连接数据库的账户,在创建端口的代码中有用到)

因此在配置可用性组前先在各节点配置证书认证信任。

4,分别在两个节点数据库上创建证书,并且彼此还原对方的证书,SQL代码如下:

注:我是在节点1上用administrator登录服务器,使用Windows身份登录SQL Server。在节点2上也是用administrator登录服务器,使用Windows身份登录SQL Server

--共享文件夹路径: ---\\JF-SQLDB01\SQLAlwaysOnShare   使用共享文件夹是为了方便读取每个节点的证书
--节点一上执行:创建主密钥/证书/端点,备份证书到共享文件夹中。
USE master;
GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'JFAlwaysOnShare2016'; ----密码
GO

CREATE CERTIFICATE Cert_DB01
WITH SUBJECT = 'Cert_DB01',
START_DATE = '2017-12-01',EXPIRY_DATE = '2099-12-31';  --证书的有效时间
GO

----导出证书,将证书放在共享文件夹里面
BACKUP CERTIFICATE Cert_DB01
TO FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB01.cer';    
GO

---创建端点
CREATE ENDPOINT [SQLAG_Endpoint]
AUTHORIZATION [JF-SQLDB01\administrator]    ----此账户是连接数据库的账户
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)   ---侦听端口,1024 和 32767 之间的任何数字都有效。侦听IP地址,默认值为 ALL,表示侦听器将接受任何有效 IP 地址上的连接
FOR DATA_MIRRORING
(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_DB01, ENCRYPTION = REQUIRED ALGORITHM AES)
GO

--节点二上执行:创建主密钥/证书,备份证书。
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'JFAlwaysOnShare2016';
GO

CREATE CERTIFICATE Cert_DB02
WITH SUBJECT = 'Cert_DB02',
START_DATE = '2017-12-01',EXPIRY_DATE = '2099-12-31';
GO

BACKUP CERTIFICATE Cert_DB02
TO FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB02.cer';
GO

CREATE ENDPOINT [SQLAG_Endpoint]
AUTHORIZATION [JF-SQLDB02\administrator]
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING
(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_DB02, ENCRYPTION = REQUIRED ALGORITHM AES)
GO


--节点一上执行:创建节点二的证书
USE master;
GO
CREATE CERTIFICATE Cert_DB02
FROM FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB02.cer';
GO

--节点二上执行:创建节点一的证书
USE master;
GO
CREATE CERTIFICATE Cert_DB01
FROM FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB01.cer';
GO

5,配置可用性组,接下来就和以前版本的配置是一样的了,不再描述,按照下面的截图一步一步配置

image
image
image
image
image
image
image
image
image
image
image

6,最后创建侦听器,当然,创建侦听器也可以在上一步设置。

image

image
image

最后,可以使用侦听器名称来连接数据库,数据库显示已同步,配置无域AlwaysOn成功。

image

本文地址:[https://blog.csdn.net/roven257/article/details/78691892)
作者博客:左君右峰

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,302评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,563评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,433评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,628评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,467评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,354评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,777评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,419评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,725评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,768评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,543评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,387评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,794评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,032评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,305评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,741评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,946评论 2 336

推荐阅读更多精彩内容