가상화
[TOC]
가상화
1. 가상화란?
- 여러 운영체제 및 애플리케이션을 동일한 서버에서 동시에 실행할 수 있도록 하는 검증된 소프트웨어 기술. 컴퓨터, 운영체제, 스토리지 디바이스, 애플리케이션 또는 네트워크에 적용 가능
- 물리적 컴퓨팅 자원들을 논리적 자원으로 변환시키는것, 즉 추상화 하는것을 가상화라고 한다.
2. 가상화 기술
2-1. 네트워크 가상화
2-2. 서버 가상화
2-2-1. 서버 가상화란?
- 독립적인 cpu, memory, network, os를 갖는 여러 대의 가상 머신들이 물리적인 서버으 ㅣ자원을 분할해서 사용하는 기술
2-2-2. 서버 가상화 장점
- 공통 관리 인터페이스
- ILO(intergrated Lights out) 이 필요 없다.
- 손쉬운 하드웨어 교체
- 스냅샷
- 프로토타이핑
- 빠른 시스템 간 통신
- 손쉬운 해체
- 템슬릿화
- 신속한 구축
- 다이내믹한 자원 활용
2-2-3. 서버 가상화 종류
가상 서버를 생성하는데는 3가지 방식이 있다. 물리 서버는 host 라고 하며 가상 서버는 guest 라고 한다. 가상 서버는 물리 서버처럼 동작하는데, 각각의 시스템은 물리 서버의 자원을 가상 서버에 할당해 주는 접근 방식에 있어 차이가 난다.
1. 전가상화
- 하드웨어를 완전히 가상화 하는 방식.
- 하이퍼 바이저라고 하는 특수한 소프트웨어 사용
- 하이퍼 바이저 : 물리 서버의 cpu와 디스크에 직접 상호작용을 하며, 가상 서버의 운영체제를 위한 플랫폼 역활을 함.
- 하이퍼바이저를 베어메탈에 구동하면, DOM0이라고 하는 관리용 가상 머신이 구동된다. 전가상화는 나머지 모든 가상 머신들의 하드웨어 접근이 DOM0을 통해 이루어 진다. 모든 명령에 대해 DOM0이 개입을 하게 되는 형테이다. 하드웨어를 완전히 가상화 하기 때문에 게스트 운영체제의 별 다른 수정 없이 사용할 수 있다는 장점이 있지만, 하이퍼바이저가 모든 명령을 중재하게 되기 때문에 비교적 성능이 느리다.
2. 반가상화
- 전가상화의 큰 단점인 성능 저하를 해소하고자 모든 명령을 DOM0을 통해 하이퍼바이저에게 요청을 하는 것이 아닌, 하이퍼콜이라는 인터페이스로 직접 하이퍼바이저에게 요청을 날릴수 있어, 전가상화에 비해 성능이 빠르다.
- 게스트 운영체제가 하드웨어의 가상화 여부를 알고 있어야 하며, 필요한 경우 하이퍼바이저에게 하이퍼콜을 요청할 수 있도록 운영체제의 커널을 수정해야 한다.
3. OS 레벨 가상화
- 하이퍼바이저를 사용하지 않는 대신, 가상화 기능이 호스트 OS에 포함되어 있다. 호스트 OS의 가상화에는 전가상화의 하이퍼바이저의 모든 기능들이 포함된다. 다만, 게스트 서버는 반드시 동일한 OS를 구동해야 한다는 한계가 있다.
4. 호스트형 가상화 (Type-2)
- 베어메탈을 구동하기 위한 호스트 운영체제가 설치되고, 그 위에 하이퍼 바이저가 실행되는 형태이다. 호스트 운영체제 위에 하이퍼 바이저가 구동되고, 가상의 하드웨어를 에뮬레이팅 하기 떄문에 오버헤드가 크다는 단점이 있지만, 호스트 운영체제에 크게 제약사항이 없는 장점이 있다.
2-2-4. 서버 가상화의 한계
- CPU 점유율이 높은 애플리케이션은 가상화에 큰 도움이 되지 않을 수 있다.
- 본질적으로 물리 서버의 처리 능력을 여러 가상 서버에 나누어 사용하기 때문에, 애플리케이션의 요구환경에 미달할 경우 문제가 발생할 수 있다.
- 마이그레이션시, 하나의 물리 서버에 구동되는 가상 서버를 마이그레이션할 수 있는 전제조건은 동일한 제조사의 프로세서를 사용해야 한다.
2-3. 스토리지 가상화
2-4. 데스크톱 가상화
- 서버 등 기업용 인프라 대신 개인용 PC를 가상화해서 이부에 제공하는 기술.
- 데스크톱 서비스를 통해 기업 구성원들에게 업무용 PC를 제공하면 데이터 통합관리와 강력한 보안이라는 이점을 누릴 수 있다.
- 유지 보수 비용이 많이 필요하고, 반응 속도가 느리다.
- 하지만 개인 pc 가 문제가 발생하더라도, 업무에는 치명적인 지장이 발생하지 않아, 최근에는 데스크톱 가상화를 포기하고 망 분레 pc 등을 통해 안전한 비지니스 환경을 구축한다.
2-5. 앱 가상화
+ 탄력적 컴퓨팅 (엘라스틱 컴퓨팅)
- 인프라 증가가 필요할 때 인프라를 바로 증가 시키고, 감소 해야 할땐 감소시키는 기능
- 이러한 기능을 통해 중단 또는 장애 없는 서비스를 제공할 수 있다(고가용성).
- 기업 서비스 관리자가 트래픽에 맞춰 인프라를 일일이 늘이고 줄여야 했던 기존 탄력적 컴퓨팅에서 한 발 나아가 트래픽에 맞춰 클라우드가 알아서 인프라를 늘리고 줄여주는 오토 스케일링 기술 등장.
+ 하이브리드 클라우드 버스팅
- 평소에는 기업의 인프라에서 모든 서비스를 운용하고 데이터를 저장하다가, 기업 인프라의 한계치를 초과하는 트래픽이 서비스에 몰릴 경우 초과된 트래픽을 클라우드에서 처리하는 기술.
3. Virtual Machine
3-1. 가상 머신이란?
- 가상 컴퓨터 시스템을 의미하며, 내부에 운영 체제와 애플리케이션을 갖춘 완전히 분리된 소프트웨어 컨테이너이다. 자체적으로 완전한 각각의 가상머신은 독립도어 있다. 컴퓨터 한대에 여러 가상머신을 연결하면 단 하나의 물리적 서버 또는 ‘호스트'에서 다수의 운영체제와 애플리케이션을 실행 할 수 있다.
3-2. 가상 머신의 주요 속성
- 파티셔닝
- 하나의 물리적 시스템에서 여러 운영 체제 실행
- 가상 머신 간 시스템 리소스 분배
- 캡슐화
- 가상 머신의 전체 상태를 파일에 저장
- 파일을 이동하고 복사하는 것처럼 손쉽게 가상 머신 이동 및 복사
- 분리성
- 하드웨어 수준에서 장애 및 보안 분리성 제공
- 고급 리소스 제어로 성능 유지
- 하드웨어 독립성
- 원하는 물리적 서버로 원하는 가상 머신을 프로비저닝 또는 마이그레이션
컨테이너
- 도커 http://gotocloud.co.kr/?p=615 http://gotocloud.co.kr/?p=224 http://kiyoo.tistory.com/26
[가상화란?] https://www.redhat.com/ko/topics/virtualization/what-is-virtualization [클라우드 컴퓨팅 기반 기술] http://gotocloud.co.kr/?p=615 [서버 가상화란?] http://itxcloud.tistory.com/entry/%EA%B0%80%EC%83%81%ED%99%94Virtualization-%EC%B4%9D%EC%A0%95%EB%A6%AC-2-%EC%84%9C%EB%B2%84-%EA%B0%80%EC%83%81%ED%99%94-Server-Virtualization-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80?category=439331 [전가상화와 반가상화] https://blog.naver.com/alice_k106/220218878967 [가상화 타입 그리고 전가상화와 반가상화] http://blog.naver.com/complusblog/220990379931