본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Virtualization
물리적인 하드웨어 자원을 논리적으로 작은 단위로 나누거나, 여러 물리적인 하드웨어를 하나의 논리적인 자원으로 통합하여 서비스하는 방식

게스트 수정 여부와 하이퍼바이저 위치

편집 원본 편집
  • 전가상화 : 게스트 운영체제를 수정하지 않고 그대로 실행한다. 하이퍼바이저가 실제와 같은 가상 하드웨어를 보여 주므로 게스트는 물리 하드웨어 자원을 그대로 쓰는 것처럼 동작한다
  • 반가상화 : 게스트 커널을 고쳐 특권 명령을 하이퍼콜로 하이퍼바이저에 요청한다. 성능은 좋지만 게스트를 수정해야 한다
  • 위 둘은 게스트를 다루는 방식에 따른 구분이고, 하이퍼바이저가 놓이는 곳에 따라 베어메탈 가상화(1형, 하드웨어 바로 위)와 호스트 가상화(호스트 기반 가상화, 2형, 호스트 OS 위)로 나눈다 → 하이퍼바이저

추상화 수준에 따른 구분

편집 원본 편집
수준 내용 예
명령어 집합(ISA) 수준 다른 CPU 의 명령어를 에뮬레이션한다 QEMU(에뮬레이션), Bochs
하드웨어 추상화 수준 하이퍼바이저가 가상 머신 전체를 만든다 VMware, Xen, KVM, VirtualBox
운영체제 수준 커널 하나를 함께 쓰며 격리된 사용자 공간을 만든다 컨테이너, 도커, LXC
라이브러리(API) 수준 다른 운영체제의 API 를 흉내 낸다 Wine
하이 레벨 언어 수준 특정 운영체제·CPU 가 아니라 언어 실행 환경을 가상 머신으로 만든다. 프로그램은 바이트코드로 컴파일되어 그 가상 머신에서 돈다 자바 가상 머신(JVM), .NET CLR

가상화의 효과

편집 원본 편집
효과 내용
서버 통합 여러 물리 서버에서 돌던 일을 한 대 위의 가상 머신들로 모아 활용률을 높이고 장비·전력·공간을 줄인다
향상된 보안 가상 머신끼리 격리되어 하나가 침해되거나 멈춰도 다른 가상 머신으로 번지지 않는다 → 가상화 보안
높아진 가용성 가상 머신을 끄지 않고 다른 호스트로 옮기고(라이브 마이그레이션), 호스트가 고장 나면 다른 호스트에서 다시 띄우며, 스냅숏으로 되돌린다 → 고가용성
증가된 확장성 부하가 늘면 가상 머신을 복제해 늘리거나 CPU·메모리를 더 붙이고, 줄면 거둬들인다
향상된 프로비저닝 자원을 사용자 요구에 맞게 할당·배치·배포할 수 있도록 템플릿으로 만들어 두고, 물리 장비 단위보다 잘게 나눈 조각(vCPU, 메모리 일부) 단위로 내준다 → 프로비저닝
하드웨어 독립성 게스트는 가상 하드웨어만 보므로 다른 기종의 서버로 옮겨도 그대로 돈다