가상화 (virtualization) - sihyun10/data_structures_docker GitHub Wiki
가상화 (virtualization)
하나의 실물 컴퓨팅 자원을 마치 여러개인것처럼 가상으로 쪼개서 사용하거나, 여러 개의 실물 컴퓨팅 자원들을 묶어서 하나의 자원인것처럼 사용하게 해주는 기술이다
(* 컴퓨팅 자원 (리소스) : CPU, 메모리, 스토리지, 네트워크 등 컴퓨터를 구성하는 요소들)
가상화는 그럼 왜 필요할까요?
- 자원 효율성 : CPU나 메모리 낭비를 줄여주고 여러 환경을 하나에 담기 가능
- 격리성 : 서로 다른 환경이 독립적이어서 하나의 VM이 망가지더라도 다른 VM은 영향 미치지 않음
- 유연한 배포 : 개발, 테스트, 운영 등을 각기 다른 VM에서 운영이 가능함
- 비용 절감 : 물리 서버 줄일 수 있음
- 이식성 : VM이나 컨테이너 이미지를 다른 서버로 쉽게 이동 가능함
키워드
🍄 Hypervisor (하이퍼바이저)
가상화를 가능하게 해주는 소프트웨어 or 시스템
한 컴퓨터에서 여러 가상 머신을 관리하는 소프트웨어 구성 요소다
🍄 Virtual Machine (VM) - 가상 머신
하이퍼바이저에 의해 컴퓨터 하드웨어에서 추상화된다
(하이퍼바이저 위에서 구동되는 가상의 컴퓨터)
🍄 Host OS : 가상환경을 제공, 물리적 시스템
🍄 Guest OS : 가상 머신 안에서 돌아가는 운영체제
Hypervisor 종류 - Type1, Type2
-
Type 1 (Bare-metal)
- 하드웨어 위에 직접 설치되는 하이퍼바이저
- 하드웨어를 제어하는 OS 역할 & VM들을 관리하는 역할을 모두 하이퍼바이저가 담당한다
- 하드웨어를 직접 제어하기에 효율적으로 리소스 사용가능하다
- windows, Linux를 설치하듯 아무것도 설치되지 않은 컴퓨터에 하이퍼바이저를 설치해야한다
- ex) Microsoft Hyper-V, Xen, KVM
-
Type 2 (Hosted)
- 호스트 OS 위에서 실행되는 하이퍼바이저
- 기존의 컴퓨터 환경을 그대로 사용하기에 설치 및 구성이 편리하다
- VirtualBox와 같은 가상화 소프트웨어를 설치하고 가상머신 이미지를 만들어 띄우면 된다
- 하이퍼바이저가 하드웨어 바로 위에 위치하는것이 아니라 호스트 OS 위에 위치한다
- 가상의 하드웨어를 쓰기 때문에 호스트 OS와 크게 제약없이 사용 가능하며 시스템에 손쉽게 가상 머신을 올릴 수 있다
- ex) VirtualBox, VMware Workstation, Parallels
(정리)
Type 1은 하이퍼바이저가 하드웨어 바로 위에서 실행되어 하드웨어를 직접 제어하기 때문에 자원을 효율적으로 사용할 수 없고, 별도의 Host OS가 없어 오버헤드가 적지만 여러 하드웨어 드라이버가 필요해 설치가 어렵다.
Type 2는 운영체제에 애플리케이션으로 설치하고 관리가능하다. 전문가가 아닌 사용자도 조작 가능하다. 운영 체제가 제공하고자 하는 리소스만 사용해야 한다. 또한 데스크톱 환경에서 많이 사용된다.
가상화 유형
1. 서버 가상화 : 여러 개의 운영체제를 하나의 물리 서버에서 구동 가능하게 해줌
2. 운영체제 수준 가상화 (=컨테이너) : 운영체제를 공유하며 프로세스를 격리함. OS 전체가 아니라, 애플리케이션 단위로 격리
- 호스트 OS 위에 컨테이너관리 소프트웨어를 설치해, 논리적으로 컨테이너를 나누어 사용한다
- 컨테이너는 애플리케이션 동작을 위한 라이브러리 & 애플리케이션으로 구성되기 때문에 이를 각각 개별 서버처럼 사용가능하다
- ex) Docker, LXC
3. 클라우드 가상화 (AWS)
- AWS와 같은 클라우드 서비스는 하나의 물리 서버를 수많은 유저에게 나눠 제공한다. 이걸 가능하게 해주는 것이 "가상화 기술"
- AWS에선 사용자마다 컴퓨터를 할당해주는게 아니라, 이미 구축된 가상화 가능한 서버의 한 부분을 할당해주는 것이다.
- EC2 하나하나가 가상 머신 (VM)
- 사용자가 EC2 생성 -> ASW 내부의 하이퍼바이저가 물리 서버 위에 가상 머신 하나 할당 -> 우리가 고른 AMI 이미지(Linux, Ubuntu 등)로 Guest OS 구성 -> EC2 인스턴스 시작됨