admin管理员组

文章数量:1537067

文章目录

  • 前言
  • 一、百度网盘下载地址
  • 二、前提条件
  • 二、环境准备
  • 三、部署准备
    • ECS服务器准备
    • IP规划及名称规划
  • 四、开始部署
    • 添加角色和功能
    • 计算机基本属性修改
    • IP地址属性配置
    • Host文件修改
    • 网络通信检查
    • 故障转移群集创建
    • 连接查看故障转移群集
  • 五、 SQL Server配置
    • SQLServer配置管理器设置
    • SQLServer证书认证
    • 数据库创建,全量、日志备份数据库
    • AlwaysON创建
    • 侦听器创建
    • 使用侦听器登录数据库
  • 故障转移群集管理设置
    • 仲裁配置
    • 故障转移故障数设置
    • 资源策略次数设置
  • DNS管理设置
    • 创建正向查找区域
    • 配置正向查找区域
  • 注意事项
  • 总结


前言

本案例基于阿里云ECS服务器实现的2016版本无域环境搭建SQLServer Always On,若无阿里云服务器,也可以在本机安装VMware Workstation Pro虚拟机,安装WindowsServer2016中心版


一、百度网盘下载地址

1.Windows Server 2016(内附各版本激活密钥)
链接:https://pan.baidu/s/1m-dB2CHZGFoIqoKHROoMog
提取码:00bb

2.SQL Server 2016企业版
链接:https://pan.baidu/s/1cfmwPWzCWmeagt33a0ETNQ
提取码:zqt6

3.VMware Workstation Pro 12
链接:https://pan.baidu/s/1JIdkTImu56qvluKcSWw4QQ
提取码:x9ca

二、前提条件

1.1 硬件
(1)2台ECS服务器,非阿里云ECS服务器用镜像文件安装Windows Server服务器也可以。
(2)2016版本必须准备2台服务器!这是重点!!!!

测试环境建议2核,硬盘60G,内存2G即可,生产环境建议内存8G及以上,4核CPU。

1.2 软件
(1).NET Framework 4.0 及以上
(2)Windows Server 2016 64位数据中心版
(3)SQL Server 2016 64位企业版

二、环境准备

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

(2)2台服务器上均安装SQL Server 2016

三、部署准备

ECS服务器准备

1.要用专有网络,经典网络会把公网IP注册到WSFC的VIP

2.安全组开放端口

IP规划及名称规划

注意:
两个节点的Windos Server 2016 都以Administrator账户登录,
并且两台服务器的Administrator密码必须相同,也可以单独在两个节点创建一个相同账号名和密码的账户,并且加入administrator组

计算机名管理员账号管理员密码IP地址
ServerDB1 (节点1)Administratorlenpos@123172.17.32.1
ServerDB2 (节点2)Administratorlenpos@123172.17.32.2
Windows群集名称IP地址(虚拟ip)
cluster_youhao172.17.32.10
SQL侦听器名称IP地址(虚拟ip)
listener172.17.32.20

四、开始部署

添加角色和功能

两个节点均需要安装一下功能和角色:
(1)安装DNS服务器,
(2)Windows故障转移群集,
(3)NET Framework 4.6功能



计算机基本属性修改

(1)修改计算机名称
(2)添加DNS后缀





IP地址属性配置






Host文件修改

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


注意:两个节点服务器都需要配置Host文件

网络通信检查

关闭两个节点的防火墙,互相Ping对方的ip地址,服务器名称,服务器名称+dns后缀

节点1 cmd执行
PING 172.17.32.2
PING ServerDB2
PING ServerDB2.youhao.com
节点2 cmd执行
PING 172.17.32.1
PING ServerDB1
PING ServerDB1.youhao.com

互相能PING通代表配置成功!

故障转移群集创建

主节点1创建







测试过程出现一些警告信息可忽略




连接查看故障转移群集




五、 SQL Server配置

SQLServer配置管理器设置

(1)两节点启用AlwaysOn功能
(2)两节点修改默认登录用户




SQLServer证书认证

因为是无域环境,所以改用证书认证,操作步骤如下
1.打开Microsoft SQL Server Management Studio
2.新建查询
3.执行代码

 ------------------------节点1执行 ------------------------
USE [master]
GO

--创建证书
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'lenpos@123456'
GO

CREATE CERTIFICATE cer_alwayson_001 --证书名称
WITH SUBJECT='alwayson 001 local certificate', --主题
EXPIRY_DATE='9999-12-31' --有效时间
GO

--指定路径下创建文件夹
EXEC xp_create_subdir 'C:\software\cerficates'

--备份证书到创建的指定文件夹中
BACKUP CERTIFICATE cer_alwayson_001
TO FILE='C:\software\cerficates\cer_alwayson_001.cer'
GO

--使用指定的证书,创建镜像端点
CREATE ENDPOINT [Endpoint_Mirroring]  --镜像名称
 STATE=STARTED 
 AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) 
 FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE cer_alwayson_001,  --证书名称
 ENCRYPTION = REQUIRED ALGORITHM AES)
 GO
 ------------------------节点2执行 ------------------------
USE [master]
GO

--创建证书
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'lenpos@123456'
GO

CREATE CERTIFICATE cer_alwayson_002 --证书名称
WITH SUBJECT='alwayson 002 local certificate', --主题
EXPIRY_DATE='9999-12-31' --有效时间
GO

