이 문서에서는 연결이 끊긴 환경에서 배포를 위해 Azure 로컬 노드를 배포하는 방법을 설명합니다. 로컬 컨트롤 플레인을 사용하여 Azure 로컬 인스턴스를 성공적으로 설정하도록 환경을 준비합니다. 연결이 끊긴 환경에서 Azure 로컬 인스턴스를 설정하기 전에 다음 단계를 완료합니다.
Azure 로컬 머신 준비
적절한 설정 및 구성을 보장하기 위해 다음 단계를 완료하여 연결이 끊긴 작업을 위해 Azure 로컬 머신을 준비합니다. 이 프로세스에는 필요한 ISO 다운로드, 네트워킹 구성, 인증서 및 환경 변수 설정이 포함됩니다.
연결이 끊긴 컨트롤 플레인 버전(예: 2601)과 일치하는 Azure 로컬 ISO를 다운로드합니다.
OS를 설치하고 인스턴스를 구성하는 데 사용할 각 Azure 로컬 컴퓨터에 대한 노드 네트워킹을 구성합니다. 자세한 내용은 Azure Stack HCI 운영 체제 설치를 참조하세요.
물리적 하드웨어에서 OEM의 지시에 따라 펌웨어 및 드라이버를 설치합니다.
네트워크 어댑터의 이름을 바꿉니다.
실제 네트워크에 대해 각 노드에서 동일한 어댑터 이름을 사용합니다. 기본 이름이 명확하지 않은 경우 어댑터 이름을 의미 있는 이름으로 바꿉니다. 어댑터 이름이 이미 일치하는 경우 이 단계를 건너뜁니다.
예제는 다음과 같습니다.
Rename-NetAdapter -Name "Mellanox #1" -NewName "ethernet" Rename-NetAdapter -Name "Mellanox #2" -NewName "ethernet 2" # Other examples for naming e.g."storage port 0"계획된 네트워크에 따라 가상 스위치를 설정합니다.
네트워크 계획이 모든 트래픽(관리, 컴퓨팅 및 스토리지)을 그룹화하면 각 노드에서 호출되는
ConvergedSwitch(ManagementComputeStorage)가상 스위치를 만듭니다.예제는 다음과 같습니다.
# Example $networkIntentName = 'ManagementComputeStorage' New-VMSwitch -Name "ConvergedSwitch($networkIntentName)" -NetAdapterName "ethernet","ethernet 2" -EnableEmbeddedTeaming $true -AllowManagementOS $true # Rename the VMNetworkAdapter for management. During creation, Hyper-V uses the vSwitch name for the virtual network adapter. Rename-VmNetworkAdapter -ManagementOS -Name "ConvergedSwitch($networkIntentName)" -NewName "vManagement($networkIntentName)" # Rename the NetAdapter. During creation, Hyper-V adds the string "vEthernet" to the beginning of the name. Get-NetAdapter -name "vEthernet*"| Rename-NetAdapter -NewName "vManagement($networkIntentName)"VLAN을 사용하는 경우 네트워크 어댑터 VLAN을 설정해야 합니다.
Set-NetAdapter -Name "ethernet 1" -VlanID 10
환경의 명명 규칙에 따라 각 노드의 이름을 바꿉니다. 예를 들어 azlocal-n1, azlocal-n2 및 azlocal-n3입니다.
관리 클러스터만 해당: 연결이 끊긴 작업 배포를 위한 충분한 디스크 공간이 있는지 확인합니다.
배포에 사용하려는 드라이브에 600GB 이상의 여유 공간이 있는지 확인합니다. 드라이브에 공간이 적은 경우 각 노드에서 데이터 디스크를 사용하고 각 노드에 배포에 사용할 수 있는 동일한 데이터 디스크를 되도록 초기화합니다.
노드에서 디스크를 초기화하고 D 파티션에 맞게 포맷하는 방법은 다음과 같습니다.
$availableDrives = Get-PhysicalDisk | Where-Object { $_.MediaType -eq "SSD" -or $_.MediaType -eq "NVMe" } | where -Property CanPool -Match "True" | Sort-Object Size -Descending $driveGroup = $availableDrives | Group-Object Size | select -First 1 $biggestDataDrives = $availableDrives | select -First $($driveGroup.Count) $firstDataDrive= ($biggestDataDrives | Sort-Object DeviceId | select -First 1).DeviceId Initialize-Disk -Number $firstDataDrive New-partition -disknumber $firstDataDrive -usemaximumsize | format-volume -filesystem NTFS -newfilesystemlabel Data Get-partition -disknumber $firstDataDrive -PartitionNumber 2 | Set-Partition -NewDriveLetter D각 노드에서 루트 인증서 공개 키를 복사합니다. 자세한 내용은 연결이 끊긴 작업에 대한 PKI를 참조하세요. 인증서를 만들기 위해 공개 키를 내보내는 데 사용하는 위치 및 방법에 따라 경로를 수정합니다.
# Replace paths with your actual values. $applianceConfigBasePath = "C:\AzureLocalDisconnectedOperations\" $applianceRootCertFile = "C:\AzureLocalDisconnectedOperations\applianceRoot.cer" New-Item -ItemType Directory $applianceConfigBasePath Copy-Item \\fileserver\share\azurelocalcerts\publicroot.cer $applianceRootCertFileAPPData/AzureLocal 폴더에 복사하고 이름을 azureLocalRootCert로 지정합니다. Arc 어플라이언스 배포 중에 이 정보를 사용합니다.
New-Item -ItemType Directory "$($env:APPDATA)\AzureLocal" -force Copy-Item $applianceRootCertFile "$($env:APPDATA)\AzureLocal\AzureLocalRootCert.cer"각 노드에서 공개 키를 로컬 저장소로 가져옵니다.
Import-Certificate -FilePath $applianceRootCertFile -CertStoreLocation Cert:\LocalMachine\Root -Confirm:$false비고
관리 인증서에 다른 루트를 사용하는 경우 프로세스를 반복하고 각 노드에서 키를 가져옵니다.
연결이 끊긴 작업을 지원하도록 환경 변수를 설정합니다.
[Environment]::SetEnvironmentVariable("DISCONNECTED_OPS_SUPPORT", $true, [System.EnvironmentVariableTarget]::Machine)배포 전에 머신에 도메인 가입(권장)
배포 전에 각 Azure 로컬 노드를 도메인에 가입시키는 것이 좋습니다. Powershell을 사용하는 예제는 다음과 같습니다.
$credential = Get-Credential Add-Computer -DomainName contoso.com -Credential $credential -Restart # You can also specifcy OU path and skip one step below # Add-Computer -DomainName contoso.com -credential $credential -OUPAth 'OU=AzureLocal,DC=contoso,DC=com' -restartSConfig를 사용하여 노드를 도메인에 가입시킬 수도 있습니다.
도메인에 가입되면 다음을 수행해야 합니다.
- 이 컴퓨터의 로컬 관리자 그룹에 배포 사용자 추가
- Add-Computer cmdlet에서 지정하지 않은 경우 도메인의 올바른 OU에 컴퓨터를 추가합니다.
다음은 실행할 수 있는 예제 스크립트입니다.
# Add deployment user to local administrator group $deploymentUser = "contoso.com\lcmuser" # Change this to your deployment username try { Add-LocalGroupMember -Group "Administrators" -Member $deploymentUser -ErrorAction Stop Write-Host "Successfully added $deploymentUser to Administrators group" } catch { Write-Host "Error adding user to Administrators group: $_" Write-Host "Ensure user exists and domain is reachable" } # Move computer to the correct OU in the domain if not specified in previous step $computerName = $env:COMPUTERNAME # Modify these to match your domain and OU path $domain = "contoso.com" $ou = "OU=AzureLocal,DC=contoso,DC=com" Move-ADObject -Identity "CN=$computerName,CN=Computers,DC=contoso,DC=com" -TargetPath $ou노드 이름 목록에서 첫 번째 컴퓨터를 선택하고 (시드 노드)로 지정합니다. 시드 노드는 연결이 끊긴 작업 제어 평면을 배포하는 데 사용되는 첫 번째 노드입니다. 다음 명령을 사용하여 시드 노드를 지정합니다.
$seednode = @('azlocal-1', 'azlocal-2','azlocal-3')|Sort|select –first 1 $seednode
완전히 연결이 끊긴(공기 간격이 있는) 환경에서의 시간 동기화
아웃바운드 인터넷 액세스가 없는 완전히 대기 간격이 있는 배포의 경우 각 Azure 로컬 노드에서 이러한 작업을 완료하고 시간 동기화를 위해 로컬 시간 서버를 구성합니다.
각 노드에서 도메인 컨트롤러를 사용하도록 시간 서버를 구성합니다. 스크립트를 수정하고 PowerShell에서 실행합니다.
w32tm /config /manualpeerlist:"dc.contoso.com" /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync /rediscover
# Check your NTP settings
w32tm /query /peers
에어 갭 환경에서 Microsoft 코드 서명 인증서 설치
완전한 에어갭 요구 사항에서는 Microsoft 코드 서명 PCA 2011 인증서를 다운로드하여 설치해야 합니다. 아래 단계를 수행하세요.
- 인터넷에 연결된 컴퓨터에서 Microsoft 코드 서명 PCA 2011 인증서를 다운로드합니다.
- 다운로드한 인증서 파일(MicCodSigPCA2011_2011-07-08.crt)을 각 Azure 로컬 노드에 복사합니다.
- 각 노드에서 관리자 권한 PowerShell 세션을 열고 다음을 실행합니다.
Import-Certificate -FilePath "<CertPath>\MicCodSigPCA2011_2011-07-08.crt" -CertStoreLocation "Cert:\LocalMachine\CA"
비고
코드 서명 인증서를 설치하지 않으면 클라우드 배포(클러스터)가 실패합니다.
다음 단계:
이 기능은 Azure 로컬 2602 이상에서만 사용할 수 있습니다.