在第一部分中,所有的系统安装好Windows Server 2012 R2系统,部署好二层证书服务,打好所有系统补丁,关于证书服务搭建可以参考这里。SQL服务器安装好.NET Framework 3.5.1,安装命令:

install-windowsfeature -name net-framework-core -source G:\sources\sxs\ G盘为系统光驱所在盘符

现在我们用其中6台装好补丁的Windows Server 2012 R2服务器,其中FILE01.contoso.com文件服务器我们用作ISCSI Target服务器。SQL01和SQL02组成SQLDB01群集,SQL03和SQL04组成SQLDB02群集,SQL05作为单台带有Reporting Service服务器的数据库,作为报表和仲裁见证服务器。


部署Lync Server 前端主数据库群集SQLDB01:


将SQL01和SQL02分别安装3块网卡,作用分别是:正常网络,心跳网络,ISCSI网络。

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第1张图片心跳和ISCSI的网络分开,比如我这里使用192.168.100.0/24和192.168.200.0/24,可以自由选择。

将网卡顺序调到LAN为主要网络。

将菜单调出来:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第2张图片

选择高级中的高级配置:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第3张图片

将LAN这块网卡的优先级别放到最高,心跳最低:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第4张图片

启用远程存储服务器:

在FILE01.contoso.com上首先安装ISCSI服务:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第5张图片

创建一个ISCSI Target 和三个VHD硬盘:

Target SQLDB01,Wit.vhd 1G见证盘,DTC.vhd 2G DTC服务用,SQLDB01.vhd 100G 数据库使用。

选择VHD硬盘存储位置:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第6张图片

输入VHD名称和位置:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第7张图片

选择大小和硬盘类型,三种类型,一种是标准大小,这种类型读写速度快,但是无用空间占用多,一种是动态,这种特点是节省空间,但是性能一把,第三种是差异硬盘,需要基于一块母盘。我们这里使用动态的:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第8张图片

为该vhdx分配ISCSITarget,我们选择创建新ISCSI Target:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第9张图片

输入Target名称:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第10张图片

为该Target添加ISCSI连接:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第11张图片

将SQL01和SQL02加入:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第12张图片

如图所示:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第13张图片

其他配置都不用启用,可以跳过,点击创建:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第14张图片

完成后,把另外两块VHDX也添加上后,我们登陆SQL01和SQL02,配置ISCSI连接:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第15张图片

在SQL01、SQL02上打开ISCSI Initiator,在目标处输入FILE01配置的ISCSI网卡的地址,这样可以使ISCSI不占用普通网络带宽:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第16张图片

点击快速连接即可:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第17张图片

这时在磁盘管理中我们看到多了三块硬盘,将他们online并格式化:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第18张图片

在SQL01和SQL02上安装故障转移群集服务:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第19张图片

两台SQL都安装完毕后,打开故障转移群集管理台,选择评估配置:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第20张图片

输入SQL01,SQL02

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第21张图片

选择所有测试:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第22张图片

点击Next开始,等待一阵子后,测试完成看到测试全部通过:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第23张图片

勾选立刻创建该群集,就会自动开始创建群集:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第24张图片

输入群集名称和群集IP地址:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第25张图片

自动创建完成,省了很多事,勾选自动添加所有可用共享存储到群集,这样我们的三块硬盘会自动添加:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第26张图片

可以看到创建完成,并且把我们的1G的硬盘当做了见证盘:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第27张图片

之后打开群集节点,选择配置角色:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第28张图片

选择DTC服务,这是SQL群集必须的组件:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第29张图片

输入名称和IP地址:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第30张图片

选择2G那块硬盘:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第31张图片

点击Next完成:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第32张图片

安装SQL 2012 SP1:

在SQL01上打开SQL2012安装程序,选择群集安装:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第33张图片

通过自检:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第34张图片

输入序列号后,接受许可协议:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第35张图片

看到自检一个防火墙的警告,可以忽略,后面我们人工开放防火墙端口:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第36张图片

选择安装SQL的功能:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第37张图片

只安装SQL数据库引擎即可,其他功能不需要:部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第38张图片

通过自检:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第39张图片

输入数据库群集名称和实例名称:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第40张图片

硬盘检测通过:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第41张图片

选择数据存储盘:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第42张图片输入IP,选择静态:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第43张图片

输入SQL的服务账号,字符集可以用默认的:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第44张图片

添加管理员:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第45张图片

自检通过,可以开始安装:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第46张图片

之后开始安装:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第47张图片

安装完成后,我们登陆SQL02继续添加节点:

部署高可用的Lync Server 2013 Part 2 SQL群集环境准备_第48张图片

没什么特殊需要配置的,这里就不再详细描述了。

最后我们需要为SQL服务开启防火墙端口,当然你可以直接关闭防火墙,妥妥儿的,这里我多花了一些功夫来钻研到底需要哪些端口:



New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (SQLServer)" -Direction Inbound -Protocol TCP -LocalPort 1433 -

RemoteAddress LocalSubnet -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (SQL Admin Connection)" -Direction Inbound -Protocol UDP -

LocalPort 1434 -RemoteAddress LocalSubnet -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (SQL Admin Connection)" -Direction Inbound -Protocol TCP -

LocalPort 1434 -RemoteAddress LocalSubnet -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (SQL Service Broker)" -Direction Inbound -Protocol TCP -

LocalPort 4022 -RemoteAddress LocalSubnet -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (SQL Debugger/RPC)" -Direction Inbound -Protocol TCP -LocalPort

135 -RemoteAddress LocalSubnet -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (Analysis Services)" -Direction Inbound -Protocol TCP -LocalPort

2383 -RemoteAddress LocalSubnet -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (SQL Browser)" -Direction Inbound -Protocol TCP -LocalPort 2382

-RemoteAddress LocalSubnet -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (SQL Mirroring1)" -Direction Inbound -Protocol TCP -LocalPort

5022 -RemoteAddress LocalSubnet -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (SQL Mirroring2)" -Direction Inbound -Protocol TCP -LocalPort

7022 -RemoteAddress LocalSubnet -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (http)" -Direction Inbound -Protocol TCP -LocalPort 80 -

RemoteAddress 192.168.1.0/24 -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (https)" -Direction Inbound -Protocol TCP -LocalPort 443 -

RemoteAddress 192.168.1.0/24 -Action Allow


New-NetFirewallRule -DisplayName "Allow Inbound SQL Server (SQL Server Dynamic)" -Direction Inbound -Program

"%ProgramFiles%Microsoft SQL ServerMSSQL11.RTCMSSQLBinnsqlservr.exe" -RemoteAddress LocalSubnet -Action Allow


Enable-NetFirewallRule -DisplayName "File and Printer Sharing (NB-Name-In)"


Enable-NetFirewallRule -DisplayName "File and Printer Sharing (NB-Datagram-In)"


Enable-NetFirewallRule -DisplayName "File and Printer Sharing (NB-Session-In)"


Enable-NetFirewallRule -DisplayName "File and Printer Sharing (SMB-In)"


Enable-NetFirewallRule -DisplayName "Inbound Rule for Remote Shutdown (RPC-EP-In)"


Enable-NetFirewallRule -DisplayName "Inbound Rule for Remote Shutdown (TCP-In)"



在所有SQL服务器跑如上代码,注意替换网段为自己的环境网段。

之后防火墙配置即可完成,然后我们讲SQL03,SQL04组成SQLDB02群集。作为镜像数据库使用