블로그 이미지
주로 인재개발원 등의 사이버학습을 정리, 요약하는 상시학습 블로그입니다. 깨비형
« 2017/10 »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Archive»

체험 블로그 마케팅 서비스 OLPOST

Category»

Notice»

Statistics Graph

[10강] 서버 가상화

컴퓨터 활용/클라우드 컴퓨팅 | 2012.07.13 10:47 | Posted by 깨비형

1. 서버 가상화 시장

 

  ○'서버 가상화'란 하나의 컴퓨터에서 여러 개의 운영체제를 설치해 여러 개의 서버처럼 운용하는 기술로, 현재는 VM웨어, 마이크로소프트, 시트릭스(젠소스 인수) 등이 관련 시장을 주도하고 있다.

 

  ○가상화 기술은 하나의 서버를 여러가지 용도로 사용한다는 점에서 총 소유비용을 줄일 수 있고, 유지보수 등도 훨씬 더 간편케 해 급성장할 것으로 예상되는 시장이다.

 

  ○ 서버 가상화 시장
    ▷ 현재 VM웨어가 약 시장의 70%를 장악하고 있다고 평가되는 등 무서운 기세를 올리고 있다.
    ▷ 이 힘을 바탕으로 VM웨어는 미국 나스닥 시장에서 돌풍을 일으키며, 모 기업인 EMC의 현금원이 됐다. 그러나 VM웨어를 공략하는 업체들의 움직임도 발빠르다.
    ▷ 최근 시트릭스는 오픈소스 서버 가상화 솔루션 업체 젠소스를 인수해 VM 웨어에 도전장을 던진 바 있다. 시트릭스는 시트릭스 젠서버 등 젠소스 기술을 이용한 솔루션을 선 보이며 VM웨어와의 '맞짱'을 선언했다.
    ▷ 마이크로소프트는 VM웨어에서 돌아가는 서버들을 MS 포맷으로 전환할 수 있도록 해주는 '시스템센터 버추얼머신매니저' 을 발표하며 VM웨어를 견제하기 시작했다. MS는 윈도 서버 2008에 비리디안(코드명)이라는 가상화 솔루션을 탑재해 VM웨어와 경재하고 있다.
    ▷ 오라클은 전 세계 소프트웨어 시장의 2위이지만, 기업용 SW시장에서는 실질적으로 1위를 달리고 있다. 세계적인 기업 중 오라클 제품에 의지하지 않고 있는 기업이 거의 없을 정도다. 오라클은 오라클 VM이 자사의 DB, 미들웨어, 애플리케이션을 지원한다는 것을 명확히 하고 있다. 기존 오라클 제품을 이용하는 고객이나, 미래의 오라클 고객을 주 타겟으로 하겠다는 전략이다. 과연 오라클이 VM웨어의 독주를 막을 수 있을 지 주목된다.

 


2. 서버 가상화 개념

 

  ○ 서버 가상화는
    ▷ 하나의 서버에서 여러 개의 애플리케이션, 미들웨어 및 운영체제(OS)들이 제각기 서로 알 필요도 없고, 서로 영향을 미치지 않으면서 동시에 사용될 수 있도록 해준다.

 

  ○ 서버 가상화의 초기 형태에는
    ▷ 가상 메모리, 가상 I/O 그리고 에뮬레이션 등이 포함되었다.
    ▷ 이러한 초기 형태의 가상화 기술들은 곧 애플리케이션 및 서브 시스템의 가상화로 발전되어서 다수의 애플리케이션, 서브 시스템 또는 미들웨어 스택들이 하나의 운영 체제 아래에서 통제를 받으면서 수행될 수 있게 해준다.

 

  ○ 아래 그림은 서버 가상화의 여러 가지 형태를 간단히 설명해주고 있다.
    ▷ 서버 내의 가상화의 대표적인 예로는 Managed Runtime, 물리적 분할, 가상 머신, 논리적 파티셔닝, 가상 I/O를 들 수 있다.

 


