群集共享卷 (CSV) 允许 Windows Server 故障转移群集或 Azure Local 中的多个节点同时具有对已设置为 NTFS 卷的同一 LUN(磁盘)的读写访问权限。 可以将磁盘预配为复原文件系统(ReFS):但是,CSV 驱动器处于 重定向模式,这意味着写入访问权限将发送到协调器节点。 借助 CSVs,群集角色可以从一个节点快速故障转移到另一个节点,而无需对驱动器所有权进行更改,或卸载和重新装载卷。 CSV 还帮助简化管理故障转移群集中潜在的大量 LUN 的管理。
CSV 提供在 NTFS 或 ReFS 上运行的群集文件系统。 CSV 的典型用途包括:
用于群集 Hyper-V 虚拟机的群集虚拟硬盘 (VHD/VHDX) 文件。
分布式 CSV 所有权,可提高可诊断性
通过服务器服务的可用性提高复原能力
可以分配给 CSV 缓存的物理内存量更加灵活
互操作性增强,支持 ReFS 和重复数据删除。
用于存储横向扩展文件服务器群集角色的应用程序数据的横向扩展文件共享。 此角色的应用程序数据的示例包括 Hyper-V 虚拟机文件和 Microsoft SQL Server 数据。 Windows Server 2012 R2 和早期版本中的横向扩展文件服务器不支持 ReFS。 有关横向扩展文件服务器的详细信息,请参阅用于应用程序数据的横向扩展文件服务器。
Microsoft SQL Server 2014(或更高版本)故障转移群集实例 (FCI)。 CSV 不支持 SQL Server 2012 和 SQL Server 早期版本中的 Microsoft SQL Server 群集工作负载。
Windows Server 2019 或更高版本的 Microsoft 分布式事务控制 (MSDTC)。
若要了解有关以前版本中引入的 CSV 功能的详细信息,请参阅 Windows Server 2012 中故障转移群集中的新增功能。
有关将 CSV 上的数据重复删除用于虚拟桌面基础结构 (VDI) 情形的信息,请参阅博客文章 在 Windows Server 2012 R2 中部署 VDI 存储的数据重复删除和在 Windows Server 2012 R2 中将数据重复删除扩展到新的工作负载。
在故障转移群集中使用 CSV 的要求和注意事项
在故障转移群集中使用 CSV 之前,请查看以下部分中的网络、存储以及其他要求和注意事项。 若要详细了解网络适配器和存储选项,请参阅故障转移群集硬件要求和存储选项。
节点要求
系统磁盘的驱动器号:在所有节点上,系统磁盘的驱动器号必须相同。
身份验证协议:必须在所有节点上启用 NTLM 协议。 此项已默认启用。 从 Windows Server 2019 和 Azure Local 开始,NTLM 依赖项已删除,因为它使用证书进行身份验证。
存储和磁盘配置要求
文件系统格式
在 Windows Server 2012 中,CSV 的磁盘或存储空间必须是使用 NTFS 进行分区的基本磁盘。 在 Windows Server 2012 R2 中,CSV 的磁盘或存储空间必须是使用 NTFS 或 ReFS 进行分区的基本磁盘。 在 Windows Server 2016 和更高版本以及 Azure Local 中,CSV 的磁盘或存储空间必须是使用 NTFS 或 ReFS 进行分区的基本磁盘或 GUID 分区表 (GPT) 磁盘。 最佳实践还是查看存储供应商提供的准则。
为了获得最佳性能和功能,请在将磁盘添加到 CSV 之前使用以下文件系统准则:
SAN 卷:在添加到 CSV 之前使用 NTFS 进行格式化。 NTFS 为 SAN 附加存储启用直接 I/O 模式,从而提供更好的性能。 使用 SAN 上的 ReFS 格式化的 CSV 以重定向 I/O 模式运行。
存储空间直通(S2D)卷:在添加到 CSV 之前,用 ReFS 格式化。 ReFS 提供数据完整性特性、块克隆以及为存储空间直连工作负载设计的优化功能。
在 Windows Server 2012 中,不能将磁盘用作格式化为 FAT、FAT32 或 ReFS 的 CSV。
在 Windows Server 2012 R2 及更高版本中,不能将磁盘用作格式化为 FAT 或 FAT32 的 CSV。
CSV 不能用作仲裁见证磁盘。 有关群集仲裁的详细信息,请参阅了解存储空间直通中的仲裁。
将磁盘添加为 CSV 后,采用 CSV 文件系统 (CSVFS) 格式指定它。 这允许群集和其他软件将 CSV 存储从其他 NTFS 或 ReFS 存储中区分开。 通常情况下,CSVFS 支持与 NTFS 和 ReFS 相同的功能。 但是,某些功能不受支持。 例如,在 Windows Server 2012 R2 中,无法对 CSV 启用压缩。 在 Windows Server 2012 中,无法对 CSV 启用重复数据删除或压缩。
群集中的资源类型
CSV 必须用作物理磁盘资源类型。 默认情况下,添加到群集存储的磁盘或存储空间将会采用此方式自动配置。
选择群集存储中的 CSV 磁盘或其他磁盘
为群集虚拟机选择一个或多个磁盘时,应考虑如何使用每个磁盘。 如果将磁盘用于存储由 Hyper-V 创建的文件(如 VHD/VHDX 文件或配置文件),则可以从 CSV 磁盘或群集存储中的其他可用磁盘中进行选择。 如果磁盘是直接附加到虚拟机的物理磁盘(也称为直通磁盘),则你不能选择 CSV 磁盘,并且必须从群集存储中其他可用磁盘中进行选择。
用于标识磁盘的路径名称
CSV 中的磁盘使用在系统驱动器上的 \ClusterStorage 文件夹下显示为编号卷的路径进行访问。 该路径在群集中的所有节点之间必须一致。 如果需要,可以重命名这些卷,但最好在安装任何虚拟机或应用程序(如 SQL Server)之前进行重命名。 如果存在打开的句柄(例如虚拟机正在运行或处于保存状态时),则无法重命名。
LUN、卷和 VHD 文件的排列
若要充分利用 CSV 来为群集虚拟机提供存储,查看在配置物理服务器时排列 LUN(磁盘)的方式会有所帮助。 配置相应的虚拟机时,请尝试以类似的方式排列 VHD 文件。
请考虑你可以如下所示组织磁盘和文件的物理服务器:
一个物理磁盘上的系统文件(包括页面文件)
另一个物理磁盘上的数据文件
对于等效的群集虚拟机,你应采用相似方式组织卷和文件:
一个 CSV 上的 VHD 文件中的系统文件(包括页面文件)
另一个 CSV 上的 VHD 文件中的数据文件
如果要添加另一台虚拟机,该虚拟机上 VHD 的排列方式应尽可能保持一致。
LUN 以及卷的数量和大小
当你为使用 CSVs 的故障转移群集计划存储配置时,请考虑以下建议:
若要决定配置多少 LUN,请咨询你的存储供应商。 例如,你的存储供应商可能会建议你使用一个分区配置每个 LUN,并在其上放置一个 CSV。
每个节点至少创建一个 CSV。
单个 CSV 上可以支持的虚拟机数量没有限制。 不过,你需要考虑群集中计划部署的虚拟机数量,以及每台虚拟机的工作负载(每秒 I/O 操作数)。 例如:
一家组织正在部署支持虚拟桌面基础结构 (VDI) 的虚拟机,其工作负载相对较轻。 该群集使用高性能存储。 群集管理员在咨询存储供应商后,决定在每个 CSV 上放置相对较大数量的虚拟机。
另一家组织正在部署将支持大量使用的数据库应用程序的大量虚拟机,它的工作负载较重。 该群集使用低性能存储。 群集管理员在咨询存储供应商后,决定在每个 CSV 上放置相对较小数量的虚拟机。
规划特定虚拟机的存储配置时,应考虑虚拟机支持的服务的磁盘要求、应用程序或角色。 了解这些要求可帮助你避免导致性能下降的磁盘争用。 虚拟机的存储配置应该非常类似于你将用于运行相同的服务、应用程序或角色的物理服务器的存储配置。 你还可以通过拥有大量独立的物理硬盘的存储来缓解磁盘争用。 相应地选择你的存储硬件,并咨询你的供应商如何优化存储的性能。
根据群集工作负载及其 I/O 操作需求,可以考虑仅配置一部分虚拟机来访问每个 LUN,而其他虚拟机没有连接,而是专门用于计算操作。
网络配置注意事项
当你配置支持 CSVs 的网络时,请考虑以下内容。
多个网络和多个网络适配器
若要在发生网络故障时启用容错能力,我们建议多个群集网络执行 CSV 通信,或者配置成组网络适配器。 如果群集节点已连接到不应由该群集使用的网络,则应该禁用它们。 例如,我们建议你禁用 iSCSI 网络,以供群集禁止这些网络上的 CSV 通信。 若要禁用网络,请在故障转移群集管理器中选择“ 网络”,选择网络,选择 “属性” 作,然后选择 “不允许在此网络上进行群集网络通信”。 或者,可以使用 Get-ClusterNetwork cmdlet 配置网络的角色属性。
网络适配器属性
在执行群集通信的所有适配器的属性中,确保以下设置处于启用状态:
“Microsoft 网络的客户端”和“Microsoft 网络的文件和打印机共享”。 这些设置支持服务器消息块 (SMB) 3.0,默认情况下用于在节点之间执行 CSV 通信。 若要启用 SMB,请确保服务器服务和工作站服务正在运行,并且将它们配置为在每个群集节点上自动启动。
Note
在 Windows Server 2012 R2 及更高版本中,每个故障转移群集节点都有多个服务器服务实例。 存在两个实例:可处理来自访问常规文件共享的 SMB 客户端的传入通信的默认实例,以及仅可处理节点间 CSV 通信的第二个 CSV 实例。 此外,如果节点上的服务器服务变得不正常,CSV 所有权将自动转换到另一个节点。
SMB 3.0 包括 SMB 多通道和 SMB 直通功能,使 CSV 通信能够在群集中跨多个网络进行流式传输并且利用支持远程直接内存访问 (RDMA) 的网络适配器。 默认情况下,SMB 多通道用于 CSV 通信。 有关详细信息,请参阅服务器消息块概述。
Microsoft 故障转移群集虚拟适配器性能筛选器
此设置可增强节点在访问 CSV 时根据需要执行 I/O 重定向的功能。 例如,当出现连接故障,导致节点无法直接连接到 CSV 磁盘时,会出现这种情况。 默认情况下,除 Windows Server 2012 R2 之外的所有版本都禁用 NetFT 虚拟适配器性能筛选器。 它之所以处于禁用状态是因为可能会在 Hyper-V 群集中引发问题 — 在这些集群中,虚拟机内部运行着来宾群集。 在某些情况下,主机上的 NetFT 虚拟适配器性能筛选器错误地将本应传送到来宾虚拟机的 NetFT 流量路由到主机。 这种错误路由可能会导致虚拟机中来宾群集的通信问题。 但是,如果要部署来宾群集 Hyper-V 以外的 任何工作负荷,则启用 NetFT 虚拟适配器性能筛选器可以优化和提高群集性能。
群集网络优先级
建议你不要更改网络的群集配置首选项。
IP 子网配置
使用 CSV 的网络中的节点不需要特定的子网配置。 CSVs 可以支持多子网拉伸群集。
基于策略的服务质量 (QoS)
建议你在使用 CSV 时,针对每个节点的网络通信配置 QoS 优先级策略和最小带宽策略。 有关详细信息,请参阅服务质量 (QoS)。
存储网络
有关存储网络建议,请查看你的存储供应商提供的指南。
有关 CSV 通信中的 I/O 同步和 I/O 重定向
I/O 同步
CSV 使多个节点能够同时对同一共享存储拥有读写访问权限。 当某个节点对 CSV 执行磁盘输入/输出 (I/O) 时,该节点将直接与存储进行通信,例如,通过存储区域网络 (SAN)。 但是,单个节点(称为协调器节点)随时“拥有”与该 LUN 关联的物理磁盘资源。 CSV 的协调器节点在故障转移群集管理器中显示为磁盘下的所有者节点。 它还显示在 Get-ClusterSharedVolume cmdlet 的输出中。
Note
从 Windows Server 2012 R2 开始,CSV 所有权将根据每个节点拥有的 CSV 数,在故障转移群集节点中均匀分配。 此外,当存在以下条件时将自动重新平衡所有权:CSV 故障转移、某个节点重新加入该群集、将新节点添加到该群集、重新启动群集节点,或者在关闭故障转移群集后启动该群集。
当 CSV 上的文件系统发生某些细微更改时,相关元数据必须在所有访问该 LUN 的物理节点上同步,而不仅仅是在单个协调节点上 例如,当启动、创建或删除 CSV 上的虚拟机或迁移虚拟机时,需要在访问虚拟机的每个物理节点上同步此信息。 通过使用 SMB 3.0,这些元数据更新操作会并行发生在群集网络上。 这些操作不需要所有物理节点与共享存储进行通信。
I/O 重定向
存储连接故障和某些存储操作可以阻止给定节点直接与存储进行通信。 若要在节点无法与存储进行通信时保持功能,该节点通过群集网络将磁盘 I/O 重定向到当前装载该磁盘的协调器节点。 如果当前协调器节点遇到存储连接故障,则在建立作为协调器节点的新节点时,所有磁盘 I/O 操作将暂时排队。 你应该计划群集网络,以允许在 I/O 重定向期间潜在增加协调器节点的网络通信。 由于 CSV 整合了 SMB 3.0 的特性(如 SMB 多通道和 SMB 直通),因此重定向的 I/O 流量能够通过多个群集网络进行流式传输。
Important
使用基于 SAN 使用的 ReFS 预格式化的 CSV 不会使用 直接 I/O,而不管满足 Direct I/O 的所有其他要求。 如果计划将 CSV 与 SAN(前端)附加磁盘结合使用,请先使用 NTFS 格式化驱动器,然后再将它们转换为 CSV 以利用直接 I/O 的性能优势。
服务器使用以下的 I/O 重定向模式之一,具体取决于相应情况:
文件系统重定向:重定向是按卷进行。 例如,当某个 CSV 被手动置于重定向 I/O 模式时,备份应用程序对该 CSV 拍摄快照的情况。
阻止重定向:重定向位于文件块级别。 例如,当失去与卷的存储连接时。 块重定向比文件系统重定向快。
在 Windows Server 2012 R2 及更高版本中,可以按节点查看 CSV 的状态。 例如,你可以看到 I/O 是直通还是重定向,或者 CSV 是否不可用。 如果 CSV 处于 I/O 重定向模式,则还可以查看原因。 若要查看此信息,可以运行 Get-ClusterSharedVolumeState cmdlet。