가상머신
HW 지원 필요
System Mode/User Mode - OS의 커널 관련 이해 필요
Guest OS는 User Mode에서만 동작 - 가상화된 자원만 사용
가상화
컴퓨터의 자원(CUP, 메모리, 저장장치, 네트워크 등)의 추상화
서버의 리소스가 가상화를 통해서 하나의 서버에 여러 대의 OS를 동작시킬 수 있는 기술
가상화의 레벨
API(Application Programming Interface)
- 응용프로그램 레벨의 함수/메소드
ABI(Application Binary Interface)
- 플랫폼과 소프트웨어 사이의 인터페이스 정의
- API보다 낮은 레벨
- API는 유지되면서 ABI는 변경되는 경우: 코드는 유지하면서 재 컴파일
ISA(Interuction Set Architecture)
- 하드웨어와 소프트웨서 사이의 인터페이스 정의
API >> ABI >> ISA
가상화의 장단점
장점
- 서버의 사용 효율 증가
단점
- 네이티브보다 느림
- 상대적으로 무거움(컨테이너 기반 가상화) - 오버헤드 15~20%
- 불필요한 기능의 중복 - 호스트 OS, 게스트 OS 간의 기능 중복
- 배치의 어려움 - 대형서비스에서 구축 방법이 복잡
하이퍼바이저
호스트 시스템에서 다수의 게스트 OS를 돌리기 위한 플랫폼
호스트 OS
- 컴퓨터에 설치된 OS
게스트 OS
- 가상머신 위에 설치된 OS
하이퍼 바이저 유형
TYPE 1
- 하이퍼바이저가 하드웨어 위에서 바로 실행
TYPE 2
- 호스트 OS 위에 하이퍼바이저를 실행시키는 방식
하이퍼바이저 기반 가상화의 특징
장점
- Utilization 향상(80%) - 서버에서 주로 활용
- 시스템가상화로 인해 다양한 게스트 OS 실행 가능
단점
- 물리시스템과 게스트 OS 간의 가상화 기능으로 인한 성능 저하
- 약 10-15% 정도의 오버헤드(베어메탈에 비해)
- 호스트 OS와 게스트 OS 간의 기능 중복(스케줄링 등)
전가상화와 반가상화
전가상화
- 하드웨어를 완전히 가상화
- OS의 제약 없이 사용 가능
- 게스트 OS는 자신이 가상머신 위에서 동작하고 있다는 것 인식 불가
- 시스템에서 물리적인 가상화 지원기능 필요
- 게스트 OS에서 물리자원 직접 접근 불가
- 반드시 하이퍼바이저를 통해서 접근해야 함 -> 성능 저하
반가상화
- 게스트 OS가 자신이 가상머신 위에서 동작하고 있다는 것을 인식
- OS 제약이 있음
- 게스트 OS에서 물리자원 직접 접근 가능 -> 성능 개선
컨테이너 기반 가상화
기존 가상화와 다른 개념
- 하드웨어 가상화가 아닌 실행환경의 분리
- 각 컨테이너 간 영향을 분리
도커의 특징
- 오버헤드가 3% 이내로 적음
- 가벼움
- 많은 사람들이 자기가 구축한 이미지를 공유(도커허브)
- 에코시스템 - 도커기반/활용 기술의 활성화
클라우드와 가상화
클라우드를 구축하기 위한 가능 기술
가상화(하이퍼바이저) vs 컨테이너기반 가상화
클라우스서비스의 장점(주의 필요)
- 비용 절약
- 시간 절약
- 부가가치
클라우드서비스의 종류
- 클라우드는 Public, Private로 나뉨(일반/기업)
- 클라우드 자체구축(On-premise) vs 클라우드 서비스 이용
- 서버 호스팅과의 차이점 - 비용문제/보안문제/성능문제
SPI모델
가장 일반적인 클라우드 구분법
- IaaS(Infrastructure as a Service)
- PaaS(Platfrom as a Service)
- SaaS(Software as a Service)
'전공 > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] #14 병렬프로세서 (0) | 2023.06.11 |
---|---|
[컴퓨터구조] #13 가상메모리 (0) | 2023.06.11 |
[컴퓨터구조] #11 메모리 계층 구조 (2) | 2023.06.11 |
[컴퓨터구조] #10 데이터패스(파이프라인) (0) | 2023.06.11 |
[컴퓨터구조] #9 해저드 (0) | 2023.06.11 |