맥OS, 리눅스 사용자는 꼭 알아둬야 할 기술: 가상화

강일용 zero@itdonga.com

[IT동아 강일용 기자] 클라우드 시대가 열리면서 클라우드 컴퓨팅 기술의 핵심인 가상화(Virtualization) 기술이 주목받고 있다. 많은 개인과 기업이 알게 모르게 이미 가상화의 혜택을 보고 있다. 이 글을 읽고나면 '아 이 기술이 가상화였구나'라고 생각하게 될 것이다. 가상화 기술에 대해 쉽게 알아보자.

가상화 기술은 크게 '플랫폼 가상화'와 '리소스 가상화로 나눌 수 있다.

플랫폼 가상화: 운영체제 속에 운영체제를 설치

사용자들은 이 가운데 보통 플랫폼 가상화를 자주 이용한다. 플랫폼 가상화란 주 운영체제(Host OS) 속에 보조 운영체제(Guest OS) 환경을 만들어 내는 기술이다. 가상 머신(Virtual Machine)이라고 부르기도 한다.

플랫폼 가상화 기술을 활용하면 마이크로소프트(MS) 윈도우 속에 또 다른 윈도우나 리눅스 환경을 만들어 낼 수 있고, 애플 맥OS(구 OS X) 속에 윈도우나 리눅스 환경을 만들어 낼 수도 있다. 최근에는 기술의 발달로 윈도우나 맥OS 속에 안드로이드 환경을 만들어내는 것도 가능해졌다.

플랫폼 가상화를 이용하는 가장 큰 이유는 프로그램(앱) 호환성이다. 최신 버전 윈도우가 완벽환 프로그램 호환성을 보장하지는 않는다. 구형 윈도우에 맞춰 개발된 프로그램은 최신 윈도우에서 실행되지 않는 경우가 많다. 그렇다고 멀쩡한 최신 버전 윈도우를 두고 구 버전 윈도우를 사용할 수는 없는 노릇이다. 이때 플랫폼 가상화가 유용하다.

윈도우7 속에 윈도우XP를 설치한
모습
윈도우7 속에 윈도우XP를 설치한 모습
<플랫폼 가상화 기능을 활용해 윈도우7 속에 윈도우XP를 설치한 모습>

대표적인 사례로 플랫폼 가상화 SW '윈도우XP 가상PC'를 활용해 윈도우7 프로페셔널 위에 윈도우XP를 설치하는 경우를 들 수 있다. 이 경우 주 운영체제는 윈도우7을 이용하면서, 특정 프로그램을 이용해야 할 때에만 윈도우XP를 이용할 수 있다. 윈도우 위에 윈도우를 설치할 수 있는 플랫폼 가상화 기능은 윈도우 프로 버전과 홈 버전을 가르는 가장 대표적인 기능이다. 윈도우 홈 버전은 플랫폼 가상화 기능을 이용할 수 없다.

주 운영체제로 윈도우 대신 맥OS나 리눅스를 이용할 때에도 유용하다. 맥OS에 플랫폼 가상화 SW '패러렐즈' 또는 'VM웨어 퓨전'를 설치하거나, 리눅스에 '버추얼박스' 또는 '지놈박스'를 설치하면 맥OS와 리눅스 속에 윈도우 환경을 만들어낼 수 있다. 평소에는 맥OS와 리눅스를 이용하다가 맥OS와 리눅스에서 처리하기 힘든 인터넷 쇼핑 및 뱅킹, 관공서 홈페이지 접속(국내 한정), MS 오피스 실행 등의 작업을 해야 할때 유용하다. 사실 세 작업의 중요성을 감안하면 맥OS와 리눅스 사용자라면 반드시 알아둬야할 필수 기술에 가깝다.

패러렐즈
패러렐즈
<대표적인 플랫폼 가상화 SW '패러렐즈'. 맥OS 속에 윈도우를 설치할 수 있다>

플랫폼 가상화를 이용하는 또 다른 이유는 편리함이다. 사실 플랫폼 가상화를 이용하지 않아도 여러 운영체제를 이용할 수 있는 방법이 있다. 하나의 PC에 여러 운영체제를 설치한 후 필요에 따라 둘을 번갈아 부팅해가며 이용하는 것이다. 하지만 매우 번거롭다. 부팅 시간이 오래 걸리고, 기존에 했던 작업을 어쩔 수 없이 종료해야 한다. 사용자 환경이 달라서 헷갈리고, 두 운영체제 간에 파일 공유가 번거로운 것도 문제다. 플랫폼 가상화를 이용하면 주 운영체제의 사용자 환경 위에서 보조 운영체제를 조작할 수 있다. 파일 공유도 편리하며, 무엇보다 운영체제 부팅과 프로그램 종료 등의 번거로움이 사라져서 편리하다.

사실 일반 윈도우 사용자들은 플랫폼 가상화 기능을 접할 일이 드물다. 하지만 맥OS나 리눅스 사용자 또는 리눅스 서버 관리자라면 플랫폼 가상화 기능에 대해 반드시 알아둬야 한다. 사용자는 점유율이 떨어지는 운영체제를 이용한다는 핸디캡을 극복하고, 이를 2개 이상의 운영체제를 동시에 이용한다는 기회로 바꿀 수 있기 때문. 맥OS의 미려한 사용자 환경을 이용하면서 국내 홈페이지의 모든 서비스를 이용할 수 있고, 리눅스의 확장성을 활용하면서 MS 오피스를 이용할 수도 있다. 리눅스 서버 관리자의 업무 능률도 향상된다. 일반 업무를 처리하면서 가끔 서버를 관리하는 개발자라면 윈도우 속에 리눅스를 설치해서 이용하면 되고, 서버 관리가 주 업무고 일반 사무가 보조 업무라면 리눅스 속에 윈도우를 설치해서 이용하면 된다.

