베어메탈 서버란?
‘베어메탈’이란 용어는 원래 하드웨어 상에 어떤 소프트웨어도 설치되어 있지 않은 상태를 뜻합니다. 즉, 베어메탈 서버는 가상화를 위한 하이퍼바이저 OS 없이 물리서버를 그대로 제공하는 것을 말합니다. 따라서 하드웨어에 대한 직접 제어 및 OS 설정까지 가능합니다.
특히 가상화로 인한 불필요한 성능 저하가 없어 고성능을 발휘하는 데에 유리합니다. 이런 특징들을 보면 베어메탈 서비스는 결국 서버호스팅과 같지만, 베어메탈 서버는 직접 물리 서버를 구매하고 설치하는 것이 아니라 클라우드 가상 서버와 동일하게 클라우즈 환경에 신속하게 배치하고 사용 할 수 있다는 점에서 다릅니다.
베어메탈이 왜 부상한 것인가?
가상화 때문입니다. 가상화 아키텍처는 크게 두 가지로 분류하는데, 바로 호스형 가상화와 베어메탈 가상화입니다. 말 그대로 호스트형 가상화는 하드웨어 상에 호스트 운영체제가 있고, 그 위에서 가상머신을 구현하는 방식입니다. 보통은 호스트 운영체제가 커널 수준에서 가상화 기술을 지원합니다.
반면에 베어메탈 가상화는 호스트 운영체제없이 하드웨어 상에 하이퍼바이저가 바로 설치되고, 이 위에 가상머신을 구현한 것입니다. 이런 하이퍼바이저를 베어메탈 하이퍼바이저라고 부릅니다. 현재 서버용 하이퍼바이저의 대부분은 베어메탈 하이퍼바이저이며, 데스크톱용 하이퍼바이저의 다수가 호트스형 하이퍼바이저입니다.
가상 서버와 클라우드
클라우드에서 서버는 주로 가상화 방식으로 구현된 가상머신, 즉 가상 버서 형태로 제공됩니다.
가상화는 하나의 하드웨어를 다양한 용도에 맞게 분할하여 사용하므로 지원 활용의 경제성을 높이고, 클라우드는 이러한 가상화 자원을 네트워크를 통해 제어하여 유동적 서비스가 가능하게 합니다.
가상 서버와 클라우드가 일반화되기 전에는 서버가 필요한 사람들은 실제 물리 서버를 임대 혹은 구입하여 사용하는 서버호스팅 서비스를 이용했습니다. 하지만 물리 서버를 직접 구매하여 사용하는 것은 초기 투자 비용이 많고, 시간과 공간적 제약, 관리 부담이 크다는 문제가 있었습니다.
가상화와 클라우는 이와 같은 서버호스팅의 단점을 일부 해결할 수 있어 최근 활발히 도입되고 있습니다.
가상 서버의 한계
서버호스팅 서비스에서 서버는 온전한 물리 서버를 의미하며, 이용 고객은 서버 하드웨어에 대한 직접적 권한을 가지고 이를 전용으로 사용할 수 있습니다.
이에 반해 가상화 서버는 하드웨어를 직접 제어할 수 없고 ‘하이퍼바이저’라는 중계층을 거치게 되므로 물리 서버를 그대로 사용하는 것에 비해 성능 저하가 발생할 수밖에 없습니다.
게다가 가상 서버는 보통 동일한 하드웨어 자원을 공유해서 사용하므로 가상화 서버가 상호 간섭현상으로 인해 성능을 제대로 발휘하지 못할 가능성이 있으며, 심한 경우 물리 서버 장애 시 모든 서비스가 중단되는 상황이 발생할 수 있습니다.
따라서 데이터베이스 등 성능과 안정성에 민감한 서비스에는 가상 서버 도입이 권장되지 않습니다.
가상화 주요 용어
하이퍼바이저
호스트 시스템 위에 설치되어 작동되는 가상화 운영체제를 하이퍼바이저라고 부른다. 이러한 하이퍼바이저는 물리적인 호스트 시스템위에 설치되어 일종의 운영체제처럼 작동되며, 가상머신들이 하드웨어 리소스를 공유하여 사용할 수 있게끔 스케줄링하는 책임을 맡게 된다. 가상머신 생성과 리소스 할당 및 관리 작업들이 모두 이러한 가상화 운영체제에 의해 조정된다. 하이퍼바이저는 2가지로 구분된다.
- Type-1: 하드웨어에 직접 실행되며 게스트 운영체제는 하드웨어 위에 2번재 수준으로 실행
- Type-2: 일반프로그램과 같이 호스트 운영체제에서 실행, VM내부에서 동작되는 게스트 운영체제, 하드웨어에서 3번째 수준으로 실행
가상머신 VM
가상머신은 가상화 운영체제에 의해 생성된 가상의 하드웨어 집합체이다. BIOS와 CPU, 메모리, HDD, 네트워크 인터페이스 등을 가지고 있다. 가상 머신 위에 설치되는 운영체제 입장에서는 실제 물리적인 일반 시스템과 전혀 다를 바가 없으나, 실제로 이러한 가상 하드웨어들은 전부 일종의 파일 형태로 존재하거나 또는 해당 머신에서만 독점적으로 사용하는 것이 아니다.
게스트 운영체제
흔히 가상 머신과 게스트 운영체제를 혼영하여 사용한다. 엄밀히 말하면, 가상 머신 위체 설치되어 작동되는 운영체제들인 Windows, Linux등을 게스트 운영체제라고 해야 한다.