我们前一篇文章中就介绍了Azure下部署Apache高可用性服务的介绍,今天呢,主要介绍一下在Azure下如何实现Exchange2016高可用性服务的部署,说到Exchange2016的高可用部署,我们前面的文章中用也有介绍到,在本地使用Centos+LVS+Keepalived实现了Exchange2016的高可用性服务配置,如果要将Exchange2016部署到Azure下如何实现高可用配置呢,我们都知道如果在Azure下部署高可用,我们只需要将服务器放在同一运行,然后配置对应的可用性集就可以;此次的试验会介绍Exchange2016 DAG及CAS的相关的高可用性配置,具体见下吧;
在windows azure下要管理VM及其他服务可以使用windows azure powershell来管理,所以我们需要下载Azure Powershell。
环境介绍:
Hostname:Iternal-DC
IP:10.10.1.4
Role: Dc、CA、见证服务器
Hostname:Iternal-DC
IP:10.10.1.4
Role: Dc、CA、见证服务器
Hostname:Iternal-Mail01
IP:10.10.1.6
Role: Exchange2016
Hostname:Iternal-DC
IP:10.10.1.6
Role: Exchange2016
DAG:10.10.1.100
我们可以通过登录windows auzre.cn首页----文档与资源下载powershell
下载订阅
https://manage.windowsazure.cn/publishsettings
导入订阅文件
import-azure ‘e:\xxxxxxx.publishsettings‘
get-azuresubscription
get-azurevm
Get-AzureVM -ServiceName Internalsoft -name Server01 | Set-AzureStaticVNetIP -IPAddress 10.10.1.4 | Update-AzureVM
我们同样使用上面的命令为server02、server03绑定虚拟地址,防止在重启中更改
首先是新建DC、选择云服务
配置好后,开始远程安装服务
我们首先准备AD服务
开始创建DC
创建完成
接下来就是证书服务器
安装证书服务角色
完成证书服务器配置向导
配置完成
接下来我们就是安装及配置server02
修改计算机名Iternal-Mail01
加域后,我们开始配置高可用性配置
单击server02----配置---可用性集----创建可用性集
定义可用性集名称----该名称可以随意定义
开始创建可用性集
可用性集创建完成
接下来我们需要将server03加入到该可用性集中
保存,更新完成。
接着我们还需要配置基于端点的可用性集
我们都知道Exchange2016架构上变化很大,所以我们只需要对HTTP和HTTPS做终结点即可
我们首先选择server02----终结点-----添加
添加独立的终结点
定义终结点名称及对应的端口:我们首先定义HTTP 80 ,然后勾选创建负载均衡
定义负载均衡集名称
定义完成
接着我们按照同样的方法定义HTTPS终结点及创建负载均衡
HTTPS负载平衡名称创建完成
最后我们需要将server03的终结点添加到创建的负载平衡集中
server03---终结点---添加
我们将终结点添加到指定的负载平衡集中
开始添加
HTTP负载平衡终结点添加完成
接下来我们也需要按照以上的方法在server03上将HTTPS负载平衡集添加到终结点中
在此服务器的高可用性配置已经全部完成
接下来就是安装Exchange2016 ,安装前,我们需要安装先决条件
Install-WindowsFeature RSAT-ADDS, AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation
在您安装操作系统角色和功能后,请按以下显示的顺序安装下列软件:
2. Microsoft Unified Communications Managed API 4.0 Core Runtime(64 位)
从以上软件得知,从Exchange2016开始需要安装Net Framework4.5.2版本的框架了
Microsoft unified communications managed API安装我完成
接下来我们安装Exchange服务,将Exchange2016的光盘加载,然后运行setup.exe
开始安装
选择安装的所需功能
定义组织名称
检查安装前的先决条件
开始安装
安装完成
接下来就是查看Exchange配置了
登陆成功
接着我们配置第二个服务器,更改计算机名及加域
前提条件也安装完成
接下来也是安装exchange2016服务了,步骤跟上面一样
开始安装
开始安装
安装完成
接下来我们的工作就是申请证书
从证书颁发机构创建证书
定义显示名称及证书存储服务器路径
定义证书域名设置
azureex.iternalsoft.com
选择证书名称
定义证书信息
定义证书文件保存路径
接下来我们通过保存的req文件进行证书申请
提交证书信息
下载保存证书
接下来完成证书搁置请求
选择证书路径
接下来我们要给刚才申请证书指定服务,单击刚才新建的证书---编辑---服务--
配置服务后的的状态
注:如果导入后的服务器证书状态显示---无效-----我们需要下载根证书,然后导入到受信任的颁发机构中即解决
然后创建DAG,为了提高内部数据库可用性服务;建议修改服务器名称,为了方便查看管理
我们分别单击两台服务器所对应的数据信息---编辑---即可修改
修改后的状态
接下来我们创建两个用户,分别挂载不同的数据库上
user01------DB01-01
user02-----DB02-01
接下来就是创建DAG高额用组了
把Exchange Trusted Subsystem加入到Administrators组,因为本次是将DC服务器作为见证服务器;
单击服务器----数据库可用性组----添加
定义数据库可用性组的信息:
注:定义见证服务器的时候,见证服务器的名称一定要写对,不然会在DAG数据切换上出现错误
创建后我们可以通过访问\\internal-dc.iternalsoft.com进行访问查看
查看DAG的权限设置
然后我们查看C盘目录下的DAG目录文件
查看文件内容
继续查看权限
创建好后,我们开始添加可用性组成员信息
选择两台服务器,添加即可
开始安装故障转移群集软件
添加完成
接下来就是创建数据库副本
选择添加副本服务器
Iternal-Mail01服务器的DB01数据库副本添加完成
同样我们需要给server02的DB02添加数据库副本
最后我们进行测试,访问外部云服务地址,登陆邮箱
我们也可以将本地的EXCHANGE证书导出来,然后上传到云服务器上;
首先我们到处exchange服务器证书
定义导出路径及密码
然后我们在azure的portal打开云服务----证书---上载
选择刚才到处的证书及密码
上载完成
接下来我们定义域名
azureex.iternalsoft.com 139.217.27.3
autodiscover 139.217.27.3
注:Exchanage2016的外部outlook必须配置autodiscover进行配置自动发现进行outlook配置完成
解析正常
登陆成功
然后我们发送给外部发送测试邮件
我们给126网易发送测试邮箱
外部邮箱收发正常
现在我们使用user02用户发送测试邮件
在测试高可用性前,我们先确认一下群集的状态
再次确认DAG的高可用性信息
然后我们关闭用户user02所在的当前服务器,然后再次访问邮箱
因为user02的数据库存放在server02上,所以我们需要将server02关闭,然后尝试访问user02,然后使用user02发送测试邮件,如果发送成功,说明高可用性是成功的
现在我们 已经将server02服务器关机了,关机后,我们查看群集状态
再次查看DAG的数据库切换状态;服务器正在切换数据
正在同步数据
当DAG同步完成后,我们再次查看DAG的状态;切换成功
两个数据库均运行在Iternal-Mail01服务器上
然后我们尝试登陆user02,然后使用user02发送测试邮件