< 가상화 >
- 한대의 시스템을 다수의 가상의 시스템으로 분할하여 사용한다.
- 가상 시스템은 서로 독립적이다.
- 리소스의 효율적인 사용이 가능하다.
- 서버를 쉽고 빠르게 배포 할 수 있다.
- 중장집중화된 가상화 인프라 구성이 가능하다.
- 하이퍼바이저 -> 가상화의 관리 및 지원
software partitioning.
ex) virtualbox, vmware
- 호스트 -> 물리적인 시스템 (server)
- 게스트 -> 하이퍼바이저 상에서 실행되는 가상머신
* 전 가상화 (Full Virtualization)
- 자신이 가상머신인지 모른다.
- 물리적인 하드웨어에 접근할 때 하이퍼바이저에 의해 제어된다.
- trap과 emulate 작업을 거치기 때문에 성능이 떨어진다.
- Emulator -> 소프트웨어에 의해서 실시간으로 변환을 시켜줌. binary translation을 소프트웨어로만 한다. 느림.
- sensitive instruction이 발생하면 하이퍼바이저에 문제가 발생한다. -> 하드웨어 지원으로 해당 문제 해결 가능
- 대부분의 운영체제를 쉽게 설치할 수 있다.
* 반 가상화 (Para-Virtualization)
- 일부분만 가상화한다. kvm -> virtIO
- 자기가 가상화라는 것을 인지하고있다.
- 커널이 수정될 수 있어야 한다.
- 장치에 물리적으로 연결될 수 있는 통로를 연결해준다.
- 운영체제의 커널 소스를 수정한 가상화이다.
- 하이퍼바이저가 가상머신이게 특수한 인터페이스를 제공한다.
=> vendor마다 반가상화의 인터페이스는 다르다.
=> KVM에서는 hypervisor-aware 드라이버라고 한다.(반가상화된 장치)
- 전가상화보다 오버헤드가 적다.
- 오픈소스 운영체제로 한정된다. -> 운영체제의 커널 소스를 수정해야 하기 때문
< Hypervisor >
- H/W를 소프트웨어적으로 파티셔닝하여 가상머신에게 제공한다.
- 주요 기능은 시스템 자원 관리, 모니터링, 독립성 유지, 주변 장치 제공이 있다.
- 가상화에서는 독립성 유지가 매우 중요하다.
=> 가상화에서는 한대의 시스템에서 여러대의 가상 시스템을 관리하기 때문
=> 서로 다른 가상머신에서 실행한 프로세스는 실제 하나의 물리 메모리에서 실행된다.
* Native Hypervisor
- Type1 hypervisor
- bare-metal -> 물리적인 컴퓨터. 호스트와 통합.
- 물리적인 머신에 하이퍼바이저 소프트웨어를 설치한다.
- 별도의 운영체제가 필요없다. 빈 시스템.
- 하이퍼바이저를 관리할 시스템이 존재해야한다.
* Hosted Hypervisor
- Type2 hypervisor
- 운영체제가 설치된 머신에서 하이퍼바이저 소프트웨어를 설치
- 하이퍼바이저를 관리할 시스템이 존재하지 않아도 된다.
* Application 가상화
- 비교적 다른 가상화에 비해 오래됨.
- svc 혹은 presentation, application streaming 이라고도 한다.
- 어플리케이션을 제공하는 서버를 따로 둔다. 거기에 연결해서 프로그램을 실행
- 지금은 굳이 사용하지 않는다. 지금은 SaaS의 형태로 발전했다.
* Desktop 가상화
- 기본적으로 서버 가상화가 포함되어있음.
- graphic 적으로 표현되어야한다.
- USM연결 했을 때 원격 VM에도 연결되게 한다.
- ★망 분리. 네트워크를 물리적이던 논리적이던 분리시켜야함.
- 불특정다수에게 서비스를 제공하기 때문에 공격에 취약하다. (DDoS) → 그래서 망분리 해야됨.
* Storage 가상화
- (kvm)thin provisioning → 필요한 최소 공간만을 할당. 공간 효율적임. thick보다 성능이 떨어짐.
- (kvm)thick(row) provisioning → 가상의 디스크를 사용 하던 안하던 데이터를 미리 할당
* Network 가상화
- 네트워크 장비 기능들을 가상화
'Infra > 가상화 인프라' 카테고리의 다른 글
Ovirt 개념 정리 (0) | 2020.07.02 |
---|
댓글