Part 1. Introduction to Virtualization: Server-Virtualization

Part 1. Introduction to Virtualization: Server-Virtualization

759

Part 1. Introduction to Virtualization: Server-Virtualization

 

고 지 범 |MBC기술연구센터

 

시리즈를 시작하며

2008년 3월부터 현재, 6월까지 IT 관련 신문이나 웹사이트에서 Virtualization(가상화) 관련 기사가 매우 비중 있게 취급되고 있습니다. Virtualization(가상화) 관련 기술 및 업계 동향이 다양한 분야에 걸쳐 폭넓게 진행되고 있으며, 이에 따라 각종 제품 및 벤더들의 합종연횡이 춘추전국시대를 방불케 하는 상황입니다. 이에 몇 편의 연재를 통해서 기술적 이해도를 높이고 적용분야 검토에 있어 장단점을 소개하는 기회를 가지도록 하겠습니다.

 

Introduction

방송환경에 IT 인프라 도입(Infrastructure change), NLE 혹은 컴퓨터의 도움을 받는 제작/송출환경의 변화(CAM, Computer Aided Manufacturing) 등은 요즘 들어 별로 새로운 사항이 아닙니다.

제작 쪽에 근무하는 일반적인 J씨의 경우를 살펴봅시다. J씨는 NLE, 제작 스토리지, 파일 공유, 비디오 서버, 시스템 관리 서버 등의 용어가 이제 일상 생활에서 사용하는 용어가 되었습니다. IT 관련 장비의 사용이 많아지고 빈도가 높아져 갈수록 컴퓨터, 서버 등은 계속 늘어만 갑니다. J씨가 사용하던 NLE가 동작이 이상해서 들어가 본 서버 룸은 이젠 괴기스럽기까지 합니다. 수많은 랙(rack)에 꽂혀 있는 서버들의 웅웅거리며 동작하는 소리를 들으며 바라본 서버 룸은 J씨에게 새로운 형태의 정글에 들어온 듯한 기분을 느끼게 합니다.

송출 쪽에서 장비 관리를 담당하고 있는 일반적인 S씨의 경우도 매우 비슷합니다. 이제 기계실에는 예전과 같이 단순장비만 있지 않습니다. 많은 수의 IT서버들이 그 자리를 차지하고 있으며 앞으로도 더욱 늘어갈 것으로 예상됩니다. 평상시에는 매우 잘 동작하고 있으므로 관리의 어려움은 없지만, 설치된 모든 IT 서버 상태를 확인하고 점검을 하는 일은 매우 시간이 많이 걸리고 어려운 작업 중 하나입니다. 가끔씩 S씨는 서버들의 상태를 점검하고 관리하는 작업을 할 때면 밀림 속에서 헤매고 있는 듯한 느낌을 가질 경우가 많습니다.

 

Server Virtualization: Why? 왜?

위에서 살펴본 J씨와 S씨의 경우, IT 관리자는 아닙니다. 그만큼 IT환경의 친숙도는 매우 높은 것이 현실입니다. 그럼 이제 IT 관리자의 시각으로 현재 환경을 바라보겠습니다.

IT 관리자의 시각으로 바라본 서버룸은 매우 안타깝습니다. 기본적으로 클라이언트-서버 환경으로 구성되어 사용되기 때문에(현재까지 모든 환경은, 웹까지 포함해서 C/S환경이 전제입니다.), IT 관리자가 바라본 서버들은 일을 잘 안 합니다. 서버의 CPU 사용률 및 I/O 사용률은 몇몇 특정 시간을 제외하고 거의 1~2% 정도 입니다. 이전 기사(Many-core시대, 조금 더 발 빠른 준비가 필요하다.)에서 소개 드린 Manycore CPU를 탑재한 서버가 대중화되면서 소위 “일 안 하는 서버”는 더욱 늘어만 갑니다. IT 관리자는 이런 유휴 자원을 효율적으로 사용하는 방법이 필요합니다.

 

Server Virtualization: How? 어떻게?

IT 관리자의 시각에서 바라본 “일 안 하는 서버”를 “착하게 일 많이 하고 안정적으로 동작하는 서버”로 바꾸는 방법은 간단합니다. 서버에게 더 많은 일을 하도록 시스템을 변경하면 됩니다. 가령 시스템 사용률이 1~2% 되는 서버들 20개를 모두 하나의 서버에 올려서 사용하는 방식을 택한다면, 해당 서버의 사용률은 20%~50% 정도로 올라갑니다.(Task switching 비용이 발생하므로 사용률이 약간 더 올라갑니다.) 컴퓨터 하드웨어, 특히 CPU 및 HDD 등 I/O peripheral 기기의 성능이 대폭 향상된 현재 시점에서 이러한 접근 방식은 실현 가능성이 뛰어나며, 아울러 매우 많은 수의 벤더 및 연구기관에서 해당 지원 제품을 출시하고 지원하고 있습니다.

이와 같이 물리적인 서버와 비교되어 가상으로 동작하는 서버의 기능을 제공하는 방식으로 가상 머신(VM, Virtual Machine) 위에 가상 서버를 구동시키는 방식이 보편적입니다. 가상 서버는 자신만의 O/S를 가지고 자신 만의 역할을 합니다. 가상 서버의 비정상적 행위 및 System Crash는 다른 가상 서버에게 영향을 미치지 않습니다. 여기에 서버 가상화의 기본 개념이 있습니다.

 

Server Virtualization : What? 종류는?

아래는 기본적인 서버 가상화를 나타내는 그림입니다.

Hypervisor 라는 추상 계층 위에 가상 머신을 동작시키고, 운영하고자 하는 서버의 O/S가 별도로 설치되어 동작하게 됩니다. 가상 머신이 서로 분리되어 있기 때문에 가상으로 구동되는 서버들은 서로 영향을 받지 않고 독자적으로 동작합니다. 따라서 Windows NT 서버가 비정상적 행위를 하더라도 다른 서버들은 정상적으로 동작하게 됩니다. 특별한 가정 없이 Server Virtualization이라고지칭하면위의방식을일컫는경우가대부분입니다.

다음으로 살펴볼 방식은 동작 속도 등 성능에 대한 개선 사항을 반영한 방식입니다.

 

서버 가상화 방식 중 Paravirtualization이라고지칭되는방식입니다. Hypervisor, VM, OS 3가지 컴포넌트가 서로에 대해서 특별하게 구성된 방식으로 성능의 향상을 목표로 합니다. 위에서 살펴본 일반적인 Server Virtualization의 경우 VM이 보편적인 서버환경 제공을 목표로 하기 때문에 성능에 있어 마이너스적인 측면이 존재하는 것을 개선한 방식입니다.

마지막으로 살펴볼 방식은 OS Virtualization(Partitioning) 방식이 있습니다.

 

 

일반적인 Server Virtualization의 경우와 비교하여 성능은 동일하며 각각의 파티션들이 동일한 OS를 사용하게 됩니다. 구성 및 관리의 장점이 존재하지만, 대학 및 연구소에서 주로 연구하는 대상 중에 하나이고 특별히 특화된 제품이나 벤더는 보이지 않는 경향이 있습니다.

 

Conclusion

이번 기사에 소개 드린 방식들은 Virtualization(가상화)라는 주제를 다룰 때 대표적으로 이야기되는 분야입니다. IT 환경이 더욱 더 현실 속에 파고들게 됨에 따라, IT 환경 운용 및 관리는 매우 중요한 이슈가 되고 있습니다. 더 나은 IT 근무 환경이 제공된다면 곧바로 기업 경쟁력까지 증대될 것입니다.