群集集Cluster sets

适用于:Windows Server 2019Applies to: Windows Server 2019

群集设置的新云向外缩放技术在 Windows Server 2019 版本可极大地提高单个软件定义数据中心 (SDDC) 云中的群集节点计数。Cluster sets is the new cloud scale-out technology in the Windows Server 2019 release that increases cluster node count in a single Software Defined Data Center (SDDC) cloud by orders of magnitude. 群集组是松散耦合的多个故障转移群集分组: 计算、 存储或超聚合。A cluster set is a loosely-coupled grouping of multiple Failover Clusters: compute, storage or hyper-converged. 群集设置技术启用虚拟机流动性跨群集集合和统一的存储命名空间中的成员群集支持虚拟机流动性组。Cluster sets technology enables virtual machine fluidity across member clusters within a cluster set and a unified storage namespace across the set in support of virtual machine fluidity.

保留现有的故障转移群集管理体验成员群集上,而群集组实例此外还提供关于在聚合的生命周期管理的关键用例。While preserving existing Failover Cluster management experiences on member clusters, a cluster set instance additionally offers key use cases around lifecycle management at the aggregate. 此 Windows Server 2019 方案评估指南提供了必要的背景信息以及评估群集集技术使用 PowerShell 的分步说明。This Windows Server 2019 Scenario Evaluation Guide provides you the necessary background information along with step-by-step instructions to evaluate cluster sets technology using PowerShell.

技术简介Technology introduction

开发群集集技术以满足特定客户请求操作在规模较大的软件定义数据中心 (SDDC) 云。Cluster sets technology is developed to meet specific customer requests operating Software Defined Datacenter (SDDC) clouds at scale. 群集的设置可能会被价值主张汇总如下所示:Cluster sets value proposition may be summarized as the following:

  • 显著提高通过组合多个较小的群集,为单个较大的结构,甚至在单个群集中保持软件故障边界运行高度可用的虚拟机支持的 SDDC 云规模Significantly increase the supported SDDC cloud scale for running highly available virtual machines by combining multiple smaller clusters into a single large fabric, even while keeping the software fault boundary to a single cluster
  • 管理的整个群集故障转移群集生命周期包括载入和停用,而不会影响租户虚拟机的可用性,通过流畅地迁移虚拟机跨此较大的结构Manage entire Failover Cluster lifecycle including onboarding and retiring clusters, without impacting tenant virtual machine availability, via fluidly migrating virtual machines across this large fabric
  • 轻松地更改在超聚合中的计算存储比我Easily change the compute-to-storage ratio in your hyper-converged I
  • 受益类似于 Azure 的容错域和可用性集跨群集中初始虚拟机放置和后续虚拟机迁移Benefit from Azure-like Fault Domains and Availability sets across clusters in initial virtual machine placement and subsequent virtual machine migration
  • 混合和匹配的 CPU 硬件到同一个群集的不同代设置 fabric,甚至同时保持各个容错域同构的最大效率。Mix-and-match different generations of CPU hardware into the same cluster set fabric, even while keeping individual fault domains homogenous for maximum efficiency. 请注意,每个单独的群集,以及在整个群集集合中仍存在的相同的硬件建议。Please note that the recommendation of same hardware is still present within each individual cluster as well as the entire cluster set.

从较高的层次来看,这是集看起来像是哪些群集。From a high level view, this is what cluster sets can look like.

群集设置解决方案视图

下面提供了在上图中元素的快速摘要:The following provides a quick summary of each of the elements in the above image:

管理群集Management cluster

群集组中的管理群集是托管的高度可用的管理平面的在整个群集集合和统一的存储命名空间 (群集设置 Namespace) 引用横向扩展文件服务器 (SOFS) 的故障转移群集。Management cluster in a cluster set is a Failover Cluster that hosts the highly-available management plane of the entire cluster set and the unified storage namespace (Cluster Set Namespace) referral Scale-Out File Server (SOFS). 从运行的虚拟机工作负荷的成员分类逻辑上分离的管理群集。A management cluster is logically decoupled from member clusters that run the virtual machine workloads. 这样,群集将管理平面可复原设置为任何本地化的群集范围内发生故障,例如成员群集的电源中断。This makes the cluster set management plane resilient to any localized cluster-wide failures, e.g. loss of power of a member cluster.

成员群集Member cluster

在群集组中的成员群集通常是运行虚拟机和存储空间直通的工作负荷的传统超聚合群集。A member cluster in a cluster set is typically a traditional hyper-converged cluster running virtual machine and Storage Spaces Direct workloads. 在单个群集组部署中,从而形成更大的 SDDC 云结构加入多个成员群集。Multiple member clusters participate in a single cluster set deployment, forming the larger SDDC cloud fabric. 成员群集不同于在两个关键方面中的管理群集: 成员群集参与容错域和可用性集构造,并且成员群集还调整到主机虚拟机和存储空间直通的工作负荷。Member clusters differ from a management cluster in two key aspects: member clusters participate in fault domain and availability set constructs, and member clusters are also sized to host virtual machine and Storage Spaces Direct workloads. 将群集组中跨群集的群集设置虚拟机不必须管理群集上为此托管。Cluster set virtual machines that move across cluster boundaries in a cluster set must not be hosted on the management cluster for this reason.

群集设置命名空间引用 SOFSCluster set namespace referral SOFS

群集组命名空间引用 (群集设置 Namespace) SOFS 是横向扩展文件服务器将每个群集设置 Namespace SOFS 上的 SMB 共享作为引用共享 – 类型 SimpleReferral Windows Server 2019 中新引入。A cluster set namespace referral (Cluster Set Namespace) SOFS is a Scale-Out File Server wherein each SMB Share on the Cluster Set Namespace SOFS is a referral share – of type ‘SimpleReferral’ newly introduced in Windows Server 2019. 此引用允许服务器消息块 (SMB) 客户端访问成员群集 SOFS 上托管的 SMB 共享的目标。This referral allows Server Message Block (SMB) clients access to the target SMB share hosted on the member cluster SOFS. 在群集中的 I/O 路径设置命名空间引用 SOFS 是一个轻型引用机制,在这种情况下,不参与。The cluster set namespace referral SOFS is a light-weight referral mechanism and as such, does not participate in the I/O path. SMB 缓存引用的永久上每个客户端节点和群集设置命名空间动态自动更新这些引用根据需要。The SMB referrals are cached perpetually on the each of the client nodes and the cluster sets namespace dynamically updates automatically these referrals as needed.

