본문 바로가기
슬로그(seulogs) 슬로그(seulogs)

가상화 GPU 패스스루(PCIe Passthrough) 설정과 드라이버 충돌 해결

읽는 시간 약 8분

가상화 환경에서 그래픽 카드의 성능을 온전히 누리는 방법

컴퓨터 기술이 발전하면서 하나의 물리적인 기계 위에 여러 개의 가상 운영체제를 돌리는 가상화 기술이 보편화되었습니다. 서버 관리자뿐만 아니라 일반 사용자들도 집에서 가상머신을 활용해 다양한 작업을 처리하곤 합니다. 하지만 가상화 환경에서 고성능 그래픽 작업이나 최신 게임을 구동할 때 치명적인 한계에 부딪히곤 합니다. 바로 그래픽 처리 장치의 성능이 가상머신 내부로 제대로 전달되지 않는 문제인데 이를 해결하는 핵심 기술이 바로 PCIe 패스스루입니다.

일반적인 가상화 환경에서는 가상 머신이 호스트 운영체제를 거쳐 하드웨어와 소통하기 때문에 그래픽 카드가 가진 본래의 성능을 십분 발휘하기 어렵습니다. 화면을 부드럽게 출력하거나 복잡한 3차원 그래픽을 렌더링하는 작업에서 심한 끊김 현상이 발생합니다. 이때 물리적인 그래픽 카드를 가상 머신에 직접 연결해 주는 패스스루 기술을 적용하면 가상 머신 안에서도 실기기에서 구동하는 것과 거의 흡사한 수준의 그래픽 성능을 얻을 수 있습니다.

가상화 패스스루 기술이 우리 삶을 바꾸는 방식

이 기술은 단순한 호기심이나 전문 연구원들만의 전유물이 아닙니다. 일상생활과 업무 환경을 획기적으로 바꾸어 주는 실용적인 도구로 활용될 수 있습니다. 고가의 장비를 여러 대 구매할 필요 없이 하나의 강력한 본체로 다양한 환경을 구축할 수 있다는 점이 가장 큰 매력입니다.

첫째로 게임과 업무를 완벽하게 분리하면서도 성능 저하를 막을 수 있습니다. 리눅스나 윈도우 같은 주력 운영체제 위에서 작업을 하다가 고성능 그래픽 카드가 필요한 순간에만 가상머신을 띄워 게임을 즐길 수 있습니다. 둘째로 영상 편집이나 삼차원 그래픽 디자인 작업을 하는 전문가들에게 유용합니다. 비싼 맥킨토시 기기와 윈도우 워크스테이션을 따로 두지 않고 하나의 강력한 서버 컴퓨터 안에서 운영체제별 전문 프로그램을 최고 성능으로 구동할 수 있습니다.

성공적인 설정을 위한 사전 준비 사항

패스스루 기술을 내 컴퓨터에 구현하기 위해서는 하드웨어와 바이오스 설정이 뒷받침되어야 합니다. 모든 메인보드와 그래픽 카드가 이 기능을 원활하게 지원하는 것은 아니기 때문에 사전에 꼼꼼한 확인이 필요합니다.

가장 먼저 확인해야 할 부분은 프로세서와 메인보드의 가상화 지원 여부입니다. 인텔의 경우 VT-d 기술을 지원해야 하며 AMD의 경우 AMD-Vi 기술이 활성화되어 있어야 합니다. 이 기능들은 메인보드 바이오스 설정 화면에 진입하여 직접 켜주어야 활성화됩니다. 또한 IOMMU 기능이 정상적으로 작동하는지 확인하는 것이 필수적입니다. 이 기능은 물리적인 장치들을 가상 머신에 개별적으로 할당할 수 있게 해주는 기초 토대입니다.

그래픽 카드를 선택할 때도 주의가 필요합니다. 일부 엔비디아의 소비자용 제품군은 가상화 환경에서 패스스루를 시도할 때 오류 코드를 뿜어내며 작동을 거부하는 경우가 있습니다. 이를 우회하기 위한 설정 방법이 커뮤니티를 통해 공유되고 있지만 초보자에게는 진입 장벽이 될 수 있습니다. 라데온 계열이나 엔비디아의 전문가용 쿼드로 라인업이 상대적으로 충돌 없이 부드럽게 설정되는 경향이 있습니다.

드라이버 충돌 문제와 해결의 실마리

패스스루 설정 과정에서 가장 많은 사용자가 좌절하는 순간은 드라이버 충돌 문제입니다. 가상 머신에 그래픽 카드를 성공적으로 연결했더라도 화면이 까맣게 변하거나 코드가 멈추는 현상이 빈번하게 발생합니다. 이는 호스트 시스템과 가상 머신이 동시에 그래픽 카드를 제어하려고 충돌을 일으키기 때문입니다.

