1. 서버 가상화 (Server Virtualization)
ㅇ 1 이상의 가상 기계로 하여금, 다수 운영체제,어플리케이션을 동시 실행 가능토록 하는 환경
- 주로, 하드웨어 자원 절약을 도모
2. 가상 기계, 가상 머신 (VM, Virtual Machine)
ㅇ 통상, 단일 컴퓨터 상에 가상으로 (소프트웨어적으로) 컴퓨터를 구동 시키는 것
- 운영체제 안에서 또다른 운영체제를 가동시키는 것
- 가상 컴퓨터를 시뮬레이션하는 소프트웨어를 총칭
ㅇ 또한, `단일 머신` 또는 `여러 머신으로된 클러스터 머신`으로 여러 운영체제 동시 운영도 가능
ㅇ 구현 기본 원리
- 컴퓨터 내 여러 다양한 하드웨어 요소(CPU,메모리,디스크,NIC 등)들을,
- 여러 다른 실행 환경으로 추상화시켜,
- 각 개별 환경이 마치 자신이 개별 컴퓨터에서 실행되는 착각을 일으키게 함
3. 서버 가상화의 주요 운영 방식
ㅇ 단일 물리 서버 위에 여러 가상 서버(가상 머신)들을 운영
ㅇ 단일 서버를 다수 독립된 물리 서버들로 분할시켜 가상 단일 기계화 운영
ㅇ 동적 재배치 운영
- 한 기계에서 다른 기계로 서버를 빠르게 이동 가능
- 일명, 라이브 마이그레이션
. 가상 머신 내 실행 중인 운영체제,어플리케이션을 중지시킴 없이,
. 다른 물리 서버로 가상 머신의 이관도 가능
. 例) VMware社의 vMotion 등
4. 서버 가상화를 위한 호스트 (기반 환경)
ㅇ 동일 호스트 위에 여러 운영체제(가상 머신)를 동시에 실행하기 위한 논리적 플랫폼
- CPU,메모리,디스크 같은 하드웨어 자원을,
- 가상 분할 배분시켜,
- 가상 머신에 이를 제공하는 기반/레이어(계층)
ㅇ 이를두고, Hypervisor (하이퍼바이저) 또는 Virtual Machine Monitor (VMM) 이라고 함
ㅇ VMM 구현 유형 분류
- 유형 0 : 펌웨어를 통한 가상 머신의 생성,관리를 지원하는 하드웨어 기반 환경
. 주로, 메인프레임 및 중대형 서버에서 사용됨
. 例) IBM LPAR, Oracle LDOM
- 유형 1 : 가상화 제공을 위한 운영체제와 유사한 소프트웨어 환경
. 例) VMware ESX, MS Server with Hyper-V, RedHat Linux with KVM 등
- 유형 2 : 범용 운영체제 위에 VMM 역할을 하는 응용 프로그램 환경
. 호스트 운영체제 위에서, 응용 프로그램으로 실행되며, 가상화 층을 구축해 기반화시켜,
. 그 위에 여러 게스트 운영체제들을 독립적인 가상 머신으로 격리시켜 동시에 실행 가능
. 각 가상 머신에는, 고유한 가상 CPU,가상 메모리,가상 디스크 드라이브, 가상 NIC 등을 갖음
. 각 가상 머신은, 사실상 호스트 운영체제의 파일이며, 이 파일을 타 시스템에 이동시키며,
시스템 관리 효율성(빠른 동적 재배치 등) 제고 가능
. 例) Oracle VM VirtualBox, VMware Workstation 등
5. 주요 데스크톱 가상화 솔루션 例)
ㅇ 윈도우즈 (MS社) : Hyper-V
ㅇ 버츄얼박스 (VirtualBox,오라클社) ☞ VirtualBox.org
ㅇ KVM (Red Hat社)
ㅇ VM웨어 (VMware社) : vSphere 등
6. 가상 머신 환경에서, 가상 네트워크의 구성 例)
ㅇ 단일 물리 서버 상에 여러 가상 머신들을 구축해 놓고, 이들 간에 가상 네트워크 구성
- 여러 가상 머신들에게 각각의 가상 NIC를 두고,
- 하나의 가상 스위치 또는 가상 라우터를 통해서 만,
- 외부 네트워크 접속과 동시에 가상 머신 간에 통신 가능