手把手教学无域搭建SQL server always on 高可用集群部署故障转移 ...

打印 上一主题 下一主题

主题 949|帖子 949|积分 2847

实操!实操!真实生产情况使用!觉对可行!亲测!踩坑无数!绝对靠谱!
查阅网络所有资料,手撸微软官方文档,总结了这篇!

  一. 准备情况

额,实在需要额外一台服务器,这台服务器任意什么都行,实在就是推举投票用的。文件服务器也可以。我这里又任意找了一台Windows 10 体系的电脑。
两台数据服务器 + 一台任意服务器
体系
名称
ip地点
服务器
Windows Server 2019
master
192.168.30.251
数据服务器
Windows Server 2019
backup
192.168.30.252
数据服务器
Windows 10
-
192.168.30.130
任意服务器
-
MyCluster
192.168.30.253
假造IP
-
MK-SQL
192.168.30.254
假造IP
1.设置计算机网络

所有服务器都要配置成上面表格中的ip


2.设置dns

每台服务器都设置
打开文件路径 C:WindowsSystem32driversetc , 编辑 host 文件
添加如下内容,保存。
  1. 192.168.30.251 master.supcon.com
  2. 192.168.30.252 backup.supcon.com
  3. 192.168.30.253 MyCluster.supcon.com #集群IP,虚拟的
  4. 192.168.30.254 mk-SQL #监听器IP
复制代码

然后刷新dns缓存。
打开cmd下令行窗口。输入 ipconfig /flushdns

3.修改计算机名

两台数据服务器都要修改。修改两台,一台叫master,一台叫backup。


二、搭建Windows故障转移集群


打开添加角色和功能,一路下一步,最后勾选 故障转移集群。






最后一步安装完成后,要重启一下服务器,两台数据服务器都要安装,都要重启。
2.配置

打开故障转移集群管理器

创建集群


这一步可以跳过验证,
(因为我已经配置过了,当地不能再配置,所有下面有一些是我在网上找的图,只需要修改我标注的地方)


这里的名字和ip是我们开头的表格中确定好的。上图中如果是多网卡的,要只勾选一个咱们用的的那个网卡。点击下一步。

正在创建

最后会提示创建完成,如果中心失败的话,看错误提示百度问题吧。

完成。 这就会在侧面看到咱们创建好的集群。

如果没有的话,在侧边可打开,

三、251、252安装SqlServer2019

1、C盘中新建一个gdmk文件夹(两台都要建),文件夹权限Everyone读取/写入
2、数据库安装:

注意事项:
SqlServer2019安装功能时全选,排除掉”机器学习服务“,用户验证选择“混合模式”,然后下一步…
3、251、252 开启AlwaysOn

开启alwayson

4、在数据库里安装证书
在主服务器运行
USE master;
  1. GO
  2. CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Abc123';
  3. CREATE CERTIFICATE CERT1 WITH SUBJECT = 'CERT1', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
  4. BACKUP CERTIFICATE CERT1 TO FILE = 'C:gdmkCERT1.cer';
  5. CREATE ENDPOINT [group0_endpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
  6. FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT1, ENCRYPTION = REQUIRED ALGORITHM AES)
  7. GO
复制代码
在从服务器运行
  1. USE master;
  2. GO
  3. CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Abc123';
  4. CREATE CERTIFICATE CERT2 WITH SUBJECT = 'CERT2', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
  5. BACKUP CERTIFICATE CERT2 TO FILE = 'C:gdmkCERT2.cer';
  6. CREATE ENDPOINT [group0_endpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
  7. FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT2, ENCRYPTION = REQUIRED ALGORITHM AES)
  8. GO
复制代码
5、互换和载入对方的证书
将主服务器证书C:gdmkCERT1 拷贝到从服务器目次C:gdmkCERT1
将从服务器证书C:gdmkCERT2 拷贝到主服务器目次C:gdmkCERT2

6、新建数据库,并且运行sql文件导入数据

7、数据库备份,

直接确定就可以

8、创建alwayson


名字:myalwayson,下一步










ok,到现在就几本配置完成了,可以测试一下,直接连接 192.168.30.254 这个假造IP的数据库就可以大概连接乐成。
4、故障转移仲裁

这一步调的作用就是,主备切换用的,当主服务器宕机,要把从服务器切换到主。

因为我们只有两台数据服务器是双数,所以默认的多节点推举模式,我们用不了,因为当有任意一台服务器宕机,他们没办法靠本身来判断到底是谁断开连接了,所以咱们就要再让另一台服务器来再投一票,这样就可以知道谁是宕机谁是正常的了。
选择仲裁见证,下一步。

配置文件共享仲裁,下一步

选择共享路径,然后一路下一步,完成。
重点!!!重点!!!重点!!!
因为我们是没加域所以在这里,怎么选择都会报错,(这个地方我搜寻了好几天的资料,网上的几乎所有的博客都没有介绍这里报错怎么搞,最后终于在微软的官网文档找到了解决办法)
如果给服务器加了域,这里应该不会报错。(这我没试过,当初不加域,就是为了省事,省一台域服务器)

所以这个怎么解决呢,看下面。
1、在数据服务器中 打开 PowerShell 提示符。
2、运行以下下令,将聚集仲裁配置为使用文件共享见证。 体系会提示输入文件共享见证的当地根据。
下面的是我的服务器集群名和共享文件夹地点,你们要对应替换成本身的。 将 MyCluster 替换为聚集的名称,将 92.168.30.130DSQL_NET 替换为文件共享见证的路径。
  1. Set-ClusterQuorum -Cluster MyCluster -FileShareWitness \192.168.30.130DSQL_NET -Credential (Get-Credential)
复制代码
3、验证聚集仲裁设置,请运行以下下令。
同样替换MyCluster 为本身的。
  1. Get-ClusterQuorum -Cluster MyCluster | Format-List *
复制代码
ok , 这就乐成了, 在打开集群页面。

可以看到图中的见证,已经配置上了,如果下面的状态表现的不是联机利市动右键连接一下。
这样就完成了,全部配置乐成。
四、测试

随意拔掉 主服务器的网线,或者从服务器的网线,我们假造的192.168.30.254 的假造ip的数据库都可以正常的读写。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

九天猎人

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表