가상화 컴퓨팅 기술

robin Han·2023년 4월 19일

클라우드서비스

목록 보기
5/10
post-thumbnail

가상화

  • 서버와 같은 하드웨어 리소스 ( CPU ,memory) 같은 자원들을 다루는 기술
    컴퓨터에서 가상화는 실체 물리적인 컴퓨터를 클라우드 환경에서 사용할수있게끔 가상 버전의 컴퓨팅 시스템을구축하여 만든 버전. 물리적인 요소들을 줄일수있기 때문에 비용절감이 된다. 여러서버 환경에서 각각에 맞는 OS 또는 환경을 다양하게 구축하여 구동할수있기때문에 자유롭다. 하나의 가상 서버가 장애가 발생해도 다른 서버에는 영향을 끼치지는 않는다.

장점 / 단점

장점 :

  • 적은 물리적 자원들로 비용절감
  • 쉬운 백업 또는 복구
  • 효율적으로 운영
    단점:
  • 초기 세팅 비용발생

분산 처리 기술

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

하이퍼 바이저 (HYPERVISOR)

  • 하이퍼 바이저 또는 VMM( Virtual Machine Monitor) 라고 하는데, 물리적인 시스템 자원에 대한 접근을 제공하는 프로그램이다.
  • 가상머신은 가상화된 물리적 컴퓨터, 컴퓨터 안에 컴퓨터
    시스템 가상머신, 스스로의 가상기기드라이버, I/O 같은 기기들의 드라이버를 이용
  • 호스트 머신 = 물리 시스템
  • 호스트 머신에서 동작하는 가상머신 = 게스트 머신

베어 메탈 (bare metal) ==== TYPE 1 ===== Native

물리시스템 위에 바로 하이퍼바이저가 설치되는 방식

  • 하이퍼 바이저ㅏ 물리스템 하드웨어에 직접적으로 설치되어서 구동 되어 가상머신을 관리
  • 하이퍼바이저가 운영체제의 역할을 하기떄문에 운영체제가 필요없다
  • 확정성이 충분한 기술이 보장되어야됨
  • 직접적으로 설치되어있기때문에 빠른 통신이 가능하다
  • 불필요한 오버해드가 없다
  • 물리 시스템이 가상화를 지원해야한다

호스티드 (hosted) ==== TYPE 2

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

  • 호스트 머신의 운영체제위에 하나의 애플리케이션 처럼 작동
  • 단일 물리 시스템으로 운영이 편리
  • 가상머신은 호스트머신의 하드웨어를 직접 접근 불가함, 오버헤드 발생

컨테이너

  • 하나의 OS 환경에서 APPLICATION을 실행시키기위한 공간으로 여러개로 나누어서 사용할수있다.

저장 기술

  • 대량의 데이터로 빅데이터 분석 같은 기술

전가상화 VS 반가상화

전가상화

게스트 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작업 성능 개선

0개의 댓글