本文重点描述在skype for business server部署中后端数据库alwayson的建立和配置,观看此文需要一定经验,另外会弱化整个skype for business server的部署过程。

在做Skype for business server项目规划的时候涉及到企业版后端数据库高可用的问题,微软官方支持三种默认:

1、SQL故障转移群集

2、SQL镜像

3、SQL Alwayson

SQL故障转移群集是比较老旧的技术,依耐性比较高,操作复杂但是比较稳定可靠;SQL镜像应该算是一个中间产物,后期的SQL正在逐步的取消此功能,但是在部署Skype时操作很简单,不过日志的问题很头疼;SQL Alwayson是SQL 2012开始的一项新的高可用技术,配置起来没有SQL群集那么复杂,但又有镜像那样多个副本的高可用性。

今天分享下在Skype for business server中如何去实现后端数据的alwayson高可用性。

环境描述:

Domain:ucssi.cn

两台SQL FQDN为:sqlsvr01.ucssi.cn 、sqlsvr02.ucssi.cn

Skype服务器FQDN为:sfbpool.ucssi.cn


先决条件准备:


两台SQL Server服务器安装.NET3.5以便顺利安装SQL Server 2014同时也需要在两台SQL Server服务器上安装windows故障转移群集功能,以便顺利实施SQL Alwayson功能

我们可以在Powershell中执行以下安装命令(注意要指定.net3.5的源文件):

Add-WindowsFeature Net-Framework-Core,Failover-Clustering,RSAT-Clustering-Mgmt,RSAT-Clustering-PowerShell -Source d:\sources\sxs

image.png

image.png

接下来调整SQL Server网卡顺序:业务网卡优于心跳网卡。

image.png

以上条件准备完成后,开始进行Windows故障转移群集部署。

在创建群集之前应当对两台服务器进行群集验证测试,使用以下Powershell命令进行(也可图形化界面进行)

Test-Cluster -Node sqlsrv01,sqlsrv02(使用此命令进行测试会对两台服务器以及存储仲裁等进行完整测试,当然会有一些警告,在生产环境中建议仔细查看每个警告并根据实际情况解决警告后在进行群集部署)

image.png

image.png

完成验证后即可开始创建群集,使用以下Powershell命令进行群集创建(也可图形化界面进行)

New-Cluster -Name sqlcluster -Node sqlsrv01,sqlsrv02 -NoStorage -StaticAddress 192.168.31.180

image.png

打开Windows故障转移群集管理器,此时已经创建好了群集

image.png

接下来对Windows故障转移群集配置见证仲裁,首先需要创建一个共享文件夹来存放见证

image.png


然后进行群集仲裁配置

Set-ClusterQuorum -Cluster sqlcluster –NodeAndFileShareMajority “\\dc\sqlclusterwitness"

image.png

接下来进行SQL Server安装。注意:alwayson仅支持SQL Server 2012及以上版本,同时SQL Server必须为企业版,SQL Server实例名称必须一致。

安装SQL Server功能至少要勾选数据库引擎

image.png

保持默认实例名称或者指定实例名称(两台SQL实例名称必须一致)

image.png


使用服务账户为域用户(生产环境建议单独为SQL创建一个服务账号,普通user权限即可)

image.png

然后等待两台SQL Server 安装完成。接着我们需要在DNS中创建一条A记录作为alwayson的侦听器。以sql.ucssi.cn为例吧,手动指向一个VIP 192.168.31.168

image.png

SQL Server安装完毕后打开SQL Server配置管理器,选择SQL Server属性,并启用alwayson功能

image.png

image.png

重启SQL服务

image.png

在SQL Server安装部分就到此为止,看过我之前ADFS的后端数据库配置的博客同学应该都知道,alwayson的配置是要先存在数据然后才能对这个数据库进行启用高可用性组配置。所以接下来就是安装Skype for Business Server,在拓扑中定义好一台SQL Server,让拓扑自动创建好数据库,然后再对数据库进行alwayson配置,完成配置后再次更改拓扑中的数据库FQDN即可。接下来就开始Skype for Business Server的先决条件安装

打开Powershell执行以下命令进行安装:

Add-WindowsFeature NET-Framework-Core, RSAT-ADDS, Windows-Identity-Foundation, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Dir-Browsing, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Server-Media-Foundation, BITS, Desktop-Experience, Telnet-Client -Source d:\sources\sxs

image.png

安装完先决条件后,插入Skype for business server的镜像进行安装

image.png

