컴퓨터 속에 또 다른 세상을 만드는 법, VMware Workstation과 함께한 삽질의 기록

시작은 아주 단순한 호기심이었다

내 컴퓨터는 윈도우다. 하지만 업무상 리눅스 환경이 꼭 필요할 때가 있다. 예전에는 듀얼 부팅을 썼다. 하지만 매번 재부팅을 하는 건 너무나 고통스러운 일이었다. 맥북을 쓰는 동료들이 터미널을 열어 슥슥 명령어를 치는 게 부러웠지만, 그렇다고 멀쩡한 델 워크스테이션을 버릴 순 없었다. 그래서 찾은 게 가상머신이었다. 처음에는 무료인 버추얼박스(VirtualBox)를 썼다. 그런데 묘하게 느리고, 화면 해상도 잡는 게 너무 스트레스였다. 결국 ‘돈값을 하겠지’라는 마음으로 VMware Workstation Pro를 설치했다.

단순히 가상머신 하나 띄우는 게 뭐 그리 대수냐 싶겠지만, 내 목표는 원대했다. 윈도우 10에서 개발을 하면서, 동시에 우분투 서버를 돌려 도커(Docker) 테스트를 하고, 가끔은 보안 분석용으로 칼리 리눅스까지 띄워두는 ‘완벽한 가상 실험실’을 구축하고 싶었다. 하지만 그 과정은 생각보다 훨씬 더 짜증 나고, 손이 많이 가는 작업이었다.

첫 번째 벽: Hyper-V라는 거대한 장벽

VMware를 깔고 신나게 우분투를 돌리려는데, 시작부터 에러 메시지가 떴다. ‘VMware Workstation and Hyper-V are not compatible’이라는 문구가 나를 반겼다. 아, 맞다. 윈도우 10/11에는 자체 가상화 솔루션인 Hyper-V가 들어있다. 문제는 이놈이 시스템 자원을 독점하려 든다는 거였다.

처음엔 그냥 Hyper-V 기능을 끄면 될 줄 알았다. 제어판에 들어가서 체크 박스를 해제하고 재부팅을 했다. 그런데도 안 된다. 알고 보니 윈도우의 ‘코어 격리(Core Isolation)’ 기능과 ‘가상화 기반 보안(VBS)’이 Hyper-V 엔진을 몰래 쓰고 있었던 거다. 여기서 첫 번째 판단 착오가 생겼다. 보안을 위해 켜두는 게 좋다는 조언들을 무시하고, 당장 VMware를 돌리겠다고 명령 프롬프트(cmd)를 열어 bcdedit 명령어로 하이퍼바이저 런처를 강제로 꺼버렸다.

결과는 성공이었다. VMware가 아주 부드럽게 돌아갔다. 하지만 며칠 뒤, WSL2(Windows Subsystem for Linux)를 써야 할 일이 생겼는데 이게 작동을 안 하는 거다. WSL2도 Hyper-V 기반이기 때문이었다. 결국 ‘보안과 WSL2’냐, ‘VMware의 성능’이냐를 두고 한참을 고민했다. 결국 윈도우 하이퍼바이저 플랫폼 기능을 켜서 VMware와 Hyper-V가 공존하게 만들긴 했지만, 확실히 이전보다 빠릿한 맛이 사라졌다. 뭔가 찝찝한 타협이었다. 여기서 한 번 막혔고, 내 선택이 100% 정답은 아니었다는 걸 깨달았다.

두 번째 실패: 네트워크 브릿지의 늪

가상머신에 우분투를 깔고 나서 가장 먼저 한 일은 네트워크 설정이었다. 나는 내 공유기에서 직접 IP를 할당받는 ‘Bridge’ 모드를 선호한다. 그래야 외부 기기에서 내 가상머신으로 접속하기 편하니까. 그런데 이상하게 네트워크가 잡히질 않았다.

분명 VMware 설정에서 내 무선 랜카드를 브릿지 대상으로 지정했는데, 가상머신 안에서는 인터넷이 먹통이었다. ‘뭐가 문제지?’ 싶어 구글링을 한 시간 넘게 했다. 알고 보니 내가 쓰는 노트북의 무선 랜카드 드라이버가 브릿지 모드를 제대로 지원하지 않는 경우가 있다는 글을 발견했다. 설마 싶어 유선 랜을 꽂아보니 바로 된다. 허탈했다.

