클라우드
가상화(Virtualization)/oVirt
moving
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 |
* 요즘에는 가상화 보다는 클라우드를 많이 사용한다.