Cloud System Engineer

가상화 개념 본문

리눅스/docker

가상화 개념

클라우드 엔지니어 2021. 1. 26. 21:59

도커를 나가기 앞서 가상화의 개념을 알아야한다.

가상화란? 단일의 물리적 인프라구조상 
여러 운영체제나 응용프로그램을 실행할때 사용되는 기술이다
이게 무슨말이냐?


앞으로 올라올 리눅스 할때 vmware 을 사용할 것이다. 지금은 그런가 보다 라고 넘어가면된다.
쉽게 생각해서 한대의 컴퓨터 안에 여러대의 서버 , 컴퓨터를 만드는 것이다.
한대의 컴퓨터안에 있는 서버pc , 컴퓨터 들은 각각 개별적 동작한다. 신기하지않나?
이러한 가상화 덕분에 하드웨어 자원을 공유하면서도  의존성없이 여러 응용프로그램들을 사용할 수
있게 된다.
이러한 가상화 덕분에 DC(Data Center)나 서버 팜의 서버 숫자는 줄어들게 되었다.

정리하자면
더 적은 서버로 동일한 작업을 수행하고 , 여러 응용프로그램을 동시에 처리할 수 있다.
가상화는 클라우드 컴퓨팅 기술의 핵심이라고 볼 수 있다.

가상화기술에는 종류가 많다.
xen , kvm 인텔VT-x, AMD-V 등 하지만
최신트렌드를 따라가야하기 때문에  저는 docker 할 예정입니다.


우선 리눅스를 설치해야 하는데 앞서 말했듯이 우리가 여러대의 서버 , pc  설치하기 위해선 
가상머신(virtual machine) 을 써야한다.  

 

 

 

 


가상머신은 3가지 구성요소를 가지고 있다.
1. 호스트 운영체제
2.가상머신 관리자 또는 하이퍼바이저
3.게스트 운영체제


하이퍼 바이저 구조

 

1. 호스트 운영체제 
-> 하드웨어 상에서 직접 실행되는 운영체제이다. 이는 가상화를 지원해야하고 철치할 응용프로그램을
모두 지원해야한다.

 

 

2. 하이퍼 바이저
가상머신을 생성할수있고 자원들을 가상머신에 할당할 수 있다. 하이퍼바이저는 두가지의 형태로 구분된다.

type 1 하드웨어와 직접 통신하므로 자체적으로 모든 기능이 포함되어있다.
유연성,보안성 더 나은 것으로 알려져 있다.

type2개발하기 더 쉽고 , 신속하고 유연하다. 특정 하드웨어를 감안해 개발하고 테스트 할 필요가 없기
때문이다. 이러한 이유로 x86아키텍처에서 가용한 최초의 하이퍼바이저가 되었다.

 

3. 게스트 운영체제
가상서버에서 실행되는 운영체제를 게스트 운영체제라 한다.

 

 

리눅스 컨테이너와 도커

앞서 살펴본 가상머신은 격리도가 높고 자체적으로 완벽한 하나의 운영환경을 제공한다.

하지만, 한대의 컴퓨터에 여러개의 가상머신을 구동하면 오버헤드로 인해 성능과 자원에 대한 부담이 있다고 할 수  있다.

 

실무에서 성능저하는 결코 용납할 수 없다.

 

1.도커 컨테이너는 가상화된 공간을  생성하기위해 리눅스 자체 기능인 chroot , 네임스페이스 , croup를 사용한다.

 

2.프로세스 단위의 격리 환경을만들기 때문에 성능손실이 거의없다. 

 

3. 컨테이너에 필요한 커널은 호스트의 커널을 공요해 사용하고,컨테이너 안에는 어플리케이션을 구동하는데 필요한 라이브러리 및 실행 파일만 존재하기 때문에 컨테이너를 이미지로 만들었을 때 이미지의 용량 또는 가상 머신에 비해
대폭 줄었다.

'리눅스 > docker' 카테고리의 다른 글

MAC VLAN 네트워크  (0) 2021.01.29
도커 네트워크  (0) 2021.01.29
도커 볼륨  (0) 2021.01.29
도커에 워드프레스를??  (0) 2021.01.29
도커 설치  (0) 2021.01.26