数据库扩容
阿里云线上扩容
- 在阿里云管理界面,申请一台空 windows 2016 虚拟机,并安装sql server 2016
- 申请资源和安装配置sql server 略,可联系运维组提需求,注意点:
2.1 修改主机名,必须和master、其它slave节点相同域,修改后需重启
2.2 修改本地host和集群内已存在节点host,添加新集群所有节点的主机名和IP信息
2.3
2.4 … - 开始菜单–>windows管理工具打开 “故障转移群集管理器”,右键连接到集群,选择”ag.muniao.com”,连接后选择新增节点,输入新节点的主机名,设置同步/异步等
- 登录主服务(master),默认 always on可用性组
MNAG
, 打开master上always on - 在
MNAG
下可用性副本
新增副本, 填写新节点的主机名信息,参考已有的, 连接通过后,配置数据xx,选择第一项,选择需要配置的数据库 - 添加完成后,返回新节点,右键数据库属性, 开启always on
- master节点上,右键
MNAG
查看同步面板,包括进度和吞吐速率
本地机房扩容
由于网络受限,本地机房扩容不用采用默认的数据同步方式,有两种方式
- 新建windows 2016干净的虚拟机,搭建sql server 2016,从线上或线下正常同步的节点完整备份数据库,之后再从新节点还原,还原时需要删除已有的DB,并且指定”with norecovery”。
- 从已有的本地正常同步的虚拟机,包含数据盘直接clone到新实例主机,修改主机名和always on,直接开始同步
建议第二种,即使使用第一种,也建议从本地备份和还原,从阿里云上备份在down到本地,记得压缩!
第一种,备份、还原时间太长,第二种由于是直接clone整个虚拟机,只需要修改部分配置即可新加入always on开始同步数据,这里我们优先使用第二种。
- vcenter上直接clone已有的正常同步的数据节点,由于clone会把数据盘全部复制,所以数据量大的话,时间会比较久
- 启动新节点前,注意在vcenter上关闭该虚拟机的网卡连接,相当于现实拔掉网线,防止启动后与被clone节点的IP冲突
- 登录新虚拟机,配置IP,再登录vcenter,编辑虚拟机,启用网卡。
- 配置sql server和always on同步
4.1 修改主机名,必须和master、其它slave节点相同域,修改后需重启
4.2 修改本地host和集群内已存在节点host,添加新集群所有节点的主机名和IP信息
4.3 开始菜单中,通过”SQL Server 2016 配置管理器”重启sqlserver服务
4.4 打开”SQL Server ManagementStudio” 用新主机名连接sqlserver实例,此时所有的数据库状态都应该是恢复中
4.5 删除现有的可用性组
4.6 登录master,开始菜单–>windows管理工具打开 “故障转移群集管理器”,右键连接到集群,选择”ag.muniao.com”,连接后选择新增节点,输入新节点的主机名,设置同步/异步等
4.7 登录新节点,右键数据库勾选,启用always on
4.7 登录master,打开always on新增副本节点,勾选需要扩容的新节点主机名
4.8 观察always on下所有副本状态,以及登录master,右键可用性组,查看所有副本的同步进度
数据库缩容
- 登录master(172.17.64.3:3355),打开always on可用性组,选中可用性副本中需要下线的节点,右键删除
- 登录要下线的节点,刷新always on和数据库,直到可用性组从本节点小时,数据库状态变为”正在还原”
- 登录master,打开系统工具里的 “故障转移群集管理器”, 连接”ag.muniao.com”后,逐出要下线的节点