각 가상화 기술의 차이를 대략 이해한다!!

2606 단어 도커VirtualBox

보충



배운 지식의 대부분은 Qiita가 아니라 이쪽에 바꾸어 정리하고 있습니다.

01. 가상화



가상화란?



하나의 물리적 서버에서 가상 하드웨어를 실행하는 기술. 가상 환경을 구축하는 방법에는 여러 가지가 있습니다.

호스팅 가상화



・호스트형 가상화란?



물리적 서버의 호스트에서 가상 서버 (가상 시스템)를 구축합니다.

· Provider 예



VMware Workstation, Oracle VM VirtualBox 등



하이퍼바이저형 가상화



・하이퍼바이저형 가상화란?



물리적 서버의 BIOS에서 시작된 하이퍼 바이저에서 가상 서버 (가상 시스템)를 구축합니다 (※ 호스트는 사용하지 않음).

· Provider 예



VMware vSphere Hypervisor, Xen, KVM 등



컨테이너형 가상화



· 컨테이너형 가상화란?



물리적 서버의 호스트에서 가상 서버가 아닌 가상 서버 역할을하는 컨테이너를 구축합니다. 커널 리소스를 분할 할 수있는 네임 스페이스 (PID 네임 스페이스, 네트워크 네임 스페이스, UID 네임 스페이스)와 컨트롤 그룹을 사용하여 단일 OS에 독립적 인 컨테이너를 구축합니다.

→ DockerToolbox가 약간 다르다.

· Provider 예



Docker, LXC, OpenVZ 등



01-02. 각 가상화의 성능 비교



기동 속도의 차이



호스트 형과 하이퍼 바이저 형에서는 하드웨어 (CPU, 메모리, 하드 디스크)와 게스트 OS를 가상화 할 필요가있다. 한편, 컨테이너 형에서는, 하드웨어와 게스트 OS의 가상화는 실시하지 않고, namespace를 사용해 컨테이너를 구성하기 때문에, 그만큼 기동이 빠르다.



처리 속도의 차이



・Overhead의 작음



게스트 OS에서 앱을 조작 할 때 호스트 형과 하이퍼 바이저 형은 하드웨어와 하이퍼 바이저를 통과해야합니다. 이만큼, 시간 (Overhead)이 필요합니다. 반면 컨테이너 유형에서는 각 컨테이너가 호스트와 커널을 공유하므로 오버 헤드가 작습니다.



· 오버 헤드 비교



sysbench라는 벤치마킹 도구를 사용하여 CPU, 메모리 파일 I/O에 초점을 맞추고 물리적 서버, 컨테이너형 가상화(Docker) 및 호스트형 가상화(VirtualBox)의 성능을 비교하면 컨테이너형인 Docker는 가장 overhead가 작습니다.

좋은 웹페이지 즐겨찾기