안녕하세요~ 지난번 ovirt 간단한 소개에 이어서 ovirt-engine 구성 방안에 대해서 공유하고자 합니다.

일반적으로 ovirt-engine (manager 역할) 을 hypervisor pool 과 분리해서 hypervisor 안팎에 문제가 생기더라도

전혀 영향을 받지 않게 컨트롤 할 수 있는 방안과 따로 ovirt-engine 을 구성할 여력이 안되거나 관리서버 증가를

우려하여 서비스 vm 을 생성할 hypervisor 에 함께 구성하는 hosted 방안 두가지가 있으니 서비스 중요도나

여건에 맞게 사용하실 수 있습니다.

 

일단 ovirt-engine 이 하는 역할에 대해 설명을 드리자면

rHEVM 이라 불리는 rhev manager 와 동일한 역할을 합니다.

 

1) hypervisor 와 연관된 모든 것 H/W 부터 VM 까지 모든 것을 컨트롤하는 manager 서버가 Hypervisor 로써 필요한 요소들을 ovirt-engine 에 추가하면서 자동으로 설치하고

2) 가상 네트웍(vswitch) 를 만들고

3) 서버에 각각 할당된 공유 볼륨을 한개를 커다란 LVM 으로 생성하여 스토리지 도멘인으로 만들고

4) hypervisor 끼리 클러스터링 구성을 해서 한대 hypervisor 가 down 되더라도 VM 들이 타 hypervisor 로 failover

   될 수 있게 구성하고

5) vm 을 생성하고 iso 이미지를 연결시키고 콘솔을 제공하고

6) vm 스냅샷을 생성하고

7) base 템플릿을 만들고

8) VM live migration 을 가능하게 하고

9) 주기적으로 hypervisor 에 ping 을 날려서 alive chef 를 합니다 . 응답이 없어서 문제가 있다고 생각될때는

  fencing 기능을 통해 H/W BOX 를 power off 시켜 버리죠.

 

이 외에도 가상화 관리를 위해 필요한 여러가지 소소하고 잔잔한 기능들을 많이 제공하고 있습니다.

virt-manager 가 그냥 매니져라면 ovirt 는 top..

 

일반적으로 물리적으로 ovirt-engine 을 분리하는 경우 아래와 같은 그림 같이 구성하게 됩니다.

(google docs 에 익숙치 않아 색깔이 좀 우중충하네요 ;; )

 

하지만 hosted-engine 즉 hypervisor 로도 쓰면서 ovirt-engine 용 vm 을 구성할 경우에는 아래와 같은 그림으로

구성하게 되죠 . 차이점이 뭔지 확 들어오시나요..? (혹시 색깔땜에 안들어오...;;;;???)

 

 

네 그렇습니다 위에서 언급했듯이 ovirt-engine 이 하는 역할 중에 할당된 디스크들을 LVM 으로 스토리지 도메인을

꾸려야 하는 역할이 있었습니다. 허나 ovirt-engine 이 LVM 을 만들어야 하는데 ovirt-engine 용 VM 을 만들라면 LVM 이

이미 구성되어야 하고 닭이 먼저냐 달걀이 먼저냐 하는 이슈에 놓이게 되는거죠.

그리하여 hosted-ovirt 의 ovirt-engine 은 hypervisor 가 둘 다 access 할 수 있는 NFS 도메인에 VM 을 생성합니다.

따로 VM 을 다른 스토리지에 생성하고 거기서 실제 서비스 vm 들을 생성할 스토리지를 컨트롤 하게 되는거죠.

hypervisor 끼리 nfs 로 공유하고 sanlock 이라는 클러스터링 데몬을 이용하여 (이게 hypervisor 클러스터링도 함께 사용하는건지는 잘;;; ) ovirt-engine 이 올라가 있는 H/W 에 문제가 생기더라도 다른 hypervisor 에서 기동할 수 있으므로 vm 및 가상화 풀은 지속적으로 컨트롤 할 수 있습니다.

 

다음번에는 설치하는 방법에 대해 공유하도록 하겠습니다.

 

꿀잠주무세여 들~