群集设置主文件夹Cluster set master

在群集组中,成员群集之间的通信松散耦合,并由名为"群集设置主控形状"(CS 主控形状) 的新群集资源来协调。In a cluster set, the communication between the member clusters is loosely coupled, and is coordinated by a new cluster resource called “Cluster Set Master” (CS-Master). 像任何其他群集资源,CS 主机是高可用性和从单独的成员发生群集故障和/或管理群集节点故障中复原。Like any other cluster resource, CS-Master is highly available and resilient to individual member cluster failures and/or the management cluster node failures. 通过新的群集设置 WMI 提供程序,CS Master 提供的管理终结点进行的所有群集设置可管理性交互。Through a new Cluster Set WMI provider, CS-Master provides the management endpoint for all Cluster Set manageability interactions.

群集设置辅助角色Cluster set worker

在设置群集部署中,CS Master 与成员名为"群集设置辅助角色"(CS 辅助角色) 的群集上的新群集资源进行交互。In a Cluster Set deployment, the CS-Master interacts with a new cluster resource on the member Clusters called “Cluster Set Worker” (CS-Worker). CS-辅助角色是充当群集来安排本地群集交互,根据请求 CS Master 上唯一的联系人。CS-Worker acts as the only liaison on the cluster to orchestrate the local cluster interactions as requested by the CS-Master. 此类交互的示例包括虚拟机放置和群集本地资源清单。Examples of such interactions include virtual machine placement and cluster-local resource inventorying. 都只有一个群集集合中群集成员的每个 CS-辅助角色实例。There is only one CS-Worker instance for each of the member clusters in a cluster set.

容错域Fault domain

容错域是软件的分组,并在发生故障时,管理员决定的硬件项目可能会一起失败。A fault domain is the grouping of software and hardware artifacts that the administrator determines could fail together when a failure does occur. 虽然管理员可以指定一个或多个群集一起作为一个容错域,每个节点可以参与可用性组中的容错域。While an administrator could designate one or more clusters together as a fault domain, each node could participate in a fault domain in an availability set. 群集设置通过设计使做出的决定的容错域边界确定管理员是熟知数据中心拓扑注意事项 – 例如 PDU 到网络 – 成员群集共享。Cluster sets by design leaves the decision of fault domain boundary determination to the administrator who is well-versed with data center topology considerations – e.g. PDU, networking – that member clusters share.

可用性集Availability set

可用性集可帮助管理员通过组织这些数据的可用性集和部署工作负载分配到该可用性组跨容错域配置的群集工作负载所需的冗余性。An availability set helps the administrator configure desired redundancy of clustered workloads across fault domains, by organizing those into an availability set and deploying workloads into that availability set. 让我们假设要部署的两个层应用程序,建议在可用性集中,这将确保,在该可用性集中的一个容错域发生故障后,你的应用程序将至少具有每个层配置至少两个虚拟机托管在不同的容错域中的同一个可用性集中的每个层中的一个虚拟机。Let’s say if you are deploying a two-tier application, we recommend that you configure at least two virtual machines in an availability set for each tier which will ensure that when one fault domain in that availability set goes down, your application will at least have one virtual machine in each tier hosted on a different fault domain of that same availability set.

为什么要使用群集设置Why use cluster sets

群集设置而无需牺牲复原能力提供了缩放的好处。Cluster sets provides the benefit of scale without sacrificing resiliency.

群集设置允许聚类分析多个群集一起创建较大的结构,同时将每个群集保留独立的复原能力。Cluster sets allows for clustering multiple clusters together to create a large fabric, while each cluster remains independent for resiliency. 例如,有几个 4 节点 HCI 群集正在运行的虚拟机。For example, you have a several 4-node HCI clusters running virtual machines. 每个群集提供所需的自身的复原能力。Each cluster provides the resiliency needed for itself. 如果存储或内存开始填满,纵向扩展是下一步。If the storage or memory starts to fill up, scaling up is your next step. 使用向上扩展,有一些选项和注意事项。With scaling up, there are some options and considerations.

  1. 为当前的群集添加更多存储。Add more storage to the current cluster. 使用存储空间直通,这可能是棘手的确切的相同模型/固件驱动器可能不可用。With Storage Spaces Direct, this may be tricky as the exact same model/firmware drives may not be available. 重新生成时间的考虑也需要考虑在内。The consideration of rebuild times also need to be taken into account.
  2. 添加内存。Add more memory. 如果您被极限机可以处理的内存上?What if you are maxed out on the memory the machines can handle? 如果所有可用内存插槽是否完整?What if all available memory slots are full?
  3. 将添加到当前群集驱动器具有额外的计算节点。Add additional compute nodes with drives into the current cluster. 这把我们带回选项 1 无需考虑。This takes us back to Option 1 needing to be considered.
  4. 购买一个新群集Purchase a whole new cluster

