群集共享卷 (CSV) 是 Windows Server 和 Azure 本地功能,使故障转移群集中的多个节点能够同时访问同一个 NTFS 或 ReFS 卷。 此共享访问对高可用性工作负载(如 Hyper-V 和规模扩展文件服务器)至关重要,允许虚拟机和应用在群集节点间无缝迁移,无需更改驱动器字母或挂载点。 CSV 简化存储管理,增强灵活性,并支持持续可用性。 可以使用故障转移群集管理器和 Windows PowerShell 等工具管理 CSV,这些工具提供添加磁盘、配置缓存和执行备份的功能。
Prerequisites
管理 CSV 时,请确保满足以下前提条件:
- 你的设备必须运行 Windows Server 2012 或更高版本, 故障转移群集 功能安装在群集中的所有节点(服务器)上。 若要了解详细信息,请参阅 Windows Server 中的添加或删除角色和功能。 
- 必须是 管理员、 域管理员或 群集管理员 组的成员。 
- 群集配置必须至少有两个节点,且配置为故障转移群集。 所有节点必须加入同一 Active Directory (AD) 域。 
- 至少有一个共享磁盘(LUN)可被所有群集节点访问,并使用 NTFS 或 ReFS 配置为群集磁盘。 如果使用 iSCSI 或光纤通道进行共享存储,请确保正确配置多路径 I/O (MPIO) 以提供冗余和最佳性能。 
- 每个节点建议至少配备两个网络接口,一个用于群集通信,一个用于客户端访问。 确保网络设置允许节点之间的正常通信,包括正确的 IP 地址和子网配置。 确保防火墙配置允许必要的群集流量。 
将 CSV 添加到故障转移群集
默认情况下,CSV 功能在故障转移群集中处于启用状态。 若要将磁盘添加到 CSV,必须将磁盘添加到群集的 可用存储 组(如果尚未添加),然后在群集上添加 CSV。 将磁盘添加到 Windows 故障转移群集时,如果磁盘未立即分配给任何特定的群集角色或配置,则它们通常放置在 可用存储 组中。 此位置作为群集识别但尚未指定特定用途的磁盘的暂存区。
可以使用故障转移群集管理器或 PowerShell 执行这些操作。
- 在 服务器管理器中,选择 工具,然后选择 故障转移群集管理器。 - 或者,选择“ 开始”,键入 cluadmin.msc,然后按 Enter。 
- 在左窗格中的“故障转移群集管理器”下,展开群集,然后展开“存储”。 
- 选择 “磁盘”,然后在右侧窗格中,选择“ 添加磁盘”。 
- 向导列出了可添加到群集的可用磁盘。 选择要添加的磁盘,然后选择“ 确定”。 
- 新添加的磁盘将分配到“分配给”列下的“可用存储”。 右键单击磁盘,选择“添加到群集共享卷”。 
Tip
可以重命名 %SystemDrive%\ClusterStorage 文件夹中的 CSV 卷。
为读密集型工作负载启用 CSV 缓存(可选)
CSV 缓存通过使用系统内存(RAM)缓存块级、只读、无缓冲的 I/O 操作来提升性能。 由于无缓冲 I/O 绕过标准缓存管理器,启用 CSV 缓存对于像 Hyper-V 这样使用无缓冲 I/O 访问虚拟硬盘(VHD)的工作负载非常有益。 CSV 缓存加速读取操作,但不缓存写入操作。 此功能在规模扩展文件服务器环境中同样有助于提升读取性能。 建议为所有群集的 Hyper-V 和规模扩展文件服务器部署启用 CSV 缓存。
Note
在 Windows Server 2016 及更高版本中,CSV 缓存默认启用,分配 1 吉比字节(GiB)内存。 在 Windows Server 2012 R2 中,缓存默认启用,但必须手动指定为块缓存保留的内存量,因为它不是预分配的。 在 Windows Server 2012 中,管理员必须手动启用并配置 CSV 缓存,因为默认情况下它是禁用的。
下表介绍了控制 CSV 缓存的两个配置设置。
| Windows Server 2012 R2 和更高版本 | Windows Server 2012 | Description | 
|---|---|---|
| BlockCacheSize | SharedVolumeBlockCacheSizeInMB | 这是群集公用属性,它允许你定义要为群集中每个节点上的 CSV 保留的内存量(以兆字节为单位)。 例如,如果定义了值 512,则在每个节点上保留 512 MB 的系统内存。 在许多群集中,推荐值为 512 MB。 默认设置为 0(禁用)。 | 
| EnableBlockCache | CsvEnableBlockCache | 这是群集物理磁盘资源的专用属性。 它允许你在作为 CSV 添加的单个磁盘上启用 CSV 缓存。 在 Windows Server 2012 中,默认设置为 0(禁用)。 若要在磁盘上启用 CSV 缓存,请配置值 1。 默认情况下,在 Windows Server 2012 R2 中,此设置处于启用状态。 | 
要在 CSV 上启用 CSV 缓存,请以提升权限打开 PowerShell,并执行以下步骤:
- 要查看当前 CSV 缓存设置,运行以下命令: - Get-ClusterSharedVolume | Select Name, BlockCacheSize
- 要将 Windows Server 2012 R2 及更高版本的 CSV 缓存内存设置为 - 512 MB,运行以下命令:- (Get-Cluster).BlockCacheSize = 512- 对于 Windows Server 2012,运行以下命令: - (Get-Cluster).SharedVolumeBlockCacheSizeInMB = 512
- 要在 Windows Server 2012 中启用 CSV 缓存,运行以下命令,将 - Cluster Disk #替换为值:- Get-ClusterSharedVolume "Cluster Disk #" | Set-ClusterParameter CsvEnableBlockCache 1
监控 CSV 缓存
可以使用性能监视器监控 CSV 缓存。 此工具帮助管理员跟踪缓存使用情况,识别潜在瓶颈,并分析缓存效率。 监控缓存命中率、未命中率和内存使用等指标,能主动调整性能并维护群集的最佳可靠性。 添加此计数器,执行以下步骤:
- 选择 “开始”,键入 perfmon,然后选择 “性能监视器”。 
- 在左窗格中,选择 “性能监视器”,然后在右窗格中,选择绿色 + (加号)按钮。 
- 在 “添加计数器 ”窗口中,在 “从计算机中选择计数器”下,从列表 群集 CSV 卷缓存中进行选择。 
- 选择“添加”>>,然后选择“确定”。 
Note
- 在 Windows Server 2012 中,你只能向 CSV 缓存分配物理 RAM 总量的 20%。 在 Windows Server 2012 R2 及更高版本中,最多可以分配 80%。 由于规模扩展文件服务器通常不受内存限制,使用额外内存做 CSV 缓存可实现显著性能提升。
- 若要避免资源争用,应在修改已分配到 CSV 缓存的内存后,重启群集中的每个节点。 在 Windows Server 2012 R2 及以后版本,无需重启。
- 启用或禁用单个磁盘上的 CSV 缓存后,需将物理磁盘资源脱机再联机,设置才会生效。
备份 CSV
在故障转移群集中备份存储在 CSV 上的数据有多种方法。 你可以使用 Microsoft 备份应用程序或非 Microsoft 应用程序。 一般来说,备份 CSV 遵循与备份其他使用 NTFS 或 ReFS 格式的群集存储卷相同的程序和要求。 CSV 不需要专门的额外备份步骤。 CSV 备份不会干扰其他 CSV 存储操作。
请确保仔细查看备份应用程序将备份和还原的数据、它支持的 CSV 功能,以及每个群集节点上的应用程序的资源要求。 选择 CSV 的备份应用和备份计划时,应考虑以下因素:
- 备份故障转移群集时,可能需要提供管理员凭据。 
- 可以从连接到 CSV 卷的任何节点运行 CSV 卷的卷级备份。 
- 备份应用程序可以使用软件快照或硬件快照。 备份可以使用应用程序一致和崩溃一致的卷影复制服务 (VSS) 快照,具体取决于备份应用程序能否支持它们。 
- 如果备份运行多个虚拟机(VM)的 CSV,通常应选择基于管理操作系统的备份方法。 如果你的备份应用程序支持它,则可以同时备份多个虚拟机。 
- CSV 支持使用 Windows Server 备份进行备份。 但是,Windows Server 备份是基础解决方案,可能无法满足大型群集的需求。 它不支持 CSV 上虚拟机的应用一致性备份,仅提供崩溃一致性的卷级备份。 恢复崩溃一致性备份时,虚拟机处于备份时崩溃的相同状态。 尽管在 CSV 卷上备份 VM 成功会完成,但会记录一个错误事件,指示不支持应用程序一致性备份。 
Warning
如果需要在 CSV 卷上还原备份数据,请注意备份应用程序在群集节点上维护和还原应用程序一致的数据时的功能和限制。 例如,借助某些应用程序,如果在不同于备份 CSV 卷所在的节点上还原 CSV,则你可能会无意中覆盖正在进行还原的节点上的有关应用程序状态的重要数据。