* VM (Virtual Machine) 이란?
- VM은 물리적 장치와 그 부품들의 소프트웨어적 형태이다.
- 가상화 소프트웨어는 물리적 장치와 그 요소들을 VM의 파일로 변환한다.
- VM은 specification/configuration files의 모음을 포함한다.
- 모든 VM은 물리적 하드웨어와 동일한 function을 제공한다.
- VM은 호환용이성(portable), 보안성, 관리편의성 기능을 가진다.
* VM의 요소
- Guest 운영체제
- VMware Tools (VM에 적용하는 드라이버 모음과 추가기능)
- 가상 자원 (CPU, 메모리, 어댑터, 디스크, 컨트롤러, 시리얼 포트 등등)
- 어플리케이션
* 가상머신과 물리장치 비교
[물리장치]
- 이동, 복사 어려움
- 특정 하드웨어 구성요소 세트에 묶임
- 수명주기가 짧은 경우가 많음
- 하드웨어 업그레이드를 위해 사람이 필요
[가상머신]
- 이동, 복사 쉬움
- VM들은 파일에 캡슐화되어 물리적 하드웨어와는 독립적이다.
- 동일한 물리적 하드웨어에서 VM끼리 독립적이다.
- 물리적 하드웨어 변경의 영향이 적다.
* 가상머신의 장점
1. 호환성
- 가상머신은 물리적 하드웨어와 독립적이므로 아래 부분을 고려할 필요 없음.
- 물리적 장치는 하드웨어 변경에 따른 드라이버 호환성 영향이 미미하며, 문제 대비에 대한 다양한 상황 테스트 등이 필요하다.
- 예를들어 어플리케이션이 하드웨어 드라이버와 직접 인터페이스 하는 경우, 하드웨어/드라이버 또는 둘다 변경하는 경우 상당한 영향이 발생할 수 있음.
2. 자원 효율성
- 물리적서버에서 사용량이 남으면 남은 자원은 놀 수 밖에 없으나 가상머신은 자원만큼 생성하여 사용 가능
- 부품 수가 부족하다 하더라도 가상으로 생성할 수 있음. 예를들어 물리서버에 LAN port가 하나라도, VM에서는 여러개 만들 수 있음.
3. 독립성 및 사용의 자유로움
- VM끼리 독립적이므로 특정 VM의 장애가 다른 VM에 영향을 주지 않는다.
- 만약 VM끼리 접근하려면 액세스 권한을 별도로 부여받아야 함.
4. 빠른 속도
- 물리적으로 서버를 설치하는 것과 다르게, 하이퍼바이저 내에서 빠르고 일관되게 VM을 배포할 수 있음.
- 서버 이동의 경우 물리적인 서버를 옮기는것보다 VM을 옮기는것이 훨씬 수월하고 빠름.
* VM 가상 하드웨어들
- 각 VM에 설치되는 Guest OS는 일반적인 하드웨어를 바라본다. (가상 하드웨어라는 것을 알지 못함)
- 시스템 관리자가 적용할 수 있는 몇가지 variation을 제외하고는 모든 VM은 Uniform 하드웨어라는 것을 가진다.
- Uniform 하드웨어를 사용하면, VMware 가상화 플랫폼 사이에서 VM들을 Portable 하게 만든다.
- VM은 가상 하드웨어를 사용한다. 가상 CPU(vCPU)와 가상 메모리는 최소한의 필수 가상 하드웨어이다.
- 사용자는 CPU 설정, VM 메모리 설정, 가상 디스크 및 NIC 등을 추가할 수 있다.
- 또한 CD/DVD 와 SCSI 장치같은 가상 하드웨어도 추가하고 구성할 수 있다.
- 모든 장치를 추가하고 구성할 수 있는 것은 아니다.
- 예를 들어 비디오 장치는 추가할 수 없지만 사용 가능한 비디오 장치 및 비디오 카드는 구성할 수 있다.
# CPU
- CPU 및 메모리 자원을 추가/변경/구성하여 VM 성능 향상
- OS, Application에 따라 VM의 CPU 및 메모리 자원 자유롭게 조정
- 멀티코어 vCPU 기능으로 VM의 가상 소켓당 코어 수 제어
(소켓 제한이 있는 OS나 Application에서 호스트의 CPU코어를 더 많이 사용할 수 있음)
- VM은 물리 서버의 논리 CPU 수 (CPU의 코어수, 하이퍼스레딩 활성화된다면 그 두배) 보다 많은 가상 CPU를 가질 수 없음.
Memory
- 대부분의 메모리 매개 변수는 VM을 생성하는 동안 또는 Guest OS 설치 후 설정할 수 있다.
- 일부 작업은 설정을 변경하기 전에 VM의 전원을 꺼야할 수 있음.
- VM의 메모리 리소스 설정에 따라 VM에 할당되는 호스트의 메모리 양이 결정된다.
- VM은 구성된 가상 하드웨어 메모리 크기보다 많은 메모리 리소스를 활용할 수 없다.
# USB Device
- 여러 USB 디바이스(보안동글, 스토리지USB)들을 디바이스가 물리적으로 연결된 서버에 올라간 VM에 할당할 수 있음.
- USB 디바이스는 한 번에 하나의 VM에서만 사용할 수 있다. 해당 VM에서 USB를 제거하면 다른 VM이 사용가능.
- VM은 데이터센터 (VMware의 데이터센터 개념을 말하는 것으로 보임) 내의 다른 물리적 서버에 연결된 USB에 연결할 수 없다.
# DirectPath I/O 장치
- 한 VM에 최대 16개의 PCI vSphere DirectPath I/O 장치를 추가할 수 있다.
- 이 장치는 VM이 실행되는 호스트에서 PCI 패스스루용으로 예약되어야 함.
- 스냅샷은 vSphere DirectPath I/O 패스스루 디바이스에서 지원되지 않는다.
# SATA Controller
- 가상 디스크 및 CD/DVD 장치에 대한 액세스를 제공
- SATA 가상 컨트롤러는 가상 머신에 AHCI SATA 컨트롤러로 나타남.
# VMCI (The Virtual Machine Communication Interface)
- VMCI는 가상 머신과 하이퍼바이저 간에 고속 통신 채널을 제공하는 인프라이다.
- VMCI 디바이스는 추가하거나 제거할 수 없다.
- VMCI SDK를 사용하면 VMCI 인프라를 사용하는 애플리케이션을 쉽게 개발할 수 있다.
- VMCI가 없으면 VM은 네트워크 계층을 사용하여 호스트와 통신하며, 네트워크 계층을 사용하면 통신에 오버헤드가 추가된다.
- VMCI를 사용하면 통신 오버헤드가 최소화되고 통신이 필요한 작업을 최적화할 수 있다.
- VMCI는 128K 크기의 대기열 쌍으로 거의 10Gbit/s까지 올라갈 수 있습니다.
( VMCI can go up to nearly 10 Gbit/s with 128 K sized queue pairs.)
- VMCI는 다음 유형의 통신을 사용할 수 있다.
- 데이터그램 (Datagrams) : connectionless이며, UDP queue pair와 유사
- 연결 지향 (Connection oriented) : TCP와 유사
- VMCI는 TCP/UDP 애플리케이션에 사용되는 API와 유사한 소켓 API를 제공한다. IP 주소는 VMCI ID 번호로 대체됨.
- 예를 들어, netperf를 포팅하여 TCP/UDP 대신 VMCI 소켓을 사용할 수 있다.
- VMCI는 기본적으로 비활성화 되어있음.
- VMCI 관련 참고 링크 : https://www.vmware.com/pdf/ws65_s2_vmci_sockets.pdf
* 가상머신 작동 매커니즘
- 물리적 서버에서 실행되는 여러 VM들은 해당 서버의 CPU, 메모리, 네트워크, 스토리지 리소스를 공유한다.
- VM은 CPU에 대한 액세스를 공유하며, 하이퍼바이저에 의해 실행되도록 예약된다.
- VM에는 물리적 네트워크 카드와 디스크 컨트롤러에 대한 엑세스를 사용하고 공유할 수 있는 고유한 메모리 영역이 할당된다.
- 하이퍼바이저는 기존 운영체제가 메모리를 할당하고 애플리케이션을 스케줄링하는 것처럼 VM을 스케줄링한다.
* 가상 하드웨어 버전
- 가상 하드웨어 버전 또는 VM 호환성 수준에 따라 VM이 지원하는 운영 체제 기능이 결정된다.
- 이러한 가상 하드웨어 버전은 Virtual Machine에 적용되는 것임. 이 버전에 따라 사용할 수 있는기능이 있고 없기도 함.
- VMware 제품에서 지원하지 않는 최신 버전은 사용하지 말 것.
(Do not use a later version that is not supported by the VMware product)
- VMware 제품의 각 릴리스에는 해당 VM 하드웨어 버전이 포함된다.
- 위 표에는 각 ESXi 버전이 지원하는 최신 하드웨어 버전이 나와 있다.
- 각 VM Compatibility 수준은 최소 5개의 Major 또는 Minor vSphere Release를 지원한다.
(Each VM compatibility level supports at least five major or minor vSphere releases.)
교재 참조 페이지 : 3-27, 3-28, 3-29
'VMWare > Virtualization & Virtual Machine' 카테고리의 다른 글
VM의 파일 정보 (0) | 2023.03.27 |
---|---|
가상화 기본 개념 (0) | 2023.03.23 |