这是其中群集集提供了缩放的好处。This is where cluster sets provides the benefit of scaling. 如果我将添加到群集设置我的群集,我可以利用存储空间或内存可能会在另一个群集,而无需任何附加购买条件。If I add my clusters into a cluster set, I can take advantage of storage or memory that may be available on another cluster without any additional purchases. 从复原能力的角度看,将其他节点添加到存储空间直通不会提供其他用于仲裁投票。From a resiliency perspective, adding additional nodes to a Storage Spaces Direct is not going to provide additional votes for quorum. 如所述此处,向下继续之前,存储空间直通群集可以经受的 2 个节点丢失。As mentioned here, a Storage Spaces Direct Cluster can survive the loss of 2 nodes before going down. 如果您有一个 4 节点 HCI 群集,3 个节点停机将记下在整个群集。If you have a 4-node HCI cluster, 3 nodes go down will take the entire cluster down. 如果必须将 8 节点群集,3 个节点停机将记下在整个群集。If you have an 8-node cluster, 3 nodes go down will take the entire cluster down. 在集中具有两个 4 节点 HCI 群集的群集设置,在一个 HCI 的 2 个节点出现故障和其他 HCI 中的 1 个节点出现故障,这两个群集保持正常。With Cluster sets that has two 4-node HCI clusters in the set, 2 nodes in one HCI go down and 1 node in the other HCI go down, both clusters remain up. 是更好地创建一个大型 16 节点存储空间直通群集或将其分解为四个 4 节点群集并使用群集集?Is it better to create one large 16-node Storage Spaces Direct cluster or break it down into four 4-node clusters and use cluster sets? 具有四个 4 节点群集,群集设置为使用同一刻度,但更好的复原能力,多个计算节点 (意外或进行维护) 会下降并且生产保持。Having four 4-node clusters with cluster sets gives the same scale, but better resiliency in that multiple compute nodes can go down (unexpectedly or for maintenance) and production remains.

部署群集集的注意事项Considerations for deploying cluster sets

在考虑是否群集设置的某些内容需要使用时,应考虑以下问题:When considering if cluster sets is something you need to use, consider these questions:

  • 是否需要应对当前 HCI 计算和存储规模限制?Do you need to go beyond the current HCI compute and storage scale limits?
  • 所有计算和存储不都是完全相同?Are all compute and storage not identically the same?
  • 实时迁移的群集之间的虚拟机?Do you live migrate virtual machines between clusters?
  • 你希望类似于 Azure 的计算机可用性集和容错域在多个群集?Would you like Azure-like computer availability sets and fault domains across multiple clusters?
  • 是否需要花点时间看看所有的群集,确定需要放置任何新的虚拟机?Do you need to take the time to look at all your clusters to determine where any new virtual machines need to be placed?

如果您的答案是肯定的群集设置的所需内容。If your answer is yes, then cluster sets is what you need.

有几个其他需要考虑的事项,可查看大 SDDC 可能要更改您的整个数据中心策略。There are a few other items to consider where a larger SDDC might change your overall data center strategies. SQL Server 是一个很好示例。SQL Server is a good example. 群集之间移动 SQL Server 虚拟机需要许可的其他节点上运行的 SQL?Does moving SQL Server virtual machines between clusters require licensing SQL to run on additional nodes?

横向扩展文件服务器和群集设置Scale-out file server and cluster sets

在 Windows Server 2019,没有名为基础结构横向扩展文件服务器 (SOFS) 是新横向扩展文件服务器角色。In Windows Server 2019, there is a new scale-out file server role called Infrastructure Scale-Out File Server (SOFS).

下列注意事项适用于基础结构 SOFS 角色:The following considerations apply to an Infrastructure SOFS role:

  1. 在故障转移群集可以有最多只能有一个基础结构 SOFS 群集角色。There can be at most only one Infrastructure SOFS cluster role on a Failover Cluster. 通过指定创建基础结构 SOFS 角色"的基础结构"切换到的参数添加 ClusterScaleOutFileServerRole cmdlet。Infrastructure SOFS role is created by specifying the "-Infrastructure" switch parameter to the Add-ClusterScaleOutFileServerRole cmdlet. 例如:For example:

    Add-ClusterScaleoutFileServerRole -Name "my_infra_sofs_name" -Infrastructure
    
  2. 在故障转移中自动创建每个 CSV 卷触发 SMB 共享的创建具有基于 CSV 卷名称自动生成名称。Each CSV volume created in the failover automatically triggers the creation of an SMB Share with an auto-generated name based on the CSV volume name. 管理员不能直接创建或修改 SOFS 角色,而通过 CSV 卷创建/修改操作的 SMB 共享。An administrator cannot directly create or modify SMB shares under an SOFS role, other than via CSV volume create/modify operations.

  3. 在超聚合配置中,基础结构 SOFS 允许 SMB 客户端 (HYPER-V 主机) 进行通信和有保证连续可用性 (CA) 基础结构 SOFS SMB 服务器。In hyper-converged configurations, an Infrastructure SOFS allows an SMB client (Hyper-V host) to communicate with guaranteed Continuous Availability (CA) to the Infrastructure SOFS SMB server. 此超聚合 SMB 环回 CA 可以通过虚拟机访问的客户端和服务器之间转发所属的虚拟机标识其虚拟硬盘 (VHDx) 文件。This hyper-converged SMB loopback CA is achieved via virtual machines accessing their virtual disk (VHDx) files where the owning virtual machine identity is forwarded between the client and server. 此身份转发允许 ACL ing VHDx 文件与之前的标准超聚合群集配置中一样。This identity forwarding allows ACL-ing VHDx files just as in standard hyper-converged cluster configurations as before.

群集组创建后,群集组命名空间依赖于基础结构 SOFS 上每个成员群集,还管理群集中基础结构 SOFS。Once a cluster set is created, the cluster set namespace relies on an Infrastructure SOFS on each of the member clusters, and additionally an Infrastructure SOFS in the management cluster.

在时间成员群集添加到一群集管理员在该群集上指定的基础结构 SOFS 名称,如果已存在。At the time a member cluster is added to a cluster set, the administrator specifies the name of an Infrastructure SOFS on that cluster if one already exists. 如果基础结构 SOFS 不存在,此操作被创建新成员群集上的新基础结构 SOFS 角色。If the Infrastructure SOFS does not exist, a new Infrastructure SOFS role on the new member cluster is created by this operation. 如果成员群集上已存在基础结构 SOFS 角色,则添加操作隐式地将其重命名为指定的名称根据需要。If an Infrastructure SOFS role already exists on the member cluster, the Add operation implicitly renames it to the specified name as needed. 任何现有的单一实例 SMB 服务器或保留群集未利用由群集组的成员上的基础结构 SOFS 角色。Any existing singleton SMB servers, or non-Infrastructure SOFS roles on the member clusters are left unutilized by the cluster set.

