이 페이지에서는 서버와 하이퍼바이저에 대해 이야기한다.
1. 서버
2. 하이퍼바이저 가상화 개념
3. 하이퍼바이저 가상화 소프트웨어
1. 서버
서버 가상화 개념은 기업에서 서버를 사용하는 방법이 어떻게 변해왔는지 알게 되면 이해하기 쉽다. 기업이 IT 서비스를 운영하기 위해서는 서버(Server)가 필요하다. Serve는 '제공하다'라는 뜻을 가진 영어단어인데, 여기서 파생된 Service:서비스, Serving:서빙 등의 단어가 있다. 그러면 서버는 '-er'이 뒤에 붙어 무언가를 주는 역할을 한다는 것을 떠올려 볼 수 있게 된다.
서버는 항상 무언가를 제공한다.
서버는 항상 무언가를 제공한다. 데이터를 제공하는 서버는 데이터베이스 서버, 웹 페이지를 제공하는 서버는 웹서버가 된다. 서버는 컴퓨터이다. 개인이 일반적으로 사용하는 컴퓨터보다 CPU, RAM, Disk등의 사양이 훨씬 좋을 뿐이다. 실제로 개인 노트북에서도 간단한 서버를 구성해 애플리케이션을 운영할 수도 있다. 하지만 서비스가 커지면 커질수록 서버가 제공하는 데이터의 처리량도 많아지기 때문에 더 큰 서버가 필요하게 된다.
하드웨어가 발전하면서, 성능은 더 뛰어나고 크기는 더 작아졌다. 하지만 이에 반해 서버 소프트웨어(DB, WEB, WAS 등..)의 요구사항은 큰 변화가 없기 때문에, 하나의 하드웨어에 더 많은 소프트웨어를 사용하기 위한 니즈가 발생했다. 하나의 노트북에 문서 편집, 브라우저, 미디어 플레이어 등 다양한 프로그램을 사용하는 것처럼 '서버 소프트웨어도 한 군데에 몰아서 설치하면 되지 않을까?'라는 의문이 들 수도 있지만 소프트웨어 간의 간섭이나 운영의 용이함을 위해 하나에 서버의 하나의 서버 소프트웨어를 운영하는 것이 일반적이다.
소프트웨어는 기본적으로 실행되기 위한 OS(Window, Linux 등)가 필요한데, 보통 OS는 컴퓨터 하나 당 하나만 설치된다. 이를 도식화하면 다음과 같다. 일반적으로 사용하는 컴퓨터와 동일한 구조이다.
하나의 하드웨어를 나눠서 사용하기 위해 가상화 개념이 등장했다. 가상화는 오랜 역사를 가진 하이퍼바이저 가상화와 비교적 최근에 개발된 컨테이너 가상화가 있다.
2. 하이퍼바이저 가상화
하나의 하드웨어를 여러 개로 나눠서 사용한다는 것은 곧 OS가 여러대가 필요하다는 것을 의미했다. 여기서 하드웨어를 나눌 수 있도록 만든 소프트웨어를 하이퍼바이저라고 부르고, 이 하이퍼바이저를 이용해 별도의 OS를 생성하는 것을 하이퍼바이저 가상화라고 부른다. 그리고 이렇게 생성한 OS를 가상 머신 또는 게스트OS라고 부른다. 이 개념을 도식화하면 다음과 같다.
마치 호스트OS가 집주인이고 게스트OS가 세입자인 것처럼 가상 머신은 필요에 의해 언제든지 생성하고 삭제할 수 있다. 그리고 하이퍼바이저는 하드웨어의 리소스를 가상 머신이 나눠서 사용할 수 있도록 관리한다. 이렇게 관리할 경우 게스트OS에서 소프트웨어를 운영하기 때문에, 굳이 호스트OS를 사용하지 않아도 된다. 호스트OS를 사용하면 기존에 사용하던 환경에서 하이퍼바이저 프로그램을 다룰 수 있어 편리하지만, 호스트OS 역시 리소스를 사용하기 때문에 없는 것이 더 효율적일 수 있다. 첫 번째 방식이 Type2 가상화이고, 호스트OS가 없는 방식이 Type1 가상화이다.
3. 하이퍼바이저 가상화 소프트웨어
다양한 하이퍼바이저 소프트웨어가 사용되고 있다. 개인이 테스트 용으로 많이 사용하는 VMware Workstation Pro와 VirtualBox를 비교해 보자. VirtualBox는 무료이고, VMware Workstation Pro는 유료이다.(몇가지 기능을 제거한 무료 버전인 Workstation Player도 있다.) 일반적으로 성능과 편의성은 VMware Workstation Player이 뛰어나다. 다만 VirtualBox는 사내 테스트로도 부담 없이 사용할 수 있는 반면, VMware Workstation Player의 경우 개인 사용으로 제한을 두고 있기 때문에 사내 내부 테스트로는 사용이 부적절하다.
현재는 컨테이너 가상화로 많이 전환하는 추세이지만, 아직까지 대부분의 가상화 환경은 하이퍼바이저를 사용하는 가상화 방식을 사용하는 곳이 많다. 이번 글에서는 하이퍼바이저 가상화의 종류와 제품에 대해 알아보았다. 다음으로는 컨테이너 가상화에 대해 다룰 예정이다.
내용에 오류가 있거나 이해가 안되는 부분이 있으면 댓글로 소통해주세요
언제나 환영합니다
'가상화' 카테고리의 다른 글
[리눅스 설치] CentOS 8 Guest Additions 설치 | 데인트리 라이브러리 (0) | 2021.01.03 |
---|---|
[리눅스 설치] Virtualbox CentOS 8 설치 | 데인트리 라이브러리 (0) | 2020.12.08 |
[리눅스 설치] VirtualBox 6.1 설치 | 데인트리 라이브러리 (0) | 2020.11.17 |
댓글