아래 스크린샷은 스위치 네트워크의 2노드 HCI 클러스터 환경을 설명합니다. 아래의 PowerShell 정보는 이 구성에 맞게 조정되었지만 노드가 더 많고 스위치가 없는 네트워크 토폴로지로 구성된 클러스터에 대한 수정에는 여전히 유용합니다.
아래 스크립트 예와 설치 프로세스는 다운로드 가능한 .PDF 버전 "Dell Technologies의 Microsoft HCI 솔루션" 배포 가이드의 12~21페이지에서 확인할 수 있습니다.
클러스터 노드에 운영 체제가 설치되고 Active Directory 도메인에 추가되고 향후 클러스터 네트워크가 구축된 후에 스크립트가 실행됩니다.
구성 항목:
- Windows 기능 설치: Hyper-V, Failover-Clustering, Data-Center-Bridging, BitLocker, FS-FileServer, RSAT-Clustering-PowerShell, FS-Data-Deduplication
- 드라이버 업데이트 확인: 지원 매트릭스 확인
- 클러스터 노드 이름 변경
- 클러스터 테스트, 검증
- S2D 클러스터 생성
- Storage Spaces Direct 활성화
- 라이브 마이그레이션을 위한 호스트 "관리" 네트워크 우선 순위 설정
- 페이지 파일 설정: 메모리 덤프 공간 허용
- 클러스터 Witness 구성
- 공간 포트 시간 초과 구성
아래 스크립트 예는 HCI 클러스터가 구축되는 환경에 맞게 조정되어야 합니다. 설치 환경 매개변수를 충족하려면 서버 이름, 클러스터 이름, 클러스터 공유 이름 및 IP 정보를 수정해야 합니다.
아래 스크립트 텍스트를 의도한 배포 스크립트로 복사할 때 PowerShell 텍스트를 래핑하지 마십시오.
#Windows 기능 설치:
Install-WindowsFeature -Name Hyper-V, Failover-Clustering, Data-Center-Bridging, BitLocker, FS-FileServer, RSAT-Clustering-PowerShell, FS-Data-Deduplication -IncludeAllSubFeature
-IncludeManagementTools -verbose
#Retrieve 드라이버 버전 목록:
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 클러스터 노드 이름:
Rename-Computer -NewName CN01 -Restart
#Cluster 테스트
Test-Cluster -Node CN01, CN02 –Include 'Storage Spaces Direct', 'Inventory', 'Network', 'System Configuration'
스토리지 풀 디스크의 #Find 상태
Get-PhysicalDisk
새 S2D 클러스터 #Creating:
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 결과
Get-ClusterS2D
Get-StoragePool
Get-StorageSubSystem -FriendlyName *Cluster* | Get-StorageHealthReport
라이브 마이그레이션의 우선 순위가 낮은 #Configure 호스트 관리 네트워크:
$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 파일 설정:
$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 SMB 서명 정상적으로 Windows Server를 설치할 때는 기본적으로 비활성화되어 있습니다.
Set-SmbServerConfiguration -RequireSecuritySignature $FALSE -force
#Spaces 포트 시간 초과 구성 변경:
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\spaceport \Parameters -Name HwTimeout -Value 0x00002710 -Verbose Restart-Computer -Force