플랫폼 가상화의 한계: 제 성능이 안나온다?

이렇게 편리한 플랫폼 가상화 기술도 한계가 존재한다. 가장 큰 문제는 하드웨어 리소스(성능)를 많이 요구한다는 것이다. 운영체제 위에서 운영체제를 실행한다는 것은 운영체제 2개를 실행할 만큼의 하드웨어 리소스를 요구한다는 의미다. 여기에 각종 프로그램과 앱을 실행하면 더 많은 하드웨어 리소스가 필요하다. 당연히 CPU, 메모리가 이를 감당할 수 있을 만큼 뛰어나야 가상화 기술을 쾌적하게 이용할 수 있다.

다행히 현재 인텔 코어 i 시리즈 CPU는 성능도 2개 정도의 운영체제를 동시에 실행할 수 있을 정도로 뛰어나고, 하드웨어적으로도 플랫폼 가상화 기술을 지원한다. CPU 스펙에 가상화 기술 지원이라고 적혀 있다면 2개의 운영체제를 동시에 실행할 수 있다고 보면 된다. 제온 같은 서버/워크스테이션 CPU는 3~4개의 운영체제를 동시에 실행할 수 있을 정도로 수준 높은 가상화 기술을 지원한다.

메모리(RAM)의 경우 최소 4GB가 확보되어야 플랫폼 가상화를 이용할 수 있다는 것이 중론이다. 운영체제 자체가 요구하는 메모리가 제법 많기 때문이다. 쾌적하게 플랫폼 가상화를 이용하고 싶다면 8GB 이상의 메모리를 확보해야 한다.

또 다른 문제는 (주 운영체제 말고) 보조 운영체제의 경우 하드웨어의 성능을 제대로 이용할 수 없다는 것이다. 보조 운영체제는 CPU, GPU, 메모리 등 컴퓨터 리소스에 바로 접근하는 것이 아니라 주 운영체제를 거쳐서 접근한다. 그만큼 접근 효율이 떨어지고, 원래 하드웨어 성능만큼의 작업 효율이 나오지 않는다. 인터넷, 문서 작성 등 높은 하드웨어 성능을 요구하지 않는 작업을 할 때에는 아무런 문제가 되지 않는다. 하지만 게임, 포토샵, CAD 등 고사양 프로그램을 실행해야 할 때에는 문제가 된다.

현재 패러렐즈 등 플랫폼 가상화 SW는 보조 운영체제가 바로 CPU, 메모리 등에 접근할 수 있도록 했다. 이를 통해 보조 운영체제의 퍼포먼스가 떨어지는 현상을 해결했다. 다만 GPU는 여전히 보조 운영체제가 바로 접근하기 어렵다. 때문에 최신 3D 게임 같이 GPU 성능을 많이 요구하는 작업은 반드시 주 운영체제에서 처리하는 것이 좋다.

리소스 가상화: 하드웨어 속에 하드웨어를 생성

플랫폼 가상화 기술이 소프트웨어적인 가상화 기술이라면, 리소스 가상화는 하드웨어적인 가상화 기술이다. 특정 하드웨어 속에 또 다른 하드웨어를 만들어내는 것이다. 인프라 가상화라고 부르기도 한다. 일반 사용자는 접할 일이 드물고, 보통 대규모 클라우드 컴퓨팅 서비스에서 이용된다.

리소스 가상화는 수많은 하드웨어를 하나의 거대한 컴퓨팅 자원으로 바꾼 후 이 가운데 일부를 떼어내 활용한다. 이렇게 떼어낸 컴퓨팅 자원을 자신이 활용하거나 다른 이에게 임대해주고 있다. 일반 하드웨어는 내부 부품이 고장나면 그대로 작동을 멈추지만, 리소스 가상화는 일부 내부 부품이 고장나더라도 전체 시스템은 아무런 영향을 받지 않는다. 클라우드 컴퓨팅 서비스가 보통 가용성 99.9%를 보장하는 이유이기도 하다.

사용자는 플랫폼 가상화 기술만 이용하지만, 기업과 스타트업은 플랫폼 가상화 기술과 리소스 가상화 기술을 둘 다 이용한다. 우리가 클라우드 컴퓨팅 서비스를 얘기할 때 자주 들을 수 있는 IaaS(인프라 서비스)는 리소스 가상화 기술을 이용한 것이고, PaaS(플랫폼 서비스)는 플랫폼 가상화와 리소스 가상화 기술을 모두 이용한 것이다. (물론 둘을 확실하게 구분하기엔 조금 애매한 점이 있다. 이해를 위해 이 정도만 짚고 넘어가자)

VDI(데스크탑 가상화)는 플랫폼 가상화와 리소스 가상화를 모두 이용한다. 기업이 리소스 가상화가 적용된 데이터 센터(=클라우드 데이터 센터)를 구축해 거대한 컴퓨팅 자원을 만든 후 플랫폼 가상화 기술을 활용해 수 많은 가상 데스크탑을 만든다. 그 다음 기업 구성원들에게 이 가상 데스크탑을 나눠주는 것이다. PC 고장 때문에 업무가 마비될 일이 없어지고, 외부 보안 위협 침투나 내부 정보 유출에 쉽게 대비할 수 있게 된다. 무엇보다 운영체제와 소프트웨어를 통합 관리할 수 있어 편리하다. 때문에 보안을 요구하는 금융 기관을 중심으로 활용되고 있다. (다만 막대한 네트워크 인프라를 선행 구축해야 하고, 유지/보수 비용이 지속적으로 요구되어 최근에는 망분리 PC에 밀려 사장세다)

글 / IT동아 강일용(zero@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.