安装环境

Windows Server 2012 R2

MSSQL2012SP1

准备工作

我们创建AlwaysOn高可用性组的的方案是 域双活 高可用组1主2辅

需要准备5台机器

当前申请机器IP如下

192.168.4.9,  辅域

192.168.4.10, 主域

192.168.4.15  集群  主数据库

192.168.4.16  集群  辅助数据库

192.168.4.101 集群  副主数据库

OS:Windows Server 2012 R2

在开始本文的操作之前,大家需要留意主副本机器和各个辅助副本机器的扇区是否一致,如果扇区不一致,或者环境不一样有可能导致同步慢或IP冲突问题

alwayson搭建了也白搭

在服务器上运行下面命令,D盘为SQL Server数据文件,日志文件所在盘符

fsutil fsinfo ntfsInfo  D:

如果每个扇区字节数和每个物理扇区字节数这两个值, 各个副本显示不同,那么最好不要搭建AlwaysOn

在副本上每个扇区字节数显示512,每个物理扇区字节数显示512

在辅助副本上每个扇区字节数显示512,每个物理扇区字节数显示512

这样是没有问题的或者在副本上每个扇区字节数显示512,每个物理扇区字节数显示4096

在辅助副本上每个扇区字节数显示512,每个物理扇区字节数显示512这样也是没有问题的或者在副本上每个扇区字节数显示512,每个物理扇区字节数显示512在辅助副本上每个扇区字节数显示512,每个物理扇区字节数显示4096这样是有问题的

NTFS对于大于2GB的分区,默认簇大小为8个扇区(4KB),分配单元默认是4096字节是因为内存页是4kb

簇=分配单元 windows7默认呢的分配单元是4096字节,那么一个6000字节的文件就需要两个分配单元,分配单元是windows读写文件的基本单位

逻辑扇区:512字节,操作系统将分配单元的读写请求划分为多个512字节大小,然后写入到磁盘,其实就是操作系统做了一层转换

物理扇区:512 ,物理磁盘读写的基本单位,旧磁盘是512字节,新磁盘是4kb

高级格式化:操作系统对盘符进行格式化,按照分配单元大小

低级格式化:磁盘厂家对磁盘做的低级格式化,按照512字节大小

由于新磁盘使用了4kb字节大小,某些操作系统和应用程序无法适应,所以磁盘厂家退出了512E格式,对磁盘增加了一个模拟层,底层是4kb,模拟层是512字节

操作系统对磁盘的读写依然是512字节,这样厂家推出的新磁盘就可以向下兼容旧操作系统,因为是模拟出来的,所以名字叫 512-byte Emulation或512e

最新操作系统例如win2012已经可以支持4kb磁盘,所以使用命令fsutil fsinfo ntfsInfo D: 的时候,如果每扇区和每物理扇区都显示为4096,那么表示

磁盘使用的是最新的支持4kb磁盘,win2012操作系统对物理扇区进行了对齐,逻辑扇区是4096,物理扇区是4096,就是原生4K模式,所以名字叫4K native或4Kn

禁用administrator账号

去掉TCP/IPv6

双域控制器互为冗余

需要倆台服务器

192.168.4.10 ——DC1

192.168.4.9  ——DC2

选择TCP/IPv4

DNS相互设置

安装DNS

俩台机器都要装

在DC1(4.10)安装AD域服务

填写根域名

填写密码

忽视警告

可选择路径

创建域账号

将这个域用户加入到域计算机组和域管理员组

DHCP不是必须。

在DC2(4.9)安装AD域服务

区别在于 是加入已有域,并且需要输入凭证  DCADMIN账号

DNS服务配置

我们可以看到,域相关信息已经被注册了DNS服务器上

如果因为安装步骤等原因 没有出现sdp.com 在正向查找区域点击右键新建区域

回归正常流程, 选择我们的域节点,可以看到动态更新已开启

Sdp.com 右键属性

安装数据库

准备工作

需要三台机器

192.168.4.15

192.168.4.16

192.168.4.101

选择TCP/IPv4

调整DNS服务器

全部加入域

计算机→属性→计算机名→更改→隶属于sdp.com 填写DCADMIN以及密码

重启机器后 查看域控制器

DNS

加入域后 用域账号登陆  安装的数据库 会自动有域账号

