기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
PowerCLI를 사용하여 HCX 자동화를 통해 VMware VM 마이그레이션
작성자: Giri Nadiminty(AWS), Hassan Adekoya(AWS), Naveen Deshwal
환경: 프로덕션 | 소스: 온프레미스 또는 클라우드 기반 VMware vCenter 또는 SDDC | 대상: AWS의 VMware Cloud |
R 유형: 리호스팅 | 워크로드: 기타 모든 워크로드 | 기술: 마이그레이션, 하이브리드 클라우드 |
AWS 서비스: AWS의 VMware Cloud |
요약
알림: 2024년 4월 30일부터 VMware Cloud AWS on은 더 이상 채널 파트너에 의해 AWS 재판매되지 않습니다. 이 서비스는 Broadcom을 통해 계속 제공될 예정입니다. 자세한 내용은 AWS 담당자에게 문의하시기 바랍니다. |
이 패턴은 VMware PowerCLI 스크립트로 구동되는 VMware Hybrid Cloud Extension(HCX) 자동화를 사용하여 VMware 온프레미스 가상 머신(VM)을 AWS의 VMware Cloud로 마이그레이션하는 방법을 설명합니다. PowerCLI는
이 패턴을 vCenter, 소프트웨어 정의 데이터 센터(SDDCs) 및 클라우드 환경의 모든 조합 간 마이그레이션에 적용할 수 있습니다. 이 패턴에 포함된 PowerCLI 스크립트는 모든 VM 구성 및 예약 작업에 마우스 클릭 대신 자동화를 사용하므로 마이그레이션 작업에 소요되는 시간을 절약하고 인적 오류의 위험을 줄이는 데 도움이 됩니다.
사전 조건 및 제한 사항
사전 조건
SDDC가 있는 AWS의 VMware Cloud 계정
기존 온프레미스 또는 클라우드 기반 vCenter 또는 SDDC
소스 및 대상 vCenter 또는 SDDC에 필요한 권한이 있는 사용자 계정
소스 및 대상 vCenter 또는 SDDC 간에 구성된 HCX Network Extension(HCX-NE)
이 있는 HCX 사이트 페어링 선택한 서버에 설치된 VMware PowerCLI
제한 사항
소스 vCenter에서 크로스 vCenter NSX를 사용하는 경우 PowerCLI 모듈이 작동하지 않습니다. PowerCLI 대신 HCX API를 사용하는 스크립팅 방법(예: Python)을 사용하세요.
마이그레이션된 VM에 새 이름이나 IP 주소가 필요한 경우 HCX API를 사용하는 스크립팅 방법(예: Python)을 사용하세요.
이 패턴은 필수인 .csv 파일을 채우지 않습니다. VMware vRealize Network Insight(vRNI) 또는 다른 방법을 사용하여 파일을 채울 수 있습니다.
제품 버전
VMware vSphere 버전 5 이상
VMware HCX 버전 4.4 이상
VMware PowerCLI 버전 12.7 이상
아키텍처
소스 기술 스택
온프레미스 또는 클라우드 기반 VMware
대상 기술 스택
AWS의 VMware Cloud
대상 아키텍처
![HCX 자동화 및 PowerCLI를 사용하여 VM을 AWS로 마이그레이션](images/pattern-img/744c7937-c625-40d8-a858-e8fdcc2f6600/images/c4ffe8b3-d905-4bd6-8538-ecd57d01b8a7.png)
도구
서비스
AWS의 VMware Cloud
는 온프레미스 VMware vSphere 기반 환경을 AWS 클라우드로 마이그레이션하고 확장할 수 있도록 AWS와 VMware가 공동으로 설계한 서비스입니다.
기타 도구
VMware Hybrid Cloud Extension(HCX)
은 기본 플랫폼을 변경하지 않고 온프레미스 VMware 환경에서 AWS의 VMware Cloud로 워크로드를 마이그레이션하기 위한 유틸리티입니다. 참고: 이전에는 이 제품을 Hybrid Cloud Extension 및 NSX Hybrid Connect라고도 했습니다. 이 패턴은 VM 마이그레이션에 HCX를 사용합니다. VMware PowerCLI
는 VMware vSphere 및 vCloud 관리를 자동화하기 위한 명령줄 도구입니다. Windows에서 cmdlet을 사용하여 PowerCLI 명령을 실행할 수 있습니다. PowerShell PowerShell 이 패턴은 PowerCLI를 사용하여 마이그레이션 명령을 실행합니다.
코드
간단한 독립형 스크립트
이 단일 시스템 스크립트를 초기 테스트에 사용하여 구성 옵션이 허용되고 예상대로 작동하는지 확인하는 것이 좋습니다. 지침은 에픽 섹션을 참조하세요.
<# Manual Variables #> $HcxServer = "[enterValue]" $SrcNetworkName = "[enterValue]" $DstNetworkName = "[enterValue]" $DstComputeName = "[enterValue]" $DstDSName = "[enterValue]" $DstFolderName = "[enterValue]" $vmName = "[enterValue]" <# Environment Setup #> Connect-HCXServer -Server $HcxServer $HcxDstSite = Get-HCXSite -Destination $HcxSrcSite = Get-HCXSite -Source $SrcNetwork = Get-HCXNetwork -Name $SrcNetworkName -Type VirtualWire -Site $HcxSrcSite $DstNetwork = Get-HCXNetwork -Name $DstNetworkName -Type NsxtSegment -Site $HcxDstSite $DstCompute = Get-HCXContainer -Name $DstComputeName -Site $HcxDstSite $DstDS = Get-HCXDatastore -Name $DstDSName -Site $HcxDstSite $DstFolder = Get-HCXContainer -name $DstFolderName -Site $HcxDstSite $vm = Get-HCXVM -Name $vmName <# Migration #> $NetworkMapping = New-HCXNetworkMapping -SourceNetwork $SrcNetwork -DestinationNetwork $DstNetwork $NewMigration = New-HCXMigration -VM $vm -MigrationType vMotion -SourceSite $HcxSrcSite -DestinationSite $HcxDstSite -Folder $DstFolder -TargetComputeContainer $DstCompute -TargetDatastore $DstDS -NetworkMapping $NetworkMapping -DiskProvisionType Thin -UpgradeVMTools $True -RemoveISOs $True -ForcePowerOffVm $True -RetainMac $True -UpgradeHardware $True -RemoveSnapshots $True
모든 기능을 갖춘 .csv 기반 스크립트
테스트가 완료되면 프로덕션 환경에서 다음 스크립트를 사용할 수 있습니다. 지침은 에픽 섹션을 참조하세요.
<# Schedule #> write-host("Getting Time for Scheduling") $startTime = [DateTime]::Now.AddDays(12) $endTime = [DateTime]::Now.AddDays(15) <# Migration #> Connect-HCXServer -Server [enterValue] write-host("Getting Source Site") $HcxSrcSite = Get-HCXSite write-host("Getting Target Site") $HcxDstSite = Get-HCXSite -Destination $HCXVMS = Import-CSV .\Import_VM_list.csv ForEach ($HCXVM in $HCXVMS) { $DstFolder = Get-HCXContainer $HCXVM.DESTINATION_VM_FOLDER -Site $HcxDstSite $DstCompute = Get-HCXContainer $HCXVM.DESTINATION_COMPUTE -Site $HcxDstSite $DstDatastore = Get-HCXDatastore $HCXVM.DESTINATION_DATASTORE -Site $HcxDstSite $SrcNetwork = Get-HCXNetwork $HCXVM.SOURCE_NETWORK -Type VirtualWire -Site $HcxSrcSite $DstNetwork = Get-HCXNetwork $HCXVM.DESTINATION_NETWORK -Type NsxtSegment -Site $HcxDstSite $NetworkMapping = New-HCXNetworkMapping -SourceNetwork $SrcNetwork -DestinationNetwork $DstNetwork $NewMigration = New-HCXMigration -VM (Get-HCXVM $HCXVM.VM_NAME) -MigrationType Bulk -SourceSite $HcxSrcSite -DestinationSite $HcxDstSite -Folder $DstFolder -TargetComputeContainer $DstCompute -TargetDatastore $DstDatastore -NetworkMapping $NetworkMapping -DiskProvisionType Thin -UpgradeVMTools $True -RemoveISOs $True -ForcePowerOffVm $True -RetainMac $True -UpgradeHardware $True -RemoveSnapshots $True -ScheduleStartTime $startTime -ScheduleEndTime $endTime Start-HCXMigration -Migration $NewMigration -Confirm:$false }
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
소스 및 대상 vCenter 및 SDDC 서버 이름을 찾습니다. | PowerCLI 스크립트에는 이 에픽에 설명된 변수가 필요합니다. 스크립트를 쉽게 사용할 수 있도록 이 정보를 미리 수집할 수 있습니다. vSphere 콘솔의 HCX 섹션에서 인프라, 사이트 페어링을 선택합니다. 표시된 소스 및 대상 서버 이름을 기록해 둡니다. | 클라우드 아키텍트 |
소스 및 대상 HCX 이름을 찾습니다. | vSphere 콘솔의 HCX 섹션에서 시스템, 관리를 선택합니다. 표시된 소스 및 대상 HCX 이름을 기록해 둡니다. | 클라우드 아키텍트 |
소스 및 대상 네트워크 이름을 찾습니다. | vSphere 콘솔의 HCX 섹션에서 시스템, 네트워크 확장을 선택합니다. 소스 및 대상 네트워크 이름을 기록해 둡니다. 참고: 대신 HCX 서버에 연결한 후 PowerCLI Get-HCXNetwork 및 Get-HCXNetwork-Destination 명령을 사용하여 소스 및 대상 네트워크 이름을 가져올 수 있습니다. | 클라우드 아키텍트 |
vSphere 콘솔에서 추가 정보를 수집합니다. | vSphere 콘솔에서 다음 정보를 수집합니다.
| 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
마이그레이션 옵션을 결정합니다. | 다음을 결정합니다.
각 옵션에 대한 자세한 내용은 VMware 개발자 설명서 | 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
스크립트를 복사합니다. | 간단한 버전의 스크립트는 단일 파일로 독립되어 있습니다. 이를 사용하여 단일 시스템의 마이그레이션을 테스트할 수 있습니다. 이 패턴의 코드 섹션에서 첫 번째 스크립트를 복사하여 VMware PowerCLI 모듈이 설치된 컴퓨터에 저장합니다. (PowerCLI를 설치하려면 VMware 설명서 | 클라우드 아키텍트 |
스크립트 변수를 설정합니다. | 스크립트의 | 클라우드 아키텍트 |
마이그레이션 변수를 설정합니다. | 스크립트의 | 클라우드 아키텍트 |
사이트를 지정합니다. | (선택 사항) 소스 또는 대상에 여러 사이트가 있는 경우 스크립트의 소스 및 대상에 단일 사이트가 있는 경우 스크립트는 자동으로 정보를 조회합니다. | 클라우드 아키텍트 |
스크립트를 실행합니다. | PowerCLI가 설치된 서버의 관리자 PowerShell 창에서 스크립트를 실행하고 메시지가 표시되면 자격 증명을 입력합니다. | 클라우드 아키텍트 |
스크립트를 검증합니다. | VM 마이그레이션이 시작되었는지 확인합니다. | 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
.csv 파일을 생성하고 채웁니다. | 컴퓨터에서
.csv 파일의 각 참고: VMware vRealize Network Insight(vRNI) 또는 다른 방법을 사용하여.csv 파일을 채울 수 있습니다. | 클라우드 아키텍트 |
스크립트를 복사합니다. | 모든 기능을 갖춘 버전의 스크립트는 외부 .csv 파일의 정보를 사용하여 여러 VM을 자동으로 마이그레이션합니다. 이 패턴의 코드 섹션에서 두 번째 스크립트를 복사하여 VMware PowerCLI 모듈이 설치된 컴퓨터의 .csv 파일과 동일한 폴더에 저장합니다. | 클라우드 아키텍트 |
스크립트를 수정합니다. | 스크립트를 편집하여 다음과 같이 변경합니다.
| 클라우드 아키텍트 |
스크립트를 실행합니다. | PowerCLI가 설치된 서버의 관리자 PowerShell 창에서 스크립트를 실행하고 메시지가 표시되면 자격 증명을 입력합니다. | 클라우드 아키텍트 |
스크립트를 검증합니다. | VM 마이그레이션이 시작되었는지 확인합니다. | 클라우드 아키텍트 |
문제 해결
문제 | Solution |
---|---|
스크립트가 실패하고 다음과 같은 오류 메시지가 표시됩니다. “All source networks are not mapped to target!” | 소스 vCenter에서 크로스 vCenter NSX를 사용하는 경우 PowerCLI 모듈이 작동하지 않습니다. PowerCLI 대신 HCX API를 사용하는 스크립팅 방법(예: Python)을 사용하세요. 이는 PowerCLI 스크립트의 알려진 제한 사항입니다. |
스크립트가 실패하고 다음과 같은 오류 메시지가 표시됩니다. “Connect-HCXServer Error: Unauthorized” | 입력한 보안 인증 정보가 필요한 권한을 제공하지 않습니다. |