practice makes perfect

하드웨어 리소스 가상화 본문

Private Cloud/vSphere & Horizon

하드웨어 리소스 가상화

후니옹 2015. 5. 26. 18:17

대표적인 4가지의 하드웨어 구성요소인 CPU,메모리,스토리지, 네트워킹을 VMkernel 어떻게 가상화하여 가상머신들에게 할당하는지 알아보기

 

 

[CPU 가상화]

가상머신 내의 게스트 운영체제에서 발생하는 CPU 프로세스들은  VMkernel VMM 통해 실제 물리적인 CPU 프로세스 처리가 이루어질 있도록 전달된다.

VMkernel 모든 가상 머신들에게 발생하는 CPU 프로세스들을 기본적으로는 최대한 균등하게 분배될 있드록 전체 물리적인 CPU 리소스를 적극적으로 스케줄링한다.

- 하이퍼스레딩(hyperthreading)지원: ESX 서버는 그것을 전부 논리적 프로세서 단위로 인식

-CPU Affinity: 특정 가상머신에서 일어나는 CPU 명령을 항상 고정적으로 전담하여 처리를 도맡을 물리적인 CPU 지정해주는 기능

-가상 SMP: ESX서버는 가상머신 최대 8개의 가상 CPU 생성해 있다

하지만 엔터프라이즈 플러스 에디션만 8개이고 나머지 에디션은 4개까지가 한계이다.

-CPU 전원관리: ESX 서버를 운영중에 언제라도 CPU 클록 주파수와 전력을 동적으로 조정하여 전력비용을 절감시킬 있는 기술

-NUMA: 다중 멀티 프로세싱 방식이며, CPU 자체에 메모리 컨트롤러 기능을 추가하여 하나의 노드 역할을 하게되고 CPU 고속으로 자신에게 할당된 메모리를 직접 접근하게 된다

 

[메모리 가상화]

ESX 서버에서 메모리를 사용하는 요소는 크게 두가지로 VMkernel 서비스콘솔이다.

ESX 서버에서 서비스콘솔이 차지하는 메모리 영역은 300MB이며 크기를 제외한 전체 물리적인 메모리는 전부 VMkernel .

 

x86 운영체제들이 메모리를 관리하는 기본적인 방식

-Shadow Page Table :  VMkernel 모든 가상머신들이 실제로 자신은 연속된 물리적인 메모리를 가지고 있다는 환상을 심어주어야 한다.

Shadow Page Table 통해 게스트 가상 메모리와 게스트 물리 메모리 , 그리고 게스트 물리메모리와 호스트 물리 메모리 간의 매핑이 이루어지게 된다.

섀도우 페이지 테이블을 통해 실제 게스트 가상 메모리와 호스트 물리 메모리 간의 매핑에 대한 숙제는 해결되었으나, 수많은 가상 머신들이 제한된 호스트 시스템의 물리적인 메모리를 좀더 효과적으로 사용하고자 하는 노력은 오히려 메모리 오버커밋먼트(Memory Over-Commitment) 같은 기술로 빛을 발한다.

의미하는 기능은 아래와 같다.

물리적으로 메모리 크기가 제한된 시스템 위에 전체 가상머신의 메모리 합이 초과되더라도 정상적으로 운영할 있게끔 해주는 것이다.

 

ESX 서버에서 지원하는 오버커밋먼트 기능

-Transparent Page Sharing(페이지 공유 기술)

-Memory Ballooning(가상 메모리 공간 확보)

-하이퍼바이저 스와핑

 

[스토리지 가상화]

디스크 경우 개별 가상 머신들에게 마치 자신의 디스크 컨트롤러에 직접 연결된 로컬 하드 디스크인 마냥 인식시켜 주게 되는데 이를 가상머신 디스크(VMDK)파일 이라고 부른다

이러한  VMDK 파일들은 단일 파일인 동시 크기가 상당하다 또한 고속 접근이 이루어져야 한다. ESX 서버 운영체제 입장에서는 이러한 파일을 담아두어야 특별한 파일 시스템이 필요하지 않을 없다. VMFS 개발된 이유가 이것이다. VMDK파일들은 대부분 VMFS 위에서 작동되는데 파일 시스템은 다음과 같은 가지 커다란 특징을 가지고 있다.

-거대한 블록크기: VMFS 기본적으로 1MB ~ 8MB까지 설정할 있는 고성능 파일 시스템이다. 블록크기가 커다란 이유는 바로 VMFS 위에 저장되는 VMDK 파일들의 기본크기가 워낙 크기 때문이다. 이렇게 커다란 단일 파일을 고속으로 접근하기 위해선 블록크기를 크게 가져갈 수밖에 없다.

-클러스터 파일 시스템 구조: 가장 알려진 OCFS(오라클 파일 시스템)이나 Veritas CFS(베리타스 클러스터 파일 시스템)처럼 VMFS 역시 클러스터 파일 시스템 구조를 가지고 있는데 최대 32대의 ESX 서버들이 동시에 단일 VMFS 볼륨에 대하여 읽고 수가 있다. 이러한 클러스터 파일 시스템 구조의 특징으로 인해 하나의 VMFS 볼륨에 여러 대의 ESX 서버 호스트들이 동시에 읽고 있지만, VMDK 파일은 오직 대의 ESX 서버 호스트만 열어볼 있다.

 

 

[네트워킹 가상화]

모든 가상머신들은 자신만의 가상 네트워크 어댑터를 가지고 호스트 시스템의 물리적인 NIC 공유하여 사용하게 된다.

가장 핵심은 가상스위치라 있다.

가상 스위치는 소프트웨어적으로만 작동되어 가상머신과 물리적 연결이 필요 없고 사실상 일반적인 물리적인 스위치구조에서 발생 있는 케이블 미디어에서 발생하는 충돌문제(Collision) 오버헤드(Overhead)자체가 존재하지 않는 장점이 있다.

 

가상 네트워킹 환경을 구성하는 요소

-가상 NIC: 각각의 가상머신들은 가상 스위치와 통신을 하기 위해 가상의 네트워크 인터페이스 카드를 갖추게 되는데, 이러한 가상 NIC 각각 고유한 자신만의 MAC 주소를 갖게 되며 가상 스위치와 Auto Negotiation으로 연결하게 된다.

-가상 스위치:  ESX 서버에서는 모든 가상머신들이 물리적인 네트워크 인터페이스 카드를 통해 외부와 통신하기 위해 가상 스위치를 만들게 된다.

-포트그룹: 가상 스위치에서 관리하는 일종의 논리적인 그룹단위

-물리적 NIC: 호스트에 장착된 물리적 NIC 가상 스위치와 맞물려 일종의 업링크 포트처럼 인식

-물리적 네트워크


'Private Cloud > vSphere & Horizon' 카테고리의 다른 글

VMware Converter SSL Disable  (0) 2016.04.15
VMware Standard Virtual Switch  (0) 2015.05.26
VMware ESX / ESXi  (0) 2015.05.26
VMware ESX Server  (0) 2015.05.26
가상화란?  (0) 2015.05.26
Comments