관리 메뉴

공부공부 공부공부내용

가상화 개요 및 관련 용어들 본문

클라우드 구성 및 관리/가상화 인프라 관리 [ovirt]

가상화 개요 및 관련 용어들

wkdth04 2020. 6. 22. 11:31

infros.tistory.com/entry/oVirt-%EA%B8%B0%EC%B4%88

- CentOs 와 RHEL 의 차이.

-unix linux 

기존유닉스 서버시장 .. ibm 및 금융권 ,,, 

infros.tistory.com/entry/oVirt-%EA%B8%B0%EC%B4%88

 

1. 가상화란?

현대의 시스템을 다수의 가상의 시스템으로 분할하여 사용

가상시스템은 서로 독립적이다.

리소스의 효율적인 사용이 가능

서버의 쉽고 빠른 배포가 가능

중앙 집중화 된 가상화 인프라 구성이 가능

하이퍼바이저 (가상화의 관리 및 지원)

* 호스트  //가상머신들을 가지고있는 물리적인 서버  ex) 우분투

* 게스트   // ex) 기존에 우분투 안에서 사용했던 가상머신들, Hypervisor 상에서 실행되는 가상머신

 

2. 가상화 개념

전가상화 (Full Virtualiztion)

-자신이 가상머신인줄 모름

-현재 가장 많이 사용하는 가상화 기법

- 가상의 서버( 가상머신)가 사용하는 모든 리소스를 하이퍼바이저가 가상으로 만들어 제공

-가상머신이 제공받은 하드웨어 전부 가상의 하드웨어

- sensitive instruction 이 발생하면 하이퍼바이저에 문제발생 /하드웨어 지원(VT-x,svm)으로 해당문제 해결이 가능

 

 

반가상화 (Para Virtualiztion)

-커널의 소스 일부분을 수정해야함.운영체제의 커널 소스를 수정한 가상화

-장치에 다이렉트로 연결해주는 통로를 만들어야함.

-가상의 서버가 사용하는 운영체제의 커널소스를 수정하여 하이퍼바이저에 의해 하드웨어에 접근

-리소스 일부분만 가상의 자원을 사용

-반가상화가 전가상화보다 오버헤드가 적다. 속도가 더 빠르다.(binary translation이 필요하지 않기 때문에)

-내가 사용하는 하드웨어가 가상임을 인지하고 있다. => 커널이 수정될 수 있어야한다.

반가상화가 지원하는 운영체제는 하이퍼바이저가 인지할 수 있는 명령어를 사용한다.

 

preview.hanbit.co.kr/1604/sample_ebook.pdf (22p참고)

요즘에는 전가상화 반가상화의 차이가 별로 없어서 굳이 반가상화 사용할 필요를 못느낀다.

 

 

3. 가상화 장점

물리적시스템의 통합

하드웨어 독립성

리소스 효율성 증가

비용절감

 

 

4.가상화 방식

1-1. 하드웨어 기반의 가상화

   요즘은 많이 사용하지 않는다.

1-2. 소프트웨어 기반의 가상화식 (HyperVisor의 종류 2가지)

    Type1 Baremetal Virtualization or Native Virtualization (기업의 서비스형태로 사용)

Baremetl Virtualization

               - 물리적인 머신에 하이퍼바이저 소프트웨어 설치

               - 별도의 운영체제 필요 X

               - 하이퍼바이저를 관리할 시스템이 존재해야한다.

 

 

Type2   Hosted Virtualization(Test 나 개발 할떄 주로 사용)   요즘 거의 사용하지 않음.

Hosted Virtualization

                    - 운영체제가 설치된 머신에서 하이퍼바이저 소프트웨어를 설치

                    - 하이퍼바이저를 관리할 시스템이 존재하지 않아도 됨

 

 

 

-hypervisor (vmware , kvm ,virtualbox, ovirt)  // 소프트웨어 파티션을 해주는 도구

하이퍼바이저(영어: hypervisor)는 호스트 컴퓨터에서 다수의 운영 체제(operating system)를 동시에 실행하기 위한 논리적 플랫폼(platform)을 말한다. 가상화 머신 모니터 또는 가상화 머신 매니저(영어: virtual machine monitor 또는 virtual machine manager, 줄여서 VMM)라고도 부른다.

 

하나의 서버안에서 목적에 따른 여러 가상머신을 만든다.

하나의 서버 안에 (web, db, nfs) -> 그 서버에 정해놓은 메모리만큼만 리소스를 사용할 수 있도록 나눠쓰는 것.

문제점 _  이 서버가 다운되었을 때 그 안의 가상머신들도 같이 다운...

 

-HA (high availty_고가용성) -> cluster

클러스터 = 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합을 말한다. 클러스터의 구성 요소들은 일반적으로 고속의 근거리 통신망으로 연결된다.

 

-마이그레이션(migration)

한 운영환경으로부터 대개의 경우 좀더 낫다고 여겨지는 다른 운영환경으로 옮겨가는 과정을 말한다.

-live 마이그레이션 -> 다운되지않고 살아있는 상태에서 이동되는 것.  / 마이그레이션 할 때 메모리만 마이그레이션한다. nfs를 통해 기존의 디스크 파일들을 공유스토리지로 전달하고 메모리정보만 이동하는 솔루션.**  nfs 공유스토리지기 때문에 라이브 마이그레이션이 가능해지는 것.  다운타임을 최소화하기 위해서 공유스토리지를 사용한다.

