> 가상화(Virtualization) 총정리 (2) - 서버 가상화(Server Virtualization)란 무엇인가?:ITX 클라우드

server_virtualization


서버 가상화(Server Virtualization)란 무엇인가?

 기존의 물리 서버 환경의 컴퓨터 네트워크 관리자는 하나의 애플리케이션 또는 태스크에 하나의 전용 서버를 할당함으로써 애플리케이션에서 발생하는 문제의 원인을 쉽게 발견할 수 있었으며, 더불어 네트워크 구성 또한 용이하였다. 하지만, 이러한 방식은 몇 가지 문제를 유발하는데, 하나는 고집적 CPU의 파워를 충분히 활용하지 못한다는 점이며, 다른 하나는 컴퓨터 네트워크 규모가 커지고 복잡해짐에 따라, 서버가 점유하는 물리적 공간은 급증하고 동시에 이러한 서버랙들로 꽉찬 데이터센터는 엄청난 전력을 소비함과 동시에 열을 발생시킨다는 점이다.

 서버 가상화는 이러한 이슈들을 한 번에 해결하고자 시도되었다. 하나의 물리 서버는 여러 개의 가상 머신으로 전환될 수 있으며, 각각의 가상 서버는 마치 독립적인 물리 서버처럼 동작한다. 또한 자체 운영시스템을 구동할 수 있으므로, 이론상으로는 물리 서버의 실제 처리 능력을 최대한 활용할 수 있는 만큼의 개수에 해당하는 가상 서버를 생성할 수 있게 된다.

 과거 수십년 동안 컴퓨터 과학자들은 수퍼컴퓨터에 가상 머신들을 생성해 왔었으나, 실제 서버에 적용될 수 있었던 건 불과 몇 년 전 일이다. 가상화는 현재 IT(정보기술) 분야의 중요한 이슈 중 하나이며, 세계의 많은 기업들이 다양한 접근 방법으로 새로운 형태의 가상화를 시도하고 있다.


서버 가상화를 도입하는 이유

 서버 가상화에 대한 투자가 이루어지는 데는 많은 이유가 있다. 일부는 비용 절감의 일환으로 진행되는가 하면, 순수하게 기술적인 이유로 진행되는 경우도 있다.

  • 서버 가상화는 통합을 통하여 공간을 줄일 수 있다. 하나의 서버는 하나의 애플리케이션을 구동하는 형태가 일반적인데, 상당수의 애플리케이션들은 적은 양의 처리능력만을 사용한다. 따라서 네트워크 관리자는 이러한 서버들을 하나의 서버로 통합하여, 다수의 가상 환경을 구동시킴으로써, 물리 서버 및 공간을 절감할 수 있다. 수백 또는 수천 대의 서버를 운영하는 기업에게 있어서 가상화의 적용을 통해 물리적 공간을 현저히 줄일 수 있다.

  • 서버 가상화는 추가적인 물리 서버 구매 없이도 리던던시(Redundancy)를 확보할 수 있게 한다. 리던던시는 여러 개의 하드웨어에 동일한 애플리케이션을 구동함으로써, 하나의 서버가 오동작을 하더라도 다른 서버에서 동일 애플리케이션을 구동하므로 중요한 안전장치가 된다. 이러한 리던던시는 서비스 중단을 최소화한다. 하나의 애플리케이션을 구동하는 두 개의 가상서버가 하나의 물리 서버에 구축되는 경우, 물리 서버의 다운은 가상 서버의 즉각적인 중단을 유발하므로, 대부분의 네트워크 관리자들은 리던던시 가상 서버를 다른 물리 서버에 구축하는 것이 일반적이다.

  • 가상 서버는 프로그래머의 독립성을 보장해준다. 즉 독립된 시스템에서 신규 애플리케이션을 테스트하거나 운영할 수 있도록 한다. 네트워크 관리자는 전용 물리 서버를 구매하지 않고도 신규 가상 서버를 즉시 생성하여 할당할 수 있다.

  • 서버 하드웨어가 노후화되는 경우, 하나의 시스템에서 다른 시스템으로 전환하는 것은 매우 어려운 작업일 수 있다. 노후화 된 시스템(종종 레가시 시스템으로 부른다)에서 제공되는 서비스의 연속성을 위해, 네트워크 관리자는 최신 물리 서버에 가상 서버를 생성할 수 있다. 애플리케이션 운영상 볼 때 바뀌는 것은 없으며, 프로그램은 마치 과거의 하드웨어에서 구동되는 것처럼 운영된다. 이는 새로운 프로세스로의 전환 시, 하드웨어 오동작에 대한 우려를 덜어주며, 특히 레가시 하드웨어 공급업체가 없어져서 더 이상의 유지보수가 불가능한 경우에는 더욱 유효하다.

  • 마이그레이션은 하나의 서버 환경을 이전(또는 이동)시키는 것을 의미하는데, 하드웨어와 소프트웨어가 동일할 경우, 네트워크 상 하나의 물리 서버 상의 가상 서버를 다른 물리 서버로 이동하는 것이 가능하다. 과거에는 동일 하드웨어, 동일 운영 체제, 동일 프로세서 환경에서만 가능하였으나, 현재는 프로세서가 달라도 동일한 제조사일 경우라면, 마이그레이션이 가능하다.


