본문 바로가기
IT/VMware

[VMware] "이 데스크톱에 지정된 데스크톱 소스를 사용할 수 없음" 오류 해결 방법(Agent Unreachable Error)

by 퐁시냥 2022. 3. 31.

VMware Horizon Client 에서 "이 데스크톱에 지정된 데스크톱 소스를 현재 사용할 수 없습니다. 나중에 이 데스크톱에 다시 연결하거나 시스템 관리자에게 문의하십시오." 라는 에러가 발생하는 경우가 있다.

보통은 VM이 정상적으로 로그오프 되지 않은 경우 발생하여 VM 재기동을 하면 해결이 되는 경우가 많지만, 그래도 해결이 되지 않는 경우에는 무엇이 문제인지 원인을 찾아야 한다.

1. VMware Horizon Client 오류 증상

1) VMware Horizon Client

먼저, 사용자는 해당 VM에 접속을 할 때 아래와 같이

"이 데스크톱에 지정된 데스크톱 소스를 현재 사용할 수 없습니다. 나중에 이 데스크톱에 다시 연결하거나 시스템 관리자에게 문의하십시오."

오류 메세지가 발생하면서 접속이 안되는 현상을 확인할 수 있다.
VM을 재기동해도 동일한 현상이 발생하고, 접속도 안되는 상황이라 사용자가 조치할 수 있는 방법이 딱히 없다.

VMware-Horizon-Client-Agent-Unreachable-Error

2) VMware Connection Server

관리자는 VMware Connection Server에서 오류가 발생한 VM의 이벤트 로그를 확인할 수 있다.

이벤트 로그에는 "감사 실패" 로그가 남으며,
오류 메세지에는 "vdi-user 사용자에 대해 vdi-test-pool 풀에서 시작할 수 없습니다. 할당된 vdi001 시스템을 사용할 수 없습니다." 이렇게 남는다.

"audit failure" / "Connection Server" / "Unable to launch from Pool POOL_NAME for user DOMAINNAME\USERNAME: Assigned machine MACHINENAME is unavailable."

사실 이 메세지만 확인했을 때 해결할 수 있는 부분은 거의 없다. 아, 해당 풀에 있는 VM 사용이 불가능하군 싶다.

3) VM 내 로그 수집

그래서 마지막으로 오류가 발생한 VM에 관리자 콘솔로 접속하여 로그 수집을 하기로 했다.

VMware Horizon Client, Agent 오류는 종류도 다양하고 원인도 여러가지라서 해결하기가 쉽지 않다.
로그 수집 방법은 이전에 포스팅한 아래 게시글을 참고하길 바란다.

[VMware] VMware Horizon Client, Agent Log 로그 수집 방법

VMware Horizon Client, Agent Log 로그 수집 방법에 대해서 알아보자. VDI를 운영하면서 다양한 버그, 오류가 발생하여 이를 해결하기 위해 많은 노력을 하고 있다. 오류를 해결하기 위하여 가장 먼저 해

pongsi.tistory.com


로그를 수집해보니 아래와 유사한 로그가 쌓인 것을 확인할 수 있었다.

Agent Unreachable

# In the Horizon Agent log, you see message similar to:

<YYYY-MM-DD>T<time> 789-07:00 DEBUG (0EB8-0F74) <theTopicMessageManager> [AgentJmsConfig] Published CHANGEKEY request </time>

# After approximately 10 seconds, you see this entry:

<YYYY-MM-DD>T<time></time> 789-07:00 DEBUG (0EB8-0F74) <theTopicMessageManager> [AgentJmsConfig] Timeout waiting for success response

#You see entries similar to in the same log file:
update rejected, attempt to reconfigure as paired with missing key information
FATAL (0324-23C) <572> []The JVM has exited with code 6.
INFO (0308-052C) <JavaBridge> wsnm_jms died, restarting in a minute
 
# In the Connection Server log, you see the entries similar to:

<DesktopControlJMS> [JMSMessageSecurity] Message could not be validated: Signature invalid for identity agent
<DesktopControlJMS> [DesktopTracker] CHANGEKEY message from agent/<Agent GUID> is discarded as it cannot be validated


로그를 복사해서 구글링 해보니 vmware에서 유사한 오류 해결방법을 정리해 놓은게 있어서 그 방법으로 해결할 수 있었다.

2. VMware Horizon Client 오류 원인

아래는 VMware 에서 제공하는 Agent Unreachable Error 의 원인이다.

이 문제는 연결 서버 구성에서 키를 변경하는 프로세스가 실패하여 View Agent와 연결 서버 간의 통신이 중단되는 경우에 발생합니다.
View Agent를 다시 설치하거나 업그레이드하면 View Agent와 연결 서버를 식별하는 데 사용되는 키 쌍이 변경될 수 있습니다.


Connection Server와 View Agent 간의 통신이 중단되는 경우에 발생한다고 한다.

내 케이스의 경우, 오류가 발생한 VM의 사용자가 vagrant 와 virtualBox 설치 후에 해당 오류가 발생하였는데
그 영향이 있을 수 있으려나.. 설치 과정에서 View Agent와 충돌이 되는 부분이 있었나 싶다.

3. VMware Horizon Client 오류 해결방법

참고로 이 문제는 Horizon 7.10 이상에서는 해결되었다고 한다.

Agent Unreachable 오류의 해결방법은 의외로 간단하다.

1) 연결서버(Connection Server) 접속

VMware Horizon Connection Server 를 접속한다.
View Administrator 콘솔의 왼쪽 창에서 View 구성 > 전역 설정 으로 이동하는 방법을 사용해도 된다.

2) 관리자 권한 CMD 실행

CMD 창을 관리자 권한으로 실행하고, 아래 디렉토리로 이동 후 명령어를 입력한다.

# 실행 경로 경로 이동
C:\Program Files\VMware\VMware View\Server\tools\bin

# 명령어 입력
vdmadmin -A -d desktop-pool-name -m name-of-machine-in-pool -resetkey

명령어를 제대로 입력하면 커맨드 라인에 resetkey가 나타나는 것을 확인할 수 있다. 

 

만약 resetkey가 나타나지 않는다면 아래 레지스트리 키를 변경하여 나타나게 할 수 있다. 

HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware VDM 으로 이동 하여 키 ToolsSupportLevel 을 60으로 설정합니다.

3) VM 다시 시작

명령이 실행된 가상 데스크톱을 다시 시작하고 VM 접속을 해본다. 정상적으로 접속이 되는 것을 확인할 수 있다. 


4. 참고

댓글