安装SqlServer

详细过程不做记录,先进域再安装sqlserver  sqlserver会自带域账户 减少配置步骤。

故障转移集群

准备工作

需要三台机器

192.168.4.15

192.168.4.16

192.168.4.101

都在域内。

方案科普

四种集群的仲裁配置:

1、多数节点:这种配置不会用到仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的情况下,集群才会提供服务,否则就停止服务。这种配置适用于奇数节点的集群,例如5个节点的集群,其正常节点数量必须至少3个,集群才会提供服务(目前选择的方案,因为虚拟化,多节点更为有利)

2、多数节点和磁盘:适用于偶数节点的集群,他在计算法定数量时会将仲裁磁盘计算进来,例如,4个节点+1个仲裁磁盘节点的集群,可以将其视为5个节点的集群,这时正常节点数量必须至少3个,集群才会提供服务

3、多数节点和文件共享:它和(多数节点和磁盘)类似,不过仲裁磁盘改为共享文件夹内的文件

4、没有多数:只有磁盘,只要仲裁磁盘脱机,集群就会停止提供服务(不建议使用,这种方式很早之前已经有了)

安装集群

三台机器同时安装故障转移集群

安装完毕后 用域账号登陆系统

在“选择服务器或群集”界面中,单击“浏览”按钮将所有要加入群集的服务器添加进来,然后单击“下一步”按钮。

报告里面一定不能出现失败,否则你需要检查是什么问题导致失败,失败是建立不了故障转移集群的

出现警告要看情况,对于存储的警告,由于目前为止没有添加任何的存储设备,这里可以忽略,还有网络警告

集群报告会存放在这个路径下

C:\Windows\Cluster\Reports

但是我没保存到..不知道原因

输入集群名称和vip(以下为网路截图 我们的VIP是SDPSQLServerCluster IP192.168.4.6)

注意:这个只是集群的管理名称和管理IP,跟AlwaysOn无关

由于我们当前还没有任何存储,所以不勾选将所有符合条件的存储添加到群集,(如果点了你会痛苦的~! 所有服务器的D盘会脱机  你需要从集群节点中挨个删除或者摧毁集群 之后去磁盘管理 把脱机的磁盘联机上 在重启所有机器)

集群仲裁

四种集群的仲裁配置:

1、多数节点:这种配置不会用到仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的情况下,集群才会提供服务,否则就停止服务。这种配置适用于奇数节点的集群,例如5个节点的集群,其正常节点数量必须至少3个,集群才会提供服务

2、多数节点和磁盘:适用于偶数节点的集群,他在计算法定数量时会将仲裁磁盘计算进来,例如,4个节点+1个仲裁磁盘节点的集群,可以将其视为5个节点的集群,这时正常节点数量必须至少3个,集群才会提供服务

3、多数节点和文件共享:它和(多数节点和磁盘)类似,不过仲裁磁盘改为共享文件夹内的文件

4、没有多数:只有磁盘,只要仲裁磁盘脱机,集群就会停止提供服务(不建议使用,这种方式很早之前已经有了)

我们在使用故障转移集群的时候,只用两种仲裁配置:(多数节点) 和 (多数节点和文件共享)

如果集群节点是奇数,那么使用多数节点

如果集群节点是偶数,那么使用多数节点和文件共享 (需要配置一个共享文件夹,各个节点都能访问这个共享文件夹,并且共享文件夹所在机器不需要加入域) 这样意义不大。

SQLServer AlwaysOn 高可用性组

准备工作

需要三台机器

192.168.4.15

192.168.4.16

192.168.4.101

都在域内 都有安装Sqlerver 都在故障转移集群内

防火墙设置例外1433和5022

注1433是数据库连接所需要的端口,5022是数据库之间日志传输所需要的端口

如果按照文档的步骤在域环境下安装SQLServer

数据库打开 也可以看到这个账号。

打开SqlServer配置管理器SQLSERVER和 SQLSERVER代理  登陆身份为域用户。

选择SQLSERVER服务。

重启SQL Server

如果AlwaysOn启用成功,在服务器属性里可以看到启用HADR为True

在其中一个集群节点的SQL Server中验证各节点的投票数 ,在其中一个集群节点的SQL Server上执行

使用下面SQL语句