在创建群集集合时,管理员可以选择要用作管理群集上命名空间根路径的现有 AD 计算机对象。At the time the cluster set is created, the administrator has the option to use an already-existing AD computer object as the namespace root on the management cluster. 群集组创建操作在管理群集上创建基础结构 SOFS 群集角色,或重命名现有的基础结构 SOFS 角色的成员群集只需按前面所述。Cluster set creation operations create the Infrastructure SOFS cluster role on the management cluster or renames the existing Infrastructure SOFS role just as previously described for member clusters. 群集设置命名空间引用 (群集设置 Namespace) SOFS 用作基础结构 SOFS 管理群集上。The Infrastructure SOFS on the management cluster is used as the cluster set namespace referral (Cluster Set Namespace) SOFS. 它只是意味着每个群集上的 SMB 共享设置 SOFS 是引用共享 – 类型 SimpleReferral-在 Windows Server 2019 中新引入的命名空间。It simply means that each SMB Share on the cluster set namespace SOFS is a referral share – of type ‘SimpleReferral’ - newly introduced in Windows Server 2019. 此引用允许成员群集 SOFS 上托管的 SMB 客户端访问 SMB 共享上的目标。This referral allows SMB clients access to the target SMB share hosted on the member cluster SOFS. 在群集中的 I/O 路径设置命名空间引用 SOFS 是一个轻型引用机制,在这种情况下,不参与。The cluster set namespace referral SOFS is a light-weight referral mechanism and as such, does not participate in the I/O path. SMB 缓存引用的永久上每个客户端节点和群集设置命名空间动态自动更新这些引用根据需要The SMB referrals are cached perpetually on the each of the client nodes and the cluster sets namespace dynamically updates automatically these referrals as needed

创建群集集合Creating a Cluster Set

先决条件Prerequisites

当创建群集设置时,都建议您以下先决条件:When creating a cluster set, you following prerequisites are recommended:

  1. 配置管理客户端运行 Windows Server 2019。Configure a management client running Windows Server 2019.
  2. 此管理服务器上安装故障转移群集工具。Install the Failover Cluster tools on this management server.
  3. 创建群集成员 (至少两个群集与至少两个群集共享卷上的每个群集)Create cluster members (at least two clusters with at least two Cluster Shared Volumes on each cluster)
  4. 创建跨越成员群集的管理群集 (物理或来宾)。Create a management cluster (physical or guest) that straddles the member clusters. 这种方法可确保管理平面仍然可用,尽管可能的成员发生群集故障的群集组。This approach ensures that the Cluster sets management plane continues to be available despite possible member cluster failures.

步骤Steps

  1. 创建新的群集设置从三个群集,如先决条件中定义。Create a new cluster set from three clusters as defined in the prerequisites. 图表下方提供了要创建的分类示例。The below chart gives an example of clusters to create. 在本示例中的群集的名称将是CSMASTERThe name of the cluster set in this example will be CSMASTER.

    群集名称Cluster Name 要用更高版本的基础结构 SOFS 名称Infrastructure SOFS Name to be used later
    设置群集SET-CLUSTER SOFS CLUSTERSETSOFS-CLUSTERSET
    CLUSTER1CLUSTER1 SOFS CLUSTER1SOFS-CLUSTER1
    CLUSTER2CLUSTER2 SOFS CLUSTER2SOFS-CLUSTER2
  2. 群集中的所有已创建后,使用以下命令来创建集母版的群集。Once all cluster have been created, use the following commands to create the cluster set master.

     New-ClusterSet -Name CSMASTER -NamespaceRoot SOFS-CLUSTERSET -CimSession SET-CLUSTER
    
  3. 若要将群集服务器添加到群集组中,下面将使用。To add a Cluster Server to the cluster set, the below would be used.

     Add-ClusterSetMember -ClusterName CLUSTER1 -CimSession CSMASTER -InfraSOFSName SOFS-CLUSTER1
     Add-ClusterSetMember -ClusterName CLUSTER2 -CimSession CSMASTER -InfraSOFSName SOFS-CLUSTER2
    

    备注

    如果使用静态 IP 地址方案,则必须包括 -StaticAddress x.x.x.x新建 ClusterSet命令。If you are using a static IP Address scheme, you must include -StaticAddress x.x.x.x on the New-ClusterSet command.

  4. 创建带群集成员集的群集后,可以列出的节点集并将其属性。Once you have created the cluster set out of cluster members, you can list the nodes set and its properties. 枚举群集组中的所有成员群集:To enumerate all the member clusters in the cluster set:

     Get-ClusterSetMember -CimSession CSMASTER
    
  5. 若要枚举集包括管理群集节点的群集中的所有成员分类:To enumerate all the member clusters in the cluster set including the management cluster nodes:

     Get-ClusterSet -CimSession CSMASTER | Get-Cluster | Get-ClusterNode
    
  6. 若要列出成员群集中的所有节点:To list all the nodes from the member clusters:

     Get-ClusterSetNode -CimSession CSMASTER
    
  7. 若要列出所有在群集范围内的资源组设置:To list all the resource groups across the cluster set:

     Get-ClusterSet -CimSession CSMASTER | Get-Cluster | Get-ClusterGroup 
    
  8. 若要验证群集创建过程创建一个 (标识为 Volume1 或使用的基础结构文件服务器和为这两者的路径名称 ScopeName 标记任何 CSV 文件夹) 的 SMB 共享上设置基础结构 SOFS 为每个群集成员CSV 卷:To verify the cluster set creation process created one SMB share (identified as Volume1 or whatever the CSV folder is labeled with the ScopeName being the name of the Infrastructure File Server and the path as both) on the Infrastructure SOFS for each cluster member's CSV volume:

     Get-SmbShare -CimSession CSMASTER
    
  9. 群集组具有可供查看收集的调试日志。Cluster sets has debug logs that can be collected for review. 群集设置,既可以为所有成员和管理群集收集群集调试日志。Both the cluster set and cluster debug logs can be gathered for all members and the management cluster.

     Get-ClusterSetLog -ClusterSetCimSession CSMASTER -IncludeClusterLog -IncludeManagementClusterLog -DestinationFolderPath <path>
    
  10. 配置 Kerberos约束委派之间群集中的所有设置成员。Configure Kerberos constrained delegation between all cluster set members.

  11. 群集设置的每个节点上配置 Kerberos 的跨群集虚拟机实时迁移身份验证类型。Configure the cross-cluster virtual machine live migration authentication type to Kerberos on each node in the Cluster Set.

    foreach($h in $hosts){ Set-VMHost -VirtualMachineMigrationAuthenticationType Kerberos -ComputerName $h }
    
  12. 将在管理群集添加到群集组中每个节点上的本地管理员组。Add the management cluster to the local administrators group on each node in the cluster set.

    foreach($h in $hosts){ Invoke-Command -ComputerName $h -ScriptBlock {Net localgroup administrators /add <management_cluster_name>$} }
    

