1. CPU

 

위 그림은 서버의 Compute 노드의 모습이다 2개의 CPU 소켓에 2개의 CPU와

여러개의 RAM이 위치해 있는 것을 볼 수 있다.

 

 

위의 그림은 서버의 구조를 도식화 한 모습으로 CPU가 하이퍼스레딩을 지원 한다면

기본적으로 ESXi에서 인식이 가능하며 한 쓰레드 마다 LCPU로 인식하여 줍니다.

 

 

VM을 생성하되면 VM의 vCPU는 실제 물리서버의 LCPU에 할당되어 동작하게 됩니다. 

 

 

 

 

 

 

2. Memory

 

 

메모리는 4KB 단위로 쪼갠 메모리 페이지 단위로 구성이 되며, 비 연속적으로 저장이 됩니다.

위 그림은 쪼게어진 메모리 페이지를 불러오는 과정을 도식화한 과정으로서,

먼저 에플리케이션 > 운영 체제 > ESXi 호스트 시스템 메모리로 2번을 맵핑하여 메모리 페이지를 불러옵니다.

 

 

VM의 메모리의 총합의 경우 실제 물리적 메모리의 용량 보다 더 크게 만들 수 있으며,

이는 오버커밋을 통해서 유휴 가상머신에서 추가 메모리를 필요로 하는 가상머신으로 메모리를 전송하여

메모리 사용률을 높힐 수 있기 때문에 가능합니다.

 

오버커밋을 통해 생긴 오버헤드는 스왑파일(.vswp)에 저장이 됩니다.

 

 

 

 

| 메모리 재할당 기술

 

1. 다른 가상머신을 위해 특정 가상머신의 메모리 할당 해제

위에서 설명한 오버커밋을 말하는 것이며,

VM에 설치된 VMtools의 ballooning을 이용하여 오버헤드를 일으켜 스왑파일로 오버해드된 메모리 페이지를 저장,

확보된 메모리 페이지를 스왑파일에서 메모리가 필요한 VM으로 할당해 주는 방식으로 이루어 집니다.

 

 

2. 투명 페이지 공유

동일한 컨텐츠의 메모리 페이지의 경우 VM들 끼리 공유하여 사용하게 됩니다.

 

 

3. 호스트 수준의 SSD 스와핑

 

호스트 캐시 스왑 파일용으로 호스트에서 SSD(Solid State Drive)를 사용하면 성능이 향상될 수 있습니다.

 

 

4. 가상머신 메모리를 디스크로 페이징

 

VMkernel 스왑 공간의 사용은 성능이 나빠지기 때문에 최후의 수단으로  사용됩니다.

 

 

+ Recent posts