[Open Source Software] - 가상화 (Hypervisor, Linux Container, Docker)

서현이의 개발 기록장·2022년 10월 27일
0

Open Source Programming

목록 보기
4/5
post-thumbnail

가상화 (Virtualization)

단일한 물리 하드웨어 시스템에서 여러 시뮬레이션 환경이나 전용 리소스를 생성할 수 있는 기술

  • 사용자 또는 환경에 기능을 분산하여 물리적 시스템의 전체 용량을 사용
  • 하나의 서버에 단일 운영체제와 개별 작업을 실행하는 것이 더 쉽고, 안정적이지만 각 서버는 잠재적인 용량의 일부에 불과한 약 30%를 사용
  • 가상화를 사용하면 서버를 독립적인 작업으로 처리할 수 있는 2개의 고유한 서버로 분할하여 레거시 앱을 마이그레이션 할 수 있음
  • 즉, 동일한 하드웨어이지만 더 많은 것을 더 효율적으로 사용

가상화 등장 배경


1. 하이퍼바이저 (Hypervisor)

Virtual Machine Monitor (VMM)라고도 하는 하이퍼바이저는 가상 머신(VM)을 생성하고 실행하는 소프트웨어

  • 메모리나 프로세싱과 같은 리소스를 가상으로 공유하여 하나의 호스트 컴퓨터에서 여러 게스트 가상머신(VM)을 지원

Type 1 - Hypervisor (Bare-metal)

  • 경량의 운영 체제처럼 작동하며 호스트의 하드웨어에서 직접 실행
  • 공격을 받기 쉬운 운영 체제와 격리되어 있기 때문에 매우 안전
  • 성능이 더 좋고 효율적
  • 대부분의 기업은 데이터 센터 컴퓨팅 요구 사항을 위해 베어메탈 하이퍼바이저를 선택

Type 2 - HyperVisor (Hosted)

  • 다른 컴퓨터 프로그램처럼 운영 체제에서 소프트웨어 계층으로 실행
  • 호스트 시스템의 운영 체제(OS) 위에서 실행되며, 하이퍼바이저 위에 추가(및 다른) 운영 체제를 설치
  • 대기 시간이 길다 (하드웨어와 하이퍼바이저 간의 통신은 OS 계층을 통과하기 때문)
  • 대기 시간이 문제가 되지 않는 최종 사용자 및 소프트웨어 테스트에 가장 자주 사용(클라이언트 하이 퍼바이저라고도 함)

하드웨어 가속 기술은 베어 메탈 및 호스팅된 하이퍼바이저 모두의 처리 속도를 높이고,
가상 리소스를 더 빠르게 생성 및 관리


2. 리눅스 컨테이너 (Linux Container)

운영체제 수준의 가상화 기술로 리눅스 커널을 공유하면서 프로세스를 격리된 환경에서 실행하는 기술

  • 애플리케이션 실행 환경을 컨테이너라는 단위로 가상화
  • 컨테이너의 기반이 되는 이미지를 효율적으로 만드는(빌드) 기능
  • 이미지를 배포하기 위한 구조 (Docker Hub와 같은 저장소 서비스)를 제공


가상화 관련 오픈 소스

임베디드 가상화

Automotive

Edge Device & Container

Edge Computing & K8s

profile
HanYang ERICA Univ. Department of Artificial Intelligence

0개의 댓글