创建新虚拟机并将添加到群集设置Creating new virtual machines and adding to cluster sets

创建群集设置后下, 一步是创建新的虚拟机。After creating the cluster set, the next step is to create new virtual machines. 通常情况下,在需要创建虚拟机并将其添加到群集时,必须执行一些检查,以查看这可能是最佳上运行的群集上。Normally, when it is time to create virtual machines and add them to a cluster, you need to do some checks on the clusters to see which it may be best to run on. 这些检查包括:These checks could include:

  • 是群集节点上可用的内存量?How much memory is available on the cluster nodes?
  • 磁盘空间量是群集节点上可用?How much disk space is available on the cluster nodes?
  • 虚拟机需要特定的存储要求 (即我希望我的 SQL Server 虚拟机以转到运行更快的驱动器; 的群集或我的基础结构虚拟机不是如此重要,并且可以较慢的驱动器上运行)。Does the virtual machine require specific storage requirements (i.e. I want my SQL Server virtual machines to go to a cluster running faster drives; or, my infrastructure virtual machine is not as critical and can run on slower drives).

一旦回答此问题,您需要它来为在群集上创建虚拟机。Once this questions are answered, you create the virtual machine on the cluster you need it to be. 群集设置的优势之一是群集设置为你执行这些检查的操作和最大程度优化节点上放置虚拟机。One of the benefits of cluster sets is that cluster sets do those checks for you and place the virtual machine on the most optimal node.

下面的命令将同时标识最佳群集并向其部署虚拟机。The below commands will both identify the optimal cluster and deploy the virtual machine to it. 在以下示例中,指定至少 4 千兆字节的内存的虚拟机可用,并且它将需要使用 1 个虚拟处理器创建新的虚拟机。In the below example, a new virtual machine is created specifying that at least 4 gigabytes of memory is available for the virtual machine and that it will need to utilize 1 virtual processor.

  • 确保 4 gb 就可用于虚拟机ensure that 4gb is available for the virtual machine

  • 设置使用 1 上的虚拟处理器set the virtual processor used at 1

  • 检查,确保在至少 10 %cpu 可用于虚拟机check to ensure there is at least 10% CPU available for the virtual machine

    # Identify the optimal node to create a new virtual machine
    $memoryinMB=4096
    $vpcount = 1
    $targetnode = Get-ClusterSetOptimalNodeForVM -CimSession CSMASTER -VMMemory $memoryinMB -VMVirtualCoreCount $vpcount -VMCpuReservation 10
    $secure_string_pwd = convertto-securestring "<password>" -asplaintext -force
    $cred = new-object -typename System.Management.Automation.PSCredential ("<domain\account>",$secure_string_pwd)
    
    # Deploy the virtual machine on the optimal node
    Invoke-Command -ComputerName $targetnode.name -scriptblock { param([String]$storagepath); New-VM CSVM1 -MemoryStartupBytes 3072MB -path $storagepath -NewVHDPath CSVM.vhdx -NewVHDSizeBytes 4194304 } -ArgumentList @("\\SOFS-CLUSTER1\VOLUME1") -Credential $cred | Out-Null
    
    Start-VM CSVM1 -ComputerName $targetnode.name | Out-Null
    Get-VM CSVM1 -ComputerName $targetnode.name | fl State, ComputerName
    

操作完成时,将为您提供有关虚拟机和放置位置的信息。When it completes, you will be given the information about the virtual machine and where it was placed. 在上述示例中,它将显示为:In the above example, it would show as:

    State         : Running
    ComputerName  : 1-S2D2

如果你没有足够的内存、 cpu 或磁盘空间,添加虚拟机,你将收到错误:If you were to not have enough memory, cpu, or disk space to add the virtual machine, you will receive the error:

  Get-ClusterSetOptimalNodeForVM : A cluster node is not available for this operation.  

一旦创建虚拟机后,它将显示在指定的特定节点上的 HYPER-V 管理器中。Once the virtual machine has been created, it will be displayed in Hyper-V manager on the specific node specified. 若要将其添加为群集设置虚拟机并登录到群集,下面是该命令。To add it as a cluster set virtual machine and into the cluster, the command is below.

    Register-ClusterSetVM -CimSession CSMASTER -MemberName $targetnode.Member -VMName CSVM1

操作完成时,输出将是:When it completes, the output will be:

     Id  VMName  State  MemberName  PSComputerName
     --  ------  -----  ----------  --------------
      1  CSVM1      On  CLUSTER1    CSMASTER

如果已添加了现有的虚拟机的群集,虚拟机还需要注册到群集集来注册所有虚拟机,要使用的命令是:If you have added a cluster with existing virtual machines, the virtual machines will also need to be registered with Cluster sets so register all the virtual machines at once, the command to use is:

    Get-ClusterSetMember -name CLUSTER3 -CimSession CSMASTER | Register-ClusterSetVM -RegisterAll -CimSession CSMASTER

但是,随着需求的虚拟机的路径添加到群集组命名空间进程不完整。However, the process is not complete as the path to the virtual machine needs to be added to the cluster set namespace.

