ViewDbChk 명령을 사용하면 자동화된 데스크톱 풀의 데스크톱 가상 시스템과 자동화된 팜의 RDS 호스트에 대한 정보를 저장하는 데이터베이스에서의 불일치를 해결할 수 있습니다.

Horizon 7 환경에서는 데스크톱 가상 시스템에 대한 정보와 자동화된 팜의 RDS 호스트에 대한 정보가 다음 위치에 저장됩니다.

  • LDAP 데이터베이스
  • vCenter Server 데이터베이스
  • View Composer 연결된 클론 시스템에만 해당: View Composer 데이터베이스

보통 Horizon Administrator를 사용하여 데스크톱 가상 시스템 또는 RDS 호스트를 제거하거나 재설정함으로써 프로비저닝이나 다른 작업 중에 발생하는 오류로부터 복구할 수 있습니다. 드물게 오류 상태에 있는 각기 다른 데이터베이스의 시스템에 대한 정보가 불일치하게 될 수 있으며 Horizon Administrator를 사용하여 오류로부터 복구할 수 없습니다. 다음과 같은 증상 중 하나가 나타날 수 있습니다.

  • 해당 입력 규격의 가상 시스템이 이미 있습니다. 오류 메시지와 함께 프로비저닝이 실패합니다.
  • Desktop Composer 오류: 해당 입력 규격의 가상 시스템이 이미 있습니다. 오류 메시지와 함께 데스크톱 풀 재구성이 실패합니다.
  • Horizon Administrator는 데스크톱 시스템 또는 RDS 호스트가 삭제 중 상태에서 멈추었음을 보여 줍니다.
  • 데스크톱 풀이나 자동화된 팜을 삭제할 수 없습니다.
  • 데스크톱 시스템이나 RDS 호스트를 삭제할 수 없습니다.
  • Horizon Administrator의 [인벤토리] 탭에서 데스크톱 시스템 또는 RDS 호스트의 상태가 나타나지 않습니다.

데이터베이스 불일치로 인해 데스크톱 시스템 또는 RDS 호스트가 복구할 수 없는 오류 상태에 있거나 Horizon Administrator 작업을 성공적으로 완료되지 못하도록 하는 상황에서는 ViewDbChk 명령을 사용하여 불일치를 해결할 수 있습니다. ViewDbChk 명령은 다음과 같은 특징을 가지고 있습니다.

  • ViewDbChk는 Horizon 표준 서버 또는 Horizon 복제 서버를 설치할 때 자동으로 설치됩니다. Horizon 보안 서버를 설치할 때는 이 유틸리티가 설치되지 않습니다.
  • ViewDbChk는 Windows 명령 프롬프트 또는 스크립트에서 실행할 수 있는 명령입니다.
  • ViewDbChk는 전체 가상 시스템의 자동화된 팜 및 자동화된 데스크톱 풀과 함께 View Composer 연결된 클론을 지원합니다.
  • 시스템을 제거하려고 할 때 ViewDbChk는 해당 시스템에 대한 상태 검사를 수행하고 시스템이 정상으로 보이는 경우 추가 확인을 묻는 메시지를 표시합니다.
  • ViewDbChk는 잘못되었거나 불완전한 LDAP 항목을 삭제할 수 있습니다.
  • ViewDbChk는 I18N 문자 집합을 사용한 입력 및 출력을 지원합니다.
  • ViewDbChk는 사용자 데이터를 제거하지 않습니다. 전체 데스크톱 가상 시스템의 경우 ViewDbChk는 가상 시스템을 인벤토리에서 제거하지만 디스크에서는 제거하지 않습니다. 연결된 클론 데스크톱 가상 시스템의 경우 ViewDbChk는 가상 시스템을 삭제하고 사용자 디스크를 루트 폴더(VMFS 데이터스토어의 경우) 또는 archiveUDD라는 이름의 하위 폴더(vSAN 및 가상 볼륨 데이터스토어의 경우)에 아카이브합니다.
  • ViewDbChk에서는 관리되지 않은 데스크톱 시스템이나 수동 팜의 RDS 호스트를 지원하지 않습니다.

ViewDbChk 구문

ViewDbChk --findDesktop --desktopName <desktop pool or farm name> [--verbose]

ViewDbChk --enableDesktop --desktopName <desktop pool or farm name> [--verbose]

ViewDbChk --disableDesktop --desktopName <desktop pool or farm name> [--verbose]

ViewDbChk --findMachine --desktopName <desktop pool or farm name> --machineName <machine name> [--verbose]

ViewDbChk --removeMachine --machineName <machine name> [--desktopName <desktop pool or farm name>] [--force] [--noErrorCheck] [--verbose]

