Delen via


Een clusterset implementeren

Van toepassing op: Windows Server 2019

Dit artikel bevat informatie over het implementeren van een clusterset voor Windows Server-failoverclusters met behulp van PowerShell. Een clusterset is een groep van meerdere failoverclusters die samen zijn geclusterd. Met behulp van een clusterset kunt u het aantal serverknooppunten in één SDDC-cloud (Software Defined Data Center) verhogen op grootte.

Clustersets zijn getest en ondersteund tot maximaal 64 clusterknooppunten. Clusters kunnen echter worden geschaald tot veel grotere limieten en zijn niet beperkt door een vaste limiet.

Voordelen

Clustersets bieden de volgende voordelen:

  • Verhoogt aanzienlijk de ondersteunde SDDC-cloudschaal voor het uitvoeren van maximaal beschikbare virtuele machines (VM's) door meerdere kleinere clusters te combineren tot één grote infrastructuur, terwijl de softwarefoutgrens wordt behouden tot één cluster. U kunt eenvoudig VM's migreren in de clusterset.

  • Verbeterde veerkracht. Als u vier clusters met vier knooppunten in een clusterset hebt, beschikt u over betere tolerantie dan één cluster met 16 knooppunten, waardoor meerdere rekenknooppunten omlaag kunnen gaan en de productie intact blijft.

  • Beheer van de levenscyclus van failoverclusters, inclusief onboarding en buiten gebruik stellen van clusters, zonder dat dit van invloed is op de beschikbaarheid van tenant-VM's.

  • VM-flexibiliteit voor afzonderlijke clusters en een geïntegreerde opslagnaamruimte.

  • Wijzig eenvoudig de workloadverhouding voor reken-naar-opslag in uw hypergeconvergeerde omgeving.

  • Profiteer van Azure-achtige foutdomeinen en beschikbaarheidssets voor afzonderlijke clusters in de eerste VM-plaatsing en daaropvolgende migratie.

  • Kan zelfs worden gebruikt als de reken- en opslaghardware tussen clusterknooppunten niet identiek is.

  • Livemigratie van VM's tussen clusters.

  • Azure-achtige beschikbaarheidssets en foutdomeinen in meerdere clusters.

  • Verplaatsen van VIRTUELE SQL Server-machines tussen clusters.

Vereisten en beperkingen

Er zijn enkele vereisten en beperkingen voor het gebruik van clustersets:

  • Alle lidclusters in een clusterset moeten zich in hetzelfde AD-forest (Active Directory) bevinden.

  • Lidservers in de set moeten dezelfde versie van het besturingssysteem uitvoeren. Virtuele machines kunnen niet live worden gemigreerd tussen verschillende besturingssystemen. U kunt een clusterset hebben die bestaat uit een van de volgende opties, maar niet uit meerdere.

    • Windows Server 2019 Failover Cluster en Windows Server 2019 Failover Cluster
    • Windows Server 2019-failovercluster en Windows Server 2019 Opslagruimten Direct
    • Windows Server 2019 Opslagruimten Direct en Windows Server 2019 Opslagruimten Direct
  • Identieke processorhardware is nodig voor alle lidservers voor livemigratie tussen lidclusters; anders moet u cpu-processorcompatibiliteit selecteren in de instellingen van virtuele machines.

  • Virtuele machines met clustersets moeten handmatig live worden gemigreerd tussen clusters. Ze kunnen geen failover automatisch uitvoeren.

  • Opslagreplica moet worden gebruikt tussen leden van clusters om opslagweerstand voor clusterfouten te realiseren. Wanneer u Opslagreplica gebruikt, moet u er rekening mee houden dat UNC-paden voor naamruimteopslag niet automatisch worden gewijzigd bij failover van Opslagreplica naar het doelcluster van de replica.

  • Opslagplaatsen Direct werkt niet tussen lidclusters in een clusterset. Opslagruimten Direct is eerder van toepassing op één cluster, waarbij elk cluster een eigen opslaggroep heeft.

Architectuur

In het volgende diagram ziet u een clusterset op hoog niveau:

Diagram met een clusterset.

Hieronder vindt u een samenvatting van elk van de weergegeven elementen:

Beheercluster

Het beheercluster fungeert als host voor het beheervlak met hoge beschikbaarheid en de scale-out bestandsserver voor de naamruimteverwijzing (SOFS) voor de clusterset. Een beheercluster is logisch losgekoppeld van afzonderlijke lidclusters waarop VM-workloads worden uitgevoerd. Hierdoor is het beheervlak van de clusterset tolerant voor gelokaliseerde clusterbrede storingen, zoals verlies van stroom van een lidcluster.

SOFS-verwijzing voor de naamruimte van clusterset

Er wordt een naamruimte voor de clusterset geleverd met een SOFS-serverfunctie die wordt uitgevoerd op het beheercluster. Dit is vergelijkbaar met een DFSN (Distributed File System Namespace). In tegenstelling tot DFSN worden de verwijzingsmetagegevens van de clustersetnaamruimte echter automatisch ingevuld op alle clusterknooppunten zonder tussenkomst, dus er is bijna geen overhead voor prestaties in het toegangspad voor opslag. Dit lichtgewicht verwijzingsmechanisme neemt niet deel aan het I/O-pad.

Elke Server Message Block (SMB)-verwijzingsshare in de naamruimte van de clusterverwijzing SOFS is van het type SimpleReferral. Met deze verwijzing hebben SMB-clients toegang tot de doel-SMB-share die wordt gehost op de SOFS van het lidcluster. Verwijzingen worden permanent opgeslagen in de cache op elk van de clientknooppunten en de naamruimte van de clusterset werkt de verwijzingen zo nodig dynamisch bij. Verwijzingsgegevens worden permanent in de cache opgeslagen in elk clustersetknooppunt, zelfs tijdens het opnieuw opstarten.

Clustersetbeheerder

Communicatie tussen lidclusters is losjes gekoppeld en gecoördineerd door de clustersetmaster (CS-Master) resource. Net als andere clustersetbronnen is CS-Master maximaal beschikbaar en bestand tegen fouten in afzonderlijke lidclusters of storingen in het beheerclusterknooppunt. Via een WMI-provider van een clusterset biedt CS-Master het beheereindpunt voor alle beheeracties voor clustersets.

Ledencluster

Een lidcluster voert VM- en Opslagruimten Direct-workloads uit. Meerdere lidclusters nemen deel aan een clustersetimplementatie, die de grotere SDDC-cloudinfrastructuur vormt. Lidclusters verschillen van het beheercluster in twee belangrijke aspecten: lidclusters nemen deel aan foutdomein- en beschikbaarheidssetconstructies, en lidclusters hebben de grootte om VM- en Opslagruimten Direct-workloads te hosten. Vm's die over lidclusters worden verplaatst, worden om deze reden niet gehost op het beheercluster.

Cluster-set-werker

De CS-Master communiceert met een clusterresource op lidclusters genaamd de clusterset worker (CS-Worker). CS-Worker reageert op aanvragen van de CS-Master, inclusief VM-plaatsing en bronneninventarisatie. Er is één CS-Worker-instantie per lid-cluster.

Foutdomein

Een foutdomein is een groep hardware en software die samen kunnen mislukken. Hoewel u een of meer clusters samen kunt aanwijzen als een foutdomein, kan elk knooppunt deelnemen aan een foutdomein in een beschikbaarheidsset. Grenzen van foutdomeinen zijn gebaseerd op datacentrumtopologie, netwerkarchitectuur en andere overwegingen.

Beschikbaarheidsconfiguratie

Een beschikbaarheidsset wordt gebruikt om de gewenste redundantie van geclusterde workloads in foutdomeinen te configureren door workloads te groeperen en te implementeren. Voor een toepassing met twee lagen moet u ten minste twee VM's configureren in een beschikbaarheidsset voor elke laag. Dit zorgt ervoor dat wanneer een foutdomein in een beschikbaarheidsset uitvalt, uw toepassing ten minste één VM in elke laag heeft die wordt gehost op een ander foutdomein.

Een clusterset maken

Gebruik PowerShell in de volgende voorbeeldwerkstroom om een clusterset te maken met behulp van twee clusters. De naam van de clusterset hier is CSMASTER.

Clusternaam Naam van SOFS-infrastructuur
SET-CLUSTER SOFS-CLUSTERSET
CLUSTER1 SOFS-CLUSTER1
CLUSTER2 SOFS-CLUSTER2
  1. Gebruik een beheerclientcomputer met Windows Server 2022 of Windows Server 2019.

  2. Installeer hulpprogramma's voor failoverclusters op de beheerclusterserver.

  3. Maak twee clusterleden en met ten minste twee CSV's (Cluster Shared Volumes) in elk cluster.

  4. Maak een beheercluster (fysiek of gast) dat de lidclusters omvat. Dit zorgt ervoor dat het beheervlak van de clusterset beschikbaar blijft, ondanks mogelijke storingen in het lidcluster.

  5. De clusterset maken:

    New-ClusterSet -Name CSMASTER -NamespaceRoot SOFS-CLUSTERSET -CimSession SET-CLUSTER
    

    Opmerking

    Als u een statisch IP-adres gebruikt, moet u -StaticAddress x.x.x.x opnemen in de opdracht New-ClusterSet .

  6. Clusterleden toevoegen aan de clusterset:

    Add-ClusterSetMember -ClusterName CLUSTER1 -CimSession CSMASTER -InfraSOFSName SOFS-CLUSTER1
    Add-ClusterSetMember -ClusterName CLUSTER2 -CimSession CSMASTER -InfraSOFSName SOFS-CLUSTER2
    
  7. Om alle lidclusters in de clusterset op te sommen:

    Get-ClusterSetMember -CimSession CSMASTER
    
  8. Als u alle lidclusters in de clusterset wilt inventariseren, inclusief de beheerclusterknooppunten:

    Get-ClusterSet -CimSession CSMASTER | Get-Cluster | Get-ClusterNode
    
  9. Alle serverknooppunten van alle lidclusters weergeven:

    Get-ClusterSetNode -CimSession CSMASTER
    
  10. Om alle resourcegroepen in de clusterset op te sommen:

    Get-ClusterSet -CimSession CSMASTER | Get-Cluster | Get-ClusterGroup
    
  11. Als u wilt controleren of de clusterset één SMB-share bevat (ScopeName de naam van de infrastructuurbestandsserver) op de infrastructuur-SOFS voor elk CSV-volume van het clusterlid:

    Get-SmbShare -CimSession CSMASTER
    
  12. Controleer de logboekbestanden voor foutopsporing van de clusterset voor de clusterset, het beheercluster en elk clusterlid:

    Get-ClusterSetLog -ClusterSetCimSession CSMASTER -IncludeClusterLog -IncludeManagementClusterLog -DestinationFolderPath <path>
    
  13. Configureer Kerberos met beperkte delegering tussen alle leden van de clusterset.

  14. Configureer het verificatietype voor livemigratie tussen clusters naar Kerberos op elk knooppunt in de clusterset:

    foreach($h in $hosts){ Set-VMHost -VirtualMachineMigrationAuthenticationType Kerberos -ComputerName $h }
    
  15. Voeg het beheercluster toe aan de lokale beheerdersgroep op elk clusterlidserverknooppunt in de clusterset:

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

Virtuele machines voor clustersets maken

Nadat u de clusterset hebt gemaakt, bestaat de volgende stap uit het maken van VM's. U moet de volgende controles vooraf uitvoeren:

  • Controleer het beschikbare geheugen op elk clusterserverknooppunt
  • Beschikbare schijfruimte controleren op elk clusterserverknooppunt
  • Controleer eventuele specifieke vereisten voor VM-opslag met betrekking tot snelheid en prestaties

De Get-ClusterSetOptimalNodeForVM opdracht identificeert het optimale cluster en knooppunt in de clusterset en implementeert vervolgens de VIRTUELE machine erop. In het volgende voorbeeld wordt een nieuwe VIRTUELE machine gemaakt met:

  • 4 GB beschikbaar
  • Eén virtuele processor
  • 10% minimale CPU beschikbaar
# 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

Wanneer u klaar bent, ziet u op welk clusterknooppunt de VM is geïmplementeerd. In het bovenstaande voorbeeld wordt dit weergegeven als:

State         : Running
ComputerName  : 1-S2D2

Als er onvoldoende geheugen, CPU-capaciteit of schijfruimte beschikbaar is om de virtuele machine toe te voegen, wordt de volgende fout weergegeven:

Get-ClusterSetOptimalNodeForVM : A cluster node isn't available for this operation.

Zodra de virtuele machine is gemaakt, wordt deze weergegeven in Hyper-V manager op het opgegeven specifieke knooppunt. Als u deze wilt toevoegen als een clusterset-VM en deze wilt toevoegen aan het cluster, gebruikt u deze opdracht:

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

Wanneer voltooid, is de uitvoer:

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

Als u een cluster hebt gemaakt met bestaande VM's, moeten de VM's worden geregistreerd bij de clusterset. Als u alle VM's tegelijk wilt registreren, gebruikt u:

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

Voeg vervolgens het VM-pad toe aan de naamruimte van de clusterset.

Stel dat een bestaand cluster wordt toegevoegd aan de clusterset met vooraf geconfigureerde VM's die zich op het lokale csv-volume (Cluster Shared Volume) bevinden. Het pad voor de VHDX zou er ongeveer als volgt uitzien C:\ClusterStorage\Volume1\MYVM\Virtual Hard Disks\MYVM.vhdx1.

Er is een opslagmigratie nodig, omdat CSV-paden standaard lokaal zijn naar één lidcluster en daarom niet toegankelijk zijn voor de virtuele machine zodra ze live zijn gemigreerd over lidclusters.

In dit voorbeeld wordt CLUSTER3 toegevoegd aan de clusterset met behulp van de scale-out-bestandsserver SOFS-CLUSTER3 en Add-ClusterSetMember. Als u de VM-configuratie en -opslag wilt verplaatsen, is de opdracht:

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

Als u klaar bent, ontvangt u mogelijk een waarschuwing:

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.

Deze waarschuwing kan worden genegeerd omdat er geen fysieke wijzigingen zijn aangebracht in de opslagconfiguratie van de virtuele-machinerol. De werkelijke fysieke locatie verandert niet; alleen de configuratiepaden wel.

Zie Move-VMStorage voor meer informatieMove-VMStorage.

Live migreren van een VIRTUELE machine binnen een clusterset omvat het volgende:

Set-VMHost -UseAnyNetworkForMigration $true

Als u vervolgens een clusterset-VM wilt verplaatsen van CLUSTER1 naar NODE2-CL3 op CLUSTER3 bijvoorbeeld, is de volgende opdracht:

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

Met deze opdracht worden de VM-opslag- of configuratiebestanden niet verplaatst en is het niet nodig omdat het pad naar de VIRTUELE machine blijft als \\SOFS-CLUSTER1\VOLUME1. Zodra een VIRTUELE machine is geregistreerd bij het bestandssharepad van de infrastructuurbestandsserver, hoeven de stations en VM zich niet op hetzelfde knooppunt als de VIRTUELE machine te bevinden.

Maak de schaalbare bestandsserver voor de infrastructuur aan

Er is één infrastructuur SOFS-clusterrol in een cluster. De rol Infrastructuur-SOFS wordt gemaakt door de -Infrastructure switchparameter naar de Add-ClusterScaleOutFileServerRole cmdlet op te geven. Voorbeeld:

Add-ClusterScaleoutFileServerRole -Name "my_infra_sofs_name" -Infrastructure

Elk CSV-volume dat wordt gemaakt, activeert automatisch het maken van een SMB-share met een automatisch gegenereerde naam op basis van de naam van het CSV-volume. U kunt geen SMB-shares rechtstreeks maken of wijzigen onder een SOFS-rol, met uitzondering van het gebruik van bewerkingen voor het maken en wijzigen van CSV-volumes.

In hypergeconvergeerde configuraties stelt een infrastructuur-SOFS een SMB-client (Hyper-V host) in staat om met continue beschikbaarheid (CA) te communiceren met de infrastructuur-SOFS SMB-server. Deze hypergeconvergeerde SMB-loopback-CA wordt bereikt door VM's die toegang hebben tot hun VHDX-bestanden (virtuele schijf), waarbij de identiteit van de eigenaar van de VIRTUELE machine wordt doorgestuurd tussen de client en de server. Doorsturen van identiteiten maakt het gebruik van ACL's mogelijk voor VHDx-bestanden, net zoals in standaard hypergeconvergeerde clusterconfiguraties als voorheen.

Zodra een clusterset is aangemaakt, is de naamruimte van de clusterset afhankelijk van een infrastructuur-SOFS op elk van de lidclusters en een extra infrastructuur-SOFS in het beheercluster.

Op het moment dat een lidcluster wordt toegevoegd aan een clusterset, kunt u de naam van een infrastructuur-SOFS op dat cluster opgeven als er al een bestaat. Als de INFRASTRUCTUUR-SOFS niet bestaat, wordt er een nieuwe infrastructuur-SOFS-rol aangemaakt op het nieuwe lidcluster. Als er al een SOFS-rol voor infrastructuur bestaat in het lidcluster, wijzigt de bewerking Toevoegen deze indien nodig impliciet in de opgegeven naam. Bestaande SMB-servers of niet-infrastructuur-SOFS-rollen op de lidclusters worden niet gebruikt door de cluster-set.

Wanneer de clusterset is gemaakt, kunt u een bestaand AD-computerobject gebruiken als de naamruimte-hoofdmap in het beheercluster. Het aanmaken van een clusterset creëert de rol 'Infrastructure SOFS-cluster' op het beheercluster of hernoemt de bestaande rol 'Infrastructure SOFS'. De infrastructuur-SOFS op het beheercluster wordt gebruikt als de verwijzings-SOFS voor de naamruimte van de clusterset.

Foutdomeinen en beschikbaarheidssets maken

Azure-achtige foutdomeinen en beschikbaarheidssets kunnen worden geconfigureerd in een clusterset. Dit is nuttig voor initiële VM-plaatsingen en migraties tussen clusters.

In het onderstaande voorbeeld bevinden zich vier clusters in een clusterset. Binnen de set wordt één foutdomein gemaakt met twee van de clusters en wordt er een tweede foutdomein gemaakt met de andere twee clusters. Deze twee foutdomeinen bestaan uit de beschikbaarheidsset.

In het onderstaande voorbeeld bevinden CLUSTER1 en CLUSTER2 zich in het foutdomein FD1 en CLUSTER3 en CLUSTER4 zich in het foutdomein FD2 bevinden. De beschikbaarheidsset is CSMASTER-AS.

Als u de foutdomeinen wilt maken, zijn de opdrachten:

New-ClusterSetFaultDomain -Name FD1 -FdType Logical -CimSession CSMASTER -MemberCluster CLUSTER1,CLUSTER2 -Description "First fault domain"

New-ClusterSetFaultDomain -Name FD2 -FdType Logical -CimSession CSMASTER -MemberCluster CLUSTER3,CLUSTER4 -Description "Second fault domain"

Om ervoor te zorgen dat ze succesvol zijn aangemaakt, kan Get-ClusterSetFaultDomain worden uitgevoerd en wordt de uitvoer weergegeven voor FD1:

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

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

Nu de foutdomeinen zijn gemaakt, wordt de beschikbaarheidsset gemaakt:

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

Gebruik het volgende om te controleren of deze is gemaakt:

Get-ClusterSetAvailabilitySet -AvailabilitySetName CSMASTER-AS -CimSession CSMASTER

Wanneer u nieuwe VM's maakt, gebruikt u de -AvailabilitySet parameter om het optimale knooppunt voor plaatsing te bepalen. Hier volgt een voorbeeld:

# Identify the optimal node to create a new VM
$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)

