ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 가상화(Virtualization)/oVirt
    클라우드 2021. 2. 22. 17:05
    728x90

    가상화(Virtualization)

    가상화의 정의

    • 가상화란 하드웨어 기능을 추상화하여 서버, 네트워크, 스토리지와 같은 IT 자원을 제공하는 기술이다. 
    • 물리적으로 되어 있지 않지만 무언가에 의해서 만들어 진 것이다. 

     

    가상화의 역사

    • 1970년대 IBM 메인프레임의 하드웨어 파티셔닝
    • 1990년대 후반 ~ 2000년대 초반 하드웨어의 급성장
    • 리소스 사용률 저하 ( 평균 20 ~ 30% ) 로 인해서 소프트웨어 파티셔닝 (Hypervisor) 개발 - KVM, virtualbox, vmware

     

    가상화의 장점

    • 물리적 시스템 통합

    처음엔 한 대의 서버에 모두 같이 썼는데, 서버가 저렴해지면서 서버를 각각 두기 시작함 -> 서버의 사용률이 저하되어서 다시 하나의 서버에 통합하고, 하나의 서버에 web, db, nfs 등의 vm을 각각 만들어 줌 -> 그러나 서버가 죽으면 다 죽어버리기 때문에 이것을 대비하기 위해 HA(고가용성) 기술을 사용함 -> 메모리만 마이그레이션하여 nfs 서비스를 이용해 정상적으로 사용할 수 있도록 해줌 

     

    • 하드웨어 독립성
    • 리소스 효율성 증가
    • 비용 절감

     

    가상화 종류

    • 서버 가상화
    • 네트워크 가상화
    • 스토리지 가상화
    • 컨테이너 가상화

     

    서버 가상화

    1. 하이퍼바이저(VMM; Virtual Machine Manager): H/W를 소프트웨어 파티셔닝을 해주는 도구. 가상머신 관리 감독.

    • Host: 가상머신을 가지고 있는 물리적 서버 (ex ubuntu)
    • Guest: 가상머신 
    • 하이퍼바이저 종류
      • Native Hypervisor (Bare-metal): 물리적인 머신에 하이퍼바이저 소프트웨어를 설치. 별도의 운영체제가 필요 없음. 
      • Hosted Hypervisor: 운영체제가 설치된 머신에서 하이퍼바이저 소프트웨어를 설치. 현재 거의 사용하지 않음.

    2. 전 가상화(Full Virtualization)

    • 가상의 서버(가상머신)가 사용하는 모든 리소스를 하이퍼바이저가 가상으로 만들어 제공함
    • 전 가상화로 만들어진 가상머신은 자신이 가상머신인지 모름
    • 물리적인 하드웨어에 접근할 때 하이퍼바이저에 의해 제어됨
    • 트랩과 에뮬레이트 작업을 거치기 때문에 성능이 떨어짐
    • 대부분의 운영체제를 쉽게 설치 가능
    • 현재 가장 많이 사용하는 가상화 기법

    3. 반 가상화(Para-Virtualization)

    • 가상의 서버가 사용하는 운영체제의 커널 소스를 수정하여 하이퍼바이저에 의해 하드웨어에 접근
    • 리소스 일부분만 가상의 자원을 사용

     

    * virtualbox나 VMWarer 같은 가상머신을 사용하려면 CPU의 가상화 기능이 활성화 되어야 사용할 수 있다.

    (Intel - VT-x / AMD - AMD-v)

     

     

     

    oVirt

    oVirt 소개

    • 오픈소스 분산 가상화 솔류션
    • 기업 인프라 관리 목적으로 디자인됨
    • Host와 Guest 시스템을 중앙에서 관리하는 가상화 플랫폼(PaaS)
    • KVM 하이퍼바이저를 사용하여 몇몇 커뮤니티 프로젝트를 기반으로 구성됨

     

    oVirt에서 제공하는 기능

    • hardware node 관리
    • 스토리지 및 네트워크 자원 관리
    • 가상머신 배포 및 관리 기능
    • 마이그레이션 및 고가용성
    • 시스템 스케줄링 및 파워 관리
    • 각 노드 및 전체적인 플랫폼 모니터링 기능

     

    oVirt 구성요소

     

     

    가상화와 클라우드 컴퓨팅 비교

    가상화 클라우드
    개별 물리적 시스템에 대해 여러 개의 가상 환경을 생성 온디맨드 사용을 위한 가상 리소스 풀링과 자동화
    정의된 사용자 집합에 대한 특정 사용을 위한 유한 리소스를 제공 다른 용도로 사용자 그룹에 가변적인 리소스를 제공
    자원의 장기적인 할당 단기 자원 배분
    stateful
    : 데이터의 쓰기 작업을 할 수 있음 (ex mariadb)
    stateless
    : 데이터의 쓰기 작업을 할 수 없음 (ex apache)
    인프라 수준의 고 가용성 (HA) 응용 프로그램 계층에서의 고 가용성 (HA)
    Scales up 방식
    : 무언가의 사이즈를 늘리는 것. 한계가 있음
    Scales out <-> Scales in
    auto scaling

     

     

    * 요즘에는 가상화 보다는 클라우드를 많이 사용한다. 

    댓글

Designed by Tistory.