가상화?
가상화는 하드웨어의 물리적 리소스를 여러 사용자나 환경에서 공유할 수 있도록 추상화하는 기술입니다. 이를 통해 하나의 물리적 자원을 여러 개의 독립된 가상 자원으로 나눌 수 있습니다. 가상화 기술은 컴퓨팅 환경을 더욱 유연하고 효율적으로 만들며, 여러 분야에서 널리 활용됩니다.
쉽게 말해 가상화란 컴퓨팅 리소스를 추상화 시켜서 하나의 물리 리소스를 여러 개의 논리 리소스처럼 기능 시키거나 여러 개의 물리 리소스를 하나의 논리 리소스처럼 가능하게 하는 것 입니다.
가상화의 종류
Host OS 가상화
- Host OS 기반 가상화는 호스트 운영 체제 위에 가상화 소프트웨어를 설치하여, 해당 소프트웨어를 통해 하나 이상의 게스트 운영 체제를 실행하는 방식입니다.
- 이러한 가상화는 일반적으로 가벼운 가상화 작업에 적합하며, 개발 및 테스트 환경에서 주로 사용됩니다.
- 예) Window OS에 설치해서 사용하는 Virtual Box
- 장점
- 설치 및 관리가 비교적 간단합니다.
- 호스트 OS의 리소스를 직접 활용할 있습니다.
- 단점
- 호스트 OS 위에서 동작하기 때문에 성능 오버헤드가 발생할 수 있습니다.
- 보안 격리 수준이 상대적으로 낮을 수 있습니다.
하이퍼바이저 기반 가상화
하이퍼바이저 기반 가상화는 물리적 하드웨어 위에 하이퍼바이저(또는 VMM, Virtual Machine Monitor)를 직접 설치하여 가상 머신을 생성하고 관리하는 기술입니다. 하이퍼바이저는 전가상화와 반가상화로 나뉩니다.
- 전가상화 (Full Virtualization)
- 전가상화는 하드웨어를 완전히 가상화 하는 방식으로 Hardware Virtual Machine 이라고도 불립니다.
- 하이퍼바이저 관리용 가상 머신이 실행되며, 모든 가상머신들의 하드웨어 접근이 해당 관리 머신을 통해서 이루어집니다.
- 장점
- 하드웨어를 완전히 가상화 하기 때문에 Guest OS의 커널 등의 수정이 필요 없습니다.
- Windows부터 Linux까지 다양한 OS를 사용할 수 있는 장점이 있습니다
- 단점
- 하이퍼바이저의 관리용 가상 머신이 모든 명령을 중재하고 번역하기 때문에 비교적 성능이 느릴 수 있습니다.
- 반가상화 (Paravirtualization)
- 게스트 OS가 하이퍼바이저와 효율적으로 통신할 수 있도록 일부 수정이 이루어진 가상화 방식입니다.
- 장점
- 전가상화에 비해 성능 오버헤드가 적습니다.
- 하이퍼바이저와의 통신 최적화를 통해 더 높은 성능을 제공합니다.
- 단점
- 게스트 OS를 수정해야 하므로 호환성 문제가 발생할 수 있습니다.
컨테이너 가상화
네트워크, 스토리지, 보안 등 각 영역마다 정책이 서로 다르기 때문에 컴퓨터 프로그램들은 환경이 바뀔 때마다 각종 오류가 발생합니다. 따라서 소프트웨어가 현재의 컴퓨팅 환경에서 다른 환경으로 이동하더라도 안정적으로 실행되도록 하기 위해 나온 개념이 바로 컨테이너입니다.
- 컨테이너 개념 및 구조
- 기본적으로 가상화를 위해 하이퍼바이저와 게스트 OS가 필요했던 것과는 달리컨테이너는 운영 체제를 제외하고 어플리케이션 실행에 필요한 모든 파일만을 패키징(Packaging)한 형태 입니다.
- 그만큼 기존의 가상머신에 비해 가볍고 빠르게 동작이 가능 합니다.
- 운영 체제의 커널(Kernel)이 여러 격리된 사용자 공간 인스턴스를 갖출 수 있도록 하는 가상화 방식이기 때문에 'OS 레벨 가상화'라고 부릅니다.
출처
한방에 이해되는 가상화 기술 용어 정리
가상화 기술이 궁금할 때... 안녕하세요. 이번 포스트에서는 가상화 용어 중 헷갈릴 수 있는 용어들을 정리해보려고 합니다. 전가상화/반가상화 같은 용어들을 보거나 들었을 때 아~ 감은 잡히는
tech.ktcloud.com
'AWS Cloud School > Docker' 카테고리의 다른 글
Docker의 구조 (5) | 2024.04.03 |
---|