서버 가상화의 종류

 가상 서버를 생성하는 데는 세가지 방식이 있다. 전가상화(full virtualization), 반가상화(para-virtualization), OS레벨 가상화(OS-level virtualization). 물리 서버는 호스트(host)라고 하며, 가상 서버는 (guest)라 한다. 가상 서버는 마치 물리 서버처럼 동작하는데, 각각의 시스템은 물리 서버의 자원을 가상 서버에 할당해 주는 접근 방식에 있어서 그 차이가 있다.

 

 전가상화는 하이퍼바이저(hypervisor)라고 하는 특수한 소프트웨어를 사용한다. 하이퍼바이저는 물리 서버의 CPU와 디스크에 직접 상호작용을 하며, 가상 서버의 운영체제를 위한 플랫폼 역할을 한다. 하이퍼바이저는 각각의 가상 서버들을 완전히 독립적으로 운용토록 한다. 각각의 게스트 서버는 자체 OS에서 운영되기 때문에, 리눅스 기반 게스트와 윈도우즈 기반 게스트를 동시에 운용할 수도 있다.

 하이퍼바이저는 물리 서버의 자원을 모니터링하여, 가상 서버에서 애플리케이션이 구동될 때, 물리 서버의 자원을 적절한 가상 서버에 할당해 준다. 물론 하이퍼바이저 자체 구동을 위해서도 처리능력 등의 리소스를 필요로 하기 때문에, 하이퍼바이저의 리소스 사용량은 전체 서버 퍼포먼스와 애플리케이션 구동속도에 영향을 줄 수 있다.


 반가상화는 전가상화와는 달리, 게스트 서버 간의 독립성 없이 상호작용한다. 반가상화 하이퍼바이저는 게스트 운영체제를 관리하기 위해 필요한 자원(처리능력)이 상대적으로 적게 든다. 이는 각각의 OS가 동일한 물리 서버에서 운영되는 다른 운영체제에서 필요로 하는 자원을 이미 인지하고 있으며, 이들 시스템은 마치 하나처럼 동작하게 된다.


 OS레벨 가상화는 하이퍼바이저를 사용하지 않는 대신, 가상화 기능이 호스트 OS에 포함되어 있다. 호스트 OS의 가상화에는 전가상화의 하이퍼바이저의 모든 기능들이 포함된다. 다만 게스트 서버는 반드시 동일한 OS를 구동해야 한다는 한계가 존재한다. 각각의 가상 서버는 독립적이지만, 다른 종류의 OS를 복합적으로 사용할 수 없으므로 이러한 환경을 균일 환경(homogeneous environment)이라 한다.


 어떠한 방식이 최선인지는 네트워크 관리자의 요구사항에 달려있다. 관리자의 물리 서버가 동일한 OS를 요하는 경우, OS레벨 접근이 최선일 것이며, 다양한 OS를 사용할 경우에는 반가상화가 최선일 것이다. 반가상화의 문제점은 비교적 최신 기술이라 이를 공급하는 기업이 매우 적다는 것이다. 대부분의 공급자는 전가상화만을 제공하고 있으며, 반가상화에 대한 기술 축적과 솔루션 확대를 진행하고 있는 중이다.


