Nutanix PC 업데이트 후 VM 콘솔이 안 열릴 때? 당황하지 마세요 (KB-20558 트러블슈팅)

오늘은 PC업그레이드 이후 VM콘솔이 안열려 많이 당황했던 이야기를 해보려고 합니다. 아직도 땀이 줄줄 흐르는 긴장감이 많이 느껴지네요.

업그레이드의 배신, 갑자기 끊긴 VM 콘솔

인프라를 운영하다 보면 가장 긴장되는 순간이 바로 메이저 업그레이드 직후죠. 기껏 큰마음 먹고 Prism Central(PC)을 7.3.1.2나 7.5 버전으로 올렸는데, 멀쩡하던 VM 콘솔이 안 열리면 정말 식은땀이 납니다. 특히 이번 이슈는 모든 계정이 먹통이 되는 게 아니라, LDAP이나 SAML 같은 외부 인증을 사용하는 '슈퍼 어드민' 계정에서만 핀포인트로 터진다는 게 아주 고약한 특징이에요.

로컬 관리자 계정으로 접속하면 콘솔이 잘만 열리는데, 우리가 실무에서 주로 쓰는 개인 LDAP 계정으로만 들어가면 화면이 멈춰버립니다. 대부분의 엔지니어는 이 상황에서 가장 먼저 네트워크 방화벽이나 브라우저 캐시를 의심하곤 하죠. 하지만 이건 단순한 네트워크 끊김이 아니라 시스템 내부의 권한 매핑 로직이 꼬여버린 전형적인 소프트웨어 결함입니다.

VM 콘솔 연결 문제 ①
VM 콘솔 연결 문제 ①
    
VM 콘솔 연결 문제 화면
VM 콘솔 연결 문제 ②

위 이미지처럼 화면에는 야속하게 "VM Connection Lost"라는 문구만 덩그러니 뜨게 됩니다. 네트워크 연결을 확인하고 콘솔을 새로고침 하라는 친절한(?) 안내가 나오지만, 아무리 시키는 대로 해봐도 응답은 돌아오지 않아요. 사실 이 경고창은 실제 VM이 죽었거나 네트워크가 끊겼을 때도 동일하게 나타나기 때문에, 많은 엔지니어가 엉뚱하게 클러스터 핑(Ping) 테스트를 하거나 스위치 설정을 확인하며 금쪽같은 시간을 낭비하게 만드는 주범이기도 합니다.


로그는 거짓말을 하지 않죠: 401 에러의 정체

확실한 원인을 찾으려면 고민하지 말고 바로 PCVM(Prism Central VM)에 SSH로 접속해서 로그부터 뜯어봐야 해요. 우리가 가장 먼저 살펴볼 파일은 /home/nutanix/data/logs/ikat_control_plane.out입니다. 이 파일은 PC와 각 노드의 Prism Element 사이에서 통제권을 주고받는 핵심적인 경로를 기록하거든요.

# ikat_control_plane.out 로그에서 발견되는 인증 거부 흔적
[2025-12-09T12:49:34.357Z] "GET /vnc/vm/ac32a082-4665-46df-83c3-1a030d2ca989/proxy HTTP/1.1 401 0 0 77"

위의 로그 스니펫을 보시면 HTTP/1.1 401이라는 응답 코드가 선명하게 찍혀 있습니다. 401 Unauthorized는 서버가 클라이언트의 정체를 알 수 없거나, 알고 있더라도 유효한 인증 자격 증명이 없어서 거절했다는 강력한 거부 의사예요. PC 업그레이드 과정에서 내부 통신에 사용하는 보안 토큰 처리 방식이 변경되었는데, LDAP 유저의 세션이 이 바뀐 규격을 제대로 충족하지 못하고 튕겨 나가는 상황인 거죠. 401 뒤에 붙은 숫자들은 데이터 크기와 처리 시간을 뜻하는데, 지금 우리에겐 저 '401'이라는 세 글자가 가장 뼈아픈 신호라고 볼 수 있습니다.


왜 하필 LDAP과 SAML 유저만 괴롭힐까?

조금 더 깊게 들어가서 /home/nutanix/data/logs/acropolis.out 파일을 확인해 보면 사태가 더 구체적으로 파악됩니다. 아크로폴리스 로그는 VM의 생명주기와 권한을 관리하는데, 여기서 결정적인 단서가 나옵니다.

핵심 에러 메시지:
2025-12-09 12:50:47,626Z ERROR wsgi_prism_auth.py:101 Session does not have role ('ROLE_CLUSTER_ADMIN',)