接下来依次完成AD准备

image.png

安装管理工具

image.png

然后打开拓扑进行各种自定义,新建前端池,到后端数据库这里选择后端SQL Server存储为新建注意写上侦听器的FQDN以及其中一台SQL Server,目的是通过拓扑让SQL自动生成Skype所需的数据库

image.png

然后定义文件存储等等(这里着重讲后端数据库,会简化整个Skype for Business Server的部署过程),最后点击发布拓扑

image.png

发布完拓扑后sqlsrv01上已经自动生成了skype所需的数据库

image.png


由于alwayson的前提是需要对数据库做一次完整备份,所以需要将所有数据库进行一次完成备份然后才能去创建alwayson group

使用以下SQL Powershell进行备份

Invoke-Sqlcmd -Query "ALTER DATABASE [cpsdyn] SET RECOVERY FULL WITH NO_WAIT;" -ServerInstance "SQL01\SFBDB_BACK"

Invoke-Sqlcmd -Query "ALTER DATABASE [rgsconfig] SET RECOVERY FULL WITH NO_WAIT;" -ServerInstance "SQL01\SFBDB_BACK"

Invoke-Sqlcmd -Query "ALTER DATABASE [rgsdyn] SET RECOVERY FULL WITH NO_WAIT;" -ServerInstance "SQL01\SFBDB_BACK"

Invoke-Sqlcmd -Query "ALTER DATABASE [rtcab] SET RECOVERY FULL WITH NO_WAIT;" -ServerInstance "SQL01\SFBDB_BACK"

Invoke-Sqlcmd -Query "ALTER DATABASE [rtcshared] SET RECOVERY FULL WITH NO_WAIT;" -ServerInstance "SQL01\SFBDB_BACK"

Invoke-Sqlcmd -Query "ALTER DATABASE [rtcxds] SET RECOVERY FULL WITH NO_WAIT;" -ServerInstance "SQL01\SFBDB_BACK"

Invoke-Sqlcmd -Query "ALTER DATABASE [xds] SET RECOVERY FULL WITH NO_WAIT;" -ServerInstance "SQL01\SFBDB_BACK"

Invoke-Sqlcmd -Query "ALTER DATABASE [lis] SET RECOVERY FULL WITH NO_WAIT;" -ServerInstance "SQL01\SFBDB_BACK"

 

Backup-SqlDatabase -ServerInstance SQL01\SFBDB_BACK -Database xds

Backup-SqlDatabase -ServerInstance SQL01\SFBDB_BACK -Database lis

Backup-SqlDatabase -ServerInstance SQL01\SFBDB_BACK -Database cpsdyn

Backup-SqlDatabase -ServerInstance SQL01\SFBDB_BACK -Database rgsconfig

Backup-SqlDatabase -ServerInstance SQL01\SFBDB_BACK -Database rgsdyn

Backup-SqlDatabase -ServerInstance SQL01\SFBDB_BACK -Database rtcab

Backup-SqlDatabase -ServerInstance SQL01\SFBDB_BACK -Database rtcshared

Backup-SqlDatabase -ServerInstance SQL01\SFBDB_BACK -Database rtcxds

或者使用图形化界面操作

image.png

image.png

同时也需要将数据库的恢复模式更改为完整

image.png

最后还需要将目录结构复制到第二个SQL服务器:

robocopy C:\ CsData \\sqlsrv02\c$\CsData / e / xf *

image.png

然后开始创建alwayson group

image.png

定义组名称

image.png

选择数据库

image.png

添加副本

image.png

接下来下一步进行创建

image.png

添加侦听器

image.png

image.png

image.png

Sqlsrv02上也将数据库进行同步

image.png


此时需要将alwayson进行故障转移到sqlsrv02上

image.png

选择新的主副本

image.png

完成故障转移

image.png

接下来我们就要回到SFB Server上下载拓扑更改SQL FQDN为sqlsrv02

image.png

image.png

修改完成后进行拓扑发布

image.png

然后使用以下命令更新数据库

Install-CsDatabase -Update -ConfiguredDatabases -SqlServerFqdn sql.ucssi.cn -Verbose

image.png

最后再次将sql fqdn更改为侦听器FQDN

image.png

image.png

最后再次发布拓扑即可完成在skype for business server环境中整个alwayson的部署过程。

最后开始安装skype for business server组件,过程就比较简单了,依次进行本地配置存储安装,Skype for business server组件安装,证书申请

image.png

后续步骤:略!略!略!