创建Windows Server 2012 R2双节点集群
成功部署故障转移群集的必要条件和推荐前置
Windows Server 2012 R2 故障转移集群支持2-64个节点,所有节点配置成群集后将共同工作以提供应用和服务的高可用性。尽管如此,配置故障转移集群的前置需求要比其它运行于windows 服务器上的网络服务更加严格
- 集群中的所有节点都有相同的硬件配置(几乎相同)
- 集群中的所有节点必须安装有相同的Windows 服务器系统版本
- 集群中的节点不能有的安装core版本有的安装桌面图形化版本系统
- 集群中的所有节点所安装的软件和补丁应尽可能一致
- 集群中所有节点都应装有相同的CPU架构和类型
- 当使用串行SCSI附加存储时,集群所有节点所用的控制器或主机总线适配器(HBA)以及对应的驱动和固件版本也应一致
- 如果使用iSCSI的存储时,集群中的所有节点至少应有单独的一个网络适配器或(HBA)专用于存储网络,不能于其它流量共用。 建议每个节点至少配有2块网络适配器。高带宽的网络适配器会提供更好的性能
- 所有节点上面的网络适配器都应支持相同属性,比如IP协议版本、工作速率、双工模式和流量控制
- 所有节点上的同一个网络的网络适配器都应具有相同的IP地址获取方式。(静态或DHCP)
- 所有集群中的服务器成员必须属于同一个域并配置相同的DNS服务器
- 网络和网络设备应具备冗余,以尽量避免节点或网络设备单点故障
- 所有节点服务器都应具备window 验证徽标并通过"Validate a Configuration" 测试
连接iSCSI存储到群集节点服务器
实验中节点服务器分别为ServerA1、ServerA2。在进行配置群集之前,我们先将part1(https://www.jianshu.com/p/a3ad6c14b654)中配置好的iSCSI硬盘连接到节点服务器上
- 在服务器管理器中,点击Tools,然后点击iSCSI Initiator。如果有确认窗口弹出,点击OK。
image.png - 在iSCSI Initiator Properties点击Discovery,接下来点解Discover Portal
image.png - 在Discover target Portal页面,IP address or DNS name出输入192.168.1.100,Port保持默认,然后点击OK保存设置,此处键入的IP地址时iSCSI Target server
image.png - 点击Targets选项,点击Refresh,选择iqn.1991-05.com.microsoft:dc1-isan-target,然后点击Connect
image.png - 在连接到Target的配置窗口,确认Add this connection to the list of Favorite Targets is selected,点击OK保存配置
image.png - 在iSCSI Initiator Properties属性窗口,验证Status为Connected然后点击OK
image.png
注:以上6个步骤,在ServerA2上也需要配置
For PowerShell
简洁且强大的命令行又来了~~~
# Create a array for cluster nodes $nodes=@("ServerA1","ServerA2") foreach ($node in $nodes) { # Enable initiator service and set it to autostart Invoke-Command -ComputerName $node -ScriptBlock {Set-Service -Name MSiSCSI -StartupType Automatic;Start-Service MSiSCSI} # Add iSCSI target-server, target-server address is 192.168.1.100 Invoke-Command -ComputerName $node -ScriptBlock {New-IscsiTargetPortal -TargetPortalAddress 192.168.1.100} # Connect to iSCSI target-server Invoke-Command -ComputerName $node -ScriptBlock {$target=Get-IscsiTarget; Connect-IscsiTarget -NodeAddress $target.nodeaddress} # Check if the initiator connect to target-server,the value for column "IsConnected" should be "True" Invoke-command -ComputerName $node -ScriptBlock {Get-IscsiTarget} # Check more information about iSCSI connections Invoke-Command -ComputerName $node -ScriptBlock {Get-IscsiConnection} # register the iscsisession to make the sessions persistent Invoke-Command -ComputerName $node -ScriptBlock {Get-IscsiSession | Register-IscsiSession} # check disk what has been added to iSCSI Initiator Service on client Invoke-Command -ComputerName $node -ScriptBlock {Get-Disk} }
挂载iSCSI磁盘到节点服务器
- 在服务器管理器中,点击Tools,然后选择Computer Management。
image.png - 展开Storage,点击Disk Management,然后验证3块iSCSI磁盘已经在磁盘管理中显示,本例中9、10和11号磁盘
image.png - 右键点击Disk 9,然后点击Online
image.png - 邮件点击Disk 9,然后点击Initialize disk。在弹出确认窗口选择OK
image.png - 右键选中Disk 9 Unallocated部分,然后点击 New Simple Volume
image.png - 在Welcome页面,点击Next
image.png - 在Specify Volume Size页面,点击Next
image.png -
为磁盘分配盘符,然后下一步
image.png - 将磁盘格式化为NTFS文件系统,设置卷标为CSV,然后下一步
image.png - 点击Next完成分区创建
image.png
注意:重复以上1 - 10步骤,分别将Disk 10
和Disk 11
挂载并格式化分区为NTFS
,并分别设置卷标为Data
和Witness
,Disk 10
作为数据盘,而Disk 11
将被用于群集的仲裁见证。
For PowerShell
# 列出当前机器可用磁盘 Get-Disk # 配置磁盘9 Set-Disk -Number 9 -IsOffline $false Initialize-Disk -Number 9 New-Partition -DiskNumber 9 -UseMaximumSize -driveletter Q | Format-Volume -FileSystem NTFS -NewFileSystemLabel "CSV" -Force # 配置磁盘10 Set-Disk -Number 10 -IsOffline $false Initialize-Disk -Number 10 New-Partition -DiskNumber 10 -UseMaximumSize -driveletter P | Format-Volume -FileSystem NTFS -NewFileSystemLabel "Data" -Force # 配置磁盘11 Set-Disk -Number 11 -IsOffline $false Initialize-Disk -Number 11 New-Partition -DiskNumber 11 -UseMaximumSize -driveletter R | Format-Volume -FileSystem NTFS -NewFileSystemLabel "Witness" -Force
开始安装配置群集
现在,用于配置群集的两个节点都已经连接到共享存储,现在我们来在两个节点上安装群集角色
- 查看集群功能是否已经安装,下图则时未安装
Get-WindowsFeature Failover-Clustering | FT –Autosize
image.png - 安装群集功能
Install-WindowsFeature Failover-Clustering –IncludeManagementTools
image.png - 验证节点是否满足群集配置要求
- 点击服务器管理,然后点击Tools,然后点击Failover Cluster Manager
image.png- 点击Validate Configuration
image.png- 在Validate a Configuration向导,点击Next
image.png选择需要测试的节点服务器
image.png
image.png
image.png- 复选Run all tests( recommended),然后一路下一步直至查看测试报告
image.png
image.png
image.png
image.png- 取消Create the cluster now using the validated nodes复选框,然后点击Finish
image.png
For PowerShelltest-cluster -node ServerA1,ServerA2
- 创建群集
尽管节点测试报告中有些警告,但是还是通过了测试,因此我们将开始创建一个集群
- 节点ServerA1上打开Failover Cluster Manager,点击Create Cluster,紧着这点击Next跳过Before You Begin这一步
image.png添加节点ServerA1和ServerA2,然后下一步
image.png
image.png- 在Access Point for Administering the Cluster,在Cluster Name键入ClusterA,然后再下面键入192.168.1.210,点击下一步,然后在确认界面查看确认结果,最后点击下一步完成创建,本步骤定义了群集名称和群集IP
image.png
image.png
image.png
For PowerShellNew-Cluster -Name ClusterA -node ServerA1,ServerA2 -StaticAddress 192.168.1.210
创建完成后,在ADUC中可以看到相应记录已经生成
image.png
For PowerShellGet-ADComputer -Filter {Name -eq "ClusterA"}
查看DNS记录
image.png
For PowershellResolve-DnsName ClusterA
- Window 群集中预定义了用于集群场景的角色,包括
DFS Namespace server
,DHCP Server
,File Server
,iSCSI Target Server
,WINS Server
,Hyper-V Replica Broker and Virtual Machines
等等。
image.png - 有关运行于故障转移集群中的文件服务器
Windows server 2012 R2 支持两种集群文件服务器部署,一种时向外扩展的用于应用的数据的文件服务(Scaole-Out File Server for application Data),另外一种既是我们所熟知的常规文件服务
- Scaole-Out File Server for application Data 向外扩展的集群文件服务,也被称之为active-active cluster,这是一种自Server 2012开始引入的高级功能特性,这种模式被推荐用来部署Hyper-V的节点和和基于SMB(Server Message Block)的Microsoft SQL Server。这种模式允许所有节点同时提供用于应用数据的文件共享服务,因此它对外提供并发的总吞吐带宽时所有节点带宽之和,并且群集可以按需提供负载均衡,这极大地提高了集群性能。因此,当文件服务能力不足时,我们可以通过增加节点的方式来提升性能。此种集群文件服务需要至少SMB 3.0版本或更高,系统至少为Windows Server 2012或更高。
- File Server for General Use 传统的集群文件服务,同一时间服务将只能在一个节点上可用,这种模式提供了向外扩展的集群文件服务所缺少的高级功能特性,例如数据去重(data deduplication),DFS复制(DFS replication),动态访问控制(dynamic access),工作目录(work folders),NFS共享(NFS shared),分支机构缓存(branchecache),文件服务器资源桌面显示以及配额管理。