이 지점에서 나는 고집을 부릴지, 아니면 현실과 타협할지 정해야 했다. ‘무조건 브릿지여야 해!’라며 드라이버를 지우고 깔고를 반복하다가 결국 윈도우 네트워크 설정이 꼬여버렸다. 인터넷 자체가 끊기는 참사가 벌어졌다. 결국 네트워크 초기화를 하고 처음부터 다시 시작했다. 판단을 바꿨다. ‘꼭 직접 IP를 받아야 하나? NAT 모드 쓰고 포트 포워딩(Port Forwarding) 하면 되잖아.’

결국 NAT 모드로 설정을 바꿨다. 윈도우 호스트 IP의 특정 포트를 가상머신으로 넘겨주는 방식을 택했다. 설정은 조금 번거로웠지만, 훨씬 안정적이었다. 처음부터 이렇게 했으면 주말 반나절을 날리지 않았을 텐데. 기술적으로 막힌 부분을 억지로 뚫으려다 전체 시스템을 망칠 뻔한 아찔한 경험이었다.

스냅샷, 구원의 빛이자 용량의 괴물

VMware의 기능 중 가장 마음에 드는 건 역시 스냅샷(Snapshot)이다. 새로운 라이브러리를 깔거나 시스템 설정을 건드리기 전에 스냅샷을 찍어두면, 뭔가 잘못됐을 때 1초 만에 과거로 돌아갈 수 있다. 실제로 우분투 커널을 만지다가 시스템이 커널 패닉에 빠져 부팅이 안 된 적이 있었는데, 스냅샷 덕분에 ‘휴…’ 하고 한숨을 내쉬며 복구할 수 있었다.

하지만 이 스냅샷 기능에도 함정이 있었다. 스냅샷을 찍을 때마다 디스크 용량을 어마어마하게 잡아먹는다. 어느 날 노트북 용량이 부족하다는 경고가 떠서 확인해보니, 가상머신 폴더 하나가 200GB를 넘기고 있었다. 스냅샷을 수십 개 찍어놓고 지우지 않은 탓이었다.

VMware의 클론(Clone) 기능도 마찬가지였다. 똑같은 환경을 복제해서 테스트하는 건 편한데, 이게 ‘Full Clone’을 하면 용량이 두 배가 된다. ‘Linked Clone’을 쓰면 용량은 아끼지만 원본이 삭제되면 같이 망가진다는 단점이 있다. 이런 기능들 사이에서 균형을 잡는 게 참 어려웠다. 그냥 ‘기능이 많으니까 좋다’라고 생각했는데, 그 기능을 유지하기 위해 내가 지불해야 하는 자원(디스크 용량)이 생각보다 컸다.

결론 없는 결론: 완벽한 도구는 없다

지금 내 컴퓨터에는 VMware Workstation이 잘 설치되어 있고, 32GB 메모리 중 16GB를 가상머신들에 할당해서 쓰고 있다. 8개의 가상 CPU를 몰아주니 꽤 무거운 컴파일 작업도 척척 해낸다. 256비트 AES 암호화 기능도 켜서 중요한 데이터는 보호하고 있다. 겉보기엔 아주 평화로운 환경이다.

하지만 여전히 불편한 점은 남아있다. 가끔 윈도우 업데이트가 진행되고 나면 VMware의 네트워크 어댑터가 사라지기도 하고, Hyper-V와의 미묘한 간섭 때문에 시스템 전체가 버벅일 때도 있다. Hyper-V는 무료이고 윈도우와 완벽하게 통합되어 있다는 장점이 있지만 인터페이스가 너무 불친절하고, VMware는 직관적이고 기능이 강력하지만 시스템 자원을 너무 많이 먹고 가끔 윈도우와 기싸움을 한다.

결국 이 문제는 ‘어떤 툴이 더 좋냐’의 문제가 아니라, ‘내가 겪는 불편함을 어디까지 감수할 것이냐’의 문제인 것 같다. 지금도 가끔 가상머신이 멈추면 욕을 내뱉으며 프로세스를 강제 종료하지만, 그래도 이 툴 덕분에 업무 효율이 오른 건 부정할 수 없다. 완전히 해결되지 않은 자잘한 오류들을 안고 오늘도 나는 가상머신을 켠다. 다음엔 또 어디서 막힐지 모르겠지만, 뭐 어떻게든 해결되겠지 하는 마음으로.

댓글 남기기