利用Azure虚拟机安装Dynamics 365 Customer Engagement之十:为SQL Server配置Always On
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复366或者20190908可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!
本文参考了如下官方文档:
- 完成在 Azure 虚拟机中创建 Alwayson 可用性组的先决条件
- 教程:在 Azure VM 中手动配置 Always On 可用性组
- Deploy a Cloud Witness for a Failover Cluster
- Overview of Always On Availability Groups (SQL Server)
新建了一台虚拟机,配置和前面的LuoYongSQL1几乎一样,这两个虚拟机在同一个虚拟网络,同一个可用性集中。
也添加了一个磁盘:
然后我和第一台SQL Server一样安装了数据库,在安装的时候也添加了luoyong\crmsvc 和 luoyong\crmadmin 作为SQL Server管理员,并执行了如下的一些命令:
net localgroup administrators luoyong\crmsvc /add
net localgroup administrators luoyong\crmadmin /add New-NetFirewallRule -DisplayName "SQL Server 1433" -Direction Inbound –Protocol TCP –LocalPort 1433 -Action allow New-NetFirewallRule -DisplayName "HTTP 80" -Direction Inbound –Protocol TCP –LocalPort 80 -Action allow
还需要为每台SQL Server数据库服务器额外打开三个端口,我这里使用如下命令:
New-NetFirewallRule -DisplayName "TCP 59999" -Direction Inbound –Protocol TCP –LocalPort 59999 -Action allow New-NetFirewallRule -DisplayName "TCP 58888" -Direction Inbound –Protocol TCP –LocalPort 58888 -Action allow New-NetFirewallRule -DisplayName "TCP 5022" -Direction Inbound –Protocol TCP –LocalPort 5022 -Action allow
还需要为每台SQL Server数据库服务器启用故障转移集群功能,方法如下(也可以使用PowerShell命令来做:Install-WindowsFeature -Name Failover-Clustering –IncludeManagementTools):
点击【添加角色和功能】
点击【下一步】
点击【下一步】
直接点击【下一步】
选择【Failover Clustering】功能,在弹出的对话框中点击【添加功能】按钮。
点击【安装】按钮完成安装,记得是每台SQL Server数据库服务器都要安装该功能。如果安装失败,看下是否服务器在安装操作系统补丁。
在第一个SQL Server数据库服务器上打开【故障转移群集管理器】
右击故障转移群集管理器】,选择【创建群集】
欢迎页面点击【下一步】后,在【选择服务器】页面输入第一台SQL Server服务器的名称后点击添加,添加成功后点击【下一步】按钮。
选择【否】后点击【下一步】按钮
输入集群名称后点击【下一步】
直接点击【下一步】
10秒钟左右就会创建完成。
右击【集群核心资源】中的IP地址,选择属性。
设置为静态IP地址后输入一个可用的IP地址,然后应用并确定。
右击【集群核心资源】中的集群名称选择【联机】。
等待这两个资源都变成【联机】状态。
添加节点:
输入第二台SQL Server服务器名称并点击【添加】
测试环境,我这里选择否,生产环境建议点击是
点击【下一步】按钮。
添加成功。
因为Windows Server 2016或者更高版本支持云见证(Cloud Witness),也是推荐的做法,所以我这里使用这种方式。
首先需要在 https://portal.azure.com 中创建一个存储账户(Storage account)。
特别注意选择的我标记出来了
需要记录下Acsess Key 1备用
开始配置集群仲裁。
选择【选择仲裁见证】后点击【下一步】
选择【配置云见证】后点击下一步
输入如下,若是中国大陆的Azure,Azure服务终结点需要更改。
点击【下一步】
配置完成。
为两台SQL Server服务器启用可用性组,登录服务器后,打开 SQL Server 配置管理器程序,右击 SQL Server (MSSQLSERVER) 服务,点击属性。
选中【启用AlwaysOn可用性组】后点击【应用】,并点击【确定】按钮,然后重启SQL Server (MSSQLSERVER) 服务。
使用类似如下SQL对要参与的SQL Server数据库做个全备份:
USE master;
ALTER DATABASE Demo_MSCRM SET RECOVERY FULL;
GO
BACKUP DATABASE Demo_MSCRM
TO DISK = 'F:\DBBackups\Demo_MSCRMFullRM20190910.bak';
GO ALTER DATABASE MSCRM_CONFIG SET RECOVERY FULL;
GO
BACKUP DATABASE MSCRM_CONFIG
TO DISK = 'F:\DBBackups\MSCRM_CONFIGFullRM20190910.bak';
GO
创建可用性组,
输入名字,点击【下一步】
选择CRM相关的两个数据库,注意数据库要做过全备份,并且恢复模式为完整才可能满足先决条件。
点击【添加副本】
连接到第二台SQL Server服务器
可以看到端点是 5022端口
我改成同步:
如下不变:
如下不变
如下确认没有问题:
如下点击【完成】
显示面板
如下,确保没有错误:
然后在Azure Portal上创建负载均衡器(Load Balancer),
创建后端池
设置如下:
添加一个Health probes
设置如下:
添加一个Load balancing rules
设置如下
再添加一个Frontend IP configuration
设置如下:
再添加一个Health probes
配置如下:
再添加一个 Load balancing rules
设置如下:
在故障转移群集管理器中选择客户端访问点
创建客户端访问点
停止角色
记录下名称,并更改为静态IP,IP为azure上配置的负载均衡器的IP
点击属性
添加倚赖
执行如下powershell命令,前面四行代码中的参数值需要根据实际情况更改.更改后记得要将资源下线后重新上线就可以了。
第一个参数$ClusterNetworkName 可以通过运行命令Get-ClusterNetwork 来获取。
第二个参数$IPResourceName是windows集群管理器中点击左边的点击左边的角色(Roles),然后右击你要查看的IP资源的属性的Name就是。
第三个参数$ListenerILBIP是windows集群的侦听器IP地址,也就是客户端访问点的IP地址。
$ClusterNetworkName = "Cluster Network 1" # the cluster network name (Use Get-ClusterNetwork on Windows Server 2012 of higher to find the name)
$IPResourceName = "IP 地址 10.1.0.0" # the IP Address resource name
$ListenerILBIP = "10.1.0.51" # the IP Address of the Internal Load Balancer (ILB). This is the static IP address for the load balancer you configured in the Azure portal.
[int]$ListenerProbePort = 59999 Import-Module FailoverClusters Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
第二个参数的看法截图如下:
启动角色
配置侦听器端口
设置为1433
至此完成了。
利用Azure虚拟机安装Dynamics 365 Customer Engagement之十:为SQL Server配置Always On的更多相关文章
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之十一:SQL Server配置Always On后D365的配置更改
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之十二:新增SQL Server可用性副本
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之四:组织单位服务安装账号设置
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之一:准备工作
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之五:安装SQL Server
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之二:创建域控虚拟机
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之六:安装后端服务器
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之七:安装前端服务器及部署管理器
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之八:安装报表扩展及最新更新
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
随机推荐
- openldap数据双向同步
配置双主复制功能,在主1和主2上执行均下面的步骤 vim syncprov_mod.ldif dn: cn=module,cn=configobjectClass: olcModuleListcn: ...
- flask项目统一捕获异常并自定义异常信息
背景: 在日常编写了一些flask项目,主要用于测试方面的mock场景,但迭代到后期发现有时候会抛出各种乱七八糟的异常或者直接500且没有任何异常信息,这种情况一般都是某个代码块没有用try ...
- Dockerfile制作镜像
Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像, 另外,使用Dockerfile去构建镜像好比使用pom去构建m ...
- uiautomatorviewer提示Unable to connect to adb. Check if adb is installed correctly解决方法
转自:https://www.jianshu.com/p/c8581a70d1bc 解决方案: 1.打开 "E:\android-sdk_r24.4.1-windows\android-s ...
- 【性能测评】DSP库,MDK5的AC5,AC6,IAR和Embedded Studio的三角函数性能
测试条件: 1.IAR8.30开最高等级速度优化. 2.MDK5.27正式版使用AC5开最高等级优化3,开启时间优化,测试C标准库和微库MicroLib两种. 3.MDK5.27正式版使用AC6开最高 ...
- SpringBoot+idea搭建微服务简化流程
作者:个人微信公众号:程序猿的月光宝盒 1.新建普通maven工程 2.在父级pom中按需修改 3.删除父级src目录 4.创建公共模块common,里面只有service接口和实体类 5.构建微服务 ...
- Jsf中进度条的用法
Jsf中进度条的用法 前端页面 <!-- 进度条 --> <p:progressBar widgetVar="pbAjax" ajax="true&qu ...
- JS---DOM---part3课程介绍和part2复习
part3课程介绍 节点 为什么要学节点 节点的操作的相关属性------>作用 12行代码----有用的----熟练的问题, 节点的案例 元素的创建三种方式------重点的内容 为什 ...
- 【Puppeteer】puppeteer安装/常用的方法以及一个小栗子(Youtube油管自动评论)
这里介绍的是Win平台的安装方法,其他平台请至Github>Puppeteer. 首先要安装node.js 可以看我这篇的开头>[Angular]学习笔记-环境部署.项目建立相关 1.新建 ...
- 前端开发规范:2-HTML
HTML标签 文档声明,除非必须要兼容IE6等远古浏览器,否则一律使用HTML5文档类型申明<!DOCTYPE html> 标签闭合,img.br.hr 等自闭合标签不使用闭合斜杠 met ...