在第一部分中,所有的系统安装好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网络。

wKioL1MVMbDRW8XZAAEsL7leECs280.jpg心跳和ISCSI的网络分开,比如我这里使用192.168.100.0/24和192.168.200.0/24,可以自由选择。

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

将菜单调出来:

wKiom1MVMn3B9j4jAAFMjrqyy-I448.jpg

选择高级中的高级配置:

wKiom1MVMuzxViyHAAD4ggU5tXQ409.jpg

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

wKiom1MWczDA-RbVAAFz-udKqm0824.jpg

启用远程存储服务器:

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

wKiom1MWdm2xiKnRAAJJbMedhfo111.jpg

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

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

选择VHD硬盘存储位置:

wKioL1MWdt6y84WlAAKZtkZ5PNI345.jpg

输入VHD名称和位置:

wKioL1MWdyKABj-8AAF3z9CSjwg980.jpg

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

wKiom1MWd3iTs2pwAAOGYst7X00137.jpg

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

wKiom1MWeCSg3ha_AAHRlk_pdSo275.jpg

输入Target名称:

wKiom1MWeEiBdDTlAAFeVRBIA-8880.jpg

为该Target添加ISCSI连接:

wKioL1MWeFHAoh70AAGhpN90BSI707.jpg

将SQL01和SQL02加入:

wKiom1MWeKvQKIqdAAFTWsAOM4E507.jpg

如图所示:

wKioL1MWeK2RmxKGAAIgcwJv1yk624.jpg

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

wKioL1MWeNrjWci1AAJm-XISG54509.jpg

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

wKioL1MWeZ7xjM0wAAGG7VF30hE545.jpg

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

wKioL1MWehmDRvt7AAJE4MOkSzg129.jpg

点击快速连接即可:

wKiom1MWel7BExmhAAGnPicnX0o459.jpg

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

wKiom1MWe2HTOMbFAAE-2fXfPqM184.jpg

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

wKiom1MWc3mCrhvpAAJytmoXVf8003.jpg

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

wKiom1MWdGmgUOUvAAG-np1agro544.jpg

输入SQL01,SQL02

wKiom1MWe7OQWq02AAGB_7YWgU0676.jpg

选择所有测试:

wKiom1MWe8-wMwMuAAHTL9havho217.jpg

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

wKioL1MWfN_gGmDIAAH1ykExd0c599.jpg

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

wKiom1MWfTTiOPB8AAKRlJ4J9pw835.jpg

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

wKioL1MWfWzxj-WUAAHg_HosPPc235.jpg

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

wKiom1MWfdCxrmDcAAGJ9ntdaHM878.jpg

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

wKiom1MWfh-irpcqAAHCnBLarR0120.jpg

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

wKioL1MWfiiiW86qAAIdf1yW2So200.jpg

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

wKioL1MWfkqzFe70AAHqEthgHcg853.jpg

输入名称和IP地址:

wKiom1MWfrSBruFrAAHBNGhF9uo002.jpg

选择2G那块硬盘:

wKioL1MWfq6CDNMNAAG0T762ZGU031.jpg

点击Next完成:

wKioL1MWfwzDUW_lAAGJwFWfOoc157.jpg

安装SQL 2012 SP1:

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

wKioL1MWh7yzAw7dAAI3Rr1uFw8121.jpg

通过自检:

wKioL1MWiIjR15mxAAMcmGRutqk456.jpg

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

wKiom1MWidHTSAduAAL-c2iTS_Y589.jpg

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

wKioL1MWijfDB7iKAAOMUozYkzw214.jpg

选择安装SQL的功能:

wKiom1MWin6wbmJMAAKqJrjMc_Q467.jpg

只安装SQL数据库引擎即可,其他功能不需要:wKioL1MWipuiutIzAAUFtPb5aZ0109.jpg

通过自检:

wKiom1MWiz_hJJ6pAALrzIdPevQ037.jpg

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

wKiom1MWi4myb1AeAAMhdirX7BY335.jpg

硬盘检测通过:

wKioL1MWi5uwrMDEAAH0vMVPg40478.jpg

选择数据存储盘:

wKiom1MWi-izbByaAAMIzt3bUKs968.jpg输入IP,选择静态:

wKioL1MWjDyzq55xAAJKyYR_jZA799.jpg

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

wKioL1MWjSeiN7DIAAMQSCWqzvY141.jpg

添加管理员:

wKiom1MWjX7CJPBIAANlMysRzfc236.jpg

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

wKioL1MWjYGjcAorAAJ7PieD5ZU451.jpg

之后开始安装:

wKioL1MWjbOyw_CiAAGXcelNTAg546.jpg

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

wKioL1MW5lWSl5LFAAJCckL1xZ0238.jpg

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

最后我们需要为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群集。作为镜像数据库使用