Not
Å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.
Den här artikeln innehåller steg-för-steg-instruktioner för att distribuera Storage Spaces Direct på Windows Server. För att distribuera Storage Spaces Direct som en del av Azure Local, se Om Azure Local.
Tip
Vill du skaffa hyperkonvergerad infrastruktur? Microsoft rekommenderar att du köper en validerad hårdvaru-/mjukvarulösning för Azure Lokal från våra partners. Dessa lösningar är utformade, monterade och verifierade mot vår referensarkitektur för att säkerställa kompatibilitet och tillförlitlighet, så att du kommer igång snabbt. Information om hur du använder en katalog med maskinvaru-/programvarulösningar som fungerar med Azure Local finns i azure local catalog.
Tip
Du kan använda Hyper-V virtuella datorer, även i Microsoft Azure, för att utvärdera Storage Spaces Direct utan fysisk maskinvara. Du kanske också vill granska de praktiska skripten för snabb labbdistribution i Windows Server, som vi använder i utbildningssyfte.
Innan du börjar
Granska maskinvarukraven för Storage Spaces Direct för att bekanta dig med den övergripande metoden och viktiga anteckningar associerade med några steg.
Samla in följande information:
Distributionsalternativ: Lagringsdirigering stöder två distributionsalternativ: hyperkonvergerad och konvergerad, även kallat disaggregerad. Bekanta dig med fördelarna med var och en för att avgöra vilket alternativ som är rätt för dig. Steg 1–3 i den här artikeln gäller för båda distributionsalternativen. Steg 4 behövs bara för konvergerad distribution.
Servernamn: Bekanta dig med organisationens namngivningsprinciper för datorer, filer, sökvägar och andra resurser. Du måste etablera flera servrar, var och en med unika namn.
Domännamn: Bekanta dig med organisationens principer för namngivning av domäner och domänanslutning. Du ansluter servrarna till din domän och måste ange domännamnet.
RDMA-nätverk: Det finns två typer av RDMA-protokoll: iWarp och RoCE. Observera vilken nätverksadapter din använder, och om det är RoCE, notera också versionen (v1 eller v2). Observera även modellen för din toppmonterade switch för RoCE.
VLAN-ID: Observera det VLAN-ID som ska användas för hantering av os-nätverkskort på servrarna, om det finns några. Du bör kunna hämta den här informationen från nätverksadministratören.
Steg 1: Distribuera Windows Server
Steg 1.1: Installera operativsystemet
Installera först Windows Server på varje server i klustret. Lagringsutrymmen kräver Windows Server Datacenter Edition. Du kan använda installationsalternativet Server Core eller Server med skrivbordsmiljö.
När du installerar Windows Server med hjälp av installationsguiden kan du välja mellan Windows Server (refererar till Server Core) och Windows Server (Server med skrivbordsmiljö), vilket motsvarar alternativet Fullständig installation som är tillgängligt i Windows Server 2012 R2. Om du inte väljer får du installationsalternativet Server Core. Mer information finns i Installera Server Core.
Steg 1.2: Anslut till servrarna
Den här guiden fokuserar på installationsalternativet Server Core och fjärrdistribution och fjärrhantering från ett separat hanteringssystem. Hanteringssystemet måste ha:
- En version av Windows Server eller Windows 10 som är minst lika ny som de servrar som den hanterar, med de senaste uppdateringarna.
- Nätverksanslutning till de servrar som hanteras.
- Ansluten till samma domän eller en fullständigt betrodd domän.
- RSAT-moduler (Remote Server Administration Tools) och PowerShell för Hyper-V och redundanskluster. RSAT-verktyg och PowerShell-moduler är tillgängliga på Windows Server och kan installeras utan att installera andra funktioner. Du kan också installera Verktyg för fjärrserveradministration på en Windows 10-hanteringsdator.
Installera Failover-kluster och Hyper-V hanteringsverktyg på hanteringssystemet. Du kan göra detta via Serverhanteraren med hjälp av guiden Lägg till roller och funktioner . På sidan Funktioner väljer du Verktyg för fjärrserveradministration och sedan de verktyg som ska installeras.
Ange PowerShell-sessionen och använd antingen servernamnet eller IP-adressen för den nod som du vill ansluta till. Du uppmanas att ange ett lösenord när du har kört det här kommandot. Ange administratörslösenordet som du angav när du konfigurerade Windows.
Enter-PSSession -ComputerName <myComputerName> -Credential LocalHost\Administrator
Här är ett exempel på hur du gör samma sak på ett sätt som är mer användbart i skript:
$myServer1 = "myServer-1"
$user = "$myServer1\Administrator"
Enter-PSSession -ComputerName $myServer1 -Credential $user
Tip
Om du distribuerar via fjärranslutning från ett hanteringssystem kan du få ett fel som om WinRM inte kan bearbeta begäran. Åtgärda det här felet genom att använda Windows PowerShell för att lägga till varje server i listan Betrodda värdar på hanteringsdatorn:
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server01 -Force
Listan över betrodda värdar stöder wildcards, såsom Server*.
- 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.3: Anslut domänen och lägg till domänkonton
För att hantera Storage Spaces Direct måste du ansluta servrarna till en domän och använda ett Active Directory Domain Services-konto som är en del av gruppen Administratörer på varje server.
Öppna en PowerShell-konsol med administratörsbehörighet från hanteringssystemet. Använd Enter-PSSession för att ansluta till varje server och köra följande cmdlet och ersätta ditt eget datornamn, domännamn och domänautentiseringsuppgifter:
Add-Computer -NewName "Server01" -DomainName "contoso.com" -Credential "CONTOSO\User" -Restart -Force
Om ditt lagringsadministratörskonto inte är medlem i gruppen Domänadministratörer lägger du till ditt lagringsadministratörskonto i den lokala gruppen Administratörer på varje nod eller lägger till den grupp som du använder för lagringsadministratörer. Du kan använda följande kommando eller skapa ett PowerShell-skript för att utföra det här steget. Mer information finns i Använda PowerShell för att lägga till domänanvändare i en lokal grupp.
Net localgroup Administrators <Domain\Account> /add
Steg 1.4: Installera roller och funktioner
Nästa steg är att installera serverroller på varje server via Windows Administrationscenter, Serverhanteraren eller PowerShell. Här är de roller som ska installeras:
- Failoverkluster
- Hyper-V
- Filserver (om du vill vara värd för filresurser, till exempel för en konvergerad distribution)
- Data –Center-Bridging (om du använder RoCEv2 i stället för iWARP-nätverkskort)
- RSAT-Clustering-PowerShell
- Hyper-V-PowerShell
Om du vill installera roller via PowerShell använder du cmdleten Install-WindowsFeature . Du kan använda den på en enskild server så här:
Install-WindowsFeature -Name "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"
Om du vill köra kommandot på alla servrar i klustret samtidigt kör du det här skriptet som ändrar listan med variabler i början av skriptet så att det passar din miljö.
# Fill in these variables with your values
$ServerList = "Server01", "Server02", "Server03", "Server04"
$FeatureList = "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"
# This part runs the Install-WindowsFeature cmdlet on all servers in $ServerList, passing the list of features into the script block with the "Using" scope modifier so you don't have to hard-code them here.
Invoke-Command ($ServerList) {
Install-WindowsFeature -Name $Using:Featurelist
}
Steg 2: Konfigurera nätverket
Om du distribuerar Storage Spaces Direct i virtuella datorer, hoppa över det här avsnittet.
Storage Spaces Direct kräver hög bandbredd och låg latens i nätverket mellan servrarna i klustret. Du behöver minst 10 GbE-nätverk och fjärråtkomst till direkt minne (RDMA) rekommenderas. Du kan använda antingen iWARP eller RoCE så länge den har Windows Server-logotypen som matchar operativsystemversionen, men iWARP är enklare att konfigurera.
Important
Beroende på din nätverksutrustning, och särskilt med RoCE v2, kan du behöva konfigurera växeln top-of-rack. Rätt switchkonfiguration är viktigt för att säkerställa tillförlitlighet och prestanda för Storage Spaces Direct.
Windows Server 2016 introducerade switch-embedded teaming (SET) i den virtuella växeln Hyper-V. Med den här funktionen kan du använda samma portar för fysiska nätverkskort (NIC) för all nätverkstrafik när du använder RDMA, vilket minskar antalet fysiska NIC-portar som krävs. Använd switch-embedded teaming för Storage Spaces Direct.
- Växlad: Du måste korrekt konfigurera nätverksväxlar för att hantera både bandbredden och nätverkstypen. Om du använder RDMA som implementerar RoCE-protokollet är nätverksenheten och växelkonfigurationen ännu viktigare.
- Växellös: Du kan koppla samman noder med hjälp av direkta anslutningar och undvika användning av en växel. Varje nod måste ha en direkt anslutning till alla andra noder i klustret.
För att konfigurera nätverk för Storage Spaces Direct, se distributionsguiden Windows Server 2016 och 2019 RDMA.
Steg 3: Konfigurera Lagringsutrymmen Direkt
Utför följande steg i ett hanteringssystem som kör samma version som de servrar som du konfigurerar. Kör inte de här stegen via fjärranslutning med hjälp av en PowerShell-session. Kör dem i stället i en lokal PowerShell-session i hanteringssystemet med administratörsbehörighet.
Steg 3.1: Rensa diskar
Innan du aktiverar Lagringsdirigering kontrollerar du att enheterna är tomma utan gamla partitioner eller andra data. Kör följande skript och ersätt datornamnen för att ta bort gamla partitioner eller andra data.
Important
Det här skriptet tar permanent bort alla data på andra enheter än operativsystemets startenhet!
# Fill in these variables with your values
$ServerList = "Server01", "Server02", "Server03", "Server04"
foreach ($server in $serverlist) {
Invoke-Command ($server) {
# Check for the Azure Temporary Storage volume
$azTempVolume = Get-Volume -FriendlyName "Temporary Storage" -ErrorAction SilentlyContinue
If ($azTempVolume) {
$azTempDrive = (Get-Partition -DriveLetter $azTempVolume.DriveLetter).DiskNumber
}
# Clear and reset the disks
$disks = Get-Disk | Where-Object {
($_.Number -ne $null -and $_.Number -ne $azTempDrive -and !$_.IsBoot -and !$_.IsSystem -and $_.PartitionStyle -ne "RAW")
}
$disks | ft Number,FriendlyName,OperationalStatus
If ($disks) {
Write-Host "This action will permanently remove any data on any drives other than the operating system boot drive!`nReset disks? (Y/N)"
$response = read-host
if ( $response.ToLower() -ne "y" ) { exit }
$disks | % {
$_ | Set-Disk -isoffline:$false
$_ | Set-Disk -isreadonly:$false
$_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false -verbose
$_ | Set-Disk -isreadonly:$true
$_ | Set-Disk -isoffline:$true
}
#Get-PhysicalDisk | Reset-PhysicalDisk
}
Get-Disk | Where-Object {
($_.Number -ne $null -and $_.Number -ne $azTempDrive -and !$_.IsBoot -and !$_.IsSystem -and $_.PartitionStyle -eq "RAW")
} | Group -NoElement -Property FriendlyName
}
}
Utdata ser ut som i följande exempel, där Antal är antalet enheter för varje modell på varje server:
Count Name PSComputerName
----- ---- --------------
4 ATA SSDSC2BA800G4n Server01
10 ATA ST4000NM0033 Server01
4 ATA SSDSC2BA800G4n Server02
10 ATA ST4000NM0033 Server02
4 ATA SSDSC2BA800G4n Server03
10 ATA ST4000NM0033 Server03
4 ATA SSDSC2BA800G4n Server04
10 ATA ST4000NM0033 Server04
Steg 3.2: Verifiera klustret
I det här steget kör du klusterverifieringsverktyget för att säkerställa att servernoderna är korrekt konfigurerade för att skapa ett kluster med Storage Spaces Direct. När du kör klusterverifiering (Test-Cluster) innan du skapar klustret körs tester som kontrollerar att konfigurationen är lämplig för att fungera som ett redundanskluster. I följande exempel används parametern -Include direkt och sedan de specifika testkategorierna. Den här metoden säkerställer att de specifika lagringsdirigeringstesterna ingår i valideringen.
Använd följande PowerShell-kommando för att verifiera en uppsättning servrar för användning som ett lagringsdirigeringskluster.
Test-Cluster -Node <MachineName1, MachineName2, MachineName3, MachineName4> -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
Steg 3.3: Skapa klustret
I det här steget skapar du ett kluster med de noder som du verifierade för att skapa kluster i föregående steg med hjälp av följande PowerShell-cmdlet.
När du skapar klustret får du en varning som säger "Det uppstod problem när du skapade den klustrade rollen som kan hindra den från att starta. Mer information finns i rapportfilen nedan. Du kan ignorera den här varningen på ett säkert sätt. Det beror på att inga diskar är tillgängliga för klusterkvorumet. Konfigurera ett filresursvittne eller molnvittne när klustret har skapats.
Note
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>.
I följande kommando ersätter du ClusterName platshållaren med ett NetBIOS-namn som är unikt och 15 tecken eller mindre.
New-Cluster -Name <ClusterName> -Node <MachineName1,MachineName2,MachineName3,MachineName4> -NoStorage
När du har skapat klustret kan det ta tid för DNS-posten (Domain Name System) att replikera klusternamnet. Tiden beror på miljön och DNS-replikeringskonfigurationen. Om det inte går att lösa klustret kan du använda datornamnet för en nod som är aktiv medlem i klustret i stället för klusternamnet.
Steg 3.4: Konfigurera ett klustervittne
Konfigurera ett vittne för klustret så att kluster med tre eller flera servrar kan motstå att två servrar misslyckas eller är offline. En distribution med två servrar kräver ett klustervittne. Annars blir den andra servern otillgänglig om någon av servrarna kopplas från. Med dessa system kan du använda en fildelning som vittne eller använda molnvittne. Mer information finns i Distribuera ett kvorumvittne.
Steg 3.5: Aktivera Storage Spaces Direct
När du har skapat klustret använder du PowerShell-cmdleten Enable-ClusterStorageSpacesDirect . Den här cmdleten placerar lagringssystemet i lagringsdirigeringsläget och utför automatiskt följande uppgifter:
Skapar en pool: Skapar en enda stor pool med ett namn som "S2D på Cluster1".
Konfigurerar Storage Spaces Direct-cacheminnen: Om fler än en medietyp (enhet) är tillgänglig för användning med Storage Spaces Direct, aktiverar den den snabbaste som cacheenhet (i de flesta fall för läsning och skrivning).
Skapar två nivåer som standardnivåer: En nivå kallas "Kapacitet" och den andra nivån kallas "Prestanda". Cmdleten analyserar enheterna och konfigurerar varje nivå med rätt kombination av enhetstyper och resiliens.
Öppna ett upphöjt PowerShell-fönster från hanteringssystemet och kör följande kommando. Klusternamnet är namnet på klustret som du skapade i föregående steg. Om du kör det här kommandot lokalt på en av noderna behöver du inte parametern -CimSession .
Enable-ClusterStorageSpacesDirect -CimSession <ClusterName>
Det här kommandot aktiverar Storage Spaces Direct. Du kan välja att använda nodnamnet i stället för klusternamnet. Det kan vara mer tillförlitligt att använda nodnamnet eftersom DNS-replikeringsfördröjningar kan uppstå med det nyligen skapade klusternamnet.
När det här kommandot är klart, vilket kan ta flera minuter, är systemet redo för att skapa volymer.
Steg 3.6: Skapa volymer
Använd cmdleten New-Volume för den snabbaste och enklaste upplevelsen. Den här enkla cmdleten skapar automatiskt den virtuella disken, partitionerna och formaterar den. Den skapar volymen med ett matchande namn och lägger till den i klusterdelade volymer – allt i ett enkelt steg.
Mer information finns i Skapa volymer i Storage Spaces Direct.
Steg 3.7: Aktivera CSV-cachen om du vill
Du kan aktivera cacheminnet för klusterdelade volymer (CSV) med hjälp av systemminnet (RAM) som skrivskyddad cache på blocknivå för läsåtgärder som Windows Cache Manager inte cachelagrar. Den här funktionen kan förbättra prestanda för program som Hyper-V. CSV-cachen ökar prestandan för läsbegäranden och är också användbar för Scale-Out filserverscenarier.
Om du aktiverar CSV-cachen minskar mängden minne som är tillgängligt för att köra virtuella datorer på ett hyperkonvergerat kluster, så du måste balansera lagringsprestanda med minne som är tillgängligt för virtuella hårddiskar.
Om du vill ange storleken på CSV-cachen öppnar du en PowerShell-session i hanteringssystemet med ett konto som har administratörsbehörighet för lagringsklustret. Använd följande skript och ändra $ClusterName variablerna och $CSVCacheSize efter behov (i det här exemplet anges en CSV-cache på 2 GB per server):
$ClusterName = "StorageSpacesDirect1"
$CSVCacheSize = 2048 #Size in MB
Write-Output "Setting the CSV cache..."
(Get-Cluster $ClusterName).BlockCacheSize = $CSVCacheSize
$CSVCurrentCacheSize = (Get-Cluster $ClusterName).BlockCacheSize
Write-Output "$ClusterName CSV cache size: $CSVCurrentCacheSize MB"
För mer information, se Använda CSV-minnesbuffertläset.
Steg 3.8: Distribuera virtuella datorer för hyperkonvergerade distributioner
Om du distribuerar ett hyperkonvergerat kluster är det sista steget att etablera virtuella datorer i lagringsdirigeringsklustret.
Lagra den virtuella datorns filer på systemets CSV-namnområde (exempel: c:\ClusterStorage\Volume1) precis som klustrade virtuella maskiner i failoverkluster.
Du kan använda inkorgsverktyg eller andra verktyg för att hantera lagring och virtuella datorer, till exempel System Center Virtual Machine Manager.
Steg 4: Distribuera Scale-Out filserver för konvergerade lösningar
Om du distribuerar en konvergerad lösning är nästa steg att skapa en Scale-Out filserverinstans och konfigurera filresurserna.
Tip
Om du distribuerar ett hyperkonvergerat kluster är du klar och behöver inte det här avsnittet.
Välj någon av följande flikar för instruktioner om hur du skapar en Scale-Out filserverroll med antingen hanteraren för redundanskluster eller PowerShell.
Så här skapar du en Scale-out-filserverroll genom att använda Failover-klusterhanteraren:
I Klusterhanteraren för växling vid fel väljer du klustret, går till Roller och väljer sedan Konfigurera roll....
Guiden Hög tillgänglighet visas.På sidan Välj roll väljer du Filserver.
På sidan filservertyp väljer du Scale-Out Filserver för programdata.
På sidan klientåtkomstpunkt anger du ett namn för Scale-Out-filservern.
Kontrollera att rollen har konfigurerats genom att gå till Roller och bekräfta att kolumnen Status visar Körs bredvid den klustrade filserverroll som du skapade, enligt bild 1.
Bild 1 Hanteraren för redundanskluster som visar Scale-Out-filservern med statusen Körs
Note
När du har skapat den klustrade rollen kan fördröjningar av nätverksspridning hindra dig från att skapa fildelningar på den i några minuter, eller eventuellt längre.
Skapa fildelningar
När du har skapat dina virtuella diskar och lagt till dem i CSV:er, skapar du fildelningar på dem. Skapa en fildelning per CSV per virtuell disk. System Center Virtual Machine Manager (VMM) är det enklaste sättet att utföra den här uppgiften eftersom den hanterar behörigheter åt dig. Om du inte har det i din miljö kan du använda Windows PowerShell för att delvis automatisera distributionen.
Använd skripten som ingår i det här avsnittet för att delvis automatisera processen med att skapa grupper och resurser. Skripten skrivs för Hyper-V arbetsbelastningar. Om du distribuerar andra arbetsbelastningar kan du behöva ändra inställningarna eller utföra ytterligare steg när du har skapat resurserna. Om du till exempel använder Microsoft SQL Server måste du bevilja fullständig kontroll över resursen och filsystemet till SQL Server-tjänstkontot.
Note
Du måste uppdatera gruppmedlemskapet när du lägger till klusternoder om du inte använder System Center Virtual Machine Manager för att skapa dina resurser.
För att skapa fildelningar med hjälp av PowerShell-skript, utför följande steg:
Expandera vart och ett av följande avsnitt och spara innehållet i var och en som en separat
.ps1fil med det relevanta namnet i samma mapp, till exempelC:\Scripts\SetupSMBSharesWithHyperV, på en av noderna i filserverklustret:Expandera det här avsnittet för ADGroupSetup.ps1.
Param( [Parameter(Mandatory=$true)] [string] $HyperVClusterName, [Parameter(Mandatory=$true)] [string] $HyperVObjectADGroupSamName ) # Add and import needed features if ((Get-WindowsFeature | ? Name -Like "RSAT-AD-PowerShell") | ? InstallState -NotLike Installed) { Install-WindowsFeature "RSAT-AD-PowerShell" } if ((Get-WindowsFeature | ? Name -Like "RSAT-Clustering-PowerShell") | ? InstallState -NotLike Installed) { Install-WindowsFeature "RSAT-Clustering-PowerShell" } Import-Module -Name ActiveDirectory Import-Module -Name FailoverClusters # Check for group and create if necessary $adGroup = @() $adGroup = Get-ADGroup -Filter {samAccountName -eq $HyperVObjectADGroupSamName} if ($adGroup.Count -ne 1) { $adGroup = New-ADGroup -DisplayName $HyperVObjectADGroupSamName -Name $HyperVObjectADGroupSamName -SamAccountName $HyperVObjectADGroupSamName -GroupScope Global -GroupCategory Security -PassThru } # Build array of Hyper-V servers $HyperVNodes = (Get-ClusterNode -Cluster $HyperVClusterName).Name | Get-ADComputer # Add nodes to group if not already members for ($i = 0; $i -lt $HyperVNodes.Count; $i++) { if (!(Get-ADGroupMember $adGroup | ? Name -ieq $HyperVNodes[$i].Name)) { Add-ADGroupMember $adGroup -Members $HyperVNodes[$i] } } # Add Hyper-V cluster object to group if not already present if (!(Get-ADGroupMember $adGroup | ? Name -ieq $HyperVClusterName)) { Add-ADGroupMember $adGroup -Members (Get-ADComputer $HyperVClusterName) }Expandera det här avsnittet för FileShareSetup.ps1.
Param( [Parameter(Mandatory=$true)] [string] $HyperVClusterName, [Parameter(Mandatory=$true)] [string] $ScaleOutFSName, [Parameter(Mandatory=$true)] [string] $ShareName, [Parameter(Mandatory=$true)] [string] $HyperVObjectADGroupSamName, [int] $CSVVolumeNumber = 1, [string] $VHDFolderName = "VHDs", [string] $VMFolderName = "VMs" ) # Create the share folder New-Item -ItemType Directory -Path C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName # Create folders in share New-Item -ItemType Directory -Path "C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName\$VHDFolderName" New-Item -ItemType Directory -Path "C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName\$VMFolderName" # Get the domain name $DomainName = Get-Content env:userdnsdomain # Grant the Hyper-V group permission $cmdString = "ICACLS.EXE C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName --% /Grant $DomainName\$HyperVObjectADGroupSamName" $cmdString += ':(CI)(OI)F' Invoke-Expression -Command $cmdString # Grant domain admins permission $DomainAdmins = "Domain Admins" $cmdString = "ICACLS.EXE C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName" $cmdString += ' --% /Grant "' $cmdString += "$DomainName\$DomainAdmins" $cmdString += ':(CI)(OI)F"' Invoke-Expression -Command $cmdString # Remove inheritance (optional) ICACLS.EXE C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName /Inheritance:R # Create new share and set matching Share permissions $FullAccess = ("$DomainName\$HyperVObjectADGroupSamName","$DomainName\Domain Admins") New-SmbShare -Name $ShareName -Path C:\ClusterStorage\Volume$CSVVolumeNumber\$ShareName -FullAccess $FullAccessExpandera det här avsnittet för KCDSetup.ps1.
Param( [Parameter(Mandatory=$true)] [string] $HyperVClusterName, [Parameter(Mandatory=$true)] [string] $ScaleOutFSName, [switch] $EnableLM = $true ) # Add and import needed features if ((Get-WindowsFeature | ? Name -Like "RSAT-AD-PowerShell") | ? InstallState -NotLike Installed) { Install-WindowsFeature "RSAT-AD-PowerShell" } if ((Get-WindowsFeature | ? Name -Like "RSAT-Clustering-PowerShell") | ? InstallState -NotLike Installed) { Install-WindowsFeature "RSAT-Clustering-PowerShell" } Import-Module -Name ActiveDirectory # Build array of Hyper-V servers $HyperVNodes = (Get-ClusterNode -Cluster $HyperVClusterName).Name # Enable LM and CD $SMBServerAD = Get-ADComputer -Filter {Name -eq $ScaleOutFSName} $AllowedToDelegateToSMB = @( ("cifs/"+$SMBServerAD.Name), ("cifs/"+$SMBServerAD.DNSHostName)) for ($serverCounter = 0; $serverCounter -lt $HyperVNodes.Count; $serverCounter++) { $AllowedToDelegateTo = $AllowedToDelegateToSMB if ($EnableLM) { for ($delegateCounter = 0; $delegateCounter -lt $HyperVNodes.Count; $delegateCounter++) { if ($delegateCounter -ne $serverCounter) { $delegationServer = $HyperVNodes[$delegateCounter] | Get-ADComputer $AllowedToDelegateTo += @( ("Microsoft Virtual System Migration Service/"+$delegationServer.Name), ("Microsoft Virtual System Migration Service/"+$delegationServer.DNSHostName)) } } } ($HyperVNodes[$serverCounter] | Get-ADComputer) | Set-ADObject -Add @{"msDS-AllowedToDelegateTo"=$AllowedToDelegateTo} }Öppna en Windows PowerShell-session med autentiseringsuppgifter för domänadministratör i hanteringssystemet. Använd skriptet
ADGroupSetup.ps1för att skapa en Active Directory-grupp för Hyper-V datorobjekt. Ändra värdena för variablerna efter behov för din miljö:# Replace the values of these variables $HyperVClusterName = "Compute01" $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#> $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" # Start of script itself CD $ScriptFolder .\ADGroupSetup.ps1 -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName -HyperVClusterName $HyperVClusterNameAnvänd skriptet
FileShareSetup.ps1för att skapa resurser för varje CSV och bevilja administrativa behörigheter för resurserna till gruppen Domänadministratörer och beräkningsklustret.# Replace the values of these variables $StorageClusterName = "StorageSpacesDirect1" $HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#> $SOFSName = "SOFS" $SharePrefix = "Share" $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" # Start of the script itself CD $ScriptFolder Get-ClusterSharedVolume -Cluster $StorageClusterName | ForEach-Object { $ShareName = $SharePrefix + $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume") Write-host "Creating share $ShareName on "$_.name "on Volume: " $_.SharedVolumeInfo.friendlyvolumename .\FileShareSetup.ps1 -HyperVClusterName $StorageClusterName -CSVVolumeNumber $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume") -ScaleOutFSName $SOFSName -ShareName $ShareName -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName }Aktivera Kerberos-begränsad delegering för fjärrscenariohantering och ökad säkerhet för direktmigrering. Använd skriptet
KCDSetup.ps1från en av lagringsklusternoderna. Här är en liten inkapsling för skriptet:$HyperVClusterName = "Compute01" $ScaleOutFSName = "SOFS" $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" CD $ScriptFolder .\KCDSetup.ps1 -HyperVClusterName $HyperVClusterName -ScaleOutFSName $ScaleOutFSName -EnableLMStarta om alla noder i Hyper-V-klustret för att säkerställa att de nya Kerberos-begränsade delegeringsinställningarna börjar gälla. När noderna är tillbaka online kan du börja distribuera virtuella datorer till de fildelningar som du skapade.