SELECT * FROM  sys.dm_hadr_cluster_members;

SELECT * FROM SYS.[dm_hadr_cluster]

对数据库做一个完整备份 和 日志备份

然后把完整备份文件和日志备份文件搬到WIN-5PMSDHUI0KQ机器上依次进行还原,完整备份-》还原完整备份-》日志备份-》还原日志备份

USE [master]

RESTORE DATABASE [SDP_ClientData] FROM  DISK = N'D:\data\SDPClientFullBackup_2017_09_13_203023.bak' WITH  FILE = 1,

MOVE N'SDP_ClientData' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SDP_ClientData.mdf',

MOVE N'SDP_ClientData_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SDP_ClientData_log.ldf',

NOUNLOAD,NORECOVERY,  REPLACE,  STATS = 5

GO

--注意一定要用NORECOVERY来还原备份

USE [master]

RESTORE DATABASE [SDP_ClientData] FROM  DISK = N'D:\data\SDPClientlogBackup_2017_09_13_203023.bak' WITH  FILE = 1,

NOUNLOAD,NORECOVERY,  REPLACE,  STATS = 5

USE [master]

RESTORE DATABASE [SDP] FROM  DISK = N'D:\data\SDPFullBackup_2017_09_13_203023.bak' WITH  FILE = 1,

MOVE N'SDP' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SDP.mdf',

MOVE N'SDP_log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\SDP_log.ldf',

NOUNLOAD,NORECOVERY,  REPLACE,  STATS = 5

GO

--注意一定要用NORECOVERY来还原备份

USE [master]

RESTORE DATABASE [SDP] FROM  DISK = N'D:\data\SDPlogBackup_2017_09_13_203023.bak' WITH  FILE = 1,

NOUNLOAD,NORECOVERY,  REPLACE,  STATS = 5

  1. 安装AlwaysOn高可用性组

在“Alwayson高可用性”节点上右键选择“新建可用性组向导

注意:加入到AlwaysOn可用性组的数据库必须符合下面要求

(1)数据库的恢复模式必须是“完整”恢复模式

(2)数据库已进行了一次完整备份

(3)需要是用户库,系统库不能加入可用性组

(4)数据库可以读写,只读库不能加入到可用性组

(5)数据库处于多用户模式

(6)数据库没有使用AUTO_CLOSE

(7)不属于任何其他的可用性组

(8)数据库没有配置数据库镜像

一个可用性组最大支持100个数据库

点击“下一步”,输入一个从未使用过的高可用性组名称SDPAG(之后为网络截图)

点击下一步,选择要添加的数据库

我们将辅助副本设置为可读,能够自动故障转移,同步提交模式注我们的主辅服务器都是可读为是

SQL Server 2012  AlwaysOn只支持最多一个主副本和四个辅助副本,最多允许三个同步提交的可用性副本(包括主副本),最多允许两个自动故障转移副本(包括主副本)

我们自己的状态

“备份首选项”和“侦听器”不需要设置,保持默认就行,可用性侦听器我们后面再添加,可以直接点击“下一步”

本次使用192.168.4.5作为监听IP

SDPSQLListener

在域控的DNS管理器上会注册一条记录

已经可以连接了 也可以尝试连接 192.168.4.15,16,101.

辅助服务器 都是只读 无法增删改数据。

双活域+集群的方式 可以增加我们系统的高可用性。 域和任一节点崩溃 都会自动切换至辅助节点 都不会影响正常使用, 对外使用的是监听器 192.168.4.5 所以支持重定向,仲裁方式是多节点, 所以数据存放在各自节点上也支持故障转移。不会像过去单纯的故障转移集群解决方案一样 需要共享磁盘。

