현재 직장에서는 PowerCLI를 사용하여 vCenter 클러스터에서 여러 작업을 수행하는 방법에 대해 자주 묻습니다. 이 게시물에서는 VMware에서 OVF 파일을 가져오는 방법을 공유하겠습니다.

이는 최근 동료로부터 도움을 요청받은 사례에 대한 이야기입니다. 동료는 새로운 vCenter 클러스터에 사용자 정의 모니터링 애플라이언스 템플릿을 내보내야 했지만 시간 제약으로 인해 템플릿에 대한 필요한 액세스 권한이 없었습니다.
PowerCLI 모듈을 다운로드하지 않았다면, Install-Module -Name PowerCLI
를 사용하여 다운로드하세요.
vCenter에 연결하기
PowerShell이나 PowerCLI를 사용하는 기회를 놓치지 않고 도움을 주기 위해 빠르게 참여했습니다. 동료로부터 필요한 정보를 수집한 후 클러스터에 연결하기 시작했습니다:
이 작업은 잠시 걸립니다. 연결한 후에는 사용할 동사를 알아야 합니다. 이를 위해 Get-Command -Module PowerCLI
cmdlet을 사용할 수 있습니다.
두 개의 cmdlet이 특히 눈에 띕니다:
Export-VApp
Import-VApp
이 두 cmdlet은 필요한 기능을 수행하는 것 같습니다. 그러나 이번이 저와 여러분에게 학습 경험이기 때문에 각각의 적절한 사용법에 대해 좀 더 알아보겠습니다.
VM을 OVF 파일로 내보내기
Export-VApp
cmdlet은 기본적으로 경로를 지정하지 않으면 사용 중이지 않은 가상 머신을 현재 디렉토리에 OVF로 내보냅니다.
I already have a path in mind so I’m going to be using the C:\Exported-OVF directory but yours may vary. Knowing this, you can then run Export-VApp
against the VM template specifying the destination folder.
그러나 문제가 발생합니다. 실행 중인 가상 머신을 OVF로 내보낼 수 없습니다. 걱정하지 마세요. 이것은 빠른 해결책입니다. 코드를 약간 수정하여 먼저 Shutdown-VMGuest
cmdlet을 사용하여 가상 머신을 종료하십시오.
템플릿 가전 제품이 오프라인 상태로 되면, 이전에 시도한 Export-VApp
cmdlet을 다시 실행하세요. 이 과정은 몇 분 정도 소요되며, 매우 큰 가전 제품은 아니었습니다.
완료되면, 다른 vCenter 환경으로 배포할 준비가 된 가전 제품이 있어야 합니다. 아니면 어떻게 되죠?
OVF 파일 가져오기
이제 로컬 파일 시스템에 파일이 있는 상태입니다. 가져오는 것이 괜찮습니다. 이를 위해 가져올 데이터스토어와 VM 호스트를 쿼리해야 합니다. 그런 다음 이 두 개체를 Import-Vapp
cmdlet에 전달하여 가져올 수 있습니다.
하지만 기다려주세요! 이렇게 하면 작동하지 않습니다. 내 경우에는 실제로 다른 vCenter 클러스터에 연결되어 있었기 때문에 실패했습니다.
이전에 내보낸 VM 가전을 가져오기 시작할 때 문제가 발생했습니다. 빨간색 오류 메시지가 나열되었습니다.
I read the error message, and sure enough, the host is not a part of a vCenter cluster and therefore does not have proper licensing to complete the import using PowerCLI. This is a limitation that VMware enforces.
걱정하지 마세요. 여전히 호스트의 웹 인터페이스에 연결하고 HTML5 인터페이스를 사용하여 수동으로 가져올 수 있습니다. 마법사가 각 단계를 안내해주며 가져온 가전에 이름을 지정하고 OVF, 데이터스토어, 배포 유형(두꺼운 또는 가늘게 할당됨)을 선택하고 구성을 확인합니다. 그런 다음 완료를 선택하고 가져오기가 시작됩니다.
이전의 가져오기 시도는 vCenter 클러스터와 좋은 작업이 될 수 있었지만, 이 상황에서는 동작하지 않았습니다. 이는 예상보다 조금 더 오래 걸렸지만 직관적이었습니다. 프로세스에 대해 더 읽을 수 있습니다.
결과적으로 가져오기는 성공이었고, 동료는 마감 기한을 맞추었습니다.
요약
이 연습까지는 모든 PowerCLI cmdlet이 모든 상황에서 사용 가능하지 않다는 사실을 알지 못했습니다. 그러나 우리는 함께 새로운 기술을 배우고, 예기치 못한 어려움을 겪으면서도 주어진 작업을 성취했습니다.
너무 자주 우리는 ‘빠른’ 해결책을 찾기 위해 IT 프로젝트를 서두르곤 합니다. 속도에 주의하세요, 질문을 하고 한 걸음 물러나 문제를 이해하려는 데 한 두 분 더 시간을 투자해보세요. 새로운 것을 배울 수도 있습니다.