手把手教学无域搭建SQL server always on 高可用集群摆设故障转移
实操!实操!真实生产环境使用!觉对可行!亲测!踩坑无数!绝对靠谱!查阅网络全部资料,手撸微软官方文档,总结了这篇!
一. 准备环境
额,其实必要额外一台服务器,这台服务器随便什么都行,其实就是选举投票用的。文件服务器也可以。我这里又随便找了一台Windows 10 系统的电脑。
两台数据服务器 + 一台任意服务器
系统名称ip地址服务器Windows Server 2019master192.168.30.251数据服务器Windows Server 2019backup192.168.30.252数据服务器Windows 10-192.168.30.130任意服务器-MyCluster192.168.30.253虚拟IP-MK-SQL192.168.30.254虚拟IP 1.设置计算机网络
全部服务器都要配置成上面表格中的ip
https://img-blog.csdnimg.cn/img_convert/97cd12cc4e48bdd7df63bf017a459524.png
https://img-blog.csdnimg.cn/img_convert/26c3abb42d569faecf3e65eea4d5c449.png
2.设置dns
每台服务器都设置
打开文件路径 C:\Windows\System32\drivers\etc , 编辑 host 文件
添加如下内容,保存。
192.168.30.251 master.supcon.com
192.168.30.252 backup.supcon.com
192.168.30.253 MyCluster.supcon.com #集群IP,虚拟的
192.168.30.254 mk-SQL #监听器IP
https://img-blog.csdnimg.cn/img_convert/3d9140b16f6021928cc32df12f68fcbf.png
然后刷新dns缓存。
打开cmd下令行窗口。输入 ipconfig /flushdns
https://img-blog.csdnimg.cn/img_convert/c88afd98e65c9d4e01f8a52daf316a44.png
3.修改计算机名
两台数据服务器都要修改。修改两台,一台叫master,一台叫backup。
https://img-blog.csdnimg.cn/img_convert/2b82064837d80a6349cfd431548db725.png
https://img-blog.csdnimg.cn/img_convert/4f7529e6afe465d98769c831c9bc346b.png
二、搭建Windows故障转移集群
https://img-blog.csdnimg.cn/img_convert/483ef507d183b557a0fb383cd0b38349.png
打开添加脚色和功能,一路下一步,末了勾选 故障转移集群。
https://img-blog.csdnimg.cn/img_convert/a49aee10e91aea4bfe1b324c5afa30bf.png
https://img-blog.csdnimg.cn/img_convert/3d9140b16f6021928cc32df12f68fcbf.png
https://img-blog.csdnimg.cn/img_convert/1ffdda652975d12add40ca7cd3245bb5.png
https://img-blog.csdnimg.cn/img_convert/6404aa749db70a3d8770cd3160e07f9c.png
https://img-blog.csdnimg.cn/img_convert/8ceae253ee5ec3dcba5ac5b12f7a1901.png
https://img-blog.csdnimg.cn/img_convert/722c30d32f06fee3e2ec977aced6d289.png
末了一步安装完成后,要重启一下服务器,两台数据服务器都要安装,都要重启。
2.配置
打开故障转移集群管理器
https://img-blog.csdnimg.cn/img_convert/020d3c210aef6e2860ad008d37abf107.png
创建集群
https://img-blog.csdnimg.cn/img_convert/52dd8cea9c70663363f3efaf966ec195.png
https://img-blog.csdnimg.cn/img_convert/2d2011b4650a0d1004e8ca8d6a601d88.png
这一步可以跳过验证,
(因为我已经配置过了,当地不能再配置,全部下面有一些是我在网上找的图,只必要修改我标注的地方)
https://img-blog.csdnimg.cn/img_convert/77c8e6bd1486138a12677a0c6533eaed.png
https://img-blog.csdnimg.cn/img_convert/4c8bbc5e3ed9817880b55d06d586608c.png
这里的名字和ip是我们开头的表格中确定好的。上图中如果是多网卡的,要只勾选一个咱们用的的那个网卡。点击下一步。
https://img-blog.csdnimg.cn/img_convert/ea8330705304ffc5fdc8dd239c8a5bbb.png
正在创建
https://img-blog.csdnimg.cn/img_convert/d3218871c659fbf5faabdf57f64f1d7e.png
末了会提示创建完成,如果中间失败的话,看错误提示百度问题吧。
https://img-blog.csdnimg.cn/img_convert/cde403507b88df1de877b65debfeba2c.png
完成。 这就会在侧面看到咱们创建好的集群。
https://img-blog.csdnimg.cn/img_convert/87862691f2a73d92984db7a4cdf0cc71.png
如果没有的话,在侧边可打开,
https://img-blog.csdnimg.cn/img_convert/83b73d80e2324f6c025d2dcb4f18a656.png
三、251、252安装SqlServer2019
1、C盘中新建一个gdmk文件夹(两台都要建),文件夹权限Everyone读取/写入
2、数据库安装:
略
留意事项:
SqlServer2019安装功能时全选,排除掉”呆板学习服务“,用户验证选择“混淆模式”,然后下一步…
3、251、252 开启AlwaysOn
https://img-blog.csdnimg.cn/img_convert/3782acd5b1d38293ca76542cce2e8328.png
开启alwayson
https://img-blog.csdnimg.cn/img_convert/ff526fb16a3c29488ce45322b06ca45b.png
4、在数据库里安装证书
在主服务器运行
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Abc123';
CREATE CERTIFICATE CERT1 WITH SUBJECT = 'CERT1', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
BACKUP CERTIFICATE CERT1 TO FILE = 'C:\gdmk\CERT1.cer';
CREATE ENDPOINT AUTHORIZATION STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT1, ENCRYPTION = REQUIRED ALGORITHM AES)
GO
在从服务器运行
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Abc123';
CREATE CERTIFICATE CERT2 WITH SUBJECT = 'CERT2', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
BACKUP CERTIFICATE CERT2 TO FILE = 'C:\gdmk\CERT2.cer';
CREATE ENDPOINT AUTHORIZATION STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT2, ENCRYPTION = REQUIRED ALGORITHM AES)
GO
5、互换和载入对方的证书
将主服务器证书C:\gdmk\CERT1 拷贝到从服务器目次C:\gdmk\CERT1
将从服务器证书C:\gdmk\CERT2 拷贝到主服务器目次C:\gdmk\CERT2
https://img-blog.csdnimg.cn/img_convert/5bfecf005911c0da10c1547eb9e98b79.png
6、新建数据库,并且运行sql文件导入数据
略
7、数据库备份,
https://img-blog.csdnimg.cn/img_convert/5a8fe7f3e6ba5eda4efe37a4748249a3.png
直接确定就可以
https://img-blog.csdnimg.cn/img_convert/0a8296064dbfe85c2ed2ac7fc08044c7.png
8、创建alwayson
https://img-blog.csdnimg.cn/img_convert/a4ee7e2434737db863693f40b1488890.png
https://img-blog.csdnimg.cn/img_convert/b3167d053d9a74aeab01f497a71c18d4.png
名字:myalwayson,下一步
https://img-blog.csdnimg.cn/img_convert/44b1b652b00a677c8e3a2405f8c157ab.png
https://img-blog.csdnimg.cn/img_convert/77859530161cb4202022a23b45810733.png
https://img-blog.csdnimg.cn/img_convert/9cf1988467fc4473ad75fe71d446fbc6.png
https://img-blog.csdnimg.cn/img_convert/9e692932324e16fd8a8941b394d3f821.png
https://img-blog.csdnimg.cn/img_convert/8aeea9f3cc1f5c219873848c20aa0023.png
https://img-blog.csdnimg.cn/img_convert/7d5d440e199077a4b622b0350ff9076c.png
https://img-blog.csdnimg.cn/img_convert/170f17f34f537998fe38edf7e0a2b0b5.png
https://img-blog.csdnimg.cn/img_convert/d92aff8c1169962bdc3d8f1ca5115e16.png
https://img-blog.csdnimg.cn/img_convert/38dcf332f6c90e39a66b7d4caff0706e.png
https://img-blog.csdnimg.cn/img_convert/2ab0ace52d0daa5c23490357e1332fb9.png
ok,到现在就几本配置完成了,可以测试一下,直接毗连 192.168.30.254 这个虚拟IP的数据库就可以或许毗连成功。
4、故障转移仲裁
这一步骤的作用就是,主备切换用的,当主服务器宕机,要把从服务器切换到主。
https://img-blog.csdnimg.cn/img_convert/8b16b78dfad2c913ef3ea709c63f7312.png
因为我们只有两台数据服务器是双数,以是默认的多节点选举模式,我们用不了,因为当有任意一台服务器宕机,他们没办法靠本身来判断到底是谁断开毗连了,以是咱们就要再让另一台服务器来再投一票,这样就可以知道谁是宕机谁是正常的了。
选择仲裁见证,下一步。
https://img-blog.csdnimg.cn/img_convert/ee56780e3f772f63dec1f14ba8dec5be.png
配置文件共享仲裁,下一步
https://img-blog.csdnimg.cn/img_convert/66c2700b264477353da85a7e5826ce2e.png
选择共享路径,然后一路下一步,完成。
重点!!!重点!!!重点!!!
因为我们是没加域以是在这里,怎么选择都会报错,(这个地方我搜寻了好几天的资料,网上的几乎全部的博客都没有介绍这里报错怎么搞,末了终于在微软的官网文档找到相识决办法)
如果给服务器加了域,这里应该不会报错。(这我没试过,当初不加域,就是为了省事,省一台域服务器)
https://img-blog.csdnimg.cn/img_convert/3ef477ef664c09e2539974c997e96e3d.png
以是这个怎么办理呢,看下面。
1、在数据服务器中 打开 PowerShell 提示符。
2、运行以下下令,将群集仲裁配置为使用文件共享见证。 系统会提示输入文件共享见证的当地凭据。
下面的是我的服务器集群名和共享文件夹地址,你们要对应更换成本身的。 将 MyCluster 更换为群集的名称,将 \192.168.30.130\D\SQL_NET 更换为文件共享见证的路径。
Set-ClusterQuorum -Cluster MyCluster -FileShareWitness \\192.168.30.130\D\SQL_NET -Credential (Get-Credential)
3、验证群集仲裁设置,请运行以下下令。
同样更换MyCluster 为本身的。
Get-ClusterQuorum -Cluster MyCluster | Format-List *
ok , 这就成功了, 在打开集群页面。
https://img-blog.csdnimg.cn/img_convert/2045598d92052bf5db34177879131313.png
可以看到图中的见证,已经配置上了,如果下面的状态表现的不是联机就手动右键毗连一下。
这样就完成了,全部配置成功。
四、测试
随意拔掉 主服务器的网线,大概从服务器的网线,我们虚拟的192.168.30.254 的虚拟ip的数据库都可以正常的读写。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]