Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo fornece instruções passo a passo para implantar Espaços de Armazenamento Diretos no Windows Server. Para implementar o Storage Spaces Direct como parte do Azure Local, consulte Sobre o Azure Local.
Tip
Procurando adquirir infraestrutura hiperconvergente? A Microsoft recomenda a compra de uma solução Azure Local de hardware/software validada dos nossos parceiros. Essas soluções são projetadas, montadas e validadas em relação à nossa arquitetura de referência para garantir compatibilidade e confiabilidade, para que você comece a trabalhar rapidamente. Para examinar um catálogo de soluções de hardware/software que funcionam com o Azure Local, consulte o Catálogo Local do Azure.
Tip
Você pode usar Hyper-V máquinas virtuais, incluindo no Microsoft Azure, para avaliar o Storage Spaces Direto sem hardware. Poderá igualmente querer rever os úteis scripts de implementação rápida do Windows Server, que usamos para fins de formação.
Antes de começar
Analise os requisitos de hardware do Storage Spaces Direct para se familiarizar com a abordagem geral e as notas importantes associadas a algumas etapas.
Reúna as seguintes informações:
Opção de implantação: o Storage Spaces Direct oferece suporte a duas opções de implantação: hiperconvergente e convergente, também conhecido como desagregado. Familiarize-se com as vantagens de cada um para decidir qual a opção mais adequada para si. Os passos 1-3 deste artigo aplicam-se a ambas as opções de implementação. A etapa 4 só é necessária para a implantação convergente.
Nomes de servidores: familiarize-se com as políticas de nomenclatura da sua organização para computadores, arquivos, caminhos e outros recursos. Precisas de provisionar vários servidores, cada um com nomes únicos.
Nome de domínio: familiarize-se com as políticas da sua organização para nomenclatura e ingresso no domínio. Juntas os servidores ao teu domínio e precisas de especificar o nome de domínio.
Rede RDMA: Existem dois tipos de protocolos RDMA: iWarp e RoCE. Observe qual deles seus adaptadores de rede usam e, se RoCE, observe também a versão (v1 ou v2). Para RoCE, certifique-se também de verificar o modelo do seu switch de topo de rack.
ID da VLAN: Anote o ID da VLAN a usar para adaptadores de rede do sistema operativo de gestão de redes nos servidores, se houver. Deverá conseguir obter esta informação junto do seu administrador de rede.
Etapa 1: Implantar o Windows Server
Etapa 1.1: Instalar o sistema operacional
Primeiro, instale o Windows Server em todos os servidores do cluster. O Storage Spaces Direct requer o Windows Server Datacenter Edition. Podes usar a opção de instalação do Server Core ou Server with Desktop Experience.
Quando instala o Windows Server usando o assistente de Configuração, pode escolher entre o Windows Server (referindo-se ao Server Core) e o Windows Server (Server com Experiência de Ambiente de Trabalho), que é o equivalente à opção de instalação completa disponível no Windows Server 2012 R2. Se não escolheres, tens a opção de instalação do Server Core. Para obter mais informações, consulte Instalar o Server Core.
Etapa 1.2: Conectar-se aos servidores
Este guia foca-se na opção de instalação do Server Core e na implementação e gestão remota a partir de um sistema de gestão separado. O sistema de gestão deve ter:
- Uma versão do Windows Server ou Windows 10 que seja pelo menos tão nova quanto os servidores que gere, com as últimas atualizações.
- Conectividade de rede com os servidores que está a gerir.
- Associado ao mesmo domínio ou a um domínio totalmente confiável.
- Ferramentas de Administração de Servidor Remoto (RSAT) e Módulos PowerShell para Hyper-V e Clusters de Failover. As ferramentas RSAT e os módulos PowerShell estão disponíveis no Windows Server e podem ser instalados sem instalar outros recursos. Você também pode instalar as Ferramentas de Administração de Servidor Remoto em um computador de gerenciamento do Windows 10.
No sistema de gestão, instale o Cluster de Failover e as ferramentas de gestão do Hyper-V. Podes fazer isto através do Server Manager usando o assistente de Adicionar Papéis e Funcionalidades . Na página de Funcionalidades , selecione Ferramentas de Administração Remota de Servidores e depois selecione as ferramentas a instalar.
Inicie a sessão do PowerShell e utilize o nome do servidor ou o endereço IP do nó ao qual pretende conectar-se. É solicitado uma palavra-passe depois de executar este comando. Introduz a palavra-passe de administrador que especificou ao configurar o Windows.
Enter-PSSession -ComputerName <myComputerName> -Credential LocalHost\Administrator
Aqui está um exemplo de fazer o mesmo de uma forma mais útil em scripts:
$myServer1 = "myServer-1"
$user = "$myServer1\Administrator"
Enter-PSSession -ComputerName $myServer1 -Credential $user
Tip
Se estiveres a implementar remotamente a partir de um sistema de gestão, podes receber um erro como o WinRM não conseguir processar o pedido. Para corrigir este erro, use o Windows PowerShell para adicionar cada servidor à lista de Anfitriões Confiáveis no seu computador de gestão:
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server01 -Force
A lista de hosts confiáveis suporta curingas, como Server*.
- Para ver a sua lista de Anfitriões Fidedignos, escreva
Get-Item WSMAN:\Localhost\Client\TrustedHosts. - Para esvaziar a lista, digite
Clear-Item WSMAN:\Localhost\Client\TrustedHost.
Etapa 1.3: Ingressar no domínio e adicionar contas de domínio
Para gerir o Storage Spaces Direct, é necessário juntar os servidores a um domínio e usar uma conta de domínio Active Directory Domain Services que esteja no grupo de Administradores em cada servidor.
No sistema de gerenciamento, abra um console do PowerShell com privilégios de administrador. Use Enter-PSSession para se conectar a cada servidor e executar o cmdlet a seguir, substituindo seu próprio nome de computador, nome de domínio e credenciais de domínio:
Add-Computer -NewName "Server01" -DomainName "contoso.com" -Credential "CONTOSO\User" -Restart -Force
Se sua conta de administrador de armazenamento não for membro do grupo Administradores de Domínio, adicione sua conta de administrador de armazenamento ao grupo Administradores local em cada nó ou adicione o grupo usado para administradores de armazenamento. Você pode usar o comando a seguir ou criar um script do PowerShell para executar esta etapa. Para mais informações, veja Usar o PowerShell para Adicionar Utilizadores de Domínio a um Grupo Local.
Net localgroup Administrators <Domain\Account> /add
Etapa 1.4: Instalar funções e recursos
O passo seguinte é instalar funções de servidor em todos os servidores através do Windows Admin Center, Server Manager ou PowerShell. Aqui estão as funções a serem instaladas:
- Cluster de Tolerância a Falhas
- Hyper-V
- Servidor de arquivos (se você quiser hospedar compartilhamentos de arquivos, como para uma implantação convergente)
- Bridging de Centro de Dados (se estiver a usar RoCEv2 em vez de adaptadores de rede iWARP)
- RSAT-Clustering-PowerShell
- Hyper-V-PowerShell
Para instalar funções via PowerShell, use o cmdlet Install-WindowsFeature . Você pode usá-lo em um único servidor como este:
Install-WindowsFeature -Name "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"
Para executar o comando em todos os servidores do cluster ao mesmo tempo, execute este script que modifica a lista de variáveis no início do script para se adaptar ao seu ambiente.
# 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
}
Etapa 2: Configurar a rede
Se você estiver implantando Espaços de Armazenamento Diretos dentro de máquinas virtuais, ignore esta seção.
O Storage Spaces Direct requer uma rede de alta largura de banda e baixa latência entre servidores no cluster. Precisa de pelo menos rede de 10 GbE, e recomenda-se o acesso direto remoto à memória (RDMA). Pode utilizar o iWARP ou o RoCE, desde que tenha o logótipo do Windows Server que corresponda à versão do seu sistema operativo, mas o iWARP é mais fácil de configurar.
Important
Dependendo do teu equipamento de rede, e especialmente com RoCE v2, podes precisar de configurar o switch top-of-rack. A configuração correta do switch é importante para garantir a confiabilidade e o desempenho dos Espaços de Armazenamento Diretos.
O Windows Server 2016 introduziu a equipa incorporada no comutador (SET) dentro do comutador virtual Hyper-V. Esta funcionalidade permite usar as mesmas portas físicas da placa de interface de rede (NIC) para todo o tráfego de rede enquanto utiliza RDMA, reduzindo o número de portas NIC físicas necessárias. Utilize o switch-embedded teaming para Storage Spaces Direct.
- Comutado: Deve configurar corretamente os switches de rede para gerir a largura de banda e o tipo de rede. Se você usa RDMA que implementa o protocolo RoCE, a configuração do dispositivo de rede e do switch é ainda mais importante.
- Switchless: Pode interligar nós usando ligações diretas, evitando o uso de switch. Cada nó deve ter uma ligação direta com todos os outros nós do cluster.
Para obter instruções sobre como configurar a rede para o Storage Spaces Direct, consulte o Guia de Implementação do RDMA do Windows Server 2016 e 2019 .
Etapa 3: Configurar espaços de armazenamento diretos
Execute os seguintes passos num sistema de gestão que execute a mesma versão dos servidores que está a configurar. Não execute estes passos remotamente usando uma sessão PowerShell. Em vez disso, execute-as numa sessão PowerShell local no sistema de gestão, com permissões administrativas.
Passo 3.1: Limpar discos
Antes de ativares o Storage Spaces Direct, certifica-te de que as tuas unidades estão vazias, sem partições antigas ou outros dados. Execute o script seguinte, substituindo os nomes dos seus computadores para remover quaisquer partições ou outros dados antigos.
Important
Este script remove permanentemente quaisquer dados em discos que não sejam o disco de arranque do sistema operativo!
# 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
}
}
A saída é semelhante ao seguinte exemplo, onde Count é o número de discos de cada modelo em cada servidor:
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
Etapa 3.2: Validar o agrupamento
Neste passo, executa a ferramenta de validação do cluster para garantir que os nós do servidor estão configurados corretamente para criar um cluster usando o Storage Spaces Direct. Quando executa a validação do cluster (Test-Cluster) antes de criar o cluster, ele executa testes que verificam se a configuração é adequada para funcionar como um cluster de failover. O exemplo seguinte utiliza diretamente o -Include parâmetro e depois especifica as categorias específicas de testes. Esta abordagem assegura que os testes específicos do Storage Spaces Direct são incluídos na validação.
Use o seguinte comando do PowerShell para validar um conjunto de servidores para uso como um cluster do Storage Spaces Direct.
Test-Cluster -Node <MachineName1, MachineName2, MachineName3, MachineName4> -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
Etapa 3.3: Criar o cluster
Neste passo, crias um cluster com os nós que validaste para criação de cluster no passo anterior, usando o seguinte cmdlet PowerShell.
Quando crias o cluster, recebes um aviso que diz "Houve problemas durante a criação do cluster role que podem impedir o seu arranque. Para mais informações, consulte o ficheiro do relatório abaixo." Pode ignorar este aviso em segurança. Isso se deve à ausência de discos disponíveis para o quórum de cluster. Configurar uma testemunha de partilha de ficheiros ou uma testemunha na nuvem depois de criar o cluster.
Note
Se os servidores usarem endereços IP estáticos, modifique o seguinte comando para refletir o endereço IP estático adicionando o seguinte parâmetro e especificando o endereço IP: -StaticAddress <X.X.X.X>.
No comando seguinte, substitua o espaço reservado ClusterName por um nome NetBIOS que seja único e tenha 15 caracteres ou menos.
New-Cluster -Name <ClusterName> -Node <MachineName1,MachineName2,MachineName3,MachineName4> -NoStorage
Depois de criar o cluster, pode demorar algum tempo até a entrada do Domain Name System (DNS) para o nome do cluster se replicar. O tempo depende do ambiente e da configuração de replicação DNS. Se a resolução do cluster não for bem-sucedida, pode usar o nome da máquina de um nó que é membro ativo do cluster em vez do nome do cluster.
Etapa 3.4: Configurar uma testemunha de cluster
Configure uma testemunha para o cluster para que clusters com três ou mais servidores possam suportar que dois servidores avariem ou fiquem offline. Uma implementação em dois servidores requer um testemunho de cluster; caso contrário, se algum dos servidores ficar offline, o outro servidor fica indisponível. Com esses sistemas, você pode usar um compartilhamento de arquivos como testemunha ou usar testemunha na nuvem. Para obter mais informações, consulte Implantar uma testemunha de quórum.
Etapa 3.5: Ativar espaços de armazenamento diretos
Depois de criar o cluster, use o Enable-ClusterStorageSpacesDirect cmdlet PowerShell. Este cmdlet coloca o sistema de armazenamento em modo Storage Spaces Direct e executa automaticamente as seguintes tarefas:
Cria um pool: Cria um único pool grande com um nome como "S2D on Cluster1".
Configura os caches do Storage Spaces Direct: Se houver mais do que um tipo de suporte (drive) disponível para uso no Storage Spaces Direct, utiliza os dispositivos de cache mais rápidos (na maioria dos casos, para leitura e escrita).
Cria dois níveis como níveis padrão: um nível chama-se "Capacidade" e o outro "Desempenho". O cmdlet analisa os dispositivos e configura cada camada com a combinação de tipos de dispositivos e resiliência.
A partir do sistema de gestão, abra uma janela PowerShell elevada e execute o comando seguinte. O nome do cluster é o nome do cluster que você criou nas etapas anteriores. Se executares este comando localmente num dos nós, não precisas do -CimSession parâmetro.
Enable-ClusterStorageSpacesDirect -CimSession <ClusterName>
Este comando ativa o Storage Spaces Direct. Podes escolher usar o nome do nó em vez do nome do cluster. Usar o nome do nó pode ser mais fiável porque podem ocorrer atrasos na replicação do DNS com o nome do cluster recém-criado.
Quando este comando termina, o que pode demorar vários minutos, o sistema está pronto para criar volumes.
Etapa 3.6: Criar volumes
Usa o New-Volume cmdlet para a experiência mais rápida e direta. Este único cmdlet cria automaticamente o disco virtual, particiona-o e formata-o. Cria o volume com um nome correspondente e adiciona-o ao cluster de volumes partilhados – tudo num só passo fácil.
Para mais informações, consulte Criar volumes no Storage Spaces Direct.
Etapa 3.7: Opcionalmente, habilite o cache CSV
Pode ativar a cache de volume partilhado do cluster (CSV) utilizando a memória do sistema (RAM) como uma cache de write-through ao nível de bloco para operações de leitura que não são armazenadas em cache pelo gestor de cache do Windows. Esta funcionalidade pode melhorar o desempenho em aplicações como o Hyper-V. A cache CSV melhora o desempenho dos pedidos de leitura e é também útil para cenários de Servidor de Ficheiros Scale-Out.
Ativar a cache CSV reduz a quantidade de memória disponível para executar VMs num cluster hiperconvergente, pelo que é necessário equilibrar o desempenho do armazenamento com a memória disponível para VHDs.
Para definir o tamanho da cache CSV, abra uma sessão PowerShell no sistema de gestão com uma conta que tenha permissões de administrador no cluster de armazenamento. Use o seguinte script, alterando as variáveis $ClusterName e $CSVCacheSize conforme apropriado (este exemplo define uma cache CSV de 2 GB por servidor):
$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"
Para obter mais informações, consulte Usando o cache de leitura na memória CSV.
Etapa 3.8: Implantar máquinas virtuais para implantações hiperconvergentes
Se você estiver implantando um cluster hiperconvergente, a última etapa é provisionar máquinas virtuais no cluster Espaços de Armazenamento Direto.
Armazene os ficheiros da máquina virtual no namespace CSV do sistema (exemplo: c:\ClusterStorage\Volume1) tal como as VMs agrupadas em clusters de failover.
Você pode usar ferramentas integradas ou outras ferramentas para gerir o armazenamento e as máquinas virtuais, como o System Center Virtual Machine Manager.
Etapa 4: Implantar Scale-Out servidor de arquivos para soluções convergentes
Se você estiver implantando uma solução convergente, a próxima etapa será criar uma instância do Servidor de Arquivos Scale-Out e configurar os compartilhamentos de arquivos.
Tip
Se estiveres a implementar um cluster hiperconvergente, estás acabado e não precisas desta secção.
Selecione um dos separadores seguintes para instruções sobre como criar uma função Scale-Out File Server usando o Failover Cluster Manager ou o PowerShell.
Para criar uma função de Servidor de Ficheiros Scale-Out usando o Gestor de Clusters de Failover:
No Gerenciador de Cluster de Failover, selecione o cluster, vá para Funções e selecione Configurar Função....
O Assistente de Alta Disponibilidade é exibido.Na página Selecionar Função , selecione Servidor de Arquivos.
Na página Tipo de Servidor de Arquivos , selecione Scale-Out Servidor de Arquivos para dados de aplicativos.
Na página Ponto de Acesso para Cliente, digite um nome para o Servidor de Arquivos Scale-Out.
Verifique se a função foi configurada com êxito indo para Roles e confirmando se a coluna Status mostra Running ao lado da função de servidor de arquivos clusterizados que você criou, como mostra a Figura 1.
Gráfico 1 Gerenciador de Cluster de Failover mostrando o Servidor de Arquivos Scale-Out com o status de Execução
Note
Depois de criar a função em cluster, os atrasos na propagação da rede podem impedi-lo de criar partilhas de arquivo nessa função durante alguns minutos, ou potencialmente mais.
Criar partilhas de ficheiros
Depois de criares os teus discos virtuais e os adicionares aos CSVs, cria partilhas de ficheiros neles. Criar uma partilha de ficheiros por CSV por disco virtual. O System Center Virtual Machine Manager (VMM) é a forma mais fácil de fazer esta tarefa porque trata das permissões por si. Se não o tiveres no teu ambiente, podes usar o Windows PowerShell para automatizar parcialmente a implementação.
Use os scripts incluídos nesta secção para automatizar parcialmente o processo de criação de grupos e partilhas. Os scripts são escritos para cargas de trabalho do Hyper-V. Se estiveres a implementar outras cargas de trabalho, podes ter de modificar as definições ou realizar passos adicionais depois de criares as partilhas. Por exemplo, se estiver a usar o Microsoft SQL Server, deve conceder controlo total sobre a partilha e o sistema de ficheiros à conta do serviço SQL Server.
Note
Precisas de atualizar a adesão ao grupo quando adicionas nós de cluster, a menos que uses o System Center Virtual Machine Manager para criar as tuas partilhas.
Para criar compartilhamentos de arquivos usando scripts do PowerShell, execute as seguintes etapas:
Expanda cada uma das secções seguintes e guarde o conteúdo de cada uma como um ficheiro separado
.ps1com o nome relevante na mesma pasta, comoC:\Scripts\SetupSMBSharesWithHyperV, num dos nós do cluster do servidor de ficheiros:Expanda esta secção para 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) }Expanda esta secção para 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 $FullAccessExpanda esta secção para 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} }Abra uma sessão do Windows PowerShell com credenciais de Administrador de Domínio no sistema de gerenciamento. Use o script
ADGroupSetup.ps1para criar um grupo do Active Directory para os Hyper-V objetos do computador. Altere os valores das variáveis conforme apropriado ao seu ambiente:# 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 $HyperVClusterNameUse o script
FileShareSetup.ps1para criar partilhas para cada CSV e conceda permissões administrativas para as partilhas ao grupo de Administradores de Domínio e ao cluster de computação.# 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 }Permitir a delegação restrita do Kerberos para gestão remota de cenários e aumentar a segurança do Live Migration. A partir de um dos nós do cluster de armazenamento, use o
KCDSetup.ps1script. Aqui está um pequeno envoltório para o script:$HyperVClusterName = "Compute01" $ScaleOutFSName = "SOFS" $ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV" CD $ScriptFolder .\KCDSetup.ps1 -HyperVClusterName $HyperVClusterName -ScaleOutFSName $ScaleOutFSName -EnableLMReinicie todos os nós do cluster Hyper-V para garantir que as novas definições de delegação restritas por Kerberos entram em vigor. Quando os nós estiverem novamente online, pode começar a implantar máquinas virtuais nas partilhas de ficheiros que criou.