- cold 마이그레이션-> live마이그레이션의 반대.

 

 

4. 가상화 종류

-애플리케이션 가상화

-데스크톱 가상화

-서버 가상화

- 네트워크 가상화

- 스토리지 가상화 ex) 오픈스택

- 컨테이너 가상화

 

1) 호스트 가상화 :

호스트가상화는 Base가 되는 Host OS위에 Guest OS가 구동되는 방식입니다. 종류로는 VM Workstation, VMware Server, VMware Player, MS Virtual Sever, Virtual PC, Virtual Box, Paralles Workstation 등이 있습니다.

  • 장점 : 가상의 하드웨어를 에뮬레이팅하기 때문에 호스트 운영체제에 크게 제약사항이 없음
  • 단점 : OS위에 OS가 얹히는 방식이기 때문에 오버헤드가 클 수 있음

 

2) 하이퍼바이저 가상화 :

하이퍼가상화는 Host OS없이 하드웨어에 하이퍼바이저를 설치하여 사용하는 방식입니다. 종류로는  Xen, MS hyper-V, citrix, KVM 등이 있습니다.

  • 장점 : 별도의 Host OS가 없기 때문에 오버헤드가 적고, 하드웨어를 직접 제어하기 때문에 효율적으로 리소스를 사용할 수 있음
  • 단점 : 자체적으로 머신에 대한 관리 기능이 없기 때문에 관리를 위한 컴퓨터나 콘솔이 필요함

하이퍼바이저 가상화는 아래와같이 다시 전가상화(Full-Virtualization or Hardware Virtual Machine)  와 반가상화(Para-Virtualization)로 분류 됩니다.

2-1) 전가상화(Full-Virtualization)

전가상화는 하드웨어를 완전히 가상화 하는 방식으로 Hardware Virtual Machine 이라고도 불립니다.
하이퍼바이저를 구동하면 DOM0라고 하는 관리용 가상 머신이 실행되며, 모든 가상머신들의 하드웨어 접근이 DOM0을 통해서 이루어집니다.
즉, 모든 명령에 대해서 DOM0가 개입을 하게되는 형태입니다.

쉽게 말해 하이퍼바이저는 가상화된 OS가 뭐든지간에 각 OS들이 내리는 명령어를 알아들을 수 있습니다.
예를들어 윈도우 에서 Add, 리눅스 에서 ADD, 맥에서 add 라는 명령어를 내렸을때  하이퍼바이저가 “더해라”라고 번역 하여 명령어를 실행해주는 것입니다.
하이퍼바이저는 이러한 번역 역할 뿐만 아니라 가상화된 OS들에게 자원을 할당해주는 역할도 담당합니다.

  • 장점 : 하드웨어를 완전히 가상화하기 때문에 Guest OS 운영체제의 별다른 수정이 필요 없음
  • 단점 : 하이퍼바이저가 모든 명령을 중재하기 때문에 성능이 비교적 느림

 

2-2) 반가상화(Para-Virtualization)

반가상화는 전가상화와 달리 하드웨어를 완전히 가상화 하지 않습니다.

전가상화의 가장큰 단점인 성능저하의 문제를 해결하기 위해 하이퍼콜(Hyper Call)이라는 인터페이스를 통해 하이퍼바이저에게 직접 요청을 날릴 수 있습니다.

쉽게 말하면 가상화된 각 OS들이 각각 다른 번역기를 갖고 있는 것입니다. 그 번역기는 각각 다른 OS에서 내리는 각각 다른 명령어를 “더해라”라고 번역해주게 되는 것입니다.

  • 장점 : 모든 명령을 DOM0를 통해 하이퍼바이저에게 요청하는 전가상화에비해 성능이 빠름
  • 단점 : 하이퍼바이저에게 Hyper Call 요청을 할 수 있도록 각 OS의 커널을 수정해야하며 오픈소스 OS가 아니면 반가상화를 이용하기가 쉽지 않음

 

3) 컨테이너 가상화 :
호스트 OS위에 컨테이너관리 소프트웨어를 설치하여, 논리적으로 컨테이너를 나누어 사용합니다.
컨테이너는 어플리케이션 동작을 위한 라이브러리와 어플리케이션등으로 구성되기때문에 이를 각각 개별 서버처럼 사용가능합니다.

  • 장점 : 컨테이너 가상화는 오버헤드가 적어 가볍고 빠른 장점이 있음

 


hipervisor (VMM)

 

프로그램   프로세스의 차이 /  사용중인 프로그램은 메모리에서 실행중이며 프로세스

가상머신에서도 호스트 속 가상머신이 사용중일 경우 메모리에서 실행되며 프로세스 실행됨.

프로세스와 프로세스가 서로 통신시 사용하는 IPC라는 콜 사용, 각 가상머신끼리의 통신시 API활용하여 사용.

서로 간섭할 수 없는 독립적 환경을 만들기 위해  사용.

 

1) type1

*호스트와 하이파이저가 결합되어있다

Native Hypervisor(bare-metal 물리적인 하이퍼바이저)

리눅스 커널에 최소한의 코드와 하이퍼바이저만 설치되어 있다.

 

2)type2

Hosted Hypervisor