A captura de tela abaixo mostra o ambiente de um cluster de HCI de dois nós em uma rede comutadas. As informações do PowerShell abaixo foram adaptadas para essa configuração, mas ainda são úteis com a modificação para clusters com mais nós e uma topologia de rede sem switch.
O exemplo de script abaixo e o processo de instalação são encontrados nas páginas 12 a 21 do Guia de implementação "Microsoft HCI Solutions from Dell Technologies" (Soluções de HCI da Dell Technologies) para download.
O script executa etapas depois que os nós de cluster têm sistemas operacionais instalados, adicionados a um domínio do Active Directory e a futura rede de cluster foi implementada.
Itens de configuração:
- Instalação de recursos do Windows: Hyper-V, Failover-Clustering, Data-Center-Bridging, BitLocker, FS-FileServer, RSAT-Clustering-PowerShell, FS-Data-Deduplication
- Verificação de atualização de driver: Verificar matriz de suporte
- Renomear nós de cluster
- Teste de cluster, validação
- Criar cluster S2D
- Habilitar Espaços de Armazenamento Diretos
- Defina a prioridade de rede de "gerenciamento" do host para a migração em tempo real
- Configurações do arquivo de página: Permitir espaço de despejo de memória
- Configurar o witness do cluster
- Configuração de timeout da porta spaces
O exemplo de script abaixo deve ser adaptado para o ambiente em que o cluster de HCI está sendo implementado. Os nomes do servidor, o nome do cluster, o nome do compartilhamento do cluster e as informações de IP devem ser modificados para atender aos parâmetros do ambiente de instalação.
Ao copiar o texto do script abaixo para o script de implementação pretendido, certifique-se de não envolver o texto do PowerShell.
#Windows instalação do recurso:
Install-WindowsFeature -Name Hyper-V, Failover-Clustering, Data-Center-Bridging, BitLocker, FS-FileServer, RSAT-Clustering-PowerShell, FS-Data-Deduplication -IncludeAllSubFeature
-IncludeManagementTools -verbose
#Retrieve lista de versões de driver:
Get-PnpDevice | Select-Object Name, @{l='DriverVersion';e={(Get-PnpDeviceProperty -InstanceId $_.InstanceId -KeyName 'DEVPKEY_Device_DriverVersion').Data}} -Unique |
Where-Object {($_.Name -like "*HBA*") -or ($_.Name -like "*mellanox*") -or ($_.Name -like "*Qlogic*") -or ($_.Name -like "*X710*") -or ($_.Name -like "*intel*") -or ($_.Name -like "*Broadcom*") -or ($_.Name -like "*marvell*") }
#Assign nome do nó do cluster:
Rename-Computer -NewName CN01 -Restart
#Cluster teste
Test-Cluster -Node CN01, CN02 –Include 'Storage Spaces Direct', 'Inventory', 'Network', 'System Configuration'
#Find status dos discos do pool de armazenamento
Get-PhysicalDisk
#Creating novo cluster S2D:
New-Cluster -Name S2DSystem -Node CN01, CN02 -StaticAddress 192.168.10.33 -NoStorage -IgnoreNetwork 172.16.103.0/24, 172.16.104.0/24 -Verbose
#Enabling Storage Spaces Direct:
Enable-ClusterS2D -Verbose
##Capturing resultados dos comandos anteriores
Get-ClusterS2D
Get-StoragePool
Get-StorageSubSystem -FriendlyName *Cluster* | Get-StorageHealthReport
#Configure rede de gerenciamento de host com prioridade mais baixa para a migração em tempo real:
$clusterResourceType = Get-ClusterResourceType -Name 'Virtual Machine'
$hostNetworkID = Get-ClusterNetwork | Where-Object { $_.Address -eq ‘192.168.10.0’ } |
Select-Object -ExpandProperty ID
$otherNetworkID = (Get-ClusterNetwork).Where({$_.ID -ne $hostnetworkID}).ID
$newMigrationOrder = ($otherNetworkID + $hostNetworkID) -join ';'
Set-ClusterParameter -InputObject $clusterResourceType -Name MigrationNetworkOrder -Value
$newMigrationOrder
Set-VmHost -VirtualMachine MigrationPerformanceOption SMB
#Page configurações de arquivos para garantir que o despejo de memória possa ser capturado:
$blockCacheMB = (Get-Cluster).BlockCacheSize
$blockCacheMB = (Get-Cluster).BlockCacheSize
$pageFilePath = "C:\pagefile.sys"
$initialSize = [Math]::Round(51200 + $blockCacheMB)
$maximumSize = [Math]::Round(51200 + $blockCacheMB)
$system = Get-WmiObject -Class Win32_ComputerSystem -EnableAllPrivileges
if ($system.AutomaticManagedPagefile) {
$system.AutomaticManagedPagefile = $false
$system.Put()
}
$currentPageFile = Get-WmiObject -Class Win32_PageFileSetting
if ($currentPageFile.Name -eq $pageFilePath)
{
$currentPageFile.InitialSize = $InitialSize
$currentPageFile.MaximumSize = $MaximumSize
$currentPageFile.Put()
}else{
$currentPageFile.Delete()
Set-WmiInstance -Class Win32_PageFileSetting -Arguments @{Name=$pageFilePath;
InitialSize = $initialSize; MaximumSize = $maximumSize}
}
#Configure cluster witness. Active Directory Cluster Name Object must be given write access on file #share before running this step:
Set-ClusterQuorum -NodeAndFileShareMajority \\VDC01\ClusterQuorum
#Disable assinatura SMB; desativado por padrão com a instalação normal do Windows Server
Set-SmbServerConfiguration -RequireSecuritySignature $FALSE -force
#Spaces configuração de timeout da porta:
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\spaceport \Parameters -Name HwTimeout -Value 0x00002710 -Verbose Restart-Computer -Force