因此,例如,添加现有的群集和它已预配置的虚拟机所在上本地群集共享卷 (CSV),VHDX 的路径将类似于"C:\ClusterStorage\Volume1\MYVM\Virtual 硬 Disks\MYVM.vhdx。So for example, an existing cluster is added and it has pre-configured virtual machines the reside on the local Cluster Shared Volume (CSV), the path for the VHDX would be something similar to "C:\ClusterStorage\Volume1\MYVM\Virtual Hard Disks\MYVM.vhdx. 存储迁移需要如 CSV 路径在设计上本地的单个成员群集来完成。A storage migration would need to be accomplished as CSV paths are by design local to a single member cluster. 因此,将无法访问虚拟机后实时成员群集之间迁移。Thus, will not be accessible to the virtual machine once they are live migrated across member clusters.

在此示例中,CLUSTER3 已添加到集添加 ClusterSetMember 与基础结构横向扩展文件服务器用作 SOFS CLUSTER3 的群集。In this example, CLUSTER3 was added to the cluster set using Add-ClusterSetMember with the Infrastructure Scale-Out File Server as SOFS-CLUSTER3. 若要移动的虚拟机配置和存储,该命令是:To move the virtual machine configuration and storage, the command is:

    Move-VMStorage -DestinationStoragePath \\SOFS-CLUSTER3\Volume1 -Name MYVM

完成后,您将收到一条警告:Once it completes, you will receive a warning:

    WARNING: There were issues updating the virtual machine configuration that may prevent the virtual machine from running.  For more information view the report file below.
    WARNING: Report file location: C:\Windows\Cluster\Reports\Update-ClusterVirtualMachineConfiguration '' on date at time.htm.

可以忽略此警告,因为该警告是"检测到的虚拟机角色存储配置中无更改"。This warning can be ignored as the warning is "No changes in the virtual machine role storage configuration were detected". 作为实际的物理位置警告的原因不会更改;仅配置路径。The reason for the warning as the actual physical location does not change; only the configuration paths.

有关 Move-vmstorage 的详细信息,请查看此链接For more information on Move-VMStorage, please review this link.

实时迁移虚拟机之间不同的群集设置群集是不与过去相同。Live migrating a virtual machine between different cluster set clusters is not the same as in the past. 在非群集集合的情况下,应为步骤:In non-cluster set scenarios, the steps would be:

  1. 从群集中删除虚拟机角色。remove the virtual machine role from the Cluster.
  2. 实时迁移到不同的群集的成员节点的虚拟机。live migrate the virtual machine to a member node of a different cluster.
  3. 将虚拟机添加到群集中,为新虚拟机角色。add the virtual machine into the cluster as a new virtual machine role.

使用群集集不需要这些步骤,需只能有一个命令。With Cluster sets these steps are not necessary and only one command is needed. 首先,应设置为可用于迁移的过程中该命令的所有网络:First, you should set all networks to be available for the migration with the command:

Set-VMHost -UseAnyNetworkMigration $true

例如,我想要将群集设置虚拟机从 CLUSTER1 移到 NODE2 CL3,CLUSTER3 上。For example, I want to move a Cluster Set virtual machine from CLUSTER1 to NODE2-CL3 on CLUSTER3. 将单个命令:The single command would be:

    Move-ClusterSetVM -CimSession CSMASTER -VMName CSVM1 -Node NODE2-CL3

请注意这不会移动虚拟机存储或配置文件。Please note that this does not move the virtual machine storage or configuration files. 这是不必要的因为虚拟机的路径将一直为\SOFS CLUSTER1\VOLUME1。This is not necessary as the path to the virtual machine remains as \SOFS-CLUSTER1\VOLUME1. 注册虚拟机后使用群集集具有的基础结构文件服务器共享路径、 驱动器和虚拟机不需要在虚拟机所在的同一计算机上。Once a virtual machine has been registered with cluster sets has the Infrastructure File Server share path, the drives and virtual machine do not require being on the same machine as the virtual machine.

创建可用性集容错域Creating Availability sets Fault Domains

如简介中所述,可以在群集组中配置类似于 Azure 的容错域和可用性集。As described in the introduction, Azure-like fault domains and availability sets can be configured in a cluster set. 这非常有利于初始虚拟机放置和群集之间迁移。This is beneficial for initial virtual machine placements and migrations between clusters.

在以下示例中,有四个群集集合中包含的群集。In the example below, there are four clusters participating in the cluster set. 在集内逻辑容错域将创建具有两个群集和容错域与其他两个群集创建。Within the set, a logical fault domain will be created with two of the clusters and a fault domain created with the other two clusters. 这些两个容错域将包含可用性组。These two fault domains will comprise the Availabiilty Set.

在以下示例中,CLUSTER1 CLUSTER2 将和容错域中名为FD1 CLUSTER3 和 CLUSTER4 将在一个名为的容错域中时FD2In the example below, CLUSTER1 and CLUSTER2 will be in a fault domain called FD1 while CLUSTER3 and CLUSTER4 will be in a fault domain called FD2. 将名为可用性集CSMASTER-AS ,并且由组成的两个容错域。The availability set will be called CSMASTER-AS and be comprised of the two fault domains.

若要创建的容错域的命令是:To create the fault domains, the commands are:

    New-ClusterSetFaultDomain -Name FD1 -FdType Logical -CimSession CSMASTER -MemberCluster CLUSTER1,CLUSTER2 -Description "This is my first fault domain"

    New-ClusterSetFaultDomain -Name FD2 -FdType Logical -CimSession CSMASTER -MemberCluster CLUSTER3,CLUSTER4 -Description "This is my second fault domain"

若要确保它们已成功创建,可以使用其输出所示运行 Get ClusterSetFaultDomain。To ensure they have been created successfully, Get-ClusterSetFaultDomain can be run with its output shown.

    PS C:\> Get-ClusterSetFaultDomain -CimSession CSMASTER -FdName FD1 | fl *

    PSShowComputerName    : True
    FaultDomainType       : Logical
    ClusterName           : {CLUSTER1, CLUSTER2}
    Description           : This is my first fault domain
    FDName                : FD1
    Id                    : 1
    PSComputerName        : CSMASTER

现在,已创建的容错域,可用性集需要创建。Now that the fault domains have been created, the availability set needs to be created.

    New-ClusterSetAvailabilitySet -Name CSMASTER-AS -FdType Logical -CimSession CSMASTER -ParticipantName FD1,FD2

