一、前期准备
1. 硬件和软件要求
- 服务器:2台相同或相似配置的服务器
- 操作系统:Windows Server 2016/2019/2022 Datacenter或Standard版
- 存储:共享存储(SAN、iSCSI等)或使用存储空间直通(S2D)
- 网络:
- 至少2个网络适配器(建议3个:生产、心跳、存储)
- 静态IP地址
- 相同域环境
2. 网络配置示例
服务器1:
- 生产网络:192.168.1.10/24
- 心跳网络:10.0.0.1/24
- 存储网络:172.16.0.1/24
服务器2:
- 生产网络:192.168.1.11/24
- 心跳网络:10.0.0.2/24
- 存储网络:172.16.0.2/24
二、安装前配置
1. 加入域环境
# 在两台服务器上执行
Add-Computer -DomainName "yourdomain.com" -Credential (Get-Credential)
Restart-Computer
2. 配置网络
- 重命名网卡(生产、心跳、存储)
- 禁用NetBIOS(心跳网卡)
- 配置DNS和网关
3. 配置共享存储
iSCSI示例:
# 安装iSCSI发起程序
Install-WindowsFeature -Name FS-iSCSITarget-Server
# 连接iSCSI目标
New-IscsiTargetPortal -TargetPortalAddress 192.168.2.100
Connect-IscsiTarget -NodeAddress "iqn.1991-05.com.microsoft:target-name"
三、安装故障转移群集功能
方法1:使用服务器管理器
打开
服务器管理器 →
添加角色和功能
选择
故障转移群集
完成安装,两台服务器都需要安装
方法2:使用PowerShell
# 在两台服务器上执行
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools
四、验证群集配置
# 在一台服务器上执行验证测试
Test-Cluster -Node "Server1", "Server2" -Include "Storage", "Network", "System Configuration"
查看报告,确保所有测试通过。
五、创建故障转移群集
方法1:使用故障转移群集管理器
打开
故障转移群集管理器
点击
创建群集
输入两台服务器名称
输入群集名称和IP地址(如:192.168.1.100)
完成向导
方法2:使用PowerShell
New-Cluster -Name Cluster01 -Node Server1, Server2 -StaticAddress 192.168.1.100 -NoStorage
六、配置仲裁设置
# 设置文件共享见证(推荐)
Set-ClusterQuorum -NodeAndFileShareMajority \\FileServer\QuorumShare
# 或使用磁盘见证(如果有共享磁盘)
Set-ClusterQuorum -DiskWitness "Cluster Disk 1"
七、配置群集网络
# 查看网络
Get-ClusterNetwork
# 重命名网络
(Get-ClusterNetwork -Name "Cluster Network 1").Name = "Production"
(Get-ClusterNetwork -Name "Cluster Network 2").Name = "Heartbeat"
# 设置网络角色
Get-ClusterNetwork "Heartbeat" | Set-ClusterNetwork -Role 1 # 仅内部通信
Get-ClusterNetwork "Production" | Set-ClusterNetwork -Role 3 # 客户端通信
八、添加共享存储
1. 初始化和格式化磁盘
# 在磁盘管理器中初始化磁盘
# 或使用Diskpart
diskpart
select disk 1
online disk
attributes disk clear readonly
convert gpt
create partition primary
format quick fs=ntfs label="Cluster Disk 1"
assign letter=S
2. 添加为群集磁盘
# 在故障转移群集管理器中
# 存储 → 磁盘 → 添加磁盘
九、创建高可用性角色
示例:创建文件服务器角色
# 使用GUI:
# 1. 右键"角色" → 配置角色
# 2. 选择"文件服务器"
# 3. 指定客户端访问点名称和IP
# 4. 选择存储
# 使用PowerShell:
Add-ClusterFileServerRole -Name FileServer01 -Storage "Cluster Disk 1" -StaticAddress 192.168.1.101
十、配置故障转移设置
# 设置故障转移阈值和周期
$Role = Get-ClusterGroup "FileServer01"
$Role.FailoverThreshold = 10
$Role.FailoverPeriod = 6
# 设置首选所有者
Set-ClusterOwnerNode -Group "FileServer01" -Owners Server1, Server2
十一、测试故障转移
1. 手动测试
# 移动角色到另一节点
Move-ClusterGroup -Name "FileServer01" -Node Server2
# 模拟故障
Stop-ClusterNode -Name Server1 -Force
2. 验证功能
十二、监控和维护
常用监控命令
# 查看群集状态
Get-Cluster
# 查看节点状态
Get-ClusterNode
# 查看资源状态
Get-ClusterResource
# 查看事件
Get-ClusterLog -TimeSpan 60 -Destination C:\Temp
十三、常见问题解决
1. 群集验证失败
2. 仲裁问题
# 重置仲裁
Clear-ClusterNode
Start-ClusterNode -FixQuorum
3. 网络问题
# 重新检测网络
Test-Cluster -Node Server1, Server2 -Include Network
十四、最佳实践建议
网络分离:生产、心跳、存储网络物理分离
定期备份:定期备份群集配置
监控告警:配置性能监控和告警
文档维护:记录所有配置变更
定期测试:每季度测试故障转移流程
注意事项
时间同步:确保所有节点时间同步
防火墙:开放必要的群集端口(如:3343 UDP)
权限:使用域管理员或具有足够权限的账户
存储兼容性:确认存储硬件兼容性列表
这个教程涵盖了从规划到部署的完整流程。实际部署时,请根据具体环境调整配置参数。