가상화 비율과 VM 사양 (물리 서버에 몇 개의 vCore가 적당할까?)
목차
- 01. 학습 목표
- 02. 가상화 비율을 구글링 검색하면 ?
- 03. 가상화 비율과 VM 사양 비율에 대한 개념 정리
- 04. 사양 제공을 위한 VM 사양 비율
- 05. CPU 가상화 비율 (본격적인 내용 시작 !!)
- 06. 실습 !! 여러 예시를 통한 적정 가상화 비율 찾기
- 07. 가상화 비율이 낮은 것과 높은 것 어느 것이 좋을까 ?
- 08. 여러 VM 사양을 적정 성능으로 유지 관리하기
01. 학습 목표
이 문서의 학습 목표는 가상화 비율과 VM 사양 비율의 개념을 이해하고, 효율적인 서버 자원 관리와 성능 최적화를 위한 적절한 가상화 비율을 결정하는 방법을 학습하는 것이다.
02. 가상화 비율을 구글링 검색하면 ?
가상화 비율(가상화율) 그대로 번역하여 검색하면 자료가 나오지 않는다. 영어권에서는 Consolidation Ratio, VM Density 같은 용어로 검색해야 자료가 나온다.
‘consolidation ratio in virtualization’로 구글링하면 첫 번째 나오는 wiki의 내용을 보자 (Consolidation ratio)
Consolidation ratio within network infrastructure for Internet hosting, is the number of virtual servers that can run on each physical host machine. Many companies arrive at that figure through trial and error by stacking virtual machines on top of each other until performance slows to a crawl. “It’s sort of capacity planning by bloody nose,” observes Bob Gill, managing director of server research for analyst firm TheInfoPro Inc. of New York. The recent V-index showed that the average consolidation ratio is actually lower than was expected – 6.3:1 VMs per physical host (actual ratio) vs. 9.8:1
네트워크 인프라 내에서 인터넷 호스팅을 위한 통합 비율(Consolidation ratio)은 각 물리적 호스트 머신에서 실행될 수 있는 가상 서버(Virtual Server)의 수를 의미합니다. 많은 기업들이 성능이 급격히 저하될 때까지 가상 머신을 물리적 머신에 쌓아올리며 시행착오를 통해 그 비율을 도출합니다. “이는 일종의 피투성이 코를 동반한 용량 계획”이라고 뉴욕에 있는 분석 회사 TheInfoPro Inc.의 서버 연구 전무이사인 Bob Gill이 말합니다. 최근 V-인덱스(V-index)에 따르면, 실제 통합 비율은 예상보다 낮은 것으로 나타났습니다. 물리적 호스트당 가상 머신의 실제 비율은 6.3:1이지만, 인식된 비율은 9.8:1이었습니다.
우리가 찾고자 하는 내용을 찾을 수 있다. 그리고 VM density in virtualization로 검색하면 자료를 찾을 수 있다.
한국에서는 가상화 비율, 가상화율 이라는 말을 주로 쓰는 느낌이다. 그 외에도 vCore, vCPU를 섞은 문장을 만들어 검색하여 자료가 나오기도 한다.
영어권에서도 이 개념이 통일된 용어로 정의되어 있기보다 여러 검색 용어들이 사용되고 있는 것으로 보인다.
따라서 가상화 비율이란 개념은 국제적으로 존재하지만 엔지니어마다 비율을 표현하거나 가상 환경의 특성에 따라 계산하는 방법이 다를 수 있다.
예를 들면 아래와 같은 계산 방법이 존재한다.
- 물리적 서버 대 가상 머신의 비율
- 한 대의 물리적 서버에 몇 대의 가상 머신이 실행되는지를 나타낸다. 예를 들어, 하나의 물리적 서버에 10개의 가상 머신이 있다면 비율은 10:1이다.
- 자원 오버프로비저닝 비율 (resource overprovisioning ratio)
- 할당된 자원이 실제 물리적 자원을 초과하는 비율을 계산하는 방법이다. 예를 들어, 물리적 서버에 16개의 CPU 코어가 있지만 32개의 가상 CPU 코어를 할당한 경우 오버 프로비저닝 비율은 2:1이 된다.
- 이 문서에서 설명할 가상화 비율은 오버프로비저닝 비율을 기준으로 설명 한다
- 혹은 오버커밋 비율 (Overcommit ratio)이라고도 한다.
- 자원 활용도 기반 비율
- CPU, 메모리, 네트워크 등의 자원 활용도를 기준으로 비율을 계산하는 방법이다. 예를 들어, 전체 CPU 사용량이나 메모리 사용량을 기준으로 가상화 비율을 정의할 수 있다
03. 가상화 비율과 VM 사양 비율에 대한 개념 정리
03-1. 가상화 비율 (가상화율)
물리 서버 한 대에 몇 대의 가상 머신을 생성가능한지 나타내는 지표로서 자원 활용도를 계산하는 방법
- 표현 방법 N:1
- 예 : 2:1 (vCPU:CPU)
자원에 따라 여러가지 분류가 있으며, 이 문서에서는 위에서 언급한대로 CPU 자원을 오버프로비저닝 하는 비율을 위주로 설명할 것이다.
혹시나하여 부가 설명을하자면 가상화 비율이라는건 서버에 따로 설정하는 것이 아니다.
그저 물리 서버에 VM을 올리면서 효율적으로 자원을 관리하기 위해 사용하는 계산 개념이다.
03-2. VM 사양의 비율
가상화 서비스 제공자가 고객에게 제공하는 패키지 상품으로 VM의 vCPU : 메모리 비율을 의미한다.
- 표현 방법 N:N
- 예 : 1:4 (vCPU:vRAM)
패키지 상품에 추가되는 것에는 스토리지도 있으며, VM에 할당하는 디스크 공간을 나타낸다.
03-3. N:N 표현에 대한 유의 사항
표현되는 방식이 둘 다 N:N 으로 되기에 처음보면 혼동되기 쉽다.
이 문서를 작성하는 필자 또한 처음 봤을 때는 구분 없이 N:N이 가상화 비율이라고 표현을하여 어려움을 겪었다.
먼저 가상화 비율은 물리적 자원이 얼마나 많은 가상 자원을 지원할 수 있을지 나타내는 표현이다.
예를 들어, 1개의 물리적 CPU 코어가 4개의 가상 CPU(vCPU)를 지원하면 CPU 가상화 비율은 4:1이 된다.
그리고 VM 사양은 사용자가 필요한 만큼의 가상 자원을 선택하여 사용할 수 있도록 하는 패키지이다.
예를 들어 2개의 vCPU와, 8GB의 RAM 사양이 있다면, 2:8이 되기에 1:4로 표현이 가능하다.
04. 사양 제공을 위한 VM 사양 비율
본격적인 가상화율을 시작하기에 앞서 VM 사양 비율을 먼저 설명한다. 이는 자원 할당을 하기 위해 사전 지식으로 필요한 개념이라는 생각이 들어 선행 학습으로 넣었다.
04-1. VM 사양의 비율 이해하기
가상화 서비스 제공자가 고객에게 제공하는 가상 자원 사양에 대해 설명한다.
가상 머신 사양을 구분 짓는 가장 일반적인 방법인 코어(vCore)의 개수와 메모리 사이즈의 차이를 통해서 분류한다.
04-2. CPU와 메모리 사이즈에 따른 분류
먼저 가상 머신의 사양을 보도록 하자.
CPU : 메모리 비율 | 가상 서버 사양 |
---|---|
1:1 비율 사양 | 1vCore X 1GB 2vCore X 2GB 4vCore X 4GB 8vCore X 8GB |
1:2 비율 사양 | 1vCore X 2GB 2vCore X 4GB 4vCore X 8GB 8vCore X 16GB |
1:4 비율 사양 | 1vCore X 4GB 2vCore X 8GB 4vCore X 16GB 8vCore X 32GB |
1:8 비율 사양 | 1vCore X 8GB 2vCore X 16GB 4vCore X 32GB 8vCore X 64GB |
일반적으로 가상화 서비스에서 제공하는 VM 사양의 비율은 1:N으로 표시될 수 있다.
각 사양은 고객이 사용하고자하거나 제공되는 서비스에 따라 선택할 수 있기에 다양하게 서버에 올라간다.
만일 모든 고객이 동일한 스펙의 비율(ex. 1:4)의 VM을 일괄적으로 사용한다면 가장 효율적인 가상화 비율 계산을 용이하게 할 수 있다.
비율로 제공된 VM 사양이 아닌 임의의 사양으로 vCore 3개, RAM 10GB 인 사양인 경우 3:10(혹은 1:3.3)로도 표현될 수 있다. 이런 경우 효율적인 자원 사용률 관리를 위해 좀 더 복잡한 계산 방법을 통해 관리하거나 자원 모니터링을 통해 적정 VM을 찾아야 할 것이다.
[참고] VM 패키지 상품 전체를 보면 아래와 같이 이 문서에서 언급하지 않는 구성 요소가 있다.
- CPU
- 메모리
- 스토리지
- 네트워크 성능
- 확장성 (CPU나 메모리 업그레이드)
- 가격 정보
- 기술 지원 및 서비스 수준 계약 (SLA) - 가용성 보장, 지원 응답 시간 등
04-3. 그 외의 VM 사양에 영향을 미치는 요소
CPU와 메모리 이외에도 사양의 성능에 영향을 미치는건 여러가지가 있다.
스토리지 디스크 유형과 성능
- 제공되는 스토리지가 HDD인지 SSD인지에 따라 성능 차이가 발생할 수 있다.
- 스토리지의 IOPS (Input/Output Operations Per Second) 성능은 데이터 입/출력 작업 처리 속도를 의미한다. 높은 IOPS는 데이터베이스와 같은 I/O가 많은 애플리케이션에서 중요하다.
네트워크 성능
- 스토리지와 VM 간의 데이터 전송이 이루어지는 스토리지 네트워크의 대역폭도 성능에 영향을 미칠 수 있다
- 네트워크 지연 시간(Latency)은 패킷이 목적지에 도달하는 데 걸리는 시간으로, 지연 시간이 낮을수록 비디오 스트리밍이나 온라인 게임과 같은 실시간 애플리케이션에 유리하다.
- 안정적인 네트워크와 낮은 네트워크 혼잡도는 패킷 손실률을 줄여 성능을 향상시킨다.
05. CPU 가상화 비율 (본격적인 내용 시작 !!)
05-1. 매우 높은 CPU 가상화 비율을 예시로 설명 (가상화 비율 8:1)
8개의 CPU 코어에 64개의 vCPU를 할당한다면 CPU 가상화 비율이 8:1이 된다.
이 비율은 매우 높은 가상화 비율로 1개의 물리적 CPU를 여러 가상 머신이 공유하여 사용한다는 의미가 된다.
이렇게 매우 높은 비율로 초과 할당(Overcommitment)하는 원리는 아래와 같다.
- Time Slicing : 시간 분할 방식으로 이루어지며, 물리적 CPU는 여러 vCPU의 요청을 순환하면서 처리한다.
- Scheduling : 하이퍼바이저가 각 가상 머신의 vCPU가 우선순위와 사용 패턴을 고려하여 물리적 CPU 코어에서 실행될 시간을 관리
- Context Switching : 물리적 CPU 코어가 다른 vCPU를 처리할 때마다 현재 상태(Contect)를 저장하고 새로운 vCPU의 상태를 불러옴
- 빈번하게 발생하면 오버헤드가 발생할 수 있다
높은 가상화 비율의 장점
- 자원 활용 극대화 : 대부분 지속적으로 작업을 하는 것이 아니기에 CPU 자원을 효율적으로 사용 가능
- 비용 절감 : 적은 물리적 비용으로 많은 가상 머신을 운영할 수 있어 비용 절감이 가능
높은 가상화 비율의 단점
- 성능 저하 : 동시에 작업을 하거나 높은 CPU 사용을 요구하면 CPU에 과부하가 발생하여 성능 저하가 발생
- 리소스 경쟁 : 여러 가상 머신이 같은 자원에 접근하여 사용할 때 리소스 경쟁이 발생할 수 있음 (시간을 받기 위해 경쟁하면서 성능 저하나 응답 지연이 발생할 수 있음)
어떠한 경우에 높은 CPU 가상화 비율을 사용할까 ?
첫 번째 – CPU 사용량이 상대적으로 낮은 작업
- 특징 : 애플리케이션이나 서비스가 주로 I/O 작업이나 메모리 작업을 수행하고, CPU 사용이 적은 경우
- 예시 : 웹 서버, 파일 서버, 가벼운 데이터베이스, 대기 상태가 많은 애플리케이션
두 번째 – 간헐적 CPU 사용
- 특징 : 워크로드가 간헐적으로 CPU를 사용하고, 일정 기간 동안 대기 상태가 많은 경우
- 예시 : 주기적인 배치 작업, 보고서 생성, 사용자 요청이 드문 애플리케이션
세 번째 – 개발 및 테스트 환경
- 특징 : 실제 운영 환경이 아니며, 주로 코드 테스트나 애플리케이션 개발을 위한 가상 머신
- 예시 : 개발자 테스트 서버, QA 테스트 환경, 일시적인 테스트 배포
네 번째 – 비용 절감이 중요한 업무
- 특징 : 자원의 효율적 사용과 비용 절감이 매우 중요한 경우
- 예시 : 제한된 예산 내에서 최대한 많은 가상 머신을 운영해야 하는 경우, 예산 절감을 위해 물리적 서버 수를 최소화해야 하는 경우
실제 사례 예시는 아래와 같이 있을 수 있다.
- 다수의 웹 사이트를 호스팅하는 서비스는 대부분의 웹 사이트가 저부하 상태에 있는 경우가 많다. 이 경우 높은 가상화 비율을 통해 서버 자원을 효율적으로 사용할 수 있다.
- 개발자들이 코드 테스트를 위해 사용하는 가상 머신은 자주 사용되지 않으며, 동시에 사용되는 경우가 드물다. 이 경우 높은 가상화 비율을 적용하여 자원을 절약할 수 있다.
- 초기 스타트업은 예산이 제한적이므로, 높은 가상화 비율을 통해 비용을 절감하면서도 필요한 인프라를 운영할 수 있다.
05-2. 낮은 CPU 가상화 비율을 예시로 설명 (가상화 비율 2:1)
물리 CPU 수가 2개이고 16Core인 경우 조건
가상화율 | 물리 CPU 수 | 총 물리 코어 수 | 하이퍼스레드 코어 수 | CPU 최대 수용률 |
---|---|---|---|---|
2 | 2 | 32 | 64 | 80% |
위의 하이퍼스레드 코어 수 계산 방법은 아래와 같다.
최대 크기의 vCore 수 (물리 CPU에서 하이퍼스레드까지 계산한거)
물리 CPU 개수 X 1CPU당 코어 개수 X 하이퍼스레드 수 | 최대 크기의 vCore 수 |
---|---|
2 X 16 X 2 | 64vCore |
가상화율을 고려하여 최대 생성 가능한 vCore의 개수가 몇 개인지 계산해보자
가상화 비율 X 하이퍼스레드 코어 수 | 최대 생성 가능한 vCore 개수 |
---|---|
2 X 64 | 128vCore |
그럼 가상화 비율 2일 때의 생성가능한 vCore 수와 80% 수용를을 적용한 vCore수를 계산할 수 있다.
최대 크기 vCore 종류 | 최대 생성 가능한 vCore 수 | 최대 수용률 적용 vCore 수 |
---|---|---|
64vCore | 128vCore | 102vCore |
즉, 물리 코어가 32개 있는 서버는 하이퍼스레드를 통해 64개의 vCore를 생성할 수 있으며, 가상화 비율을 적용하면 총 128개의 vCore를 생성할 수 있다.
그리고 물리 서버의 최대 수용률을 80%로 설정하면, 최대 102개의 vCore를 안정적으로 운영할 수 있다. 이는 CPU 부하를 줄여 하드웨어 장애나 성능 저하를 예방한다.
도입 시 신경 써야할 점은
- 가상 코어와 가상 CPU의 최대 제공 개수는 물리 서버의 물리 CPU와 물리 코어 수를 기반으로 하며, 사전에 최대 크기를 고려하여 물리 서버의 사양을 선정해야 한다.
- 그래픽 관련 작업이 많거나 그래픽 분석을 수행할 경우 GPU 가상화 서비스를 고려한다
- VDI를 통해 캐드 작업, 영상 관찰, 영상 분석, 이미지 분석, 미디어 서비스에서의 트랜스코딩 작업 등 가능
06. 실습 !! 여러 예시를 통한 적정 가상화 비율 찾기
적정 가상화 비율은 자원을 낭비 없이 효율적으로 사용하는 관점으로 계산한다. 그리고 성능을 최대화하여 사용할지, 자원 활용을 극대화하여 사용할지는 여러분의 몫이다.
06-1. 첫 번째 실습 예시
물리적 자원
CPU 수 | 코어 수 | 총 물리 코어 수 | 하이퍼스레드 코어 수 | 메모리 용량 | 최대 수용률 |
---|---|---|---|---|---|
1 | 16 | 16 | 32 | 512GB | 70% |
가상화 비율에 따른 vCore 수
가상화 비율 | 최대 크기 vCore | 최대 생성 가능한 vCore 수 | 최대 수용률 적용 vCore 수 | 메모리 최대 수용률 |
---|---|---|---|---|
2:1 | 32vCore | 64vCore | 45vCore | 358GB |
3:1 | 32vCore | 96vCore | 67vCore | 358GB |
4:1 | 32vCore | 128vCore | 90vCore | 358GB |
5:1 | 32vCore | 160vCore | 112vCore | 358GB |
6:1 | 32vCore | 192vCore | 134vCore | 358GB |
계산에 사용되는 값 | 계산에 사용되는 값 |
VM 사양
CPU : 메모리 비율 | 가상 서버 사양 |
---|---|
1:2 비율 사양 | 1vCore X 2GB 2vCore X 4GB 4vCore X 8GB 8vCore X 16GB |
1:4 비율 사양 | 1vCore X 4GB 2vCore X 8GB 4vCore X 16GB 8vCore X 32GB |
1:8 비율 사양 | 1vCore X 8GB 2vCore X 16GB 4vCore X 32GB 8vCore X 64GB |
계산 방법 (이후 예시는 직접 계산)
- 메모리는 고정 값이기에 미리 사양에 맞춰 나누기를 해두면 편하다
- 358 / 2GB = 179
- 358 / 4GB = 89.5
- 358 / 8GB = 44.75
- 358 / 16GB = 22.37
- 358 / 32GB = 11.18
- 358 / 64GB = 5.59
- 358 / 128GB = 2.79
- 가상화 비율을 한 개 선정 / ‘최대 수용율 CPU 수 / VM의 vCore 사양’ 을 계산
(가상화 비율 2:1 선정)- (1vCore X 8GB) 45 / 1 = 45
- (2vCore X 16GB) 45 / 2 = 22.5
- (4vCore X 32GB) 45 / 4 = 11.25
- (8vCore X 64GB) 45 / 8 = 5.62
- 가상화 비율을 한 개 선정 / ‘최대 수용율 CPU 수 / VM의 vCore 사양’ 을 계산
(가상화 비율 4:1 선정)- (1vCore X 4GB) 90 / 1 = 90
- (2vCore X 8GB) 90 / 2 = 45
- (4vCore X 16GB) 90 / 4 = 22.5
- (8vCore X 32GB) 90 / 8 = 11.25
- 결과적으로 근사하게 나눠지는 것은 아래 두 개가 나온다.
- 가상화율 2:1 / VM 사양 비율 1:8
- 가상화율 4:1 / VM 사양 비율 1:4
결론
적정 비율은 말 그대로 비율이기에 여러 개가 나올 수 있다.
첫 번째(가상화율 2:1 / VM 사양 비율 1:8)를 선택하면, VM이 높은 성능을 사용할 것이고,
두 번째(가상화율 4:1 / VM 사양 비율 1:4)를 선택하면, 상대적으로 많은 사용자에 적정 성능의 VM을 제공할 것이다.
06-2. 두 번째 실습 예시
물리적 자원
CPU 수 | 코어 수 | 총 물리 코어 수 | 하이퍼스레드 코어 수 | 메모리 용량 | 최대 수용률 |
---|---|---|---|---|---|
2 | 16 | 32 | 64 | 512GB | 70% |
가상화 비율에 따른 vCore 수
가상화 비율 | 최대 크기 vCore | 최대 생성 가능한 vCore 수 | 최대 수용률 적용 vCore 수 | 메모리 최대 수용률 |
---|---|---|---|---|
2:1 | 64vCore | 128vCore | 90vCore | 358GB |
3:1 | 64vCore | 192vCore | 134vCore | 358GB |
4:1 | 64vCore | 256vCore | 179vCore | 358GB |
5:1 | 64vCore | 320vCore | 224vCore | 358GB |
6:1 | 64vCore | 384vCore | 268vCore | 358GB |
VM 사양
CPU : 메모리 비율 | 가상 서버 사양 |
---|---|
1:2 비율 사양 | 1vCore X 2GB 2vCore X 4GB 4vCore X 8GB 8vCore X 16GB |
1:4 비율 사양 | 1vCore X 4GB 2vCore X 8GB 4vCore X 16GB 8vCore X 32GB |
1:8 비율 사양 | 1vCore X 8GB 2vCore X 16GB 4vCore X 32GB 8vCore X 64GB |
메모리 용량은 독자들의 편의를 위해 미리 제공한다.
- 358 / 2GB = 179
- 358 / 4GB = 89.5
- 358 / 8GB = 44.75
- 358 / 16GB = 22.37
- 358 / 32GB = 11.18
- 358 / 64GB = 5.59
- 358 / 128GB = 2.79
적정 비율은 색상으로 매칭시켜 두었으니 직접 계산해보자
06-3. 세 번째 실습 예시
물리적 자원
CPU 수 | 코어 수 | 총 물리 코어 수 | 하이퍼스레드 코어 수 | 메모리 용량 | 최대 수용률 |
---|---|---|---|---|---|
2 | 16 | 32 | 64 | 768GB | 70% |
가상화 비율에 따른 vCore 수
가상화 비율 | 최대 크기 vCore | 최대 생성 가능한 vCore 수 | 최대 수용률 적용 vCore 수 | 메모리 최대 수용률 |
---|---|---|---|---|
2:1 | 64vCore | 128vCore | 90vCore | 538GB |
3:1 | 64vCore | 192vCore | 134vCore | 538GB |
4:1 | 64vCore | 256vCore | 179vCore | 538GB |
5:1 | 64vCore | 320vCore | 224vCore | 538GB |
6:1 | 64vCore | 384vCore | 268vCore | 538GB |
VM 사양
CPU : 메모리 비율 | 가상 서버 사양 |
---|---|
1:2 비율 사양 | 1vCore X 2GB 2vCore X 4GB 4vCore X 8GB 8vCore X 16GB |
1:4 비율 사양 | 1vCore X 4GB 2vCore X 8GB 4vCore X 16GB 8vCore X 32GB |
1:8 비율 사양 | 1vCore X 8GB 2vCore X 16GB 4vCore X 32GB 8vCore X 64GB |
메모리 용량은 독자들의 편의를 위해 미리 제공한다.
- 538 / 2GB = 269
- 538 / 4GB = 134.5
- 538 / 8GB = 67.25
- 538 / 16GB = 33.62
- 538 / 32GB = 16.81
- 538 / 64GB = 8.4
- 538 / 128GB = 4.2
적정 비율은 색상으로 매칭시켜 두었으니 직접 계산해보자
06-4. 네 번째 실습 예시
물리적 자원
CPU 수 | 코어 수 | 총 물리 코어 수 | 하이퍼스레드 코어 수 | 메모리 용량 | 최대 수용률 |
---|---|---|---|---|---|
1 | 16 | 16 | 32 | 256GB | 70% |
가상화 비율에 따른 vCore 수
가상화 비율 | 최대 크기 vCore | 최대 생성 가능한 vCore 수 | 최대 수용률 적용 vCore 수 | 메모리 최대 수용률 |
---|---|---|---|---|
2:1 | 32vCore | 64vCore | 45vCore | 179GB |
3:1 | 32vCore | 96vCore | 67vCore | 179GB |
4:1 | 32vCore | 128vCore | 90vCore | 179GB |
5:1 | 32vCore | 160vCore | 112vCore | 179GB |
6:1 | 32vCore | 192vCore | 134vCore | 179GB |
VM 사양
CPU : 메모리 비율 | 가상 서버 사양 |
---|---|
1:2 비율 사양 | 1vCore X 2GB 2vCore X 4GB 4vCore X 8GB 8vCore X 16GB |
1:4 비율 사양 | 1vCore X 4GB 2vCore X 8GB 4vCore X 16GB 8vCore X 32GB |
1:8 비율 사양 | 1vCore X 8GB 2vCore X 16GB 4vCore X 32GB 8vCore X 64GB |
메모리 용량은 독자들의 편의를 위해 미리 제공한다.
- 179 / 2GB = 89.5
- 179 / 4GB = 44.75
- 179 / 8GB = 22.37
- 179 / 16GB = 11.18
- 179 / 32GB = 5.59
- 179 / 64GB = 2.79
- 179 / 128GB = 1.39
적정 비율은 색상으로 매칭시켜 두었으니 직접 계산해보자
06-5. 다섯 번째 실습 예시
물리적 자원
CPU 수 | 코어 수 | 총 물리 코어 수 | 하이퍼스레드 코어 수 | 메모리 용량 | 최대 수용률 |
---|---|---|---|---|---|
1 | 16 | 16 | 32 | 768GB | 70% |
가상화 비율에 따른 vCore 수
가상화 비율 | 최대 크기 vCore | 최대 생성 가능한 vCore 수 | 최대 수용률 적용 vCore 수 | 메모리 최대 수용률 |
---|---|---|---|---|
2:1 | 32vCore | 64vCore | 45vCore | 538GB |
3:1 | 32vCore | 96vCore | 67vCore | 538GB |
4:1 | 32vCore | 128vCore | 90vCore | 538GB |
5:1 | 32vCore | 160vCore | 112vCore | 538GB |
6:1 | 32vCore | 192vCore | 134vCore | 538GB |
VM 사양
CPU : 메모리 비율 | 가상 서버 사양 |
---|---|
1:2 비율 사양 | 1vCore X 2GB 2vCore X 4GB 4vCore X 8GB 8vCore X 16GB |
1:4 비율 사양 | 1vCore X 4GB 2vCore X 8GB 4vCore X 16GB 8vCore X 32GB |
1:8 비율 사양 | 1vCore X 8GB 2vCore X 16GB 4vCore X 32GB 8vCore X 64GB |
메모리 용량은 독자들의 편의를 위해 미리 제공한다.
- 538 / 2GB = 269
- 538 / 4GB = 134.5
- 538 / 8GB = 67.25
- 538 / 16GB = 33.62
- 538 / 32GB = 16.81
- 538 / 64GB = 8.4
- 538 / 128GB = 4.2
적정 비율은 색상으로 매칭시켜 두었으니 직접 계산해보자
07. 가상화 비율이 낮은 것과 높은 것 어느 것이 좋을까 ?
마지막으로 강조하자면, 가상화 비율이 낮은 것과 높은 것 중 어느 것이 좋은지에 대한 판단은 여러 요소를 고려해야 한다.
- 가상화 비율이 낮을수록 각 가상 머신(VM)이 물리적 자원을 더 많이 독점하게 되므로 성능이 일반적으로 더 좋다. 그러나 자원 활용도가 떨어져 비용이 증가할 수 있다.
- 반면, 가상화 비율이 높을수록 더 많은 VM을 생성할 수 있지만, 각 VM이 사용할 수 있는 물리적 자원이 줄어들고 하이퍼바이저의 부하가 증가하여 성능 저하 및 불안정 요소가 될 수 있다.
따라서 적절한 가상화 비율을 찾는 것은 성능, 비용, 안정성 등을 종합적으로 고려하여 결정해야 한다.
08. 여러 VM 사양을 적정 성능으로 유지 관리하기
서버를 운용하면 여러가지 요소로 인하여 이 문서에서 언급하는 가상화율만으로는 안정적이고 효율적인 서버 관리가 충분하지 않을 수 있다. 이럴 경우, 총 리소스를 계산하고 적정한 가상화 비율을 적용하는 것이 중요하다.
- 가상 머신의 적절한 배치 : 가상 머신을 물리적 호스트에 배치할 때, 각 VM의 자원 요구 사항을 고려하고 여유가 있는 서버에 부하율을 보고 균형 있게 배치해야 한다.
- 모니터링 : VM과 호스트의 성능을 지속적으로 모니터링하여 자원 사용 패턴을 파악하고, 필요 시 조정을 해야 한다.
- 과부하 작업 분산 배치 : 과부하 작업이 특정 호스트에 집중되지 않도록 작업을 분산 배치하여 성능 저하를 방지
- 자원 제한 : 각 VM에 자원 사용 제한을 설정하여 특정 VM이 과도한 자원을 소비하지 않도록 관리한다.