AlwaysOn3节点集群方案windows2012+sqlserver2012相关推荐

  1. PostgreSQL高可用性、负载均衡、复制与集群方案介绍

    目录[-] 一.高可用性.负载均衡.复制的几个方案比较: 二.多节点集群方案比较 9.3官方文档(中文):http://58.58.27.50:8079/doc/html/9.3.1_zh/high- ...

  2. Redis 集群方案

    根据一些测试整理出来的一份方案: 1. Redis 性能 对于redis 的一些简单测试,仅供参考: 测试环境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M网卡 Redi ...

  3. Haproxy+Heartbeat 高可用集群方案操作记录

    之前详细介绍了haproxy的基础知识点, 下面记录下Haproxy+Heartbeat高可用web集群方案实现过程, 以加深理解. 架构草图如下: 1) 基本环境准备 (centos6.9系统) 1 ...

  4. 一步步教你Hadoop多节点集群安装配置

    一步步教你Hadoop多节点集群安装配置 1.集群部署介绍 1.1 Hadoop简介  Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hado ...

  5. docker 安装redis第三方集群方案 codis

    docker 安装redis第三方集群方案 codis docker 安装redis第三方集群方案 codis 首先,安装好docker环境,这里不提,需要看的可以在我的博客里找, 事先准备好zook ...

  6. Redis学习笔记(11)——Redis缓存集群方案

    为什么80%的码农都做不了架构师?>>>    由于单台Redis服务器的内存管理能力有限,使用过大内存的Redis又会使得服务器的性能急剧下降,一旦服务器发生故障将会影响更大范围业 ...

  7. MySQL 集群方案介绍

    mysql集群方案这里介绍2种,PXC 和 Replication. 大型互联网程序用户群体庞大,所以架构设计单节点数据库已经无法满足需求.大家也深有体会,有一万人在学校网站查成绩或是选课的时候网站时 ...

  8. hadoop 多节点集群_设置Apache Hadoop多节点集群

    hadoop 多节点集群 我们正在分享有关在基于Linux的机器(多节点)上安装Apache Hadoop的经验. 在这里,我们还将分享我们在各种故障排除方面的经验,并在将来进行更新. 用户创建和其他 ...

  9. Redis集群方案及实现 - yfk的专栏 - 博客频道 - CSDN.NET

    Redis集群方案及实现 - yfk的专栏        - 博客频道 - CSDN.NET yfk的专栏 学习&记录&分享 目录视图 摘要视图 订阅 [公告]博客系统优化升级   U ...

最新文章

  1. 在 ASP.NET 网页中不经过回发而实现客户端回调
  2. log4j写入mysql数据库_log4j日志写入数据库
  3. er图主码外码怎么看_霸屏了!因为这个老师,广科er纷纷表示要转专业了
  4. 面试Android实习生
  5. SQL Server 2000从入门到精通3
  6. nyoj744 蚂蚁的难题(-)
  7. 恒大健康上半年营收同比增132% 新能源汽车将成新增长点
  8. 一个老测试给想入行测试行业新人的二十条建议
  9. 苹果id可以同时用两个手机吗_科技V报余承东:鸿蒙OS随时可用于手机;疑似魅族16s Pro通过3C认证20190809...
  10. android jni java call c字符串乱码,JNI系列入门之C语言中文字符串乱码问题
  11. Crossing Road Simulation
  12. mysql表添加字段_怎么给mysql数据表添加字段
  13. Java:JavaSocket编程开发多人聊天室
  14. java lucene 站内搜索_完整的站内搜索Demo(Lucene.Net+盘古分词)
  15. pandas数据分组与聚合
  16. ssd测试软件寿命查看,铅锤哥:怎么看SSD还能用多久?固态硬盘寿命的检测方法...
  17. 通过bitmap改变图片的大小
  18. 跨越阶层,至少需要三代人的努力;看千年前的眉山五苏是如何完成的
  19. 小孩子爱玩手机学计算机编程好吗,学习编程教育对孩子的哪些重要意义
  20. 【报告分享】2021中国住宿业市场网络口碑报告-中国饭店协会众荟(附下载)

热门文章

  1. 静态英雄联盟轮播图布局
  2. AV3680A天馈线测试仪使用方式
  3. 手持式信号综合分析仪 天馈线驻波比频谱分析仪 天馈线+频谱+干扰分析仪 4.4GHZ无线综合测试仪
  4. python迅雷sdk_Python批量创建迅雷任务及创建多个文件
  5. 鸿蒙系统大文件夹怎么调整大小,win7系统打开窗口太大或太小的调整方法
  6. 【USB】macOS usb内核驱动开发入门
  7. 蜘蛛大战之 站点LOGO(SEO)
  8. 《细说PHP》第二版--读书笔记
  9. 2016区域赛前冲刺训练
  10. FPGA 使用PCIE高速接口