--指定路径下创建文件夹
EXEC xp_create_subdir 'C:\software\cerficates'

--备份证书到创建的指定文件夹中
BACKUP CERTIFICATE cer_alwayson_002
TO FILE='C:\software\cerficates\cer_alwayson_002.cer'
GO

--使用指定的证书,创建镜像端点
CREATE ENDPOINT [Endpoint_Mirroring]  --镜像名称
 STATE=STARTED 
 AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) 
 FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE cer_alwayson_002,  --证书名称
 ENCRYPTION = REQUIRED ALGORITHM AES)
 GO
重点:互相拷贝对方服务器生成的证书到本地证书文件夹中
1.找到节点1证书生成路径手动把节点1文件夹中的证书拷贝到节点2证书文件中
2.找到节点2证书生成路径手动把节点2文件夹中的证书拷贝到节点1证书文件中

最终效果:

继续执行以下代码:

-------------节点1执行-------------
 USE master; 
 GO 
 CREATE CERTIFICATE cer_alwayson_002 
 FROM FILE = 'C:\software\cerficates\cer_alwayson_002.cer'; 
 GO
-------------节点2执行-------------
 USE master; 
 GO 
 CREATE CERTIFICATE cer_alwayson_001 
 FROM FILE = 'C:\software\cerficates\cer_alwayson_001.cer'; 
 GO

数据库创建,全量、日志备份数据库

创建AlwaysOn高可用性必须要对数据库做一次全量备份和日志备份,只在节点1执行以下步骤即可,节点2会自动同步

执行以下代码

--主节点1执行:
CREATE DATABASE [test]

USE [test]
CREATE TABLE [test1]([id] INT,[name] VARCHAR(100))
INSERT INTO [test1] SELECT 1,'test'


DECLARE @CurrentTime VARCHAR(50), @FileName VARCHAR(200)
SET @CurrentTime = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120 ),'-','_'),' ','_'),':','')

--(test 数据库完整备份),备份文件路径自行修改
SET @FileName = 'D:\SQLServer2016\DBBackup\test_FullBackup_' + @CurrentTime+'.bak'
BACKUP DATABASE [test]
TO DISK=@FileName WITH FORMAT ,COMPRESSION


  --(test 数据库日志备份) ,备份文件路径自行修改
SET @FileName = 'D:\SQLServer2016\DBBackup\test_logBackup_' + @CurrentTime+'.bak'
BACKUP log [test]
TO DISK=@FileName WITH FORMAT ,COMPRESSION

AlwaysON创建












侦听器创建

![在这里插入图片描述](https://img-blog.csdnimg/0f5728fdf75740b0909beffab72ade6c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Y-R6aOZ55qE6JyX54mbMzQxMA==,size_18,color_FFFFFF,t_70,g_se,x_16

使用侦听器登录数据库



注意点:阿里云ECS服务器只能够允许主节点使用侦听器名称或者ip地址登录登录,副本节点无法使用侦听器登录,如果想实现主副节点都能使用侦听器登录,需要向阿里云申请开放havip(高可用虚拟IP)功能。
参考链接:https://help.aliyun/document_detail/110065.html
接下来演示havip(高可用虚拟IP)配置


回到故障转移群集管理,可以看到角色中多了一个YOUHAO_AG,即为我们创建的AlwaysOn高可用角色

故障转移群集管理设置

仲裁配置

由于只有两个节点,群集仲裁配置选择默认



故障转移故障数设置


资源策略次数设置


DNS管理设置

创建正向查找区域








配置正向查找区域









注意事项

如果想销毁群集重新创建,请严格按照以下步骤来,可以避免许多的坑!
(1)删除SQLSERVER可用性组角色(侦听器会一起删除)

(2)然后停止SQLSERVER配置工具的Alwayson,停止服务。


(3)新建群集,回SQL Server配置工具在重新启用AlwaysOn可用性组,启动SQL Server服务。

总结

只要严格按照上诉步骤一步步操作,AlwaysOn是一定可以实现的,实现之后大家也可以可以测试故障转移功能,可以故意把主节点服务器关机,会发现辅助节点变成主节点了!为了节省时间,就不具体展示测试步骤了,大家可以随意测试。,,是一定可以操作成功的!

最后提供几篇写得比较好的文章,可以更加全面的了解AlwaysOn,链接如下:

(1).在阿里云ECS上轻松实现无域控的SQL_Server_AlwaysOn可用性组
https://blog.csdn/qq_28125719/article/details/84885184?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242.2

(2).sqlserver故障转移集群和alwayson的区别_详解SQL Server 2016 + AlwaysOn 无域集群
https://blog.csdn/weixin_39974400/article/details/110311927

(3).SQL Server2016无域群集与高可用性AlwaysON配置新手教程
https://blog.csdn/chenhui389/article/details/107904474?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242.1

2012版本基于域环境搭建AlawysOn主要参考链接:
1.https://wwwblogs/lyhabc/p/4678330.html

2012版本视频参考链接:
2.https://www.bilibili/video/BV1g54y1b7eJ

以下为链接为辅助参考链接:
3.1 https://blog.csdn/leshami/article/details/51180359
3.2 https://blog.csdn/leshami/article/details/51218021
3.3 https://blog.csdn/leshami/article/details/51224954
3.4 https://blog.csdn/leshami/article/details/51226044

–原理解释参考链接
https://blog.csdn/iai64824/article/details/54667351

本文标签: 阿里环境服务器中心ECS