[Docker]  Docker이해하기1 . 가상화 개념
Operating System/Docker

[Docker] Docker이해하기1 . 가상화 개념

가상화

클라우드의 기술 원천이라고 할 수 있는 가상화는 물리적인 하드웨어(HW) 장치를 논리적인 객체로 추상화하는 것이다.

쉽게 말하면, 일반적으로 우리는 컴퓨터(본체=물리적 하드웨어)를 사용할 때 OS가 필요하다. 그럼 내가 OS 1개를 실행하려면 

컴퓨터 1대가 필요하다. 즉 내가 리눅스도 사용하고 싶고 윈도우도 사용하고 싶은 사용자 입장에서 컴퓨터를 2대가 필요한 것인데 

돈이 배로 든다. 

"가상화"를 이용하면 위와 같은 비용문제가 해결이 가능하다. 컴퓨터 한 대를 분리해서 윈도우와 리눅스 등 여러 OS를 하나의 컴퓨터(물리적 머신)에서 동시에 사용이 가능하다.  이제 OS가 필요해도 또 한대의 컴퓨터를 살 필요가 없어졌다는 것이다!

쉽게 이해하면 위와 같고, 가상화의 대상이 되는 컴퓨팅 자원에는 크게 아래 4가지가 포함되고 이는 모두 자원을 더욱 더 효율적으로 사용하기 위함이며 분산처리를 가능케 하기 위함이다.

  • 프로세서(CPU)
  • 메모리(Memory)
  • 스토리지(Storage)
  • 네트워크(Network)

 

가상화의 장점

  • 하드웨어 비용과 공간 절감
  • 가동시간 및 가용성 향상: 장애가 일어났을 때 가상서버들을 원활하게 이동하면 가동 중지 시간이 최소화된다.
  • 보안 및 데이터 보호 향상
  • 서버 및 응용 프로그램 관리 간소화: 가상화 서버의 리소스 대시보드를 통해서 관리자가 서버 관리를 손쉽게 할 수 있다.
  • 재해 복구 및 비즈니스 연속성 구현 : 가상 서버에 데이터를 백업해두면 장애가 발생해도 백업된 시점으로 복원 가능하다. 서비스 중단 없이 장애 조치가 가능하다.

 

가상화의 종류

  • 서버 가상화
  • 데스크톱 가상화
  • 애플리케이션 가상화

서버 가상화

도커를 알아보기 전 가상 서버에 대해서만 살짝 알아보고자 정리하였다.

서버 가상화

위에서 말한 컴퓨터(하드웨어 1대)를 나누어 여러 서버를 구동하는 것이고 가상화 개념의 시초라고 할 수 있다. 1960년대 IBM 메인 프레임에서 시도되었다. 

하나의 물리 서버에 여러 개의 가상 머신으로 전환 가능케 하고, 각각 가상 서버는 독립적인 물리 서버처럼 동작한다. 물리 서버는 HOST라 하고 가상 서버들은 GUEST라 하며 HOST가 각 GUEST에 필요한 자원을 할당해 주는 방식으로 작동하는데 이 자원을 어떻게 할당해 주는지 그 방식에 따라 가상화 종류가 결정된다. 

  • 전가상화 (full virtualization)
  • 반가상화 (paravirtualization)
  • OS 레벨 가상화

서버 가상화의 장점은 한 서버가 이용 가능한 만큼의 가상 서버를 생성하여 효율적으로 자원을 사용할 수 있고, 많은 비용과 시간을 절약해 준다는 점이다. 

 

 

 

참고자료