在Windows Server故障转移集群中,共享存储是多个节点能够访问同一份数据的物理基础。没有共享存储,集群资源就无法在节点之间转移,故障转移也就无从谈起。常见的共享存储方案包括共享SAS磁盘柜、iSCSI目标、光纤通道SAN以及Windows Server存储空间直通。不同方案在成本、性能和复杂度上差异明显,中小规模部署大多选择iSCSI或共享SAS,而大规模虚拟化环境则更偏向光纤通道或存储空间直通。

共享存储不仅要让所有节点访问到磁盘,还必须保证同一时间只有一个节点拥有磁盘的写入权限,否则会造成数据损坏。Windows Server集群通过磁盘仲裁机制和持久保留技术来处理这个问题。接下来分别从存储选型、iSCSI配置、集群集成和故障转移验证几个方面展开。
一、共享存储的类型与选型依据
共享存储在Windows Server故障转移集群中主要有四类:共享SAS、iSCSI、光纤通道和存储空间直通。共享SAS依赖SAS扩展器连接多个节点,成本较低但距离受限;iSCSI基于以太网传输SCSI命令,灵活性高,适合现有IP网络环境;光纤通道需要专用交换机和HBA卡,性能稳定但价格昂贵;存储空间直通利用本地磁盘构建分布式存储池,适合超融合场景。
选型时需要重点考虑节点数量、工作负载类型和预算。如果只有两个节点且预算有限,iSCSI或者共享SAS往往是最合适的选择。对于需要承载大量虚拟机且对延迟敏感的生产环境,光纤通道SAN能提供更一致的性能。存储空间直通则需要至少四个节点才能发挥最佳效果,并且在三节点以下配置中容易出现维护模式下的降级风险。不论采用哪种方案,存储的冗余性都必须与集群的高可用目标匹配。
另外要注意的是,Windows Server故障转移集群要求共享磁盘必须支持SCSI-3持久保留。这一特性允许集群在节点之间安全地转移磁盘所有权。如果存储设备不支持SCSI-3持久保留,集群验证向导会发出警告,强行上线集群可能导致仲裁冲突。所以在购买存储设备前最好确认兼容性列表。
二、使用iSCSI配置共享存储的完整步骤
iSCSI是中小型故障转移集群最常用的共享存储方式。它的配置分为目标端和发起端两部分。目标端通常在专用的存储服务器或NAS设备上运行,Windows Server本身也可以通过文件和存储服务中的iSCSI目标服务器角色来提供目标。首先在存储服务器上安装iSCSI目标服务器角色,然后创建虚拟磁盘并分配给指定的iSCSI发起程序。
下面是一个在存储服务器上使用PowerShell创建iSCSI目标和虚拟磁盘的示例:
# 安装iSCSI目标服务器角色 Install-WindowsFeature -Name FS-iSCSITarget-Server # 创建iSCSI虚拟磁盘,路径为C:\iSCSIVirtualDisks\ClusterDisk1.vhdx,大小200GB New-IscsiVirtualDisk -Path "C:\iSCSIVirtualDisks\ClusterDisk1.vhdx" -Size 200GB # 创建iSCSI目标 New-IscsiServerTarget -TargetName "ClusterTarget1" -InitiatorIds "IQN:iqn.1991-05.com.microsoft:node1","IQN:iqn.1991-05.com.microsoft:node2"
上面的命令中,InitiatorIds参数指定了允许访问该目标的发起程序IQN名称,只有这两个集群节点的发起程序才能连接,这样能防止其他服务器误挂载集群磁盘。创建完成后,需要在每个集群节点上配置iSCSI发起程序,连接到目标并确保磁盘联机。
在节点上使用iSCSI发起程序连接目标时,通常通过服务器管理器中的iSCSI发起程序工具或PowerShell命令完成。连接成功后,磁盘会出现在磁盘管理器中,但此时不要初始化或格式化,因为集群磁盘需要保持原始状态,由集群服务统一管理。当所有节点都能看到该磁盘且磁盘编号一致后,才算完成共享存储的接入。
三、将共享磁盘加入集群并启用CSV
共享磁盘接入后,需要先运行集群验证向导检查存储配置是否符合要求。在故障转移集群管理器中,点击验证配置,选择所有节点,验证向导会测试存储、网络和系统配置。存储测试中重点检查所有节点是否能看到相同的磁盘、磁盘是否支持SCSI-3持久保留以及是否存在单点故障。如果验证报告中只有警告而没有错误,可以继续创建集群;如果存在错误,必须先解决,否则集群上线后会出现不可预知的问题。
验证通过后,使用新建集群向导创建集群,设置集群名称和IP地址。集群创建完成后,共享磁盘会自动出现在存储节点下。此时需要将磁盘添加到集群的可用存储中,然后根据应用类型决定是否转换为CSV。对于Hyper-V虚拟机或SQL Server故障转移实例,通常建议启用CSV,因为CSV允许所有节点同时访问磁盘,从而支持虚拟机的实时迁移和高并发读写。
下面是将磁盘添加到集群并启用CSV的PowerShell命令:
# 查询集群可用磁盘 Get-ClusterAvailableDisk # 将编号为1的磁盘添加到集群 Add-ClusterDisk -Number 1 # 查看集群磁盘状态 Get-ClusterDisk # 将磁盘转换为CSV Add-ClusterSharedVolume -Name "Cluster Disk 1"
执行完成后,CSV会被挂载到每个节点的C:\ClusterStorage\Volume1目录下,所有节点都可以通过这个路径访问同一份数据。需要注意的是,CSV并不是真正的并行文件系统,它通过协调节点来管理元数据,数据读写性能取决于底层存储和网络。对于文件服务器等需要传统共享文件夹的场景,使用普通集群磁盘并在活动节点上创建文件服务器角色即可,不必启用CSV。
四、验证故障转移与常见问题处理
完成共享存储配置后,必须验证故障转移是否按预期工作。最简单的测试方法是在故障转移集群管理器中右键点击某个角色或CSV,选择移动,然后选择另一个节点。如果资源能够成功上线且客户端访问不受影响,说明共享存储配置正确。也可以直接关闭活动节点的电源,观察资源是否自动转移到其他节点,以及转移时间是否在可接受范围内。
常见的故障转移问题主要围绕磁盘所有权和网络心跳。如果共享磁盘在两台节点上同时显示联机状态,说明持久保留配置有误,这时需要检查存储设备的SCSI-3支持情况以及iSCSI目标的访问控制列表。另一个常见问题是集群网络心跳丢失导致节点被隔离,此时应检查集群专用网络和公用网络的配置,确保心跳流量不被防火墙或交换机策略阻断。
此外,仲裁配置也会影响故障转移的可靠性。对于双节点集群,默认使用节点多数仲裁,如果共享存储不稳定,可以考虑配置磁盘见证或文件共享见证来增加仲裁票数。磁盘见证必须放置在独立的共享磁盘上,文件共享见证则可以放在一台不参与集群的服务器上。修改仲裁的命令如下:
# 配置文件共享见证 Set-ClusterQuorum -FileShareWitness \\192.168.1.50\witness # 查看当前仲裁配置 Get-ClusterQuorum
最后要强调,共享存储的日常维护同样重要。定期检查存储设备固件、多路径软件和HBA驱动版本,确保它们与Windows Server版本兼容。因为很多集群故障并不是配置文件错误引起的,而是底层存储驱动或固件在长期运行后暴露出问题。使用集群验证工具定期复查,可以提前发现潜在的存储隐患。
Windows Server 故障转移集群共享存储集群共享卷修改时间:2026-10-04 12:37:24