* 가상화란?
- 물리적 장치를 소프트웨어 기반의 표현으로 생성하는 절차
- 가상화를 사용해 여러 워크로드를 단일 컴퓨터에서 가상머신으로 통합하고 실행할 수 있음.
* 가상화의 기본 개념
- 기존 아키텍쳐는 운영체제가 설치된 하드웨어와 직접 상호작용한다.
- 가상화는 하이퍼바이저(또는 가상화 계층)라는 얇은 소프트웨어 계층을 통해 설치된 하드웨어와 상호작용한다.
- 하이퍼바이저는 가상머신을 만들고, 거기에 물리적 하드웨어 자원을 동적으로 제공한다.
- 하이퍼바이저를 통해 VM은 기본 물리적 하드웨어로부터 어느정도 독립적으로 운영 가능하다.
- 가상화는 자원의 효과적인 사용으로 비용감소 / 업무 효율성과 민첩성 증가의 이점을 가진다.
* VMware 가상화 종류 4가지
(ESXi 위에 NSX,VSAN,Horizon 이 올라가게 됨)
- Server 가상화 : vSphere ESXi
- Network 가상화 : NSX-T
- Storage 가상화 : VSAN
- Desktop 가상화 : Horizon
* CPU 가상화
# 물리적 환경
- 해당 물리적 장비에 올라간 OS가 해당 장비 안에 모든 CPU에 대한 소유권을 가짐
# 가상화 환경
- CPU 가상화는 성능에 초점을 맞추며, 또한 사용 가능한 CPU에서 직접 실행된다.
- 가상화 계층은 VM이 물리적 시스템에서 직접 실행되는것처럼 작동해야 할 때만 instruction을 실행함.
- CPU 가상화는 에뮬레이션이 아니다. 에뮬레이션은 이식성을 제공하나 성능에는 부정적인 영향을 미칠 수 있음.
(이식성 Portablity) : 에뮬레이션은 프로그램을 만든 시스템이 아닌 다른 시스템에도 실행할 수 있는 것)
- 지원되는 게스트 운영 체제는 x64 프로세서용으로 설계되었기 때문에 CPU 가상화는 에뮬레이션이 아님.
- 하이퍼바이저를 사용하면, Guest OS는 실제 물리적 X86 CPU에 native하게 실행될 수 있음.
* Memory 가상화
# 물리적 환경
- 해당 물리적 장비에 올라간 OS가 해당 장비 안에 모든 Memory에 대한 소유권을 가짐
# 가상화 환경
- Memory 가상화는 성능에 초점을 맞추며, 또한 사용 가능한 Memory에서 직접 실행된다.
# 하이퍼바이저의 가상 메모리 사용
- 가상 메모리는 대부분의 범용 운영 체제에서 사용되는 수십 년 된 기술이다.
- 응용 프로그램이 시작되면 운영 체제에서 제공하는 인터페이스를 사용해 실행 중에 가상 메모리 페이지를 할당/해제한다.
- 운영 체제는 가상 메모리를 사용하여 물리적으로 액세스할 수 있는 것보다 더 많은 메모리를 응용 프로그램에 제공한다.
- 거의 모든 최신 프로세서는 가상 메모리를 지원하는 하드웨어를 가진다.
- 운영체제의 가상 메모리는 애플리케이션을 위한 균일한 가상 주소 공간을 생성한다.
- 운영 체제와 하드웨어를 통해 가상 메모리는 가상 주소 공간과 물리적 주소 공간 간의 주소 변환을 처리할 수 있다.
- 이 기술은 현대 컴퓨터 시스템에서 대규모 주소 공간, 프로세스 보호, 파일 매핑 및 스와핑을 지원하도록 실행 환경을 조정한다.
- 가상화 환경에서 VMware 가상화 계층은 시작되는 VM에 대해 주소 지정 가능한 연속 메모리 공간을 생성한다.
- 할당된 메모리 공간은 VM 생성 시 설정되며 가상 주소 공간과 동일한 속성을 갖는다.
- 이 구성을 통해 하이퍼바이저는 여러 가상머신들을 동시에 실행할 수 있으며 각 VM의 메모리를 다른 VM이 액세스하지 못하도록 보호할 수 있다.
* 저장소 가상화 / 네트워크 가상화
- 내용이 길고 복잡하여 이후에 따로 설명
* GPU 가상화
# 개념
- VM은 고성능 계산 작업을 위해 물리적 호스트의 GPU를 사용할 수 있다.
- GPU는 복잡한 그래픽 작업에 사용된다. GPU에서 이러한 작업은 CPU에 과부하를 주지 않고 고성능으로 수행된다.
- 1개의 VM에 최대 4개의 vGPU를 구성할 수 있다.
- VMWARE는 NVIDIA, AMD GPU 지원, 자세한 것은 호환성 매트릭스 확인 필요
# 가상 GPU 사용 사례
가상 GPU는 다음과 같은 사용 사례에 대해 VM에 추가할 수 있습니다:
- 2D 및 3D 그래픽 작업
- VMware Horizon 가상 데스크톱
- 그래픽 집약적 애플리케이션 (건축가, 엔지니어등이 사용하는 애플리케이션 같은..)
- 대규모 병렬 작업 애플리케이션 (과학 계산 등)
# 참고 : vSphere 7 Bitfusion
- 하드웨어를 가속화하기 위한 feature이다.
- Bitfusion은 서로 연결된 서버 사이에서 특정 물리적 리소스를 분리하는 소프트웨어 플랫폼을 제공한다.
- 예를 들어, 이 플랫폼은 GPU를 서버별로 가진 리소스가 아니라, 네트워크를 통해 GPU에 엑세스 할 수 있는 리소스 풀로 만들어 공유할 수 있다.
- 즉 Bitfusion은 vSphere가 CPU를 공유하는 방식과 유사한 방식으로 GPU를 공유하여 효율적으로 사용할 수 있게 함. (GPU 공유를 위한 목적임)
- GPU 리소스를 풀로 생성하여 여러 워크로드에 대한 탄력적인 인프라를 제공
- 또한 플랫폼을 확장하여 FPGA 및 ASIC과 같은 다른 가속기를 지원할 수 있음.
- 관련 문서 : https://docs.vmware.com/kr/VMware-vSphere-Bitfusion/index.html
# Bitfusion 사용 사례
- 복잡한 애니메이션 및 3D 그래픽 렌더링과 같은 엔터테인먼트 및 시각화
- 자율 주행 차량 및 스마트 시티 프로젝트와 같은 교통 및 정부 분야
- 제조 및 배송 (예: 공장 워크플로우 및 공급망 물류 최적화)
- 감염병 및 역학(예: 백신 연구 및 바이러스 확산 방식 모델링)
- 강의실 안팎의 연구를 위한 GPU 리소스 할당과 같은 고등 교육 분야
- 재고 관리, 구매자 행동 분석, 사기 탐지 지원 등 소매업
- 일상적이거나 위험한 작업 수행을 위한 모델 생성 등 로보틱스
- 리스크 분석 등 금융 서비스
* 기타 가상 디바이스
CD/DVD 드라이브 | CD, DVD 또는 ISO 이미지 연결 |
USB 3.0 및 3.1 | 호스트 연결 및 클라이언트 연결 기기에서 지원 |
플로피 드라이브 | 플로피 드라이브 또는 플로피 이미지에 VM을 연결하는 데 사용 |
일반 SCSI 디바이스 | VM을 추가 SCSI 어댑터에 연결할 수 있음. |
교재 참조 페이지 : 2-22~27 / 3-27, 3-28
'VMWare > Virtualization & Virtual Machine' 카테고리의 다른 글
VM의 파일 정보 (0) | 2023.03.27 |
---|---|
VM (Virtual Machine) 기본개념 (0) | 2023.03.27 |