다수의 호스트가 포함된 환경에서는 스크립트를 사용한 호스트 관리가 vSphere Web Client에서 호스트를 관리하는 것보다 빠르고 오류 발생률이 낮습니다.

이 태스크 정보

vSphere에는 호스트 관리를 위한 여러 스크립팅 언어가 포함되어 있습니다. 참조 정보 및 프로그래밍 팁은 vSphere 명령줄 설명서vSphere API/SDK 설명서를 참조하고 스크립트로 작성된 관리에 대한 추가 팁은 VMware 커뮤니티를 참조하십시오. vSphere 관리자 설명서는 관리를 위한 vSphere Web Client 사용을 중점적으로 다룹니다.

vSphere PowerCLI

VMware vSphere PowerCLI는 vSphere API에 대한 Windows PowerShell 인터페이스입니다. vSphere PowerCLI에는 vSphere 구성 요소 관리를 위한 PowerShell cmdlet이 포함되어 있습니다.

vSphere PowerCLI에는 200개가 넘는 cmdlet, 샘플 스크립트 집합, 관리 및 자동화를 위한 기능 라이브러리가 포함되어 있습니다. vSphere PowerCLI 설명서를 참조하십시오.

vCLI(vSphere Command-Line Interface)

vCLI에는 ESXi 호스트 및 가상 시스템 관리를 위한 명령 집합이 포함되어 있습니다. vSphere SDK for Perl도 설치하는 설치 관리자는 Windows 또는 Linux 시스템을 실행하고 ESXCLI 명령, vicfg- 명령 및 기타 vCLI 명령 집합을 설치합니다. vSphere Command-Line Interface 설명서를 참조하십시오.

vSphere 6.0부터는 vCloud Suite SDK for Python과 같은 vCloud Suite SDK에 대한 스크립팅 인터페이스 중 하나를 사용할 수도 있습니다.

프로시저

  1. 제한된 권한을 가진 사용자 지정 역할을 생성합니다.

    예를 들어 호스트 관리를 위한 권한 집합을 가지고 있지만 가상 시스템, 스토리지 또는 네트워킹 관리를 위한 권한을 가지고 있지 않은 역할을 생성하는 것을 고려합니다. 사용할 스크립트가 정보를 추출하기만 하는 경우 호스트에 대한 읽기 전용 권한을 가진 역할을 생성할 수 있습니다.

  2. vSphere Web Client에서 서비스 계정을 생성하고 사용자 지정 역할에 할당합니다.

    특정 호스트에 대한 액세스 권한을 매우 제한하고자 하는 경우 각기 다른 수준의 액세스 권한을 가진 여러 사용자 지정 역할을 생성할 수 있습니다.

  3. 매개 변수 검사 또는 수정을 수행하는 스크립트를 작성한 후 실행합니다.

    예를 들어 다음과 같이 호스트의 셸 대화형 시간 초과를 검사하거나 설정할 수 있습니다.

    언어

    명령

    vCLI(ESXCLI)

    esxcli <conn_options> system settings advanced get /UserVars/ESXiShellTimeOut
    esxcli --formatter=csv --format-param=fields="Path,Int Value" 
    system settings advanced list | grep /UserVars/ESXiShellTimeOut

    PowerCLI

    #List UserVars.ESXiShellInteractiveTimeOut for each host
    Get-VMHost | Select Name,
     @{N="UserVars.ESXiShellInteractiveTimeOut";E={$_ 
    | Get-AdvancedSetting -Name UserVars.ESXiShellInteractiveTimeOut
    | Select -ExpandProperty Value}}
    
    # Set UserVars.ESXiShellTimeOut to 900 on all hosts
    Get-VMHost 
    | Foreach { Get-AdvancedSetting -Entity $_ -Name UserVars.ESXiShellInteractiveTimeOut | Set-AdvancedSetting -Value 900 }
    
  4. 대규모 환경에서 각기 다른 액세스 권한을 가진 역할을 생성하고 수행할 작업에 따라 호스트를 폴더로 그룹화합니다. 그런 다음 다양한 서비스 계정에서 다른 폴더를 통해 스크립트를 실행합니다.
  5. 명령을 실행한 후에 발생한 변경 내용을 확인합니다.