서버 가상화의 한계

 서버 가상화가 주는 혜택은 너무도 매력적이어서, 모든 기술에는 한계가 있다는 사실을 종종 잊어버리게 한다. 서버 가상화는 도입 전 반드시 자체 네트워크 아키텍쳐와 필요 사항, 도입 예정인 서버 가상화 기술을 면밀히 검토하여야 한다.

 CPU 점유율이 높은 애플리케이션의 전용 서버에 있어서 가상화는 큰 도움이 되지 않을 수도있다. 가상화는 본질적으로 물리 서버의 처리능력을 여러 개의 가상 서버에 나누어 사용하기 때문에, 애플리케이션의 요구환경에 미달할 경우, 문제가 발생할 수 있다. 최악의 경우 서버의 처리능력을 넘어서게 되면, 시스템이 다운될 가능성도 있다. 따라서 네트워크 관리자는 사전에 CPU 사용량을 자세히 검토해야 한다.

 하나의 물리 서버에 지나치게 많은 가상 서버들을 생성하여 서버의 CPU에 과부하를 일으키는 것은 그다지 현명한 일이 아니다. 하나의 물리 서버에서 구동하는 가상 서버가 많아지면 많아질수록, 각각의 가상 서버가 사용할 수 있는 처리 능력은 줄어들게 되며, 물리 서버의 디스크 사용량 또한 동일한 문제를 일으킬 수 있다. 

 또 다른 문제는 마이그레이션인데, 현재는 하나의 물리 서버에서 구동되는 가상 서버를 마이그레이션할 수 있는 전제조건은 동일한 제조사의 프로세서를 사용해야 한다는 것이다. 만일 동일한 네트워크 상에 있는 인텔 프로세서를 사용하는 서버에서 AMP 프로세서를 사용하는 서버로 가상 서버를 포팅하고자 한다면, 이는 불가능하다.

 가상 서버의 마이그레이션이 왜 필요할까? 만일 하나의 물리 서버에 대한 유지보수가 필요할 경우, 다른 물리 서버로 가상 서버를 포팅하는 것이 애플리케이션 다운타임을 최소화 할 수 있기 때문이다. 마이그레이션은 선택사항이 아니다. 하나의 물리서버에서 구동되는 가상 서버의 모든 애플리케이션들은, 유지보수 시에는 서비스가 불가하게 될 것이다.

 이러한 제약사항에도 불구하고 많은 기업들은 서버 가상화에 대한 투자를 지속하고 있다. 서버 가상화 기술이 발전하게 되면, 대규모 데이터센터가 필요하지 않는 상황이 발생할 수도 있다. 서버의 전력 소비량과 열 발생량 또한 감소하게 되면, 자원 활용에 대한 효율성 뿐만 아니라, 그린 IT에 대한 니즈 또한 충족시킬 수 있다. 


Ref. : Jonathan Strickland, computer.howstuffworks.com

Changoh Joo

주창오, 효성ITX 클라우드사업부

자유로운 서버생성 / 무약정,최저가 / 1주일 무료, ITX클라우드 서비스 www.itxcloud.co.kr

댓글을 달아 주세요



티스토리 툴바