PowerCLI cmdlet로 vSphere Auto Deploy를 관리하여 ESXi 호스트를 vCenter 대상의 다양한 개체와 연결하는 규칙을 생성할 수 있습니다.
PowerCLI cmdlet로 vSphere Auto Deploy를 관리하면 호스트를 vCenter Server 대상의 이미지 프로파일, 호스트 프로파일, 사용자 지정 스크립트 및 위치와 연결하는 규칙을 생성할 수 있습니다. 또한 규정 준수를 테스트하고 규정 준수 문제를 복구하여 호스트를 업데이트할 수 있습니다.
PowerCLI Cmdlet을 사용하여 vSphere Auto Deploy 관리
PowerCLI cmdlet을 사용하여 vSphere Auto Deploy를 관리하면 호스트를 vCenter Server 대상의 이미지 프로파일, 호스트 프로파일, 사용자 지정 스크립트 및 위치에 연결하는 규칙을 생성할 수 있습니다. 또한 규정 준수를 테스트하고 규정 준수 문제를 복구하여 호스트를 업데이트할 수 있습니다.
PowerCLI를 이용한 vSphere Auto Deploy 프로세스 개요
vSphere Auto Deploy를 시작하려면 vSphere Auto Deploy의 작동 방법을 알아야 하며, vSphere Auto Deploy 서버와 PowerCLI를 설치하고, 호스트를 프로비저닝하는 PowerCLI 규칙을 작성하고, 지정한 이미지 프로파일을 사용하여 부팅할 호스트의 전원을 켜야 합니다. 이미지 프로파일, 호스트 프로파일 및 vCenter Server 위치를 사용자 지정할 수 있습니다.
vSphere Auto Deploy 환경을 처음 설정하는 경우에 유용한 단계별 연습을 보려면 vSphere Auto Deploy 대한 vSphere PowerCLI 시나리오의 내용을 참조하십시오.
vSphere Auto Deploy를 사용하여 환경의 호스트를 성공적으로 프로비저닝하려면 다음 단계를 수행합니다.
- vCenter Server 배포
vSphere Auto Deploy 서버가 포함되어 있습니다.
- vSphere Auto Deploy 서비스 시작 유형을 구성합니다.
vSphere Auto Deploy를 사용할 수 있도록 시스템 준비의 내용을 참조하십시오.
- vSphere Auto Deploy 및 vSphere ESXi Image Builder cmdlet이 포함된 PowerCLI를 설치합니다.
vSphere ESXi Image Builder 구성, vSphere Auto Deploy Cmdlet 사용 및 VMware.Image Builder Cmdlet 사용의 내용을 참조하십시오.
- 호스트에 배포할 VIB가 포함되어 있는 이미지 프로파일을 찾습니다.
- 일반적으로 필요한 소프트웨어가 포함된 디포를 PowerCLI 세션에 추가한 다음 디포 중 하나에서 이미지 프로파일을 선택합니다.
- 사용자 지정 이미지 프로파일을 생성하려면 vSphere ESXi Image Builder cmdlet을 사용하여 기존의 이미지 프로파일을 복제하고 사용자 지정 VIB를 복제본에 추가합니다. 사용자 지정 이미지 프로파일을 PowerCLI 세션에 추가합니다.
VIB를 추가하거나 제거해야 하는 경우에만 사용자 지정 작업에 vSphere ESXi Image Builder를 사용해야 합니다. 대부분의 경우에는 이미지 프로파일이 호스트되는 디포를 PowerCLI 세션에 URL로 추가할 수 있습니다.
- PowerCLI 세션을 시작하고, vSphere Auto Deploy가 등록되어 있는 vCenter Server 시스템에 연결합니다.
- New-DeployRule PowerCLI cmdlet을 사용하여 이미지 프로파일을 단일 호스트, 패턴으로 지정된 여러 호스트 또는 모든 호스트에 할당하는 규칙을 작성합니다.
New-DeployRule -Name "testrule" -Item image-profile -AllHosts
호스트에 이미지 프로파일 할당의 내용을 참조하십시오.
참고: vSphere Auto Deploy는 DHCP에서 고정 MAC 주소와 IP 주소 사이의 매핑이 있는 호스트를 프로비저닝하기 위해 최적화되었습니다. 이를 DHCP 예약이라고도 합니다. 정적 IP 주소를 사용하려면 호스트 사용자 지정을 요구하도록 호스트 프로파일을 설정해야 합니다. 자세한 내용은 " vSphere 호스트 프로파일" 설명서를 참조하십시오. - 프로비저닝할 호스트의 전원을 켭니다.
- 프로비저닝한 호스트를 호스트 프로파일의 참조 호스트로 설정합니다.
참조 호스트의 syslog 설정, 방화벽 설정, 스토리지, 네트워킹 등을 지정할 수 있습니다.
- 프로비저닝한 호스트를 호스트 프로파일의 참조 호스트로 설정합니다.
참조 호스트의 syslog 설정, 방화벽 설정, 스토리지, 네트워킹 등을 지정할 수 있습니다. vSphere Auto Deploy 참조 호스트 설정의 내용을 참조하십시오.
- 참조 호스트에 사용할 호스트 프로파일을 생성하고 내보냅니다.
자세한 내용은 "호스트 프로파일" 설명서를 참조하십시오.
- 호스트 프로파일을 사용하여 여러 호스트를 프로비저닝하려면 Copy-DeployRule cmdlet을 사용하여 이전에 생성된 규칙을 편집합니다.
이미지 프로파일뿐 아니라 호스트 프로파일, vCenter Server 위치 및 사용자 지정 스크립트 번들도 할당하도록 규칙을 수정할 수 있습니다.
Copy-DeployRule -DeployRule "testrule" -ReplaceItem my_host_profile_from_reference_host,my_target_cluster -ReplacePattern "ipv4=192.XXX.1.10-192.XXX.1.20"
여기서 my_host_profile_from_reference_host는 참조 호스트 프로파일의 이름이고 my_target_cluster는 대상 클러스터의 이름입니다.
- 규정 준수 테스트 및 복구 작업을 수행하여 호스트에 업데이트를 적용합니다.
규칙 준수 테스트 및 복구의 내용을 참조하십시오.
- 프로비저닝한 호스트가 다음과 같은 요구 사항을 충족하는지 확인합니다.
- 각 호스트가 vCenter Server 시스템에 연결됩니다.
- 호스트가 유지 보수 모드로 설정되지 않았습니다.
- 호스트가 모든 규정을 준수합니다.
- 사용자 입력을 요구하는 호스트 프로파일을 사용하는 각 호스트에 최신 호스트 사용자 지정 정보가 있습니다.
호스트 연결 및 규정 준수 문제를 해결한 후 모든 호스트가 요구 사항을 충족할 때까지 호스트를 재부팅합니다.
부팅 프로세스에 대한 소개, 처음 부팅과 후속 부팅의 차이점 및 호스트 사용자 지정 사용에 대한 개요를 보려면 "" 항목을 참조하십시오.
vSphere Auto Deploy Cmdlet 사용
vSphere Auto Deploy cmdlet은 Microsoft PowerShell cmdlet으로 구현되며 PowerCLI에 포함되어 있습니다. vSphere Auto Deploy cmdlet 사용자는 모든 PowerCLI 기능을 사용할 수 있습니다.
경험이 많은 PowerShell 사용자는 vSphere Auto Deploy cmdlet을 다른 PowerShell cmdlet처럼 사용할 수 있습니다. PowerShell과 PowerCLI가 익숙하지 않은 사용자는 다음 팁이 유용할 수 있습니다.
PowerCLI 셸에서 cmdlet, 매개 변수 및 매개 변수 값을 입력할 수 있습니다.
- Get-Help
cmdlet_name
을 실행하여 모든 cmdlet에 대한 도움말을 확인합니다. - PowerShell은 대/소문자를 구분하지 않습니다.
- cmdlet 이름과 매개 변수 이름에 탭 완료를 사용합니다.
- Format-List 또는 Format-Table이나 각각의 짧은 이름 fl 또는 ft를 사용하여 모든 변수 및 cmdlet 출력을 포맷합니다. 자세한 내용은 Get-Help Format-List cmdlet을 실행합니다.
이름으로 매개 변수 전달
Copy-DeployRule -DeployRule testrule -ReplaceItem MyNewProfile
"vCenter Server 설치 및 설정" 설명서의 예제 대부분은 이름으로 매개 변수를 전달합니다.
개체로 매개 변수 전달
스크립팅 및 자동화를 수행하려는 경우 매개 변수를 개체로 전달할 수 있습니다. 매개 변수를 개체로 전달하는 것은 여러 개체를 반환하는 cmdlet과 단일 개체를 반환하는 cmdlet에 유용합니다. 다음 예를 고려하십시오.
- 호스트에 대한 규칙 집합 준수 정보를 캡슐화하는 개체를 변수에 바인딩합니다.
$tr = Test-DeployRuleSetCompliance MyEsxi42
- 규칙 집합에 포함된 항목과 호스트에서 현재 사용 중인 항목 간의 차이를 확인하려면 개체의 itemlist 속성을 봅니다.
$tr.itemlist
- Repair-DeployRuleSetCompliance cmdlet을 변수와 함께 사용하여 수정된 규칙 집합을 사용하도록 호스트에 업데이트를 적용합니다.
Repair-DeployRuleSetCompliance $tr
이 예제는 다음 번에 호스트를 부팅할 때 호스트에 업데이트를 적용합니다.
vSphere Auto Deploy PowerCLI Cmdlet 개요
PowerCLI에 포함되어 있는 PowerCLI cmdlet 집합을 사용하면 호스트에 이미지 프로파일 및 호스트 프로파일을 할당하는 규칙을 지정할 수 있습니다.
PowerCLI를 처음 사용하는 경우에는 PowerCLI 설명서를 읽고 vSphere Auto Deploy Cmdlet 사용을 검토하십시오. 해당 섹션에서는 PowerShell 프롬프트의 모든 명령에 대한 도움말을 볼 수 있습니다.
- 기본 도움말: Get-Help cmdlet_name
- 상세 도움말: Get-Help cmdlet_name -Detailed
명령 | 설명 |
---|---|
Get-DeployCommand | vSphere Auto Deploy cmdlet 목록을 반환합니다. |
New-DeployRule | 지정한 항목과 패턴을 사용하여 새 규칙을 생성합니다. |
Set-DeployRule | 지정한 항목과 패턴을 사용하여 기존 규칙을 업데이트합니다. 규칙 집합의 일부인 규칙은 업데이트할 수 없습니다. |
Get-DeployRule | 지정한 이름을 가진 규칙을 검색합니다. |
Copy-DeployRule | 기존 규칙을 복제하고 업데이트합니다. |
Add-DeployRule | 하나 이상의 규칙을 작업 규칙 집합에 추가하고 기본적으로 활성 규칙 집합에도 추가합니다. NoActivate 매개 변수를 사용하면 작업 규칙 집합에만 규칙을 추가할 수 있습니다. |
Remove-DeployRule | 작업 규칙 집합과 활성 규칙 집합에서 하나 이상의 규칙을 제거합니다. -Delete 매개 변수를 지정하여 이 명령을 실행하면 규칙이 영구적으로 삭제됩니다. |
Set-DeployRuleset | 이 규칙 목록을 작업 규칙 집합에 명시적으로 설정합니다. |
Get-DeployRuleset | 현재 작업 규칙 집합 또는 현재 활성 규칙 집합을 검색합니다. |
Switch-ActiveDeployRuleset | 모든 새로운 요청을 규칙 집합을 통해 평가하도록 규칙 집합을 활성화합니다. |
Get-VMHostMatchingRules | 패턴과 일치하는 규칙을 검색합니다. 예를 들어, 호스트에 적용되는 모든 규칙을 검색할 수 있습니다. 이 cmdlet는 디버깅에 주로 사용합니다. |
Test-DeployRulesetCompliance | 지정한 호스트와 관련된 항목이 활성 규칙 집합의 규정을 준수하는지 여부를 확인합니다. |
Repair-DeployRulesetCompliance | Test-DeployRulesetCompliance의 결과에 따라 이 cmdlet는 이미지 프로파일, 호스트 프로파일 및 vCenter Server 인벤토리에서 각 호스트의 위치를 업데이트합니다. 이 cmdlet는 이미지 프로파일을 적용하거나, 호스트 프로파일을 적용하거나, vCenter Server 시스템 내의 미리 지정된 폴더나 클러스터로 호스트를 이동할 수 있습니다. |
Apply-EsxImageProfile | 지정한 이미지 프로파일을 지정한 호스트에 연결합니다. |
Get-VMHostImageProfile | 지정한 호스트에 사용 중인 이미지 프로파일을 검색합니다. 이 cmdlet은 vSphere ESXi Image Builder의 Get-EsxImageProfile cmdlet과는 다릅니다. |
Repair-DeployImageCache | 이 cmdlet은 vSphere Auto Deploy 이미지 캐시가 실수로 삭제된 경우에만 사용해야 합니다. |
Get-VMHostAttributes | vSphere Auto Deploy 서버가 규칙을 평가할 때 사용하는 호스트 특성을 검색합니다. |
Get-DeployMachineIdentity | vSphere Auto Deploy가 vCenter Server의 ESXi 호스트를 물리적 시스템에 논리적으로 연결하는 데 사용하는 문자열 값을 반환합니다. |
Set-DeployMachineIdentity | vCenter Server 데이터베이스에 있는 호스트 개체를 물리적 시스템에 논리적으로 연결합니다. 규칙을 지정하지 않고 호스트를 추가할 때 이 cmdlet를 사용합니다. |
Get-DeployOption | vSphere Auto Deploy 글로벌 구성 옵션을 검색합니다. 현재 이 cmdlet은 vSphere Auto Deploy를 사용하여 프로비저닝된 호스트의 ESXi 관리 네트워크에 대한 기본 VLAN ID를 지정하는 vlan-id 옵션을 지원합니다. vSphere Auto Deploy는 호스트가 호스트 프로파일을 없이 부팅되는 경우에만 이 값을 사용합니다. |
Set-DeployOption | 글로벌 구성 옵션의 값을 설정합니다. 현재는 ESXi 관리 네트워크에 대해 기본 VLAN ID를 설정하는 vlan-id 옵션을 지원합니다. |
Add-ProxyServer | vSphere Auto Deploy 데이터베이스에 프록시 서버를 추가합니다. -Address 매개 변수와 함께 명령을 실행하여 IPv4 또는 IPv6 주소를 지정합니다. 주소에 포트 번호를 포함할 수 있습니다. |
List-ProxyServer | vSphere Auto Deploy에 현재 등록되어 있는 프록시 서버를 나열합니다. |
Delete-ProxyServer | vSphere Auto Deploy에 등록되어 있는 프록시 서버 목록에서 프록시 서버를 하나 이상 삭제합니다. 이 명령은 프록시 서버 목록에 있는 -id 매개 변수와 함께 실행하거나, 삭제할 프록시 서버의 IPv4 또는 IPv6 주소를 지정하여 -Address 매개 변수와 함께 실행할 수 있습니다. |
Add-ScriptBundle | vSphere Auto Deploy 서버에 스크립트 번들을 하나 이상 추가합니다. |
Get-ScriptBundle | vSphere Auto Deploy 서버에서 사용할 수 있는 스크립트 번들의 목록 및 번들에 포함되어 있는 스크립트를 검색합니다. |
Remove-ScriptBundle | vSphere Auto Deploy에서 스크립트 번들을 제거합니다. vSphere 버전 6.7 이상에 적용됩니다. |
Get-CustomCertificate | AutoDeploy에 업로드된 사용자 지정 호스트 인증서를 검색합니다. -HostId [MAC_Address | BIOS_UUID] 매개 변수를 사용하여 명령을 실행해야 합니다. 사용자 지정 인증서를 처음 추가하면 이 cmdlet에서 반환된 인증서가 표시되지 않습니다. |
List-CustomCertificates | Auto Deploy에서 사용하는 모든 사용자 지정 호스트 인증서에 대한 정보를 검색합니다. 이 목록에는 인증서 이름 Host ID 및 Associated Host Name에 대한 세부 정보가 제공되며 여기에는 Auto Deploy 서버에 대한 vCenter Server 이름이 반영됩니다. |
Add-CustomCertificate | 사용자 지정 인증서를 VMware Endpoint 인증서 저장소에 추가하고 이를 ESXi 호스트와 연결합니다. 인증서는 호스트 재부팅 시 활성화됩니다. Get-CustomCertificate cmdlet을 사용하여 사용자 지정 호스트 인증서 키를 검색할 수 있습니다. 이 명령을 -HostId [MAC_Address | BIOS_UUID] 매개 변수와 함께 실행하여 인증서를 호스트에 연결하고 -Key [file:///path/to/key.key] 및 -Cert [file:///path/to/cert.crt]를 지정할 수 있습니다. 이 cmdlet을 사용하려면 vCenter Server의 루트 폴더에 대한 AutoDeploy.Rule.Create 권한이 필요합니다. |
Remove-CustomCertificate | Auto Deploy에서 사용자 지정 호스트 인증서 집합을 제거합니다. 인증서 항목이 데이터베이스에서 삭제되고 인증서 파일이 파일 저장소에서 제거됩니다. 사용자 지정 인증서로 이미 부팅된 호스트는 새 인증서를 받으려면 재부팅해야 합니다. -Cert 또는 -HostId 매개 변수 중 하나 이상을 제공해야 합니다. 이 cmdlet을 사용하려면 vCenter Server의 루트 폴더에 대한 AutoDeploy.Rule.Create 권한이 필요합니다. |
호스트에 이미지 프로파일 할당
호스트를 프로비저닝하려면 먼저 vSphere Auto Deploy를 사용하여 프로비저닝할 각 호스트에 이미지 프로파일을 할당하는 규칙을 생성해야 합니다.
vSphere Auto Deploy 확장성 규칙을 적용하면 CommunitySupported 수준의 VIB에 ESXCLI 플러그인 경로, jumpstart 플러그인 경로 등과 같은 미리 정의된 특정 위치의 파일만 포함할 수 있게 됩니다. 다른 위치에 있는 VIB를 이미지 프로파일에 추가하면 경고가 발생합니다. force 옵션을 사용하면 이러한 경고를 무시할 수 있습니다.
규칙을 위반하는 CommunitySupported 수준의 VIB가 포함된 이미지 프로파일에서 New-DeployRule cmdlet을 호출하는 경우 이미지 프로파일을 추가하기 전에 $DeployNoSignatureCheck = $true
를 설정합니다. 이 설정을 적용하면 시스템에서 서명 검증을 무시하고 확장성 규칙 확인을 수행하지 않습니다.
프로시저
결과
호스트는 PXE에서 부팅될 때 시스템의 특성을 콘솔에 보고합니다. 배포 규칙을 작성할 때도 동일한 특성 형식을 사용합니다.
****************************************************************** * Booting through VMware AutoDeploy... * * Machine attributes: * . asset=No Asset Tag * . domain=vmware.com * . hostname=myhost.mycompany.com * . ipv4=XX.XX.XXX.XXX * . mac=XX:Xa:Xb:Xc:Xx:XX * . model=MyVendorModel * . oemstring=Product ID: XXXXXX-XXX * . serial=XX XX XX XX XX XX... * . uuid=XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX * . vendor=MyVendor ******************************************************************
다음에 수행할 작업
- vSphere Auto Deploy를 사용하여 이미 프로비저닝된 호스트의 경우 규정 준수 테스트 및 복구 작업을 수행하여 새 이미지 프로파일을 프로비저닝합니다. 규칙 준수 테스트 및 복구의 내용을 참조하십시오.
- 프로비저닝되지 않은 호스트의 전원을 켜서 해당 호스트에 새 이미지 프로파일을 프로비저닝합니다.
규칙을 작성하고 호스트에 호스트 프로파일 할당
vSphere Auto Deploy를 사용하면 하나 이상의 ESXi 호스트에 호스트 프로파일을 할당할 수 있습니다.
대부분의 경우에는 호스트 프로파일을 명시적으로 지정하지 않고 클러스터에 호스트를 할당하는데 이 경우 호스트는 클러스터의 호스트 프로파일을 사용합니다.
사전 요구 사항
- PowerCLI 및 모든 필수 소프트웨어를 설치합니다. 자세한 내용은 vCenter Server 설치 및 설정을 참조하십시오.
- 사용할 호스트 프로파일을 내보냅니다.
프로시저
다음에 수행할 작업
- 해당 호스트에서 규정 준수 테스트 및 복구 작업을 수행하여 이미 vSphere Auto Deploy를 사용하여 프로비저닝된 호스트를 새 호스트 프로파일에 할당합니다. 자세한 내용은 규칙 준수 테스트 및 복구의 내용을 참조하십시오.
- 프로비저닝되지 않은 호스트의 전원을 켜서 해당 호스트에 호스트 프로파일을 프로비저닝합니다.
규칙 쓰기 및 폴더 또는 클러스터에 호스트 할당
vSphere Auto Deploy는 폴더나 클러스터에 호스트를 할당할 수 있습니다. vSphere Auto Deploy는 호스트가 부팅될 때 vCenter Server의 지정된 위치에 호스트를 추가합니다. 클러스터에 할당된 호스트는 해당 클러스터의 호스트 프로파일을 상속합니다.
사전 요구 사항
- 시스템을 준비하고 Auto Deploy 서버를 설치합니다. 자세한 내용은 vSphere Auto Deploy를 사용할 수 있도록 시스템 준비의 내용을 참조하십시오.
- 선택하는 폴더가 데이터 센터 또는 클러스터에 있는지 확인합니다. 호스트를 독립형 최상위 폴더에 할당할 수는 없습니다.
프로시저
다음에 수행할 작업
- 테스트 및 복구 규정 준수 작업을 수행하여 vSphere Auto Deploy로 이미 프로비저닝된 호스트를 새 폴더 또는 클러스터 위치에 할당합니다. 규칙 준수 테스트 및 복구의 내용을 참조하십시오.
- 프로비저닝되지 않은 호스트 전원을 켜서 지정한 vCenter Server 위치에 추가합니다.
사용자 지정 스크립트를 실행하여 상태 비저장 시스템 구성
vSphere Auto Deploy를 사용하면 vSphere Auto Deploy 규칙에 사용자 지정 스크립트를 연결하여 호스트를 하나 이상 구성할 수 있습니다.
스크립트는 호스트의 초기 ESXi 부팅 워크플로우 이후에 알파벳 순서로 실행됩니다.
사전 요구 사항
- vSphere Auto Deploy 규칙에 연결할 스크립트 번들이 .tgz 형식이고, 크기가 10MB를 초과하지 않으며 Python 또는 BusyBox ash 스크립팅 언어로 작성되었는지 확인합니다.
프로시저
다음에 수행할 작업
- vSphere Auto Deploy를 사용하여 이미 프로비저닝된 호스트의 경우 규정 준수 테스트 및 복구 작업을 수행하여 새 스크립트로 호스트를 프로비저닝합니다. 규칙 준수 테스트 및 복구의 내용을 참조하십시오.
- 프로비저닝되지 않은 호스트의 전원을 켜서 해당 호스트를 새 스크립트로 프로비저닝합니다.
규칙 준수 테스트 및 복구
vSphere Auto Deploy 규칙 집합의 변경 사항이 자동으로 업데이트되지 않으므로 규정 준수 및 복구를 위해 새 규칙 또는 수정된 규칙을 적절히 테스트합니다.
사전 요구 사항
- 시스템을 준비하고 Auto Deploy 서버를 설치합니다. 자세한 내용은 vSphere Auto Deploy를 사용할 수 있도록 시스템 준비의 내용을 참조하십시오.
- 인프라에 vSphere Auto Deploy를 사용하여 프로비저닝된 하나 이상의 ESXi 호스트가 포함되어 있고, PowerCLI를 설치한 호스트에서 이러한 ESXi 호스트에 액세스할 수 있는지 확인합니다.
프로시저
다음에 수행할 작업
변경한 규칙에서 인벤토리 위치를 지정한 경우 규정 준수 복구 시 변경 내용이 적용됩니다. 다른 모든 변경 내용의 경우에는 vSphere Auto Deploy에서 새 규칙을 적용하고 규칙 집합과 호스트 간의 규정 준수가 보장되도록 호스트를 재부팅해야 합니다.
vSphere Auto Deploy에 캐시 프록시 서버 주소 등록
많은 수의 상태 비저장 호스트를 동시에 부팅하면 vSphere Auto Deploy 서버의 로드가 상당히 증가합니다. 이런 경우에는 vSphere Auto Deploy에 등록하는 하나 이상의 프록시 서버와 vSphere Auto Deploy 서버 사이에 요청을 로드 밸런싱할 수 있습니다.