이러한 문제를 해결하기 위해서는 호스트 운영체제가 해당 그래픽 카드를 아예 인식하지 못하도록 사전에 차단해야 합니다. 리눅스 기반의 호스트를 사용한다면 부팅 과정에서 특정 그래픽 카드 장치 번호를 블랙리스트에 등록하여 호스트 드라이버가 로드되지 않도록 설정해야 합니다. 그래픽 카드의 롬 파일을 직접 추출하여 가상 머신 설정에 주입하는 롬 파일 패치 작업이 필요한 경우도 많습니다.

블루스크린이나 알 수 없는 오류 코드로 시스템이 멈춘다면 가상 머신의 하이퍼바이저 설정을 점검해야 합니다. 특히 가상 머신이 자신이 가상화 환경에서 돌고 있다는 사실을 숨기도록 설정하는 하이퍼바이저 은닉 기능을 켜주는 것이 드라이버 충돌을 방지하는 결정적인 요령이 됩니다.

흔히 갖는 오해와 진실

가상화 패스스루에 관해 인터넷상에는 잘못 알려진 정보들이 적지 않습니다. 가장 흔한 오해 중 하나는 패스스루를 사용하면 원래 성능의 절반 이하로 떨어질 것이라는 생각입니다. 실제로 이 기술을 제대로 적용했을 때의 성능 손실은 고작 일에서 이 퍼센트 남짓에 불과합니다. 거의 네이티브 환경과 다름없는 성능을 보여줍니다.

또 다른 오해는 아무 컴퓨터나 그래픽 카드만 두 개 꽂으면 쉽게 구현할 수 있다는 점입니다. 물리적인 슬롯에 카드를 꽂는 것뿐만 아니라 메인보드의 PCIe 레인 분할 구조와 IOMMU 그룹 분리 상태가 맞아떨어져야 하므로 사전 지식이 필수적입니다. 내 메인보드의 구조상 사운드 카드와 그래픽 카드가 같은 그룹으로 묶여 있다면 분리 작업에 상당한 노력이 필요할 수 있습니다.

비용 효율적인 시스템 구축을 위한 제안

고성능 그래픽 카드가 장착된 PC를 여러 대 구매하는 것은 엄청난 비용 부담입니다. 패스스루 기술을 활용하면 하나의 본체에 고성능 그래픽 카드를 장착하고 여러 명의 사용자가 동시에 각자의 독립된 환경을 사용하는 가상 데스크톱 인프라를 가정에서도 저렴하게 구축할 수 있습니다.

오래된 제온 서버용 프로세서나 중고 워크스테이션 메인보드를 활용하면 적은 예산으로도 다중 패스스루가 가능한 하드웨어를 마련할 수 있습니다. 전력 소비와 공간을 동시에 절약할 수 있으며 부품 교체나 업그레이드도 본체 하나만 손보면 되므로 유지보수 비용도 대폭 줄어듭니다.

현장 전문가들이 전하는 실전 노하우

가상화와 패스스루 분야를 다루는 엔지니어들은 철저한 백업과 단계별 접근을 강조합니다. 한 번에 모든 설정을 완벽하게 끝내려고 욕심을 부리면 어디서 문제가 생겼는지 파악하기 어렵습니다.

먼저 가상 머신 없이 호스트 단독으로 그래픽 카드가 정상 작동하는지 확인하고 IOMMU 그룹이 깨끗하게 분리되는지 검증한 뒤에 패스스루 설정을 단계별로 적용해야 합니다. 로그 파일을 자주 확인하는 습관을 들이는 것이 좋습니다. 오류가 발생했을 때 로그 파일에 찍히는 메시지만 정확히 읽어내도 해결책을 찾는 시간을 절반으로 줄일 수 있습니다.

자주 묻는 질문

    • 내장 그래픽과 외장 그래픽을 동시에 패스스루할 수 있나요?

      네 가능합니다. 보통 호스트 시스템에는 내장 그래픽을 할당하여 화면 출력을 담당하게 하고 고성능 외장 그래픽 카드는 가상 머신에 통째로 넘겨주는 방식을 가장 많이 사용합니다. 이 방식이 드라이버 충돌을 피하는 가장 안정적인 방법입니다.

    • 패스스루를 설정한 후에 모니터를 어디에 꽂아야 하나요?

      가상 머신에 연결된 그래픽 카드의 출력 단자에 모니터를 직접 연결해야 합니다. 가상 머신이 실행되는 동안에는 해당 그래픽 카드가 실기기처럼 작동하므로 모니터 신호도 그쪽으로 나와야 화면을 볼 수 있습니다.

    • 게임할 때 마우스나 키보드 입력 지연이 발생하지 않나요?

      가상 머신 설정에서 USB 컨트롤러 자체를 통째로 패스스루해주면 지연 현상을 거의 느낄 수 없을 만큼 해결됩니다. 단순한 가상 USB 장치 연결보다는 하드웨어 컨트롤러를 직접 넘겨주는 방식을 추천합니다.

lucid_ls
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.