windows 11 不支持存储空间直通(s2d),因其缺失故障转移群集、csv 文件系统等服务器级组件;仅 windows server 2016 及以上版本(如 server 2019/2022/2025)原生支持,需至少两节点、rdma 网络、直通模式 raw 磁盘及域环境。
通过 windows 存储空间直通(s2d)搭建高可用存储,核心不是装完就自动高可用,而是围绕“节点冗余、数据保护、网络可靠、存储自治”四个支柱来设计和执行。只要满足最低硬件门槛并严格按流程操作,两节点即可起步,四节点更稳妥,系统会自动构建镜像或纠删码卷,实现跨节点容错。
确认基础环境是否达标
S2D 不兼容“差不多就行”的配置,必须逐项核对:
- 节点数量与系统版本:至少 2 台物理服务器或高配虚拟机;全部运行 Windows Server 2019 Datacenter 或更新版本(含 Windows 11 企业版),不支持 Standard 版;Windows Server 2025/2026 均原生支持。
- 本地磁盘要求:每台节点需配备 ≥2 块直连磁盘(NVMe、SATA/SAS SSD 或 HDD),禁用 RAID 卡——必须是 HBA 直通模式;所有磁盘必须为 RAW 状态,无分区、无文件系统、未启用 BitLocker、未被其他存储池占用。
-
网络低延迟保障:节点间至少一对 RDMA 网卡(如 RoCE v2 或 InfiniBand);若无 RDMA,须使用万兆以太网 + SMB Direct + DCB 配置,并验证
Get-NetAdapterRdma返回 True。 - 域与权限:所有节点加入同一 Active Directory 域;操作账户需同时具备本地管理员和域管理员权限;群集名称对象(CNO)需在域中成功注册。
彻底清理磁盘并创建故障转移群集
看似空的磁盘常残留旧存储池元数据,S2D 会直接拒绝识别。务必统一执行清理脚本(以管理员身份运行 PowerShell):
- 在任一节点上运行远程清理命令,覆盖全部群集节点:
icm (Get-ClusterNode) { Update-StorageProviderCache; Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue; Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue; Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue; Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue; Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % { $_ | Set-Disk -IsOffline:$false; $_ | Set-Disk -IsReadOnly:$false; $_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false; $_ | Set-Disk -IsReadOnly:$true; $_ | Set-Disk -IsOffline:$true } } - 执行
New-Cluster -Name S2DCluster -Node Node1,Node2,Node3 -StaticAddress 192.168.10.100 -NoStorage创建无共享磁盘的群集。 - 立即运行
Test-Cluster -Ignore "Storage", "Inventory", "Network"(可临时忽略部分非关键项),重点确保“网络通信”“系统配置”“群集服务”全部通过。
启用 S2D 并验证存储池与卷
群集验证通过后,启用 S2D 是全自动过程,但结果依赖前置条件是否干净:
- 执行
Enable-ClusterStorageSpacesDirect(或简写Enable-ClusterS2D);该命令会自动发现所有符合条件的本地磁盘,创建默认存储池(Storage Spaces Direct),并生成集群共享卷(CSV)。 - 启用后检查:
Get-ClusterStorageSpacesDirect应返回Enabled: True;Get-StoragePool -IsPrimordial $false应列出 S2D 池;Get-VirtualDisk应显示已创建的 CSV 虚拟磁盘(默认为两路镜像,适用于 2–4 节点)。 - 如需自定义布局,可在启用后用
New-Volume -StoragePoolFriendlyName "Storage Spaces Direct" -FriendlyName "S2D-Vol1" -FileSystem CSVFS_ReFS -StorageTierFriendlyNames "Capacity", "Performance" -StorageTierSizes 1TB, 200GB创建带缓存层的卷(需磁盘类型分层)。
配置高可用行为与持续维护要点
S2D 本身提供底层存储冗余,但上层服务(如 Hyper-V、SQL Server)需配合群集角色才能真正高可用:
- 将关键工作负载部署为群集角色(如“虚拟机”角色、“文件服务器”角色),而非普通本地服务;启用“首选所有者”与“可能所有者”,确保故障时自动迁移。
- 定期运行
Get-PhysicalDisk | Where-Object HealthStatus -ne "Healthy"监控磁盘健康;S2D 会自动重建受损镜像副本,但需预留足够空闲容量(建议总容量预留 ≥15%)。 - 避免手动干预底层存储对象(如直接格式化 CSV 卷、删除 S2D 池中的物理磁盘);所有变更应通过
Remove-PhysicalDisk+Optimize-StoragePool流程进行。 - 备份策略仍不可少:S2D 不替代备份,仅防硬件故障;建议结合 Windows Server Backup 或 Veeam 等工具,对 CSV 上的 VM 或数据库做应用一致性快照。