3. 서버 가상화 기술

 

   1) Managed Runtime
      - 오랫동안 대형서버들은 단일 OS 시스템(또는 OS 이미지) 위에서 상용의 대규모이면서 높은 가용성이 요구되는 애플리케이션들이 서로 영향을 미치지 않으면서 돌아갈 수 있도록 독립적인 메모리 스페이스 영역과 CPU 자원을 별도로 할당하는 아키텍쳐 디자인을 유지해 왔다.
      -  위측의 그림 처럼 애플리케이션 중심의 단일 사용보다는 공유에 적합하도록 디자인된 좀 더 발전된 형태의 아키텍쳐는 애플리케이션과 미들웨어 사이에서 절연(Isolation) 효과와 데이터 정합성을 보장해준다.
      - 오늘날 Sun의 SPARC/Solaris와 같은 아키텍쳐들과 운영 체제들은 Managed Runtime 또는 컨테이너를 제공하려고 진화하고 있다.

 

   2) 물리적 분할(Physical Partitioning)
    ▷ 서버 가상화는 하드웨어 자원들이 물리적으로 분할이라는 하위 자원 단위로 분할되어 사용할 수 있게 해준다. 이때의 물리적 분할은 대개 CPU 프로세서와 I/O 디바이스를 경계로 이루어지며, 각 파티션은 최소한 1개 이상의 CPU 프로세서를 가져야 한다.
    ▷ 각 파티션은 물리적으로 완전 격리된 형태로 구성되며, 그래서 파티션들은 일반적으로 유연하지 못하고 전체 시스템을 재부팅 하기 전까지는 변경되지 못한다.
    ▷주 프레임에서 최초 소개되었던 물리적 파티션은 이제 서버들이 좀더 안정화되고 경량화되면서 장점를 잃어가고 있고 아주 소수의 시스템들만이 제공할 뿐이다.
    ▷분할은 크게 물리적 분할, 소프트웨어적 분할(주로 가상 머신) 그리고 논리적 분할 등으로 구분할 수 있다.

 

   3) 가상 머신(Virtual Machine)
    ▷ 1970년대 초반 가상 머신(VM)의 도래는 가상화의 새로운 장을 열었다.
    ▷ 가상 머신을 이용한 서버 가상화는 소프트웨어적 파티셔닝 또는 OS 이미지 가상화라고도 불리운다.
    ▷ 여기서 가상 머신은 일종의 단순화되고 변형된 모체 OS로써, 이런 OS 위에 우리가 알고 있는 리눅스, 윈도우와 같은 완전한 OS 시스템이 설치되어 돌아갈 수 있게 된다.
    ▷ 아래의 그림은 이러한 가상 머신의 개념을 간단히 보여 주고 있다.


      - 가상 머신 위에서 가동되는 개별 OS 이미지는 실제 디바이스와 에뮬레이션된 디바이스 모두를 액세스할 수 있다.
      - 아래의 그림에 간단히 보여 주고 있다.

 

      - 이런 가상 머신의 개념은 최근에 나온 것은 아니다.
      - 오늘날 가상 머신은 아주 치밀하고 가변적이어서, 실제 및 가상 자원들 모두가 공유될 뿐만 아니라 가상 머신들 사이에서 시스템 재시작 없이도 동적으로 스위칭 될 수 있도록 해준다.
      - 가상 머신을 통해 OS 이미지를 가상화하는 능력이 주어짐에 따라, 사용자들은 추가 하드웨어 구입 없이도 새로운 OS의 설치, 애플리케이션의 테스팅 및 업그레이드를 동일한 물리적 서버상에서 동시에 수행 시킬 수 있다.
      - 이를 통해 같은 물리적 서버상에서 다른 OS 이미지로 가동되는 운영 시스템들간에 아무런 영향을 끼치지 않고서도 새로운 애플리케이션들을 동시에 테스팅 할 수 있게 된다.

 

   4) 논리적 분할(Logical Partitioning)
      - 논리적 분할 은 가상 머신과 물리적 분할 사이에 있는 뛰어난 서버 가상화 기능이다.
      - 가상 머신과 함께 논리적 분할 은 IT 인프라스트럭쳐를 가상화하기 위한 전략에 있어서 핵심 요소가 된다.
      - 논리적 분할 은 별도의 모체가 되는 OS 없이 하이퍼바이저(Hybervisor)라는 펌웨어 수준에서 하나 또는 그 이상의 OS 이미지들이 하나의 물리적 서버 위에서 동작할 수 있도록 해준다
      - 이러한 각 논리적 파티션은 고정 혹은 가변적인 개수의 프로세서를 가질 수 있다.
      - 물론 논리적 파티셔닝을 통해 물리적 파티셔닝 기능을 구현할 수도 있다.
      - 참고로 1개의 단일 프로세서의 일부분을 할당하여 동적인 논리적 파티션을 만드는 것은 마이크로 파티셔닝(Micro Partitioning)이라 부른다.
      - 또한 논리적 파티션간에 자원 활용의 불균형이 존재하는 경우에는 시스템이 제공하고 있는 고급 파워 가상화 기능의 하나인 파티션 로드 매니저를 활용할 수도 있다.
      - 파티션 로드 매니저는 각 논리적 파티션들의 사용률을 실시간으로 파악하여 미리 정해진 사용률 정책을 기반으로 하여 워크로드가 낮은 파티션의 CPU 및 메모리 자원을 실시간으로 워크로드가 높아진 파티션으로 자동 재분배해 줌으로써 최적의 시스템 효율성을 추구하게 해준다.
    ▷ 하이퍼바이저의 아키텍처 구현 방식 사례: VMWare ESX의 구조도를 보여 주고 있다

 


   5) I/O 가상화
    ▷ 필요성
      - 가상 머신과 논리적 분할만으로는 서버 내 가상화의 공유 및 절연(Isolation) 기능을 완벽하게 구현할 수는 없다.
      - 이를 보완하기 위해 어댑터와 같은 I/O 자원들을 공유하거나 또는 가상 머신들 간에 혹은 논리적 파티션들간에 I/O 통신을 할 필요가 있다.
    ▷ 해결방법
      - 서버와 운영체제의 결합을 통해 I/O 가상화를 구현하기 위한 여러 가지 방법을 제공하고 있다.
    ▷ 시스템의 가상 I/O 서버(VIOS)
      - 특별한 목적의 가상 분할로서, 다른 파티션들에게 I/O 자원을 공급하는 역할을 한다.
      - 가상 I/O 서버는 물리적 자원을 소유하면서 다른 파티션들에게 I/O 자원의 공유를 허용해준다.
      - 사용자들은 가상 I/O 기술덕분에 물리적 어댑터를 특정 파티션에만 할당하고서도 다른 파티션들과 공유해서 사용할 수 있게 된다.
    ▷ 결과
      - 각 파티션마다 별도로 네트워크 어댑터, 디스크 어댑터 그리고 디스크 드라이브를 가져야 하는 요구사항이 제거됨으로써 전체적인 비용을 낮출 수 있게 된다.
    ▷ 가상 I/O 서버가 가지는 I/O 가상화의 기능에 따라 3가지로 분류된다.
      - 가상 SCSI,
      - 가상 이더넷,
      - 공유 이더넷 어댑터(Shared Ethernet Adapter)

 

     ★ 가상 이더넷 (Virtual Ethernet)
      - 대표적인 I/O 가상화의 하나로써 가상화의 애뮬레이션 기능을 이용하고 있다.
      - 각 파티션들간에 물리적인 네트워크 어댑터 없이도 메모리 버스를 통하여 통신이 가능하게 해준다.
      - 이것은 동일한 물리적 하드웨어상에서 돌아가는 솔루션의 계층 요소들끼리 메모리상에서 고속, 고효율의 통신이 가능하다는 것이다.
      - 이를 통해 사용자들은 별도의 물리적 어댑터를 사용하지 않고서 또 어댑터 구매에 따르는 관리 및 비용 부담 없이도 절연, 네트워크 이중화 그리고 향상된 보안 체계를 가질 수 있다.

 

     ★ 공유 이더넷 어댑터(SEA: Sharable Ethernet Adaptor) :
      - 공유 이더넷 어댑터는 파티션의 개수보다 물리적 어댑터의 개수가 적은 경우에 여러 파티션들이 물리적 이더넷 어댑터를 공유할 수 있도록 해준다.
      - 또한 가상 이더넷에서 실제 네트워크 어댑터로 네트워크 트래픽을 보내줌으로써 가상 이더넷과 실제 물리적 이더넷을 연결하여 주기도 한다.
      - 아래 그림은 공유 이더넷 어댑터를 통한 가상 통신의 흐름도를 보여주고 있다.

 


     ★ 가상 SCSI
      - 한 대의 서버를 여러 개의 파티션으로 나누어 구성할 경우 가장 문제가 되는 부분이 I/O 어댑터의 부족이며,
      - 특히 외장 디스크를 사용할 수 있게 해주는 파이버 채널 어댑터가 절실히 부족하게 된다.
      - 이를 해결하기 위해 가상 I/O 서버의 개념이 필요하다.
      - 가상 I/O 서버는 물리적인 디스크를 실제로 소유한 파티션으로서 디스크 볼륨이 필요한 파티션들에게(파이버 채널 어댑터가 없음) 논리적 디스크 볼륨의 형태로 디스크 볼륨을 할당해준다.
      - 즉, 가상 I/O 서버 파티션에서 만들어져 제공된 논리적 디스크 볼륨은 이를 이용하는 다른 파티션들에게 SCSI 디스크 형태로 나타난다.

저작자 표시 동일 조건 변경 허락
신고

'컴퓨터 활용 > 클라우드 컴퓨팅' 카테고리의 다른 글

[12강] 가상화 엔진  (0) 2012.07.15
[11강] 스토리지 가상화  (0) 2012.07.13
[10강] 서버 가상화  (0) 2012.07.13
[9강] 가상화 개념  (0) 2012.07.12
[8강] 클라우드 컴퓨팅 도입전략  (0) 2012.07.11
[7강] 클라우드 컴퓨팅 SaaS  (0) 2012.07.10