VDI Troubleshooting
오늘은 Remote Desktop Service Virtualization 과 관련하여 Troubleshooting 이야기를 해보고자 합니다.
Windows Server의 Remote Desktop Service를 이용하여 VDI 환경을 구축하여 사용하고 있는 몇몇 고객사가 있는 것으로 알고 있습니다.
Windows Server의 VDI 환경에서 가장 중요한 역할을 하는 것은 무엇일까요?
위 그림에서 대충 감을 잡을 수 있으실텐데요. 바로 Remote Desktop Connection Broker, RDCB 입니다.
RDCB는 VDI Connection을 관리하고 User에게 VM 할당 등, VDI 관련 대부분의 Operation을 처리하는 역할을 담당합니다.
위와 같은 환경을 사용하는 고객사에서 최근 VM이 한 쪽 Host 서버에 있는 경우 VDI 접속을 할 수 없는 현상이 있다고 하여 Troubleshooting을 진행한 사례가 있습니다.
일단, VDI Troubleshooting을 진행할 때 Public 하게 공개된 도구가 있습니다. 아래 링크에서 간단하게 다운로드가 가능합니다.
http://www.microsoft.com/en-us/download/details.aspx?id=40890
위에서 RDCB가 중요한 역할을 담당하고 있다고 말씀드렸는데요. 이 RDCB가 관여하는 정보들은 도대체 어디에 있을까요??
실제로 RDCB를 설치해보신 분은 아시겠지만 VDI 관련 대부분의 정보는 SQL database에 저장되며 이 DB는 일반적인 DB가 아니라 RDCB 역할을 설치할 때 Internal Database로 설치가 됩니다.
주의할 점은 절대 SQL Management Studio를 통해서 Internal Database에 접근하여 데이터를 수정하시면 안된다는 것입니다. 이러한 직접적인 데이터 변경으로 인하여 발생되는 문제는 지원이 불가하게 되니까요.
다행히 Internal Database 내용은 다운로드 받은 RdvDiag 툴을 통해서 간략히 확인을 해볼 수가 있고 이 정보들을 토대로 Troubleshooting도 진행할 수가 있습니다.
그러면 간단하게 어떠한 내용을 Troubleshooting 했고 어떻게 확인했는지 알아보겠습니다.
Troubleshooting은 RDCB의 UI 부터 시작합니다. 일단 특정 Host에서만 VM 연결이 되지 않는다고 했기 때문에 문제 재현을 통해서 정상인 상태와 어떠한 차이점이 있는지 파악을 합니다.
확인해보니 문제가 되는 Host로 VM을 Live Migration 하면 RDCB UI의 VIRTUAL DESKTOPS 정보에서 해당 VM이 제거가 되었습니다. 즉, RDCB의 Database에서 VM의 정보가 Host와 연계되지 않아 Display 해주지 못한 것이죠.
RDCB UI의 대부분 정보는 Select Query를 통해서 보여주기 때문에 Database 내의 다양한 Table의 조합이 필요하게 됩니다.
여기서 이제 이러한 Table 정보를 봐야 하는데 그 단계에서 RdvDiag 툴의 도움을 받아볼 수 있습니다.
RdvDiag를 실행하신 후에 Database Tab을 확인하실 수가 있습니다. 여기서 Display Button을 누르면 Database 내의 Table 내용을 정리하여 보여주게 됩니다.
결론부터 말씀드리면 한 쪽 Host으로 VM이 옮겨가면 RDCB UI에서 Dispaly 되지 않았던 이유는 Host의 정보와 관련된 Table에 해당 Host가 빠져있기 때문이었습니다.
그렇다면, 어떻게 문제를 조치할 수 있을까요?
불행히도 Internal Database는 직접 Access 하시면 안된다고 말씀드렸습니다.
Host와 관련된 정보들은 RDCB에서 Virtualization Host를 추가할 때 Database에 추가되므로 Host를 제거했다가 다시 추가해보는 작업을 진행해 볼 수가 있습니다.
RdvDiag 툴을 통해서 직접 Troubleshooting을 해보시는 것은 어떠실까요?
감사합니다.