Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Azure Stack HCI, versão 22H2
Importante
O Azure Stack HCI agora faz parte do Azure Local. No entanto, versões mais antigas do Azure Stack HCI, por exemplo, 22H2 continuarão a referenciar Azure Stack HCI e não refletirão a alteração de nome. Saiba mais.
Warning
As instruções de implantação fornecidas neste artigo se aplicam a uma versão mais antiga, Azure Stack HCI, versão 22H2. Para novas implantações, recomendamos que você use a versão mais recente do Azure Local, consulte Sobre Azure Local implantação.
Neste artigo, você aprenderá a usar Windows PowerShell para criar um Azure Stack cluster hiperconvergente HCI que usa Espaços de Armazenamento Diretos. Se você preferir usar o assistente de criação de cluster no Windows Admin Center para criar o cluster, consulte Criar o cluster com o Windows Admin Center.
Note
Se você estiver fazendo uma única instalação de servidor do Azure Stack HCI 21H2, use o PowerShell para criar o cluster.
Você tem uma opção entre dois tipos de cluster:
- Cluster padrão com um ou dois nós de servidor, todos residentes em um único site.
- Cluster estendido com pelo menos quatro nós de servidor que se estendem por dois sites, com dois nós por site.
Para o cenário de servidor único, conclua as mesmas instruções para o servidor.
Note
Não há suporte para clusters stretch em uma única configuração de servidor.
Neste artigo, criamos um cluster de exemplo chamado Cluster1 que é composto por quatro nós de servidor chamados Server1, Server2, Server3 e Server4.
Para o cenário de cluster estendido, usamos ClusterS1 como o nome e usamos os mesmos quatro nós de servidor estendidos entre os sites Site1 e Site2.
Para obter mais informações sobre clusters estendidos, consulte a visão geral dos clusters estendidos.
Antes de começar
Antes de começar, certifique-se de:
- Leia e entenda os requisitos do sistema Azure Stack HCI.
- Leia e entenda os requisitos de rede física e os requisitos de rede de host para Azure Stack HCI.
- Instale o sistema operacional Azure Stack HCI em cada servidor no cluster. Consulte Implantar o sistema operacional Azure Stack HCI.
- Verifique se todos os servidores estão no fuso horário correto.
- Tenha uma conta que seja membro do grupo administradores local em cada servidor.
- Tenha direitos em Active Directory para criar objetos.
- Para clusters estendidos, configure seus dois sites com antecedência em Active Directory.
Usando o Windows PowerShell
Você pode executar o PowerShell localmente em uma sessão RDP em um servidor host ou executar o PowerShell remotamente em um computador de gerenciamento. Este artigo aborda a opção remota.
Ao executar o PowerShell em um computador de gerenciamento, inclua o parâmetro -Cluster ou -Name com o nome do servidor ou cluster que você está gerenciando. Além disso, talvez seja necessário especificar o FQDN (nome de domínio totalmente qualificado) ao usar o -ComputerName parâmetro para um nó de servidor.
Você precisa dos cmdlets e módulos do PowerShell das Ferramentas de Administração de Servidor Remoto (RSAT) para o Hyper-V e o Failover Clustering. Se os cmdlets e módulos ainda não estiverem disponíveis na sessão do PowerShell no computador de gerenciamento, você poderá adicioná-los usando o seguinte comando: Add-WindowsFeature RSAT-Clustering-PowerShell.
Etapa 1: Configurar os servidores
Primeiro, conecte-se a cada um dos servidores, junte-os a um domínio (o mesmo domínio em que o computador de gerenciamento está) e instale as funções e os recursos necessários.
Etapa 1.1: Conectar-se aos servidores
Para se conectar aos servidores, primeiro você deve ter conectividade de rede, ser unido ao mesmo domínio ou a um domínio totalmente confiável e ter permissões administrativas locais para os servidores.
Abra o PowerShell e use o nome de domínio totalmente qualificado ou o endereço IP do servidor ao qual você deseja se conectar. Você receberá uma solicitação de senha depois de executar o comando a seguir em cada servidor.
Para este exemplo, presumimos que os servidores sejam denominado Server1, Server2, Server3 e Server4:
Enter-PSSession -ComputerName "Server1" -Credential "Server1\Administrator"
Aqui está outro exemplo de fazer a mesma coisa:
$myServer1 = "Server1"
$user = "$myServer1\Administrator"
Enter-PSSession -ComputerName $myServer1 -Credential $user
Dica
Ao executar comandos do PowerShell do computador de gerenciamento, você pode receber um erro como o WinRM não pode processar a solicitação. Para corrigir isso, use o PowerShell para adicionar cada servidor à lista Hosts Confiáveis no computador de gerenciamento. Esta lista aceita curingas, como, por exemplo, Server*.
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server1 -Force
Para exibir sua lista de Hosts Confiáveis, digite Get-Item WSMAN:\Localhost\Client\TrustedHosts.
Para esvaziar a lista, digite Clear-Item WSMAN:\Localhost\Client\TrustedHost.
Etapa 1.2: Ingressar no domínio e adicionar contas de domínio
Na etapa anterior, você se conectou a cada nó de servidor com a conta de administrador local <ServerName>\Administrator.
Para continuar, você deve ingressar os servidores em um domínio e usar a conta de domínio que está no grupo administradores local em cada servidor.
Use o Enter-PSSession cmdlet para se conectar a cada servidor e executar o seguinte cmdlet, substituindo o nome do servidor, o nome de domínio e as credenciais de domínio:
Add-Computer -NewName "Server1" -DomainName "contoso.com" -Credential "Contoso\User" -Restart -Force
Se sua conta de administrador não for um membro do grupo Administradores de Domínio, adicione sua conta de administrador ao grupo administrador local em cada servidor ou, melhor ainda, adicione o grupo que você usa para administradores. Você pode usar o seguinte comando para fazer isso:
Add-LocalGroupMember -Group "Administrators" -Member "king@contoso.local"
Etapa 1.3: Instalar funções e recursos
A próxima etapa é instalar as Windows funções e recursos necessários em cada servidor para o cluster. Estas são as funções a serem instaladas:
- BitLocker
- Data Center Bridging
- Clustering de failover
- Servidor de Arquivos
- Módulo FS-Data-Deduplication
- Hyper-V
- Hyper-V PowerShell
- Módulo RSAT-Clustering-PowerShell
- Módulo RSAT-AD-PowerShell
- NetworkATC
- Limite de Largura de Banda do SMB
- Réplica de armazenamento (para clusters estendidos)
Use o seguinte comando para cada servidor (se você estiver conectado por meio de Área de Trabalho Remota omita o -ComputerName parâmetro aqui e nos comandos subsequentes):
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
Para executar o comando em todos os servidores no cluster ao mesmo tempo, use o script a seguir, modificando a lista de variáveis no início para se ajustar ao seu ambiente:
# 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
}
Em seguida, reinicie todos os servidores:
$ServerList = "Server1", "Server2", "Server3", "Server4"
Restart-Computer -ComputerName $ServerList -WSManAuthentication Kerberos
Etapa 2: Preparar para a configuração do cluster
Em seguida, verifique se os servidores estão prontos para clustering.
Como verificação de sanidade, considere executar os seguintes comandos para garantir que seus servidores ainda não pertençam a um cluster:
Use Get-ClusterNode para exibir todos os nós:
Get-ClusterNode
Use Get-ClusterResource para mostrar todos os nós de cluster:
Get-ClusterResource
Use Get-ClusterNetwork para mostrar todas as redes de cluster:
Get-ClusterNetwork
Etapa 2.1: Preparar unidades
Antes de habilitar Espaços de Armazenamento Diretos, verifique se as unidades permanentes estão vazias. Execute o script a seguir para remover quaisquer partições antigas e outros dados.
Note
Exclua do script quaisquer unidades removíveis conectadas a um nó de servidor. Se você estiver executando esse script localmente de um nó de servidor, por exemplo, não deseja apagar a unidade removível que você pode estar usando para implantar o cluster.
# 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
Etapa 2.2: Testar a configuração do cluster
Nesta etapa, verifique se os nós de servidor estão configurados corretamente para criar um cluster. O Test-Cluster cmdlet é usado para executar testes para verificar se sua configuração é adequada para funcionar como um cluster hiperconvergente. O exemplo a seguir usa o -Include parâmetro, com as categorias específicas de testes especificadas para garantir que os testes corretos sejam incluídos na validação.
Test-Cluster -Node $ServerList -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
Etapa 3: Criar o cluster
Agora você está pronto para criar um cluster com os nós de servidor validados nas etapas anteriores.
Ao criar o cluster, você pode receber um aviso que diz: "There were issues while creating the clustered role that may prevent it from starting. For more information, view the report file below." Você pode ignorar este aviso com segurança. Esse aviso ocorre devido a nenhum disco disponível para a testemunha do cluster. A testemunha do cluster é criada em etapas posteriores.
Note
Se os servidores estiverem usando 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>;.
$ClusterName="cluster1"
New-Cluster -Name $ClusterName –Node $ServerList –nostorage
Depois que o cluster é criado, pode levar algum tempo para que o nome do cluster seja replicado por meio do DNS em seu domínio, especialmente se os servidores de grupo de trabalho forem adicionados recentemente ao Active Directory. Embora o cluster possa ser exibido em Windows Admin Center, talvez ele ainda não esteja disponível para conexão.
Uma boa verificação para garantir que todos os recursos do cluster estejam online:
Get-Cluster -Name $ClusterName | Get-ClusterResource
Se a resolução do cluster não for bem-sucedida após algum tempo, na maioria dos casos, você poderá se conectar usando o nome de um dos servidores clusterizados em vez do nome do cluster.
Etapa 4: Configurar a rede de host
A Microsoft recomenda usar o Network ATC para implantar a rede do host se você estiver usando o Azure Stack HCI versão 21H2 ou posterior. Caso contrário, consulte os requisitos de rede do host para obter requisitos e informações específicos.
O Network ATC pode automatizar a implantação da configuração de rede desejada se você especificar um ou mais tipos de intenção nos seus adaptadores. Para obter mais informações sobre tipos de intenção específicos, consulte: Tipos de Tráfego de Rede.
Etapa 4.1: Examinar adaptadores físicos
Em um dos nós de cluster, execute Get-NetAdapter para examinar os adaptadores físicos. Certifique-se de que cada nó do cluster tenha adaptadores físicos com o mesmo nome e que eles apresentem o status como 'Up'.
Get-NetAdapter -Name pNIC01, pNIC02 -CimSession $ClusterName | Select Name, PSComputerName
Se um nome de adaptador físico variar entre nós em seu cluster, você poderá renomeá-lo usando Rename-NetAdapter.
Rename-NetAdapter -Name oldName -NewName newName
Etapa 4.2: Configurar uma intenção
Neste exemplo, é criada uma intenção que especifica a intenção de computação e armazenamento. Consulte Simplifique a rede do host com o Network ATC para obter mais exemplos de intenções.
Execute o comando a seguir para adicionar os tipos de intenção de armazenamento e computação ao pNIC01 e pNIC02. Observe que especificamos o -ClusterName parâmetro.
Add-NetIntent -Name Cluster_ComputeStorage -Compute -Storage -ClusterName $ClusterName -AdapterName pNIC01, pNIC02
O comando deve retornar imediatamente após alguma verificação inicial.
Etapa 4.3: Validar a implantação da intenção
Execute o Get-NetIntent cmdlet para ver a intenção do cluster. Se você tiver mais de uma intenção, poderá especificar o Name parâmetro para ver detalhes de apenas uma intenção específica.
Get-NetIntent -ClusterName $ClusterName
Para ver o status de provisionamento da intenção, execute o Get-NetIntentStatus comando:
Get-NetIntentStatus -ClusterName $ClusterName -Name Cluster_ComputeStorage
Observe o parâmetro de status que mostra Provisionamento, Validação, Êxito, Falha.
O status deve indicar sucesso em alguns minutos. Se o status de sucesso não ocorrer ou for exibida uma falha no parâmetro de status, verifique se há problemas no Visualizador de Eventos.
Note
Neste momento, a ATC de rede não configura endereços IP para nenhum de seus adaptadores gerenciados. Quando Get-NetIntentStatus informar o status como concluído, você deverá adicionar endereços IP aos adaptadores.
Etapa 5: Configurar os sites (cluster estendido)
Essa tarefa só se aplica se você estiver criando um cluster estendido entre dois sites com pelo menos dois servidores em cada site.
Note
Se você tiver configurado Active Directory Sites e Serviços com antecedência, não precisará criar os sites manualmente, conforme descrito na próxima seção.
Etapa 5.1: Criar sites
No cmdlet a seguir, FaultDomain é simplesmente outro nome para um site. Este exemplo usa "ClusterS1" como o nome do cluster estendido.
New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site1"
New-ClusterFaultDomain -CimSession $ClusterName -FaultDomainType Site -Name "Site2"
Use o Get-ClusterFaultDomain cmdlet para verificar se ambos os sites foram criados para o cluster.
Get-ClusterFaultDomain -CimSession $ClusterName
Etapa 5.2: Atribuir nós de servidor
Em seguida, atribuimos os quatro nós de servidor aos respectivos sites. No exemplo a seguir, Server1 e Server2 são atribuídos ao Site1, enquanto Server3 e Server4 são atribuídos ao Site2.
Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server1", "Server2" -Parent "Site1"
Set-ClusterFaultDomain -CimSession $ClusterName -Name "Server3", "Server4" -Parent "Site2"
Usando o Get-ClusterFaultDomain cmdlet, verifique se os nós estão nos sites corretos.
Get-ClusterFaultDomain -CimSession $ClusterName
Etapa 5.3: Definir um site preferencial
Você também pode definir um site preferencial global, o que significa que os recursos e grupos especificados devem ser executados no site preferencial. Essa configuração pode ser definida no nível do site usando o seguinte comando:
(Get-Cluster).PreferredSite = "Site1"
Especificar um Site preferencial para clusters estendidos tem os seguintes benefícios:
Inicialização a frio - durante uma inicialização a frio, as máquinas virtuais são colocadas no site preferido
Votação de quorum
Com um quorum dinâmico, a ponderação é reduzida primeiro no site passivo (replicado) para garantir que o site preferido sobreviva, se todas as demais condições forem iguais. Além disso, os nós de servidor são removidos primeiro do site passivo durante o reagrupamento após eventos como falhas assimétricas de conectividade de rede.
Durante uma divisão de quorum de dois sites, se a testemunha do cluster não puder ser contatada, o site preferencial será automaticamente eleito para ganhar. Os nós de servidor no site passivo então deixam de fazer parte da associação ao cluster, permitindo que o cluster sobreviva a uma perda simultânea de 50% dos votos.
O site preferencial também pode ser configurado no nível da função ou do grupo do cluster. Nesse caso, um site preferencial diferente pode ser configurado para cada grupo de máquinas virtuais, permitindo que um site seja ativo e preferencial para máquinas virtuais específicas.
Etapa 5.4: Configurar o agrupamento estendido usando o ATC de rede
Após a versão 22H2, você pode usar o Network ATC para configurar o cluster estendido. O Network ATC adiciona Stretch como tipo de intenção a partir da versão 22H2. Para implantar uma intenção com Stretch clustering e Network ATC, execute o seguinte comando:
Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01", "pNIC02"
Uma intenção de stretch também pode ser combinada com outras intenções, ao implantar usando o Network ATC.
SiteOverrides
Com base nas etapas 5.1–5.3, você pode adicionar os sites criados anteriormente à sua intenção de extensão implantada com o Network ATC. A ATC de rede lida com isso usando SiteOverrides. Para criar um SiteOverride, execute:
$siteOverride = New-NetIntentSiteOverrides
Depois que o siteOverride for criado, você poderá definir qualquer propriedade para o siteOverride. Verifique se a propriedade name de siteOverride tem exatamente o mesmo nome que o atribuído ao seu site no ClusterFaultDomain. Uma incompatibilidade de nomes entre o ClusterFaultDomain e o siteOverride resulta no siteOverride não sendo aplicado.
As propriedades que você pode definir para um determinado siteOverride são: Name, StorageVlan e StretchVlan. Por exemplo, você cria 2 siteOverrides para seus dois sites: site1 e site2 usando:
$siteOverride1 = New-NetIntentSiteOverrides
$siteoverride1.Name = "site1"
$siteOverride1.StorageVLAN = 711
$siteOverride1.StretchVLAN = 25
$siteOverride2 = New-NetIntentSiteOverrides
$siteOverride2.Name = "site2"
$siteOverride2.StorageVLAN = 712
$siteOverride2.StretchVLAN = 26
Você pode executar $siteOverride1, $siteOverride2 em sua janela do PowerShell, para garantir que todas as suas propriedades estejam definidas da maneira desejada.
Por fim, para adicionar um ou mais siteOverrides à sua intenção, execute:
Add-NetIntent -Name StretchIntent -Stretch -AdapterName "pNIC01" , "pNIC02" -SiteOverrides $siteOverride1, $siteOverride2
Etapa 6: Habilitar Espaços de Armazenamento Diretos
Depois de criar o cluster, use o Enable-ClusterStorageSpacesDirect cmdlet, que habilitará Espaços de Armazenamento Diretos e fará o seguinte automaticamente:
Criar um pool de armazenamento: Cria um pool de armazenamento para o cluster com um nome como "Pool de Armazenamento do Cluster1".
Criar um disco de histórico de desempenho de cluster: Cria um disco virtual do Histórico de Desempenho do Cluster no pool de armazenamento.
Criar volumes de dados e logs: Cria um volume de dados e um volume de log no pool de armazenamento.
Configurar os caches do Espaços de Armazenamento Diretos: Se houver mais de um tipo de mídia (disco) disponível para o Espaços de Armazenamento Diretos, ele usará o tipo mais rápido como dispositivo de cache (para leitura e gravação, na maioria dos casos).
Criar camadas: Cria duas camadas como camadas padrão. Uma é chamada de "Capacidade" e a outra de "Desempenho". O cmdlet analisa os dispositivos e configura cada camada com a combinação de tipos de dispositivo e resiliência.
No cenário de servidor único, o único FaultDomainAwarenessDefault é PhysicalDisk.
Enable-ClusterStorageSpacesDirect O cmdlet detecta um único servidor e configura automaticamente FaultDomainAwarenessDefault como um PhysicalDisk durante a habilitação.
Para clusters estendidos, o Enable-ClusterStorageSpacesDirect cmdlet também irá:
- Verificar se os sites estão configurados
- Determinar quais nós estão em quais sites
- Determina qual armazenamento cada nó tem disponível
- Verifica se o recurso Storage Replica está instalado em cada nó
- Cria um pool de armazenamento para cada site e o identifica com o nome do site
- Cria volumes de dados e logs em cada pool de armazenamento – um por site
O comando a seguir habilita Espaços de Armazenamento Diretos em um cluster de vários nós. Você também pode especificar um nome amigável para um pool de armazenamento, conforme mostrado aqui:
Enable-ClusterStorageSpacesDirect -PoolFriendlyName "$ClusterName Storage Pool" -CimSession $ClusterName
Aqui está um exemplo de desativação do cache de armazenamento em um cluster de nó único:
Enable-ClusterStorageSpacesDirect -CacheState Disabled
Para ver os pools de armazenamento, use o seguinte comando:
Get-StoragePool -CimSession $ClusterName
Depois de criar o cluster
Agora que o cluster foi criado, há outras tarefas importantes que você precisa concluir:
- Configure uma testemunha de cluster se você estiver usando um cluster com dois nós ou mais. Veja Configurar uma testemunha de cluster.
- Crie seus volumes. Consulte Criar volumes. Ao criar volumes em um cluster de nó único, você deve usar o PowerShell. Consulte Criar volumes usando o PowerShell.
- Para clusters estendidos, crie volumes e configure a replicação usando a Réplica de Armazenamento. Consulte Criar volumes e configurar a replicação para clusters estendidos.
Próximas Etapas
- Registre seu cluster com Azure. Consulte Conectar o Azure Stack HCI ao Azure.
- Faça uma validação final do cluster. Consulte Validar um cluster do Azure Stack HCI
- Gerenciar a rede de host. Consulte Gerencie a rede de host usando Network ATC.