이 로그가 말해주는 건 아주 단순하면서도 황당합니다. 사용자는 분명 시스템 전체를 주무르는 '슈퍼 어드민' 권한을 가지고 있는데, 정작 시스템 내부의 권한 검증 스크립트(wsgi_prism_auth.py)는 이 세션에 클러스터 관리 권한이 없다고 판단해버리는 거예요. 쉽게 말해 정식 출입증을 들고 있는데 보안 요원이 "이 사진이랑 얼굴이 좀 다른데요?"라며 입장을 막는 꼴이죠. 특히 SAML 유저의 경우에는 prism_gateway.log에서 NullPointerException까지 발생하는데, 이는 인증 과정에서 넘겨받아야 할 유저 객체 자체가 '무(無)'의 상태로 인식되어 프로그램이 비정상 종료되는 현상입니다.


엔지니어를 위한 긴급 수혈: 우회 방법 3가지

운영 환경이라 당장 패치를 할 수 없는 분들을 위해 실무에서 바로 써먹을 수 있는 임시 조치들을 정리해 봤습니다. 가장 확실한 건 역시 시스템을 통하지 않고 '직공'으로 들어가는 거예요.

대응 우선순위 조치 방법 상세 실행 가이드
1순위 Prism Element 직접 접속 Prism Central을 거치지 말고 각 클러스터의 VIP 주소로 직접 로그인하여 VM 콘솔을 실행하세요.
2순위 로컬 관리자 계정 활용 LDAP 연동 계정 대신 PC에 내장된 'admin' 로컬 계정을 사용하여 작업을 진행합니다.
3순위 ACP 역할 강제 재할당 Access Control Policy 메뉴에서 해당 유저에게 'Prism Admin' 역할을 명시적으로 다시 부여해 보세요.

첫 번째 방법인 PE 직접 접속은 PC의 인증 버그를 완전히 우회할 수 있는 가장 강력한 수단입니다. 퀵 액세스 메뉴가 주는 편안함을 잠시 포기하면 업무 연속성을 유지할 수 있죠. 세 번째 방법인 ACP 재할당은 내부 DB의 권한 매핑 테이블을 강제로 갱신시키는 효과가 있어서, 특정 환경에서는 마법처럼 해결되기도 하니 밑져야 본전이라는 생각으로 시도해 볼 가치가 있습니다.


공식 문서에는 없는 실무 노하우

여기서 진짜 중요한 팁 하나 드릴게요. 이번 이슈가 터졌을 때 보통 PC만 최신 버전으로 올리고 AOS는 그대로 두는 경우가 많습니다. 하지만 Nutanix 환경에서 인증 이슈는 PC와 AOS의 버전이 톱니바퀴처럼 맞물려 돌아가야 해결되는 경우가 많아요. 이번 LDAP 유저 이슈 역시 PC만 7.5.0.6으로 올린다고 끝나는 게 아니라, 백엔드인 AOS 버전도 7.5.0.6 이상으로 세트를 맞춰줘야 뒤탈이 없습니다.

만약 한쪽만 업데이트했다면 인증 토큰을 주고받는 API 규격이 미세하게 달라져서 콘솔 연결이 끊어지는 현상이 재발할 수 있습니다. 따라서 정기 점검 윈도우를 잡으실 때, PC 업데이트만 계획하지 마시고 반드시 연동된 클러스터들의 AOS 업그레이드까지 패키지로 묶어서 진행하시는 것을 추천해 드립니다.


근본 해결책: 버전 체크는 선택이 아닌 필수

임시 방편은 어디까지나 임시일 뿐입니다. 이번 현상은 명백히 특정 빌드에서 발생한 버그로 확인된 만큼, 뉴타닉스에서 공식 배포한 수정 버전으로 올라가는 게 가장 깔끔한 정답이죠.

  • LDAP 및 로컬 유저 이슈 해결: PC 7.5.0.6 이상 혹은 7.3.1.4 이상 버전으로 업그레이드하세요.
  • SAML 유저 이슈 현황: 현재 본사 엔지니어링 팀에서 수정 작업을 진행 중입니다. 아직 패치가 나오지 않았다면 PE 직접 접속을 주력으로 사용하셔야 합니다.
  • 업그레이드 전 체크리스트: 업데이트를 시작하기 전 반드시 PCVM의 스냅샷을 생성하고 ncc health_check를 돌려 클러스터의 건전성을 먼저 확인하세요.

관리 화면에서 "Disconnected" 메시지만 보고 하드웨어 장애인가 싶어 노드 뒷면의 케이블을 확인하러 서버실로 달려가는 일은 없으시길 바랍니다. 소프트웨어 정의 인프라(SDI)에서는 때로 이런 논리적인 데이터의 꼬임이 물리적인 단선보다 훨씬 더 치명적이고 당혹스럽게 다가오니까요.

오늘도 많은 엔지니어들의 노고에 도움이 되길 바랍니다. 화이팅 입니다. 

댓글 쓰기

0 댓글

이 블로그 검색

태그

신고하기

프로필

이미지alt태그 입력