장점 :
여러 데이터를 빠르게 처리하기 위해서는 고속 CPU, 대용량 메모리 같은 고성능 하드웨어 들이 필요로 했지만, 분산 처리기술을 여러 가지의 서버로 나누어서 작업하면 과부화를 방지할수있고 효율적으로 더 빠른 속도로 데이터를 처맇ㄹ수있다. 여러개의 서버를 하나의 컴퓨터 처럼 보는게 CLUSTERING 클러스터링이라고 한다. 가상화와 마찬가지로 하나의 서버가 장애가 걸려도 해당 작업은 다른 서버로 자동으로 할당하여 작업을 이어서 수행할수있다.
해당 서버를 늘리거나 줄이는 작업이 쉽다.
물리시스템 위에 바로 하이퍼바이저가 설치되는 방식

물리 시스템위에 메인 운영체제가 있어서 운영체제 위에 하이퍼 바이저가 설치되고 동작
(VMware , Virtualbox)

게스트 OS 수정없이 구동 가능
게스트 OS에서 물리시스템에서 동작하는것과 동일하게 하드웨어에 관련된 명령어를 직접 요청해야하기때문에 하이퍼바이저를 수행하여서 게스트 OS가 하드웨어로 요청하는 명령들을 하이퍼바이저를 통해서 수행해야한다.
가상머신에 설치된 게스트 OS 요청을 하이퍼바이저가 받아서 처리하기때문에 오버헤드가 발생할수밖에 없다.
가상머신에 설치되는 게스트 OS 수정없이 구동되어 완전히 독립된 분리 상태로 동작
하드웨어 전가상화는 소프트웨어적으로 처리해야할 작업을 하드웨어로 처리해서 오버헤드를 줄일수있다.
전가상화 2가지
- 소프트웨어
- 바이너리 트랜슬레이션- 하드웨어
- 타입 1 : 베어 메탈
- 타입 2 : 호스티드
가상머신에 설치된 게스트 OS 요청을 하이퍼 바이저가 처리할때 소프트웨어적으로만 처리하는데 이를 binary translation 이라고 하는데 CPU 가 인식할수있는 이진수로 변경하여 넘겨줘야하기때문에 오버헤드가 발생한다
바이너리 트랜스레이션은 VMWare 에서 개발한 방법이다 .
API를 추가해서 게스트 OS를 추가하는 방법으로 오버헤드를 줄일수 있는데 이를 반가상화라고 한다.
소프트웨어적으로 처리할때 발생하는 오버헤드를 줄이기위해 CPU에 자체적으로 가상화기술을 탑재하여 하드웨어가 직접 수행할수있게 만들었다. 따라서 바이너리 트랜슬레이션 없이 하드웨어를 직접 제어할수있다 .
-빅데이터같은 처리가 많거나 트래픽이 많이 발생, I/O 요청이 많을때는 오히려 하드웨어적으로 만드는게 성능이 떨어진다 그래서 만든게 하이브리드.
우선 게스트OS는 하드웨어 요청을 위해 각각의 OS의 언어로 요청하면 하이퍼바이저가 해당 언어를 번역해서 CPU에게 전달한다, 이때 CPU가 이해할수이있게 번역을 하는것이 바이너리트랜스레이션이다, 왜냐면 CPU 010101밖에 모름, 하드웨어적으로 처리하는것도 비슷하지만 번역만 따로 안하는것지 비슷한 과정으로 요청을 전달한다. 모든 요청들은 하이퍼바이저에서 처리되기때문에 많은 요청, 트래픽일때마다 성능이 저하된다. 요청을 처리하는것 뿐만아니라 자원을 각 게스트 OS에게 할당하는 역할도 한다. 게스트 OS를 변경없이 사용할수있다는 장점으로 쉽게 사용할수있짐나 성능적인 부분이 부족하다.
게스트 OS 수정
게스트 OS 와 하이퍼바이저간에 통신할때 바이너리 트랜슬레이션을 이용하면 번역을 할때 많은 오버헤드가 발생하기떄문에,게스트OS를 수정해서 요청하는 방식이다. 게스트OS가 요청하는것으 수정하므로서 ,하이퍼바이저가 처리해야되는 업무의 부담을 줄여서 오버헤드를 줄일수있다. 이러한 통신을 할때 필요한 API가 추가됨으로서 이러한 요청은 게스트OS에서 작업이 완료되어서 하이퍼바이저로 보내게된다. 오버헤드가 줄어서 전가상화보다 더 성능이 좋아질수있다.
하드웨어의 지원과 게스트OS를 수정을 같이 함으로서 성능문제를 해결하는 방식
하드웨어 기반의 전가상화는 수정이없어 성능이 반가상화보다 우수하지만, 트래픽이 많을경우 처리해야하는작업이 많아 성능이 더 안좋게 나올수있다. 이러한 문제를 해결하기위해 하이브리드 개발
반가상화의 네트워크와 디스크 드라이버를 사용하여 I/O작업 성능 개선