Een cluster uit een set verwijderen

Er zijn momenten waarop een cluster moet worden verwijderd uit een clusterset. Als beste praktijk moeten alle cluster-set-VM's van tevoren uit het cluster worden verplaatst. Dit kan worden gedaan met behulp van de Move-ClusterSetVM en Move-VMStorage opdrachten.

Als de VM's niet eerst uit het cluster worden verplaatst, zullen alle resterende VM's die op het te verwijderen cluster worden gehost, hoogbeschikbare VM's worden die aan dat cluster verbonden zijn, op voorwaarde dat ze toegang hebben tot hun opslag. Clustersets werken hun inventaris ook automatisch bij door de status van een verwijderd cluster en de VM's die erop worden uitgevoerd, niet meer bij te houden, en door de naamruimte en alle verwijzingen naar shares te verwijderen die worden gehost op het verwijderde cluster.

De opdracht voor het verwijderen van het CLUSTER1 cluster uit een clusterset is bijvoorbeeld:

Remove-ClusterSetMember -ClusterName CLUSTER1 -CimSession CSMASTER

Back-up van systeemstatus

Back-up van de systeemstatus zal de clusterstatus en metagegevens back-uppen. Met Windows Server Backup kunt u zo nodig alleen de clusterdatabase van een knooppunt herstellen of een gezaghebbende herstelbewerking uitvoeren om de hele clusterdatabase terug te draaien op alle knooppunten. Voor clustersets raden we u aan eerst een gezaghebbende herstelbewerking uit te voeren voor de lidclusters en vervolgens voor het beheercluster. Zie Back-up van systeemstatus en bare metal voor meer informatie over systeemstatusback-ups.

Volgende stappen