열정 실천

가상화란 무엇일까? - 가상 머신, 컨테이너 본문

CS/운영체제

가상화란 무엇일까? - 가상 머신, 컨테이너

구운오니 2024. 9. 9. 20:38
가상화

 

클라우드 컴퓨팅의 기반으로 물리 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있게 해주는 프로세스이다. 

 

가상화 기술로는 VM (가상머신)컨테이너가 있다. 

 

가상머신 VM

 

가상화 전 -> 가상화 후

 

가상화 전에는 하나의 물리 머신에 단일 OS가 설치되어 있다면 가상화 후에는 각각의 OS와 실행환경(CPU, 메모리, 디스크 등)을 독립적으로 가지는 가상머신이 2개 존재하고 있다.

 

이를 통해 한 물리 서버를 여러 논리 서버처럼 보이게 할 수 있다. 하지만 독립적인 VM을 생성할 때마다 Guest OS를 설치해야하기 때문에 자원 이용면에서 비효율적이다. 

 

VM을 생성해주는 도구인 하이퍼바이저VM들에게 자원을 할당하고 관리하는 역할을 한다. 이번 실습 때 사용하는 Virtual Box이 이에 해당한다. 

 

 

 

컨테이너 

 

컨테이너단일 OS 위에 각각의 애플리케이션을 실행할 수 있는 환경(독립된 파일 시스템, CPU, 메모리, 라이브러리 등)을 패키징하여 독립적으로 관리하는 기술이다. VM과 달리 Guest OS를 설치할 필요가 없어 빠르고 확장성이 좋다. 

 

 

🎀 용어 정리 

 

컨테이너 : 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술

컨테이너 런타임 : 각 컨테이너 환경을 설절 및 유지하는 binary 

도커 : 컨테이너를 다루는 도구 중 가장 유명한 것

쿠버네티스 : 컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 도구 

오케스트레이션 : 여러 서버에 걸친 컨테이너 및 사용하는 환경 설정을 관리하는 행위 

이미지 : 한 컨테이너를 실행하기 위한 모든 파일

 

 

 

Virtual box 실습 

 

 Virtual box를 깔고 CentOS를 설치하여 하나의 가상 머신을 생성했다. 

 

CentOS : 리눅스 운영체제  - The Community ENTerprise Operating System