Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: Windows Server 2019
Den här artikeln innehåller information om hur du distribuerar en klusteruppsättning för Windows Server-redundanskluster med hjälp av PowerShell. En klusteruppsättning är en grupp med flera redundanskluster som är grupperade tillsammans. Genom att använda en klusteruppsättning kan du öka antalet servernoder i ett enda SDDC-moln (Software Defined Data Center) efter storleksordning.
Klusteruppsättningar har testats och har stöd för upp till 64 totala klusternoder. Klusteruppsättningar kan dock skalas till mycket större gränser och är inte hårdkodade för en gräns.
Benefits
Klusteruppsättningar erbjuder följande fördelar:
Avsevärt ökar SDDC-molnskalan som stöds för att köra virtuella datorer med hög tillgänglighet genom att kombinera flera mindre kluster i en enda stor infrastrukturresurs, samtidigt som gränsen för programvarufel hålls till ett enda kluster. Du kan enkelt migrera virtuella datorer i klusteruppsättningen.
Ökad återhämtning. Om du har fyra 4-nodskluster i en klusteruppsättning får du bättre återhämtning än ett enda 16-nodskluster eftersom flera beräkningsnoder kan gå ned och produktionen förblir intakt.
Hantering av failoverklusterlivscykeln, inklusive introduktion och avveckling av kluster, utan att påverka tillgängligheten för hyresgästens virtuella maskiner.
Flexibilitet för virtuella datorer i enskilda kluster och ett enhetligt lagringsnamnområde.
Ändra enkelt förhållandet mellan beräkning och lagring i din hyperkonvergerade miljö.
Dra nytta av Azure-liknande feldomäner och tillgänglighetsuppsättningar i enskilda kluster i den inledande VM-placeringen och efterföljande migrering.
Kan användas även om beräknings- och lagringsmaskinvara mellan klusternoder inte är identiska.
Direktmigrering av virtuella datorer mellan kluster.
Azure-liknande tillgänglighetsuppsättningar och feldomäner i flera kluster.
Flytta virtuella SQL Server-datorer mellan kluster.
Krav och begränsningar
Det finns några krav och begränsningar för att använda klusteruppsättningar:
Alla medlemskluster i en klusteruppsättning måste finnas i samma Active Directory-skog (AD).
Medlemsservrar i uppsättningen måste köra samma operativsystemversion. Virtuella datorer kan inte direkt migreras mellan olika operativsystem. Du kan ha en klusteruppsättning som består av någon, men inte flera, av följande alternativ:
- Windows Server 2019-redundanskluster och Windows Server 2019-redundanskluster
- Windows Server 2019 Failover-kluster och Windows Server 2019 Storage Spaces Direct
- Windows Server 2019 Storage Spaces Direct och Windows Server 2019 Storage Spaces Direct
Identisk processormaskinvara krävs för att alla medlemsservrar ska kunna utföra direktmigrering mellan medlemskluster. Annars måste du välja processorkompatibilitet i inställningarna för virtuella datorer.
Virtuella klusteruppsättningar måste direktmigreras manuellt mellan kluster – de kan inte redundansväxla automatiskt.
Lagringsreplikering måste användas mellan medlemskluster för att uppnå lagringsmotståndskraft vid klusterfel. När du använder Storage Replica bör du tänka på att UNC-sökvägarna för namnrymdslagring inte ändras automatiskt vid failover av Storage Replica till klustret med replikmålet.
Storage Spaces Direct fungerar inte mellan medlemskluster i en klusteruppsättning. Lagringsdirigering gäller i stället för ett enda kluster, där varje kluster har en egen lagringspool.
Architecture
Följande diagram illustrerar en klusteruppsättning på hög nivå:
Följande innehåller en sammanfattning av vart och ett av de element som visas:
Förvaltningskluster
Hanteringsklustret är värd för hanteringsplanet med hög tillgänglighet och filservern SOFS (namespace referral scale-out file server) för klusteruppsättningen. Ett hanteringskluster frikopplas logiskt från enskilda medlemskluster som kör VM-arbetsbelastningar. Detta gör hanteringsplanet för klusteruppsättningar motståndskraftigt mot lokaliserade klusteromfattande fel, till exempel energiförlust för ett medlemskluster.
Referens till namnområdet för klusteruppsättning SOFS
Ett namnområde för klusteruppsättningen tillhandahålls med en SOFS-serverroll som körs i hanteringsklustret. Detta liknar ett DFSN (Distributed File System Namespace). Till skillnad från DFSN fylls dock klusteruppsättningens namnområdesreferensmetadata automatiskt på alla klusternoder utan några åtgärder, så det finns nästan inga prestandakostnader i lagringsåtkomstsökvägen. Den här lättviktiga referensmekanismen deltar inte i in-/utdatavägen.
Varje SMB-referensresurs (Server Message Block) på klusteruppsättningens namnområdesreferens-SOFS är av typen SimpleReferral. Den här hänvisningen ger SMB-klienter åtkomst till mål-SMB-resursen som finns i medlemsklustrets SOFS. Hänvisningar cachelagras ständigt på var och en av klientnoderna och klusteruppsättningens namnområde uppdaterar referenserna dynamiskt efter behov automatiskt. Referensinformation cachelagras beständigt i varje klusteruppsättningsnod, även under omstarter.
Huvudserver för klusteruppsättning
Kommunikationen mellan medlemskluster kopplas löst och samordnas av klusteruppsättningens huvudresurs (CS-Master) . Precis som andra klusteruppsättningsresurser är CS-Master mycket tillgängligt och motståndskraftigt mot enskilda medlemsklusterfel eller hanteringsklusternodfel. Via en WMI-provider för klusteruppsättningar tillhandahåller CS-Master hanteringsslutpunkten för alla hanteringsåtgärder för klusteruppsättningar.
Medlemskluster
Ett medlemskluster kör VM- och Storage Spaces Direct-arbetsbelastningar. Flera medlemskluster deltar i en klusteruppsättningsdistribution som utgör den större SDDC-molninfrastrukturen. Medlemskluster skiljer sig från hanteringsklustret i två viktiga aspekter: medlemskluster deltar i konstruktioner av feldomäner och tillgänglighetsuppsättningar och medlemskluster är storleksanpassade för arbetsbelastningar för virtuella datorer och lagringsdirigering. Virtuella datorer som flyttas mellan medlemskluster finns inte i hanteringsklustret av den anledningen.
Klusterarbetare
CS-Master interagerar med en klusterresurs i medlemskluster som kallas klusteruppsättningsarbetaren (CS-Worker). CS-Worker svarar på begäranden från CS-Master, inklusive placering av virtuella datorer och resursinventering. Det finns en CS-Worker instans per medlemskluster.
Feldomän
En feldomän är en grupp med maskinvara och programvara som kan misslyckas tillsammans. Även om du kan utse ett eller flera kluster tillsammans som en feldomän, kan varje nod delta i en feldomän i en tillgänglighetsuppsättning. Felområdesgränser baseras på datacentertopologi, nätverksarkitektur och andra överväganden.
Tillgänglighetsuppsättning
En tillgänglighetsuppsättning används för att konfigurera önskad redundans för klustrade arbetsbelastningar mellan feldomäner genom att gruppera och distribuera arbetsbelastningar. För ett program med två nivåer bör du konfigurera minst två virtuella datorer i en tillgänglighetsuppsättning för varje nivå, vilket säkerställer att programmet har minst en virtuell dator på varje nivå på en annan feldomän när en feldomän i en tillgänglighetsuppsättning slutar fungera.
Skapa en klusteruppsättning
Använd PowerShell i följande exempelarbetsflöde för att skapa en klusteruppsättning med två kluster. Namnet på klustret som anges här är CSMASTER.
| Klusternamn | INFRASTRUKTUR SOFS-namn |
|---|---|
| SET-CLUSTER | SOFS-CLUSTERSET |
| CLUSTER1 | SOFS-CLUSTER1 |
| CLUSTER2 | SOFS-CLUSTER2 |
Använd en hanteringsklientdator som kör Windows Server 2022 eller Windows Server 2019.
Installera verktyg för redundanskluster på hanteringsklusterservern.
Skapa två klustermedlemmar och med minst två klusterdelade volymer (CSV:er) i varje kluster.
Skapa ett hanteringskluster (fysiskt eller gäst) som sträcker sig över medlemskluster. Detta säkerställer att hanteringsplanet för klusteruppsättningar fortsätter att vara tillgängligt trots eventuella medlemsklusterfel.
Så här skapar du klusteruppsättningen:
New-ClusterSet -Name CSMASTER -NamespaceRoot SOFS-CLUSTERSET -CimSession SET-CLUSTERNote
Om du använder en statisk IP-adress måste du inkludera -StaticAddress x.x.x.x i kommandot New-ClusterSet .
Så här lägger du till klustermedlemmar i klusteruppsättningen:
Add-ClusterSetMember -ClusterName CLUSTER1 -CimSession CSMASTER -InfraSOFSName SOFS-CLUSTER1 Add-ClusterSetMember -ClusterName CLUSTER2 -CimSession CSMASTER -InfraSOFSName SOFS-CLUSTER2Så här räknar du upp alla medlemskluster i klusteruppsättningen:
Get-ClusterSetMember -CimSession CSMASTERSå här räknar du upp alla medlemskluster i klusteruppsättningen, inklusive noderna i hanteringsklustret:
Get-ClusterSet -CimSession CSMASTER | Get-Cluster | Get-ClusterNodeSå här listar du alla servernoder från alla medlemskluster:
Get-ClusterSetNode -CimSession CSMASTERSå här listar du alla resursgrupper i klusteruppsättningen:
Get-ClusterSet -CimSession CSMASTER | Get-Cluster | Get-ClusterGroupSå här kontrollerar du att klusteruppsättningen innehåller en SMB-resurs (
ScopeNamesom är namnet på infrastrukturfilservern) på infrastrukturens SOFS för varje CSV-volym för klustermedlem:Get-SmbShare -CimSession CSMASTERGranska klusteruppsättningens felsökningsloggfiler för klusteruppsättningen, hanteringsklustret och varje klustermedlem:
Get-ClusterSetLog -ClusterSetCimSession CSMASTER -IncludeClusterLog -IncludeManagementClusterLog -DestinationFolderPath <path>Konfigurera Kerberos med begränsad delegering mellan alla medlemmar i klusteruppsättningen.
Konfigurera vm-autentiseringstypen för direktmigrering mellan kluster till Kerberos på varje nod i klusteruppsättningen:
foreach($h in $hosts){ Set-VMHost -VirtualMachineMigrationAuthenticationType Kerberos -ComputerName $h }Lägg till hanteringsklustret i den lokala administratörsgruppen på varje klustermedlemsservernod i klusteruppsättningen:
foreach($h in $hosts){ Invoke-Command -ComputerName $h -ScriptBlock {Net localgroup administrators /add <management_cluster_name>$} }
Skapa klusteruppsättnings-VMs
När du har skapat klusteruppsättningen är nästa steg att skapa virtuella datorer. Du bör utföra följande kontroller i förväg:
- Kontrollera tillgängligt minne på varje klusterservernod
- Kontrollera tillgängligt diskutrymme på varje klusterservernod
- Kontrollera eventuella specifika lagringskrav för virtuella datorer när det gäller hastighet och prestanda
Kommandot Get-ClusterSetOptimalNodeForVM identifierar det optimala klustret och noden i klusteruppsättningen och distribuerar sedan den virtuella datorn på den. I följande exempel skapas en ny virtuell dator med:
- 4 GB tillgängligt
- En virtuell processor
- 10% minsta tillgängliga PROCESSOR
# 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
När du är klar visas vilken klusternod den virtuella datorn distribuerades på. I exemplet ovan visas det som:
State : Running
ComputerName : 1-S2D2
Om det inte finns tillräckligt med minne, processorkapacitet eller diskutrymme för att lägga till den virtuella datorn får du följande fel:
Get-ClusterSetOptimalNodeForVM : A cluster node isn't available for this operation.
När den virtuella datorn har skapats visas den i Hyper-V manager på den angivna noden. Om du vill lägga till den som en virtuell klusteruppsättning och lägga till den i klustret använder du det här kommandot:
Register-ClusterSetVM -CimSession CSMASTER -MemberName $targetnode.Member -VMName CSVM1
När det är klart är utdata:
Id VMName State MemberName PSComputerName
-- ------ ----- ---------- --------------
1 CSVM1 On CLUSTER1 CSMASTER
Om du har skapat ett kluster med befintliga virtuella datorer måste de virtuella datorerna registreras med klusteruppsättningen. Om du vill registrera alla virtuella datorer samtidigt använder du:
Get-ClusterSetMember -Name CLUSTER3 -CimSession CSMASTER | Register-ClusterSetVM -RegisterAll -CimSession CSMASTER
Lägg sedan till den virtuella datorns sökväg till klusteruppsättningens namnområde.
Anta till exempel att ett befintligt kluster läggs till i klusteruppsättningen med förkonfigurerade virtuella datorer som finns på den lokala klusterdelade volymen (CSV). Sökvägen för VHDX skulle vara något som liknar C:\ClusterStorage\Volume1\MYVM\Virtual Hard Disks\MYVM.vhdx1.
En lagringsmigrering krävs, eftersom CSV-sökvägar är avsiktligt lokala för ett enskilt medlemskluster och därför inte är tillgängliga för den virtuella datorn när de har direktmigrerats mellan medlemskluster.
I det här exemplet läggs CLUSTER3 till i klusteruppsättningen med hjälp av Add-ClusterSetMember den skalbara filservern SOFS-CLUSTER3. Om du vill flytta vm-konfigurationen och lagringen är kommandot:
Move-VMStorage -DestinationStoragePath \\SOFS-CLUSTER3\Volume1 -Name MyVM
När du är klar kan du få en varning:
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.
Den här varningen kan ignoreras eftersom det inte fanns några fysiska ändringar i lagringskonfigurationen för den virtuella datorns roll. Den faktiska fysiska platsen ändras inte. endast konfigurationssökvägarna gör.
Mer information om Move-VMStoragefinns i Move-VMStorage.
Livemigrering av en virtuell dator i en klusteruppsättning omfattar följande:
Set-VMHost -UseAnyNetworkForMigration $true
Om du sedan vill flytta en virtuell dator med klusteruppsättningar från CLUSTER1 till NODE2-CL3 på CLUSTER3 skulle kommandot till exempel vara:
Move-ClusterSetVM -CimSession CSMASTER -VMName CSVM1 -Node NODE2-CL3
Det här kommandot flyttar inte lagrings- eller konfigurationsfilerna för den virtuella datorn och är inte nödvändigt eftersom sökvägen till den virtuella datorn förblir som \\SOFS-CLUSTER1\VOLUME1. När en virtuell dator har registrerats med resurssökvägen för infrastrukturfilservern behöver enheterna och den virtuella datorn inte finnas på samma nod som den virtuella datorn.
Skapa infrastrukturskalningsfilservern
Det finns en SOFS-klusterroll för infrastruktur i ett kluster. Sofs-rollen infrastruktur skapas genom att ange switchparametern -Infrastructure till cmdleten Add-ClusterScaleOutFileServerRole . Till exempel:
Add-ClusterScaleoutFileServerRole -Name "my_infra_sofs_name" -Infrastructure
Varje CSV-volym som skapas utlöser automatiskt skapandet av en SMB-resurs med ett automatiskt genererat namn baserat på CSV-volymnamnet. Du kan inte direkt skapa eller ändra SMB-delningar inom en SOFS-roll, förutom med hjälp av att skapa och ändra CSV-volymer.
I hyperkonvergerade konfigurationer tillåter en INFRASTRUKTUR-SOFS att en SMB-klient (Hyper-V värd) kommunicerar med kontinuerlig tillgänglighet (CA) till SOFS SMB-infrastrukturens server. Den här hyperkonvergerade SMB-loopback-CA:n uppnås av virtuella datorer som har åtkomst till sina virtuella diskfiler (VHDX) där den ägande vm-identiteten vidarebefordras mellan klienten och servern. Den här identitetsvidarebefordring tillåter användning av ACL:er för VHDx-filer precis som i vanliga hyperkonvergerade klusterkonfigurationer som tidigare.
När en klusteruppsättning har skapats förlitar sig klusteruppsättningens namnområde på en Infrastruktur-SOFS i varje medlemskluster och dessutom en Infrastruktur-SOFS i hanteringsklustret.
När ett medlemskluster läggs till i en klusteruppsättning kan du ange namnet på en SOFS-infrastruktur i klustret om det redan finns ett. Om Infrastructure SOFS inte finns skapas en ny Infrastructure SOFS-roll på det nya medlemsklustret. Om det redan finns en INFRASTRUKTUR-SOFS-roll i medlemsklustret kommer lägg till-åtgärden implicit att byta namn på den till det angivna namnet vid behov. Befintliga SMB-servrar eller SOFS-roller som inte är infrastrukturbaserade i medlemskluster används inte av klusteruppsättningen.
När klusteruppsättningen skapas kan du använda ett befintligt AD-datorobjekt som namnområdesrot i hanteringsklustret. När klusteruppsättningar skapas, skapas klusterrollen Infrastruktur SOFS i hanteringsklustret eller så byts namnet på den befintliga rollen Infrastruktur SOFS. Infrastruktur-SOFS i hanteringsklustret används som referens-SOFS för klusteruppsättningens namnområde.
Skapa feldomäner och tillgänglighetsuppsättningar
Azure-liknande feldomäner och tillgänglighetsuppsättningar kan konfigureras i en klusteruppsättning. Detta är fördelaktigt för inledande vm-placeringar och migreringar mellan kluster.
Exemplet nedan innehåller fyra kluster i en klusteruppsättning. Inom uppsättningen skapas en feldomän med två av klustren och en andra feldomän skapas med de andra två klustren. Dessa två feldomäner består av tillgänglighetsuppsättningen.
I exemplet nedan finns CLUSTER1 och CLUSTER2 i feldomänen FD1 och CLUSTER3 och CLUSTER4 finns i feldomänen FD2. Tillgänglighetsuppsättningen är CSMASTER-AS.
För att skapa feldomänerna är kommandona:
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"
För att säkerställa att de har skapats framgångsrikt kan du köra Get-ClusterSetFaultDomain med utdata som visas för 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 när feldomänerna har skapats skapas tillgänglighetsuppsättningen:
New-ClusterSetAvailabilitySet -Name CSMASTER-AS -FdType Logical -CimSession CSMASTER -ParticipantName FD1,FD2
Om du vill verifiera att den har skapats använder du:
Get-ClusterSetAvailabilitySet -AvailabilitySetName CSMASTER-AS -CimSession CSMASTER
När du skapar nya virtuella datorer använder du parametern -AvailabilitySet för att fastställa den optimala noden för placering. Här är ett exempel:
# 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)
Ta bort ett kluster från en uppsättning
Det finns tillfällen då ett kluster måste tas bort från en klusteruppsättning. Bästa praxis är att alla virtuella klusteruppsättningar flyttas från klustret i förväg. Detta kan göras med hjälp av kommandona Move-ClusterSetVM och Move-VMStorage .
Om de virtuella datorerna inte flyttas från klustret först blir alla återstående virtuella klusteruppsättningar som finns i klustret som tas bort högtillgängliga virtuella datorer som är bundna till klustret, förutsatt att de har åtkomst till deras lagring. Klusteruppsättningar uppdaterar också automatiskt inventeringen genom att inte längre spåra hälsotillståndet för ett borttaget kluster och de virtuella datorer som körs på det, och genom att ta bort namnområdet och alla referenser till resurser som finns i det borttagna klustret.
Kommandot för att ta bort CLUSTER1 klustret från en klusteruppsättning är till exempel:
Remove-ClusterSetMember -ClusterName CLUSTER1 -CimSession CSMASTER
Säkerhetskopiering av systemtillstånd
Säkerhetskopiering av systemtillstånd säkerhetskopierar klustertillståndet och metadata. Med Windows Server Backup kan du bara återställa en nods klusterdatabas om det behövs eller göra en auktoritativ återställning för att återställa hela klusterdatabasen över alla noder. För klusteruppsättningar rekommenderar vi att du gör en auktoritativ återställning först för medlemskluster och sedan för hanteringsklustret. Mer information om säkerhetskopiering av systemtillstånd finns i Säkerhetskopiera systemtillstånd och bare metal.
Nästa steg
- Läs mer om Storage Replica.