ViewDbChk --scanMachines [--desktopName <desktop pool or farm name>] [--limit <maximum deletes>] [--force] [--verbose]

ViewDbChk --help [--commandName] [--verbose]

ViewDbChk 매개 변수

매개 변수 설명
--findDesktop 데스크톱 풀 또는 팜을 찾습니다.
--enableDesktop 데스크톱 풀 또는 팜을 사용하도록 설정합니다.
--disableDesktop 데스크톱 풀 또는 팜을 사용하지 않도록 설정합니다.
--findMachine 시스템을 찾습니다.
--removeMachine 데스크톱 풀 또는 팜에서 시스템을 제거합니다. ViewDbChk에서는 시스템을 제거하기 전에 사용자에게 데스크톱 풀 또는 팜을 사용하지 않도록 설정하라는 메시지를 표시합니다. ViewDbChk에서는 시스템을 제거한 후 사용자에게 데스크톱 풀 또는 팜을 다시 사용하도록 설정하라는 메시지를 표시합니다.
--scanMachines 오류 또는 클론 오류 상태에 있거나 가상 시스템이 누락된 시스템을 검색하고 문제 시스템을 데스크톱 풀 또는 팜으로 그룹화하여 나열하고 해당 시스템을 제거하는 옵션을 제공합니다. ViewDbChk에서는 시스템을 제거하기 전에 사용자에게 데스크톱 풀 또는 팜을 사용하지 않도록 설정하라는 메시지를 표시합니다. ViewDbChk에서는 데스크톱 풀 또는 팜에서 모든 잘못된 시스템을 제거한 후 사용자에게 데스크톱 풀 또는 팜을 다시 사용하도록 설정하라는 메시지를 표시합니다.
--help ViewDbChk의 구문을 표시합니다.
--desktopName <desktop name> 데스크톱 풀 또는 팜 이름을 지정합니다.
--machineName <machine name> 시스템 이름을 지정합니다.
--limit <maximum deletes> ViewDbChk가 제거할 수 있는 시스템 수를 제한합니다. 기본값은 1입니다.
--force 사용자 확인 없이 강제로 시스템을 제거합니다.
--noErrorCheck 오류가 없는 시스템을 강제로 제거합니다.
--verbose 자세한 정보 로깅을 사용하도록 설정합니다.
참고: 모든 매개 변수 이름은 대/소문자를 구분합니다.

ViewDbChk 사용 예

lc-pool2-2라는 이름의 데스크톱 시스템이 오류 상태에 있으며 Horizon Administrator를 사용하여 이를 제거할 수 없습니다. ViewDbChk를 사용하여 Horizon 7 환경에서 이를 제거합니다.

C:\Program Files\VMware\VMware View\Server\tools\bin\viewdbchk.cmd --removeMachine --machineName lc-pool2-2 
Looking for desktop pool "lc-pool2" in LDAP...
   Desktop Pool Name: lc-pool2
   Desktop Pool Type: AUTO_LC_TYPE
   VM Folder: /vdi/vm/lc-pool2/
   Desktop Pool Disabled: false
   Desktop Pool Provisioning Enabled: true
Looking for machine "/vdi/vm/lc-pool2/lc-pool2-2" in vCenter...
   Connecting to vCenter "https://10.133.17.3:443/sdk". This may take some time...
Checking connectivity...
   Connecting to View Composer "https://10.133.17.3:18443". This may take some time...
The desktop pool "lc-pool2" must be disabled before proceeding. Do you want to disable the desktop pool? (yes/no):yes
Found machine "lc-pool2-2"
   VM Name: lc-pool2-2
   Creation Date: 1/25/15 1:20:26 PM PST
   MOID: vm-236
   Clone Id: b12a9ed2-8535-44ee-a9d6-6c9b5cf6f878
   VM Folder: /vdi/vm/lc-pool2/lc-pool2-2
   VM State: ERROR
Do you want to remove the desktop machine "lc-pool2-2"? (yes/no):yes
Shutting down VM "/vdi/vm/lc-pool2/lc-pool2-2"...
Archiving persistent disks...
Destroying View Composer clone "b12a9ed2-8535-44ee-a9d6-6c9b5cf6f878"...
Removing ThinApp entitlements for machine "/vdi/vm/lc-pool2/lc-pool2-2"...
Removing machine "/vdi/vm/lc-pool2/lc-pool2-2" from LDAP...
Running delete VM scripts for machine "/vdi/vm/lc-pool2/lc-pool2-2"...
Do you want to enable the desktop pool "lc-pool2"? (yes/no):yes