若要验证它已创建,然后使用:To validate it has been created, then use:

    Get-ClusterSetAvailabilitySet -AvailabilitySetName CSMASTER-AS -CimSession CSMASTER

在创建新的虚拟机,然后需要在确定最佳节点使用的可用性集参数。When creating new virtual machines, you would then need to use the -AvailabilitySet parameter as part of determining the optimal node. 因此它将然后如下所示:So it would then look something like this:

    # Identify the optimal node to create a new virtual machine
    $memoryinMB=4096
    $vpcount = 1
    $av = Get-ClusterSetAvailabilitySet -Name CSMASTER-AS -CimSession CSMASTER
    $targetnode = Get-ClusterSetOptimalNodeForVM -CimSession CSMASTER -VMMemory $memoryinMB -VMVirtualCoreCount $vpcount -VMCpuReservation 10 -AvailabilitySet $av
    $secure_string_pwd = convertto-securestring "<password>" -asplaintext -force
    $cred = new-object -typename System.Management.Automation.PSCredential ("<domain\account>",$secure_string_pwd)

由于各种生命周期从群集中删除群集设置。Removing a cluster from cluster sets due to various life cycles. 有些的时候群集需要从群集组中删除。There are times when a cluster needs to be removed from a cluster set. 最佳做法是,所有群集设置的虚拟机应都移出群集。As a best practice, all cluster set virtual machines should be moved out of the cluster. 可以使用完成这移动 ClusterSetVMMove-vmstorage命令。This can be accomplished using the Move-ClusterSetVM and Move-VMStorage commands.

但是,如果不会同时移动虚拟机,群集集运行一的系列操作以向管理员提供直观的结果。However, if the virtual machines will not be moved as well, cluster sets runs a series of actions to provide an intuitive outcome to the administrator. 从集中删除群集后,所有剩余群集组的虚拟机正在删除群集上托管只需将成为绑定到该群集,假定他们具有访问其存储的高可用虚拟机。When the cluster is removed from the set, all remaining cluster set virtual machines hosted on the cluster being removed will simply become highly available virtual machines bound to that cluster, assuming they have access to their storage. 群集设置还会自动将更新按其库存量:Cluster sets will also automatically update its inventory by:

  • 无法再跟踪立即删除群集和在其上运行的虚拟机的运行状况No longer tracking the health of the now-removed cluster and the virtual machines running on it
  • 从群集组命名空间和对共享立即删除群集上托管的所有引用中删除Removes from cluster set namespace and all references to shares hosted on the now-removed cluster

例如,若要从群集组中删除 CLUSTER1 群集命令应为:For example, the command to remove the CLUSTER1 cluster from cluster sets would be:

    Remove-ClusterSetMember -ClusterName CLUSTER1 -CimSession CSMASTER

常见问题 (FAQ)Frequently asked questions (FAQ)

问: 在我的群集组,我只能安装到仅使用超聚合群集?Question: In my cluster set, am I limited to only using hyper-converged clusters?
答案: 否。Answer: No. 与传统的群集,您可以混合存储空间直通。You can mix Storage Spaces Direct with traditional clusters.

问: 管理我群集设置通过 System Center Virtual Machine Manager?Question: Can I manage my Cluster Set via System Center Virtual Machine Manager?
答案: System Center Virtual Machine Manager 目前不支持群集设置Answer: System Center Virtual Machine Manager does not currently support Cluster sets

问: 可以 Windows Server 2012 R2 或 2016年群集共存于同一群集集合?Question: Can Windows Server 2012 R2 or 2016 clusters co-exist in the same cluster set?
问: 可以迁移工作负荷关闭 Windows Server 2012 R2 或 2016年通过只需让这些群集的群集加入同一群集设置?Question: Can I migrate workloads off Windows Server 2012 R2 or 2016 clusters by simply having those clusters join the same Cluster Set?
答案: 群集集是一项新技术引入了在 Windows Server 2019,因此这种情况下,以前的版本中不存在。Answer: Cluster sets is a new technology being introduced in Windows Server 2019, so as such, does not exist in previous releases. 低级别基于操作系统的群集无法加入群集集合。Down-level OS-based clusters cannot join a cluster set. 但是,群集操作系统滚动升级技术应提供你要查找这些群集升级到 Windows Server 2019 的迁移功能。However, Cluster Operating System rolling upgrades technology should provide the migration functionality that you are looking for by upgrading these clusters to Windows Server 2019.

问: 群集设置可以允许我缩放存储或计算 (独立)?Question: Can Cluster sets allow me to scale storage or compute (alone)?
答案: 是的只需添加的存储空间直通或传统的 HYPER-V 群集。Answer: Yes, by simply adding a Storage Space Direct or traditional Hyper-V cluster. 使用群集集时,它是计算存储比率,即使在超聚合群集组中的简单更改。With cluster sets, it is a straightforward change of Compute-to-Storage ratio even in a hyper-converged cluster set.

问: 群集设置的管理工具是什么Question: What is the management tooling for cluster sets
答案: PowerShell 或 WMI 在此版本中。Answer: PowerShell or WMI in this release.

问: 如何使用不同代的处理器跨群集实时迁移?Question: How will the cross-cluster live migration work with processors of different generations?
答案: 群集集合不会不解决处理器差异和取代的 HYPER-V 目前支持。Answer: Cluster sets does not work around processor differences and supersede what Hyper-V currently supports. 因此,必须与快速迁移使用处理器兼容性模式。Therefore, processor compatibility mode must be used with quick migrations. 有关群集设置的建议是要用于群集发生之间的实时迁移的每个单独的群集,以及整个群集设置中的相同处理器硬件。The recommendation for Cluster sets is to use the same processor hardware within each individual Cluster as well as the entire Cluster Set for live migrations between clusters to occur.

问: 可以我群集的一组虚拟机自动故障转移群集失败?Question: Can my cluster set virtual machines automatically failover on a cluster failure?
答案: 在此版本中,群集设置的虚拟机只能是手动的实时迁移跨群集;但不能自动故障转移。Answer: In this release, cluster set virtual machines can only be manually live-migrated across clusters; but cannot automatically failover.

