Hypervisor와 Container

송민지·2025년 3월 3일
0

Hypervisor

  • 각각의 각각 고유한 운영 체제(OS)를 가진 여러 가상 머신(VM)을 하나의 물리적 서버에서 실행할 수 있도록 하는 소프트웨어
  • 가상 머신이 실행될때, 논리적으로 서로 분리하여 각 vm마다 기본 컴퓨팅 성능, 메모리, 스토리지를 할당하여 vm이 서로 간섭하는것을 방지할 수 있다.
  • 하이퍼바이저 전에는 하나의 컴퓨터에 하나의 os만 실행 할 수 있었다. → 해당 os의 요청만 처리하기 때문에 안정적으로 작동 할 수 있다. → 운영체제가 항상 컴퓨터의 선능을 모두 사용할 수 없기 때문에 리소스가 낭비된다는 단점이 있다.

하이퍼바이저 이전의 환경

하나의 컴퓨터에 하나의 os만 실행할 수 있다.

→ 하나의 서버만 실행할 수 있다.

→ 서버는 컴퓨터 자원에 대해 일부만 사용한다.

→ 나머지 자원은 사용할 수가 없다(하나의 os만 실행하기 때문에)

→ 그래서 다른 서버가 필요할경우 (ex.DB) 한대의 컴퓨터가 더 필요하다.

→ 비용이 상승한다

Hypervisor 동작 원리

컴퓨팅 호스트의 필수 구성 요소

CPU(s) : 데이터 처리

RAM : 잠시동안의 저장

Network : 어디론가는 보내야 됨


Stroge : 있다고 보장 못함. 하이퍼바이저는 반드시 스토리지를 가상화 한다는 보장이 없음

  • 하이퍼바이저는 컴퓨터 호스트 위에 위치하는 소프트웨어 계층
  • 호스트의 모든 기능을 가상화 한다
  • CPU, 프로세서를 하위 부분으로 나눈다
  • RAM, 네트워크(vNIC)를 여러 부분으로 나눈다
    • 하이퍼바이저를 사용하면 여러개의 가상 서버(VSI)를 만들 수 있다.
    • CPU, RAM, 네트워크를 나눈 후 가상 서버가 필요한 만큼(?) 사용 할 수 있다.
    • 가상 서버는 호스트의 성능이 견딜 수 있을때까지 추가할 수 있다.
  • 각 가상서버마다 데이터를 안전하게 보호하기위해 각 서버마다 경계선을 만들어 무엇을 하는지 알 수 없게 한다.

스토리지 연결방법

  1. 스토리지는 네트워크에 연결된 후 하이퍼바이저로 이동 한 후 해당 가상서버에 연결 될 수 있다.
  2. 스토리지가 하이퍼바이저와 물리적으로 연결되어 있다면 네트워크를 통하지 않고 바로 하이퍼바이저를 통해 가상서버로 연결 될 수 있다.
  3. NFS 공유와 같은 네트워크 저장소를 만든다. → 하이퍼바이저를 이용하지 않는다

그럼 컨테이너는 뭐지

가성머신과 컨테이너의 차이

항목VM (가상 머신)Containers (컨테이너)
가상화가 발생하는 수준하드웨어에서 발생 → 하드웨어 가상화
머신을 구성하는 각 요소가 가상화된 인스턴스를 생성하는 역할 (프로세서, RAM, 스토리지, 네트워크, CPU, 카드 등)
운영체제 수준에서의 가상화
하드웨어 위에 커널이 위치해 있고, 커널 위에 모든 컨테이너를 호스팅할 “host os”가 있다. 그 위에 여러 컨테이너를 올려 실행할 수 있다.
격리 수준머신 수준의 격리
하나의 컴퓨터에서 별도의 워크 스테이션처럼 보이는 것을 만들고, 하나에서 별도의 서버를 만들어 하나의 서버를 이용하여 다른 컴퓨터처럼 보이게 만든다. 각 가상환경은 다른 환경에 대해 알지 못한다 → 서로 독립적이다.
프로세스 격리
동일한 운영체제와 커널을 공유한다. 하지만 각 컨테이너에는 자체 운영체제가 있고, 그 안에 실행에 필요한 라이브러리, 코드, 스크립트가 있다. 앱을 동시에 실행할 수 있으며 다른 컨테이너를 알 필요는 없다.
리소스 다루는 방법하이퍼바이저를 이용한다네임스페이스: 컨테이너의 각 인스턴스에 자체 운영 체제의 모양과 사용자 지정을 허용한다.
cgroup을 통해 자원의 양을 제한 및 모니터링을 통해 시스템 부담이 없는지 점검한다 → 리소스에 대한 세부적인 제어가 가능
이식성과 유연성의 차이하드웨어의 무한한 유연성을 사용할 수 있다.무한한 이식성이 있다. 단일 파일로 정의되는 컨테이너가 있다. (Docker)

What is JVM - Java Virtual Machine
What is a Hypervisor?
컨테이너와 VM : 차이점은 무엇입니까?
Virtualization Explained

profile
항상 밝게

0개의 댓글