在第一部分中,所有的系统安装好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网络。
心跳和ISCSI的网络分开,比如我这里使用192.168.100.0/24和192.168.200.0/24,可以自由选择。
将网卡顺序调到LAN为主要网络。
将菜单调出来:
选择高级中的高级配置:
将LAN这块网卡的优先级别放到最高,心跳最低:
启用远程存储服务器:
在FILE01.contoso.com上首先安装ISCSI服务:
创建一个ISCSI Target 和三个VHD硬盘:
Target SQLDB01,Wit.vhd 1G见证盘,DTC.vhd 2G DTC服务用,SQLDB01.vhd 100G 数据库使用。
选择VHD硬盘存储位置:
输入VHD名称和位置:
选择大小和硬盘类型,三种类型,一种是标准大小,这种类型读写速度快,但是无用空间占用多,一种是动态,这种特点是节省空间,但是性能一把,第三种是差异硬盘,需要基于一块母盘。我们这里使用动态的:
为该vhdx分配ISCSITarget,我们选择创建新ISCSI Target:
输入Target名称:
为该Target添加ISCSI连接:
将SQL01和SQL02加入:
如图所示:
其他配置都不用启用,可以跳过,点击创建:
完成后,把另外两块VHDX也添加上后,我们登陆SQL01和SQL02,配置ISCSI连接:
在SQL01、SQL02上打开ISCSI Initiator,在目标处输入FILE01配置的ISCSI网卡的地址,这样可以使ISCSI不占用普通网络带宽:
点击快速连接即可:
这时在磁盘管理中我们看到多了三块硬盘,将他们online并格式化:
在SQL01和SQL02上安装故障转移群集服务:
两台SQL都安装完毕后,打开故障转移群集管理台,选择评估配置:
输入SQL01,SQL02
选择所有测试:
点击Next开始,等待一阵子后,测试完成看到测试全部通过:
勾选立刻创建该群集,就会自动开始创建群集:
输入群集名称和群集IP地址:
自动创建完成,省了很多事,勾选自动添加所有可用共享存储到群集,这样我们的三块硬盘会自动添加:
可以看到创建完成,并且把我们的1G的硬盘当做了见证盘:
之后打开群集节点,选择配置角色:
选择DTC服务,这是SQL群集必须的组件:
输入名称和IP地址:
选择2G那块硬盘:
点击Next完成:
安装SQL 2012 SP1:
在SQL01上打开SQL2012安装程序,选择群集安装:
通过自检:
输入序列号后,接受许可协议:
看到自检一个防火墙的警告,可以忽略,后面我们人工开放防火墙端口:
选择安装SQL的功能:
通过自检:
输入数据库群集名称和实例名称:
硬盘检测通过:
选择数据存储盘:
输入SQL的服务账号,字符集可以用默认的:
添加管理员:
自检通过,可以开始安装:
之后开始安装:
安装完成后,我们登陆SQL02继续添加节点:
没什么特殊需要配置的,这里就不再详细描述了。
最后我们需要为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群集。作为镜像数据库使用