问: 我们如何确保存储是从群集故障中复原?Question: How do we ensure storage is resilient to cluster failures?
答案: 使用跨成员群集跨群集存储副本 (SR) 解决方案实现群集故障存储复原能力。Answer: Use cross-cluster Storage Replica (SR) solution across member clusters to realize the storage resiliency to cluster failures.

问: 我使用存储副本 (SR) 在成员群集之间复制。Question: I use Storage Replica (SR) to replicate across member clusters. 群集组命名空间存储 UNC 路径更改 SR 故障转移到副本的目标存储空间直通群集?Do cluster set namespace storage UNC paths change on SR failover to the replica target Storage Spaces Direct cluster?
答案: 在此版本中,这样的群集组命名空间引用更改不会发生与 SR 故障转移。Answer: In this release, such a cluster set namespace referral change does not occur with SR failover. 请让 Microsoft 知道这种情况下是否重要的您和您计划如何使用它。Please let Microsoft know if this scenario is critical to you and how you plan to use it.

问: 在灾难恢复情形中的容错域中是否可以将故障转移虚拟机 (例如整个容错域发生故障)?Question: Is it possible to failover virtual machines across fault domains in a disaster recovery situation (say the entire fault domain went down)?
答案: 不可以,请注意,跨群集故障转移在逻辑容错域尚不支持。Answer: No, note that cross-cluster failover within a logical fault domain is not yet supported.

问: 我的群集可以设置多个站点 (或 DNS 域) 中的 s p a n 群集?Question: Can my cluster set span clusters in multiple sites (or DNS domains)?

*答案:* 这是未经测试的方案,不会立即计划生产支持。

*Answer:* This is an untested scenario and not immediately planned for production support.
请让 Microsoft 知道这种情况下是否重要的您和您计划如何使用它。Please let Microsoft know if this scenario is critical to you and how you plan to use it.

问: 群集是否设置了 IPv6 的工作?Question: Does cluster set work with IPv6?
答案: IPv4 和 IPv6 支持使用群集集与故障转移群集。Answer: Both IPv4 and IPv6 are supported with cluster sets as with Failover Clusters.

问: 什么是群集的 Active Directory 林要求集Question: What are the Active Directory Forest requirements for cluster sets
答案: 所有成员群集都必须位于相同的 AD 林。Answer: All member clusters must be in the same AD forest.

问: 群集或节点的数量可以作为单个群集的一部分设置?Question: How many clusters or nodes can be part of a single cluster Set?
答案: 在 Windows Server 2019 群集集合已经过测试并支持最多 64 个总群集节点。Answer: In Windows Server 2019, cluster sets been tested and supported up to 64 total cluster nodes. 但是,群集设置体系结构扩展到更大的限制,而不是硬编码的限制。However, cluster sets architecture scales to much larger limits and is not something that is hardcoded for a limit. 请告知 Microsoft 较大的规模是重要的您和您计划如何使用它。Please let Microsoft know if larger scale is critical to you and how you plan to use it.

问: 将群集组中的所有存储空间直通群集都形成单个存储池?Question: Will all Storage Spaces Direct clusters in a cluster set form a single storage pool?
答案: 否。Answer: No. 存储空间直通技术仍执行单个群集中,不能跨群集组中的成员群集执行。Storage Spaces Direct technology still operates within a single cluster and not across member clusters in a cluster set.

问: 将群集设置高度可用的命名空间?Question: Is the cluster set namespace highly available?
答案: 是的通过在管理群集上运行的连续可用 (CA) 引用 SOFS 命名空间服务器提供的群集组命名空间。Answer: Yes, the cluster set namespace is provided via a Continuously Available (CA) referral SOFS namespace server running on the management cluster. Microsoft 建议使用具有足够数量的虚拟机从成员群集,使其对本地化群集范围内发生故障的复原。Microsoft recommends having enough number of virtual machines from member clusters to make it resilient to localized cluster-wide failures. 但是,来应对无法预见的灾难性故障-例如同时停止运行的管理群集中所有虚拟机 – 引用信息是永久此外缓存在每个群集组节点中,甚至在重新启动后。However, to account for unforeseen catastrophic failures – e.g. all virtual machines in the management cluster going down at the same time – the referral information is additionally persistently cached in each cluster set node, even across reboots.

问: 群集是否在群集组中设置基于命名空间的存储访问降低存储性能?Question: Does the cluster set namespace-based storage access slow down storage performance in a cluster set?
答案: 否。Answer: No. 群集组命名空间提供了群集集 – 从概念上讲如分布式文件系统命名空间 (DFSN) 内的覆盖引用命名空间。Cluster set namespace offers an overlay referral namespace within a cluster set – conceptually like Distributed File System Namespaces (DFSN). 而且和不同 DFSN,所有群集组命名空间引用元数据都是自动填充,而无需任何管理员干预,所有节点上自动更新因此中存储的访问路径几乎不会影响性能。And unlike DFSN, all cluster set namespace referral metadata is auto-populated and auto-updated on all nodes without any administrator intervention, so there is almost no performance overhead in the storage access path.

问: 如何备份群集集元数据?Question: How can I backup cluster set metadata?
答案: 本指南是故障转移群集相同。Answer: This guidance is the same as that of Failover Cluster. 将备份系统状态备份的群集状态。The System State Backup will backup the cluster state as well. 可以通过 Windows Server Backup 执行还原的不仅仅是节点的群集数据库 (其中永远不应由于大量自我修复逻辑,我们需要) 或执行授权还原整个群集数据库回滚在所有节点。Through Windows Server Backup, you can do restores of just a node's cluster database (which should never be needed because of a bunch of self-healing logic we have) or do an authoritative restore to roll back the entire cluster database across all nodes. 在群集设置的情况下 Microsoft 建议首先成员群集,然后在管理群集中此类的权威还原,如果需要。In the case of cluster sets, Microsoft recommends doing such an authoritative restore first on the member cluster and then the management cluster if needed.