Kommentar
Å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: Azure Stack HCI, version 22H2
Important
Azure Stack HCI är nu en del av Azure Local. Äldre versioner av Azure Stack HCI, till exempel 22H2, fortsätter dock att referera till Azure Stack HCI och återspeglar inte namnändringen. Läs mer.
Warning
Distributionsinstruktionerna i den här artikeln gäller för en äldre version, Azure Stack HCI, version 22H2. För nya distributioner rekommenderar vi att du använder den senaste allmänt tillgängliga versionen av Azure Local i Om Azure Local distribution.
I den här artikeln lär du dig hur du använder Windows PowerShell för att skapa ett Azure Stack hyperkonvergerat HCI-kluster som använder Storage Spaces Direct. Om du hellre använder guiden Skapa kluster i Windows Admin Center för att skapa klustret kan du läsa Skapa klustret med Windows Admin Center.
Anmärkning
Om du gör en enskild serverinstallation av Azure Stack HCI 21H2 använder du PowerShell för att skapa klustret.
Du kan välja mellan två klustertyper:
- Standardkluster med en eller två servernoder, som alla finns på en enda plats.
- Utsträckt kluster med minst fyra servernoder som sträcker sig över två platser, med två noder per plats.
För scenariot med en enskild server utför du samma instruktioner för den ena servern.
Anmärkning
Stretchkluster stöds inte i en enda serverkonfiguration.
I den här artikeln skapar vi ett exempelkluster med namnet Cluster1 som består av fyra servernoder med namnet Server1, Server2, Server3 och Server4.
I scenariot med stretchkluster använder vi ClusterS1 som namn och använder samma fyra servernoder som sträcker sig över platserna Plats1 och Plats2.
Mer information om stretchkluster finns i Översikt över stretchkluster.
Innan du börjar
Innan du börjar kontrollerar du att:
- Läs och förstå Azure Stack HCI-systemkrav.
- Läs och förstå kraven på fysiskt nätverk och värdnätverkskrav för Azure Stack HCI.
- Installera Azure Stack HCI-operativsystemet på varje server i klustret. Se Distribuera operativsystemet Azure Stack HCI.
- Kontrollera att alla servrar är i rätt tidszon.
- Ha ett konto som är medlem i den lokala gruppen Administratörer på varje server.
- Har rättigheter i služba Active Directory för att skapa objekt.
- För stretchkluster konfigurerar du dina två platser i förväg i služba Active Directory.
Använda Windows PowerShell
Du kan antingen köra PowerShell lokalt i en RDP-session på en värdserver eller köra PowerShell via fjärranslutning från en hanteringsdator. Den här artikeln beskriver fjärralternativet.
När du kör PowerShell från en hanteringsdator ska du inkludera parametern -Name eller -Cluster med namnet på den server eller det kluster som du hanterar. Dessutom kan du behöva ange det fullständigt kvalificerade domännamnet (FQDN) när du använder parametern -ComputerName för en servernod.
Du behöver RSAT-cmdletar (Remote Server Administration Tools) och PowerShell-moduler för Hyper-V och redundanskluster. Om cmdletarna och modulerna inte redan är tillgängliga i PowerShell-sessionen på hanteringsdatorn kan du lägga till dem med hjälp av följande kommando: Add-WindowsFeature RSAT-Clustering-PowerShell.
Steg 1: Konfigurera servrarna
Anslut först till var och en av servrarna, anslut dem till en domän (samma domän som hanteringsdatorn finns i) och installera nödvändiga roller och funktioner.
Steg 1.1: Anslut till servrarna
Om du vill ansluta till servrarna måste du först ha nätverksanslutning, vara ansluten till samma domän eller en fullständigt betrodd domän och ha lokal administrativ behörighet till servrarna.
Öppna PowerShell och använd antingen det fullständigt kvalificerade domännamnet eller IP-adressen för den server som du vill ansluta till. Du uppmanas att ange ett lösenord när du har kört följande kommando på varje server.
I det här exemplet förutsätter vi att servrarna heter Server1, Server2, Server3 och Server4:
Enter-PSSession -ComputerName "Server1" -Credential "Server1\Administrator"
Här är ett annat exempel på hur du gör samma sak:
$myServer1 = "Server1"
$user = "$myServer1\Administrator"
Enter-PSSession -ComputerName $myServer1 -Credential $user
Tip
När du kör PowerShell-kommandon från hanteringsdatorn kan det uppstå ett fel som om WinRM inte kan bearbeta begäran. Åtgärda detta genom att använda PowerShell för att lägga till varje server i listan Betrodda värdar på hanteringsdatorn. Den här listan har stöd för jokertecken, som Server*, till exempel.
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server1 -Force
Om du vill visa listan Betrodda värdar skriver du Get-Item WSMAN:\Localhost\Client\TrustedHosts.
Om du vill tömma listan skriver du Clear-Item WSMAN:\Localhost\Client\TrustedHost.
Steg 1.2: Anslut domänen och lägg till domänkonton
I föregående steg anslöt du till varje servernod med det lokala administratörskontot <ServerName>\Administrator.
Om du vill fortsätta måste du ansluta servrarna till en domän och använda det domänkonto som finns i den lokala gruppen Administratörer på varje server.
Använd cmdleten Enter-PSSession för att ansluta till varje server och köra följande cmdlet och ersätta servernamnet, domännamnet och domänautentiseringsuppgifterna:
Add-Computer -NewName "Server1" -DomainName "contoso.com" -Credential "Contoso\User" -Restart -Force
Om ditt administratörskonto inte är medlem i gruppen Domänadministratörer lägger du till ditt administratörskonto i den lokala gruppen Administratörer på varje server – eller ännu bättre lägger du till den grupp som du använder för administratörer. Du kan använda följande kommando för att göra det:
Add-LocalGroupMember -Group "Administrators" -Member "king@contoso.local"
Steg 1.3: Installera roller och funktioner
Nästa steg är att installera nödvändiga Windows roller och funktioner på varje server för klustret. Här är de roller som ska installeras:
- BitLocker
- Datacenternätverksbryggning
- Failoverkluster
- Filserver
- FS-dataavdupliceringsmodul
- Hyper-V
- Hyper-V PowerShell
- RSAT-Clustering-PowerShell-modul
- RSAT–AD-PowerShell modul
- NetworkATC
- Bandbreddsgräns för SMB
- Storage Replica (för stretchkluster)
Använd följande kommando för varje server (om du är ansluten via Fjärrskrivbord utelämna parametern -ComputerName här och i efterföljande kommandon):
Install-WindowsFeature -ComputerName "Server1" -Name "BitLocker", "Data-Center-Bridging", "Failover-Clustering", "FS-FileServer", "FS-Data-Deduplication", "FS-SMBBW", "Hyper-V", "Hyper-V-PowerShell", "RSAT-AD-Powershell", "RSAT-Clustering-PowerShell", "NetworkATC", "Storage-Replica" -IncludeAllSubFeature -IncludeManagementTools
Om du vill köra kommandot på alla servrar i klustret samtidigt använder du följande skript och ändrar listan med variabler i början för att passa din miljö:
# Fill in these variables with your values
$ServerList = "Server1", "Server2", "Server3", "Server4"
$FeatureList = "BitLocker", "Data-Center-Bridging", "Failover-Clustering", "FS-FileServer", "FS-Data-Deduplication", "Hyper-V", "Hyper-V-PowerShell", "RSAT-AD-Powershell", "RSAT-Clustering-PowerShell", "NetworkATC", "FS-SMBBW", "Storage-Replica"
# This part runs the Install-WindowsFeature cmdlet on all servers in $ServerList, passing the list of features in $FeatureList.
Invoke-Command ($ServerList) {
Install-WindowsFeature -Name $Using:Featurelist -IncludeAllSubFeature -IncludeManagementTools
}
Starta sedan om alla servrar:
$ServerList = "Server1", "Server2", "Server3", "Server4"
Restart-Computer -ComputerName $ServerList -WSManAuthentication Kerberos
Steg 2: Förberedelse för klusterkonfiguration
Kontrollera sedan att servrarna är redo för klustring.
Som en sanskontroll bör du överväga att köra följande kommandon för att se till att servrarna inte redan tillhör ett kluster:
Använd Get-ClusterNode för att visa alla noder:
Get-ClusterNode
Använd Get-ClusterResource för att visa alla klusternoder:
Get-ClusterResource
Använd Get-ClusterNetwork för att visa alla klusternätverk:
Get-ClusterNetwork
Steg 2.1: Förbereda enheter
Innan du aktiverar Storage Spaces Direct kontrollerar du att dina permanenta enheter är tomma. Kör följande skript för att ta bort alla gamla partitioner och andra data.
Anmärkning
Undanta flyttbara enheter som är anslutna till en servernod från skriptet. Om du till exempel kör det här skriptet lokalt från en servernod vill du inte rensa den flyttbara enhet som du kanske använder för att distribuera klustret.
# Fill in these variables with your values
$ServerList = "Server1", "Server2", "Server3", "Server4"
Invoke-Command ($ServerList) {
Update-StorageProviderCache
Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue
Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue
Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue
Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue
Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % {
$_ | Set-Disk -isoffline:$false
$_ | Set-Disk -isreadonly:$false
$_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false
$_ | Set-Disk -isreadonly:$true
$_ | Set-Disk -isoffline:$true
}
Get-Disk | Where Number -Ne $Null | Where IsBoot -Ne $True | Where IsSystem -Ne $True | Where PartitionStyle -Eq RAW | Group -NoElement -Property FriendlyName
} | Sort -Property PsComputerName, Count
Steg 2.2: Testa klusterkonfiguration
I det här steget kontrollerar du att servernoderna är korrekt konfigurerade för att skapa ett kluster. Cmdleten Test-Cluster används för att köra tester för att kontrollera att konfigurationen är lämplig för att fungera som ett hyperkonvergerat kluster. I följande exempel används parametern -Include med de specifika kategorier av tester som angetts för att säkerställa att rätt tester ingår i valideringen.
Test-Cluster -Node $ServerList -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
Steg 3: Skapa klustret
Nu är du redo att skapa ett kluster med de servernoder som du verifierade i föregående steg.
När du skapar klustret kan du få en varning med följande lydelse: "There were issues while creating the clustered role that may prevent it from starting. For more information, view the report file below." Du kan lugnt ignorera varningen. Den här varningen beror på att inga diskar är tillgängliga för klustervittnet. Klustervittnet skapas i senare steg.
Anmärkning
Om servrarna använder statiska IP-adresser ändrar du följande kommando för att återspegla den statiska IP-adressen genom att lägga till följande parameter och ange IP-adressen: -StaticAddress <X.X.X.X>;.
$ClusterName="cluster1"
New-Cluster -Name $ClusterName –Node $ServerList –nostorage
När klustret har skapats kan det ta lite tid innan klusternamnet replikeras via DNS i hela domänen, särskilt om arbetsgruppsservrar nyligen har lagts till i služba Active Directory. Även om klustret kan visas i Windows Admin Center kanske det inte är tillgängligt att ansluta till ännu.
En bra kontroll för att säkerställa att alla klusterresurser är online:
Get-Cluster -Name $ClusterName | Get-ClusterResource
Om det inte går att lösa klustret efter en tid kan du i de flesta fall ansluta med namnet på en av de klustrade servrarna i stället för klusternamnet.
Steg 4: Konfigurera värdnätverk
Microsoft rekommenderar att du använder Network ATC för att distribuera värdnätverk om du kör Azure Stack HCI version 21H2 eller senare. Annars kan du läsa mer i Krav för värdnätverk för specifika krav och information.
Network ATC kan automatisera driftsättningen av den avsedda nätverkskonfigurationen om du anger en eller flera intenttyper för dina nätverkskort. Mer information om specifika avsiktstyper finns i: Nätverkstrafiktyper.
Steg 4.1: Granska fysiska adaptrar
Kör Get-NetAdapter på en av klusternoderna för att granska de fysiska adaptrarna. Se till att varje nod i klustret har fysiska adaptrar med samma namn och att de rapporterar status som 'Up'.
Get-NetAdapter -Name pNIC01, pNIC02 -CimSession $ClusterName | Select Name, PSComputerName
Om namnet på en fysisk adapter varierar mellan noder i klustret kan du byta namn på den med Rename-NetAdapter.
Rename-NetAdapter -Name oldName -NewName newName
Steg 4.2: Konfigurera en avsikt
I det här exemplet skapas en avsikt som anger avsikten för beräkning och lagring. Mer avsiktsexempel finns i Förenkla värdnätverk med Network ATC .
Kör följande kommando för att lägga till avsiktstyperna för lagring och beräkning i pNIC01 och pNIC02. Observera att vi anger parametern -ClusterName .
Add-NetIntent -Name Cluster_ComputeStorage -Compute -Storage -ClusterName $ClusterName -AdapterName pNIC01, pNIC02
Kommandot bör omedelbart returneras efter en inledande verifiering.
Steg 4.3: Verifiera avsiktsdistribution
Kör cmdleten Get-NetIntent för att se klusteravsikten. Om du har mer än en avsikt kan du ange parametern Name för att endast se information om en specifik avsikt.
Get-NetIntent -ClusterName $ClusterName
Kör kommandot Get-NetIntentStatus för att se etableringsstatus för intentet:
Get-NetIntentStatus -ClusterName $ClusterName -Name Cluster_ComputeStorage
Observera statusparametern som visar Etablering, Validering, Lyckades, Fel.
Statusen bör visa framgång om några minuter. Om lyckad status inte visas eller om du ser ett fel i statusparametern kontrollerar du Händelsevisaren för problem.
Anmärkning
För närvarande konfigurerar Network ATC inte IP-adresser för någon av sina hanterade adaptrar. När Get-NetIntentStatus rapporterar statusen Slutförd bör du lägga till IP-adresser till adaptrarna.
Steg 5: Konfigurera platser (utsträckt kluster)
Den här uppgiften gäller endast om du skapar ett utsträckt kluster mellan två platser med minst två servrar på varje plats.
Anmärkning
Om du har konfigurerat služba Active Directory webbplatser och tjänster i förväg behöver du inte skapa webbplatserna manuellt enligt beskrivningen i nästa avsnitt.
Steg 5.1: Skapa webbplatser
I följande cmdlet är FaultDomain bara ett annat namn för en webbplats. I det här exemplet används "ClusterS1" som namnet på det utsträckta klustret.
New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site1"
New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site2"
Använd cmdleten Get-ClusterFaultDomain för att kontrollera att båda platserna har skapats för klustret.
Get-ClusterFaultDomain -CimSession $ClusterName
Steg 5.2: Tilldela servernoder
Därefter tilldelar vi de fyra servernoderna till deras respektive platser. I följande exempel tilldelas Server1 och Server2 till Site1, medan Server3 och Server4 tilldelas till Site2.
Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server1", "Server2" -Parent "Site1"
Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server3", "Server4" -Parent "Site2"
Get-ClusterFaultDomain Kontrollera att noderna finns på rätt platser med hjälp av cmdleten.
Get-ClusterFaultDomain -CimSession $ClusterName
Steg 5.3: Ange en önskad webbplats
Du kan också definiera en global föredragen webbplats, vilket innebär att angivna resurser och grupper måste köras på önskad plats. Den här inställningen kan definieras på platsnivå med hjälp av följande kommando:
(Get-Cluster).PreferredSite = "Site1"
Att ange en föredragen plats för utsträckta kluster har följande fördelar:
Kallstart – under en kallstart placeras virtuella datorer på önskad plats
Kvorumröstning
Med ett dynamiskt kvorum minskas viktningen från den passiva (replikerade) platsen först för att säkerställa att den föredragna platsen överlever om alla andra saker är lika. Dessutom rensas servernoder från den passiva platsen först under omgruppering efter händelser som asymmetriska nätverksanslutningsfel.
Om klustervittnet inte kan kontaktas under en kvorumdelning av två platser väljs den föredragna webbplatsen automatiskt för att vinna. Servernoderna i den passiva siten lämnar sedan klustret, vilket gör att klustret kan överleva en samtidig förlust av 50 % av rösterna.
Den önskade platsen kan också konfigureras på klusterroll- eller gruppnivå. I det här fallet kan en annan önskad plats konfigureras för varje virtuell datorgrupp som gör att en plats kan vara aktiv och föredras för specifika virtuella datorer.
Steg 5.4: Konfigurera Stretch Clustering med Network ATC
Efter version 22H2 kan du använda Network ATC för att konfigurera Stretch-klustring. Network ATC lägger till Stretch som en avsiktstyp från version 22H2. Så här distribuerar du en intent med Stretch-klustring med Network ATC, kör följande kommando:
Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01", "pNIC02"
En utökad avsikt kan också kombineras med andra avsikter, när du distribuerar med Network ATC.
Platsåsidosättningar
Utifrån steg 5.1–5.3 kan du lägga till dina i förväg skapade platser i din stretch intent som har distribuerats med Network ATC. Network ATC hanterar detta med SiteOverrides. Om du vill skapa en SiteOverride kör du:
$siteOverride = New-NetIntentSiteOverrides
När siteOverride har skapats kan du ange valfri egenskap för siteOverride. Kontrollera att namnegenskapen för siteOverride har exakt samma namn som namnet som din webbplats har i ClusterFaultDomain. Namnmatchningsfel mellan ClusterFaultDomain och siteOverride resulterar i att siteOverride inte tillämpas.
De egenskaper som du kan ange för en viss siteOverride är: Namn, StorageVlan och StretchVlan. Du kan till exempel skapa 2 siteOverrides för dina två platser - site1 och site2 med hjälp av:
$siteOverride1 = New-NetIntentSiteOverrides
$siteoverride1.Name = "site1"
$siteOverride1.StorageVLAN = 711
$siteOverride1.StretchVLAN = 25
$siteOverride2 = New-NetIntentSiteOverrides
$siteOverride2.Name = "site2"
$siteOverride2.StorageVLAN = 712
$siteOverride2.StretchVLAN = 26
Du kan köra $siteOverride1, $siteOverride2 i PowerShell-fönstret för att se till att alla dina egenskaper har angetts på önskat sätt.
Slutligen, för att lägga till en eller flera siteOverrides till din intent, kör:
Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01" , "pNIC02" -SiteOverrides $siteOverride1, $siteOverride2
Steg 6: Aktivera Storage Spaces Direct
När du har skapat klustret använder du cmdletenEnable-ClusterStorageSpacesDirect, som aktiverar Storage Spaces Direct och gör följande automatiskt:
Skapa en lagringspool: Skapar en lagringspool för klustret som har ett namn som "Kluster1-lagringspool".
Skapa en disk för klusterprestandahistorik: Skapar en virtuell disk för klusterprestandahistorik i lagringspoolen.
Skapa data- och loggvolymer: Skapar en datavolym och en loggvolym i lagringspoolen.
Konfigurera cache för Storage Spaces Direct: Om det finns mer än en medietyp (enhetstyp) tillgänglig för Storage Spaces Direct används den snabbaste som cacheenheter (för läsning och skrivning i de flesta fall).
Skapa nivåer: Skapar två nivåer som standardnivåer. Den ena kallas "Kapacitet" och den andra kallas "Prestanda". Cmdleten analyserar enheterna och konfigurerar varje nivå med rätt kombination av enhetstyper och resiliens.
För scenariot med en enda server är PhysicalDisk det enda värdet för FaultDomainAwarenessDefault.
Enable-ClusterStorageSpacesDirect cmdlet identifierar en enskild server och konfigurerar automatiskt FaultDomainAwarenessDefault som en PhysicalDisk under aktiveringen.
För utsträckta kluster kommer cmdleten Enable-ClusterStorageSpacesDirect också att:
- Kontrollera om webbplatser har konfigurerats
- Avgöra vilka noder som finns på vilka platser
- Avgör vilken lagring varje nod har tillgänglig
- Kontrollerar om funktionen Storage Replica är installerad på varje nod
- Skapar en lagringspool för varje plats och identifierar den med namnet på platsen
- Skapar data och loggvolymer i varje lagringspool – en per plats
Följande kommando aktiverar Storage Spaces Direct i ett kluster med flera noder. Du kan också ange ett eget namn för en lagringspool, som du ser här:
Enable-ClusterStorageSpacesDirect -PoolFriendlyName "$ClusterName Storage Pool" -CimSession $ClusterName
Här är ett exempel på hur du inaktiverar lagringscacheminnet i ett kluster med en nod:
Enable-ClusterStorageSpacesDirect -CacheState Disabled
Om du vill se lagringspoolerna använder du följande kommando:
Get-StoragePool -CimSession $ClusterName
När du har skapat klustret
Nu när klustret har skapats finns det andra viktiga uppgifter som du behöver utföra:
- Konfigurera ett klustervittne om du använder ett kluster med två noder eller större. Se Konfigurera ett klustervittne.
- Skapa dina volymer. Se Skapa volymer. När du skapar volymer i ett kluster med en nod måste du använda PowerShell. Se Skapa volymer med PowerShell.
- För stretchkluster skapar du volymer och konfigurerar replikering med storage replica. Se Skapa volymer och konfigurera replikering för stretchkluster.
Nästa steg
- Registrera klustret med Azure. Se Ansluta Azure Stack HCI till Azure.
- Gör en slutlig validering av klustret. Se Verifiera ett Azure Stack HCI-kluster
- Hantera värdnätverk. Se Hantera värdnätverk med hjälp av Network ATC.