진짜 식은땀 줄줄 흐르던 여의도 한복판의 새벽 3시
여의도 금융권 고객사 프로젝트 마무리 단계였습니다. 디스크 마이그레이션 끝. 네트워크 세팅 끝. 정말 모든 게 완벽했습니다. AHV에서 ESXi로 안전하게 피신시켰던 가상머신(VM)들을 다시 원래 고향인 AHV로 페일백(Failback)하는 마지막 작업만 남겨둔 상태였죠. 진행률 바가 100%를 찍었습니다. 속으로 '아, 드디어 퇴근이다. 국밥이나 한 그릇 때리고 자야지' 생각하며 전원 켜기(Power On) 버튼을 경쾌하게 눌렀습니다. 늘 보던 정상적인 OS 부팅 로고가 뜰 타이밍. 그런데 이게 웬걸.
"Failed to boot from UEFI. Press <ESC> for EFI shell. <F2> for EFI Boot Manager."
검은 콘솔 창에 저 불길한 에러 메시지가 딱 한 줄 뜨더니, 뜬금없이 화면 정중앙에 숫자 타일 맞추는 '2048' 게임 화면이 나타나는 겁니다. ㅋ 진짜 미치는 줄 알았습니다. 머리가 하얗게 백지장으로 변하더군요,,
아니 잘 생각해 보세요. 새벽 3시에 고객사 매니저님은 제 등 뒤에서 팔짱 끼고 '이제 집에 가자'며 차 키를 만지작거리고 있는데, 그 엄숙한 서버 콘솔 화면에 뜬금없이 웬 퍼즐 게임이 떡하니 켜지냐고요. 나중에 알고 보니 뉴타닉스(Nutanix) 개발자들이 부팅 실패 시 뜨도록 심어놓은 이스터에그라는데, 그 당시 제 눈에는 제 엔지니어 생명을 갉아먹는 저승사자의 카운트다운처럼 보였습니다. 가상화 쪼렙 시절이었다면 아마 그대로 서버실 전원 내리고 노트북 덮은 채 도망치고 싶었을 겁니다. 숨이 턱 막혔습니다.
![]() |
| 이스터에그 게임 장면 |
아니 도대체 왜? 내 VM은 고향에 왔는데 왜 눈을 못 뜨는 걸까?
떨리는 손을 부여잡고, 티 내지 않으려 애쓰며 원인을 파악하기 시작했습니다. 잘만 돌아가던 놈이 왜 고향(AHV)으로 페일백만 하면 깡통이 되어버리는 건지. 이유는 생각보다 너무나 허무하고 어이없는 곳에 숨어 있었습니다. 바로 'nvram 디스크 플러시(Flush) 누락'. 이거 하나 때문이었습니다.
VM이 처음 AHV 위에서 UEFI 방식으로 부팅될 때 펌웨어 설정이 쫙 초기화됩니다. 이때 게스트 OS를 한 번 정상적으로 종료하거나 얌전히 재부팅을 해줘야만 이 설정값들이 nvram 디스크에 '완전히' 저장(Flush)됩니다. 그런데 시간이 없다는 핑계로 이 문단속 과정을 건너뛰고, 짐을 대충 싼 상태로 급하게 ESXi로 페일오버를 해버렸던 거죠. ESXi에서는 어떻게 꾸역꾸역 그 반쪽짜리 설정만으로도 부팅이 되긴 합니다. 진짜 문제는 다시 AHV로 돌아왔을 때 뻥 터집니다. 집 비밀번호를 반쪽만 기억하고 있으니 당연히 문이 안 열리고 게임기나 켜지는 셈이죠. 하...
이 경험을 통해 알게 된 UEFI 페일백 실패하지 않는 법 (현장 꿀팁)
이 글을 보고 계신 초보 엔지니어 여러분. 현장에서 이런 황당한 2048 게임 화면이 뜬다고 당황해서 무턱대고 스냅샷부터 롤백하지 마세요. 롤백한다고 해결될 문제가 아닙니다. 피 같은 밤샘 시간만 허공에 날리게 됩니다. 제가 여의도 한복판에서 제 수명 깎아가며 얻어낸 확실한 대처법 3가지를 정리해 드립니다.
- Step 1: 이사가기 전에는 무조건 '문단속(재부팅)' 한 번 더 하기
가장 확실하고 돈 안 드는 예방법 입니다. 애초에 VM이 AHV에서 처음 돌고 있고, 아직 ESXi로 장애조치 되지 않은 경우라면? 귀찮더라도 게스트 OS에서 정상 재부팅을 딱 한 번만 해주세요. OS가 알아서 UEFI 펌웨어 설정을 nvram에 꽉꽉 눌러 담아줍니다. 이러면 나중에 다시 페일백을 해도 아주 깔끔하고 스무스하게 올라옵니다.
- Step 2: 이미 게임 화면이 떴다면? 무조건 F2를 연타해라
이미 엎질러진 물. 고객사는 쳐다보고 있고 당장 부팅부터 시켜서 살려내야 한다면 화면에서 망설이지 말고 F2 기능 키를 누르세요. Boot Manager(부팅 관리자) 메뉴가 뜹니다. 거기서 방향키를 움직여 'UEFI NUTANIX VDISK' 부팅 디스크를 직접 선택하고 엔터를 치세요. 그럼 일단 임시방편으로 한숨 돌리며 윈도우(혹은 리눅스) 진입이 가능해집니다.
![]() |
| F2 부팅 후 디스크 선택 |
- Step 3: 찌꺼기를 날려버리는 물리적 수술 (근본 해결책)
서버를 껐다 켤 때마다 수동으로 부팅 디스크를 잡아줄 순 없는 노릇입니다. 꼬여버린 오래된 설정 변수를 아예 날려버려야 합니다. 복구 모드로 진입하거나, 부팅 관리자 메뉴 맨 아래에 있는 'EFI Internal Shell'로 들어갑니다. 여기가 핵심입니다.
![]() |
| EFI Internal Shell 진입 장면 |
쫄지 마세요, EFI 셸(Shell)에서 꼬인 족보 아주 쉽게 정리하는 법
까만 화면에 영어 명령어 치는 거 무서워하지 마세요. 보기보다 아주 직관적입니다.
EFI 셸에 진입하면 화면에 뭔가 알 수 없는 글자들이 주르륵 뜨면서
fs0: 같은 장치 매핑 테이블 목록이 보일 겁니다. 화면 맨 밑에
노란색 프롬프트(Shell>)가 깜빡거리면 제가 알려드리는 순서대로 타이핑하세요.
1.fs0:(입력 후 엔터. 부팅 디스크 안으로 쏙 들어갑니다.)
2.dir(입력 후 엔터. 디렉토리 내용을 쭉 봅니다. 목록 중에 약 11,409 bytes 크기의 NvVars라는 파일이 보일 겁니다. 네, 요놈이 이 사달을 만든 진범입니다.)
3.rm NvVars(입력 후 엔터. 오래된 찌꺼기 UEFI 변수 파일을 자비 없이 영구 삭제합니다.)
4.exit(셸 모드를 빠져나옵니다.)
끝입니다. 진짜 이게 다냐고요? 네, 다입니다. 이렇게 변수 파일을 쿨하게 날려버린 뒤에 다시 Windows 부팅 관리자로 진입하면, 시스템이 알아서 정상적인 설정값을 새로 쫙 잡고 윈도우 로고를 띄워줍니다. 이후에 새롭게 생성되는 스냅샷들은 다시 ESXi로 마이그레이션하거나 복원해도 아무런 문제가 생기지 않습니다.
식은땀 뻘뻘 흘리며 스마트폰으로 미친 듯이 구글링하던 그 여의도의 새벽이 아직도 눈에 선하네요.. 하지만 덕분에 이쪽 트러블슈팅 하나만큼은 이제 눈 감고 발가락으로도 할 수 있는 짬바가 생겼네요.ㅋ 초보 시절의 뻘짓과 삽질은 결국 다 피가 되고 살이 됩니다. 이 글이 어딘가에서 모니터만 노려보며 식은땀을 흘리고 있을 누군가의 퇴근 시간을 앞당겨주길 바랍니다.





0 댓글