[PART 6] VM 이해 | vRAM·Disk의 보장 범위

Cookie·2026년 2월 3일
post-thumbnail

이 글에서 다룰 내용

이 글에서는 VM 리소스 중 vRAMDisk 설정값이 실제로 무엇을 의미하는 지 정리함

가상화 환경에서 Memory와 Disk는 8GB RAM, 100GB Disk와 같은 설정값은 단순히 숫자 이상의 의미를 가지며, 그 수치가 어디까지를 보장하고 어디까지를 보장하지 않는지를 구분해서 해석해야 함

이 글에서는 vRAM의 인식 구조, Memory Overcommit, Ballooning, 가상 디스크의 구조, Thin / Thick Procision, I/O 경합 구조를 살펴본 뒤 논리적 보장, 물리적 보장, 성능 보장의 차이를 정리함

즉, 이 글은 vRAM과 Disk 설정값을 "용량"이 아니라 "구조와 보장 범위"의 관점에서 해석하기 위한 단계임


학습 목표

이 글을 통해 다음을 이해하는 것을 목표로 함

  • vRAM이 Guest OS 관점에서 어떤 방식으로 인식되는지 설명할 수 있음
  • Guest VirtualGuest PhysicalHost Physical 구조를 이해할 수 있음
  • Memory Overcommit과 Ballooning이 가능한 이유를 설명할 수 있음
  • 가상 디스크가 물리 디스크와 어떻게 다른지 설명할 수 있음
  • Thin Provision과 Thick Provision의 차이를 구조적으로 이해할 수 있음
  • Disk 용량과 성능 보장이 서로 다른 문제임을 설명할 수 있음
  • 논리적, 물리적, 성능 보장의 차이를 구분할 수 있음






vRAM 개념과 보장 범위

가상화 환경에서는 vRAM은 VM에 할당된 메모리를 의미함

Guest OS는 이를 자신의 메모리처럼 인식하지만, 실제 물리 메모리는 Hypervisor가 관리함

Guest OS가 인식하는 메모리 범위와 Hypervisor가 실제로 매핑하는 물리 메모리 구조를 함께봐야하는 Resource 임



vRAM의 인식 및 매핑 구조

vRAM을 이해할 때 가장 먼저 봐야하는 것은 Guest OS가 메모리를 어떻게 인식하고, Hypervisor가 그 메모리를 실제 물리 자원과 어떻게 매핑하는가임



🔹Guest OS 관점의 메모리 모델

Guest OS는 자신에게 할당된 vRAM을 실제 메모리 처럼 인식하기 때문에 평소화 동일하게 동작하게 됨

  • 프로세스에 메모리를 할당하며
  • 페이지 테이블을 관리하고,
  • 캐시를 사용하며,
  • 필요 시 스왑 정책을 적용함

하지만 이 인슥은 어디까지나 Guest OS 관점의 논리적 모델으로 실제 물리 메모리와의 연결은 Hypervisor가 별도로 관리함

따라서 Guest OS가 8GB를 인식한다고 하여 항상 물리 메모리가 8GB가 고성으로 독점 보장된다고 볼 수 없음



🔹Guest VirtualGuest PhysicalHost Physical 변환 구조

VM 메모리의 주소 변환은 두 단계로 이루어짐

먼저 Guest OS 내부에서 어플리케이션이 사용하는 주소는

  • Guest Virtual Address로 Guest OS는 이룰 자신의 페이즈 테이블을 통해 Guest Physical Address로 변환하게 됨
    VM OS의 개입

  • 이후 Hypervisor는 이를 실제 서버의 Host Physical Address로 변환함
    Hypervisor의 개입

이러한 주소 변환을 기반으로 동적으로 매핑되는 구조 덕분에 Hypervisor는

  • 물리 메모리 배치를 유연하게 조정
  • 페이지 재배치
  • 메모리 회수

과 같은 작업을 수행할 수 있음



메모리 자원 관리 메커니즘

가상화 환경에서는 여러개의 VM이 하나의 물리 서버 메모리를 공유함
따라서 Hypervisor는 메모리 활용률을 높이기 위한 관리 메커니즘을 함께 사용함

🔹Memory Overcommit

Memory Overcommit은 물리 서버의 실제 메모리 총량보다 더 많은 vRAM을 VM에 할당할 수 있는 구조를 의미함

예를 들어

  • 물리 서버의 메모리: 32GB
  • 여러대를 합친 VM: 48~64GB

와 같이 할당할 수 있음

해당 구조가 가능한 이유는 모든 VM이 항상 자신에메 할당된 최대 메모리를 동시에 사용하는 것이 아니기 때문으로 Hypervisor는
"모든 VM이 동시에 최댓값까지 쓰지는 않을 것"
을 전제로 두고 메모리를 효율적으로 사용함

이 방식은 자원 활용뮬 측면에서는 유리하나 불리한 측면도 가지고 있음

  • 여러 VM이 동시에 메모리 사용량을 높이게되면
    • 물리 메모리가 부족해지는 상황이 발생할 수 있으며,
    • 성능 저하와 스왑이 발생할 수 있음

Overcommit은 효율성을 높이는 구조이지만, 그 자체가 메모리 보장을 의미하지는 않음



🔹Ballooning 메커니즘

Ballooning은 Hypervisor가 특정 VM 내부의 메모리를 회수하기 위해 사용하는 대표적인 방법

개념적으로 살펴보자면, Hypervisor는 VM 내부의 Balloon Driver를 통해 일부 메모리를 점유하게 만들어 Guest OS가 실제로 사용할 수 있는 메모리를 줄이게 됨.

Guest OS 입장에서는

  • 사용 사능한 메모리가 줄어든 것 처럼 보이고,
  • 일부 메모리를 포기하거나 정리해야하는 상황이 생김

Hypervisor 입장에서는

  • 그만큼 물리 메모리를 다른 VM에 재할당할 수 있게 됨

이 메커니즘은 물리 메모리 압박 상황에서는 유용하지만 Guest OS의 성능에 영향을 줄 수 있음

메모리 여유가 많지 않은 VM에서 Ballooning이 발생하면 캐시 감소, 페이지 회수 증가, 내부 스왑 가능성 증가 와 같은 현상이 뒤따를 수 있음

즉, Ballooning은
메모리 부족 상황을 조절하는 기술로, Guest OS에 영향을 주지 않을 수는 없음



🔹 vRAM 설정값의 구조적 한계

vRAM의 설정 값은 Guest OS가 자신에게 주어진 메모리 범위를 인식하도록 정의한 값

메모리 범위를 인식하도록 정의했다는 말의 의미는
8GB vRAM은 Guest OS 입장에서 8GB Memory System처럼 동작하게 만드는 설정일 뿐

  • 물리 메모리를 8GB를 독점하거나
  • 다른 VM과 완전히 분리된 메모리를 사용하거나
  • 항상 동일한 메모리 성능을 가질 수는 없음

따라서 VM 메모리를 해석할 때는 "몇 GB인가"를 넘어서 "그 메모리가 어떤 구조 위에서 실제로 운영되는가"를 살펴봐야함






가상 디스크 구조와 보장 범위

가상화 환경에서는 VM의 Disk는 물리 디스크를 직접 붙여 쓰는 개념과는 다름

Guest OS는 이를 일반적으로 로컬 디스크처럼 인식하지만 실제 구현은 가상 디스크 계층 위에서 이루어짐

VM의 Disk 또한 설정값 자체가 아닌 구조와 동작 방식을 함께 이해해야 해석할 수 있음



가상 디스크 구현 모델

가상 디스크는 일반적으로 파일 또는 논리 볼륨의 형태로 구현됨

대표적인 예시: VMDK, VHD, VHDX

Guest OS는 이를 하나의 독립적인 디스크로 인식함
파일 시스템을 만들고, 데이터를 기록하고, 일반적인 디스크 처럼 읽고 씀

하지만
실제로 이 디스크가 물리 장치에 직접 1:1 대응되는 것이 아닌, Hypervisor와 Host 측 스토리지의 계층을 거쳐 동작

VM의 Disk는 가상 디스크를 통해 물리 스토리지에 접근하는 구조


🔸파일 기반 디스크 구조

가상 디스크는 Host OS의 파일 시스템 위에 존재하는 하나의 파일로,

Guest OS 입장에서는 내부 디스크 처럼 보이지만, 실제 Host의 입장에서는 하나의 방대한 파일 로 보임

해당 구조는

  • VM 복사,
  • 스냅 샷 / 백업
  • 이동 및 배포

에 용이하여 높은 유연성을 가지게 됨

반대로, 성능 측면에서는 추가 계층의 개입 또한 가지게 됨

Guest OS 의 I/O는 단순히 물리 디스크에 바로 도달하는 것이 아닌 여러 계층을 거치며 처리하게됨



🔸Thin Provision 구조

Thin Provision 은 설정한 디스크 용량 전체를 처음 부터 확보하지 않는 방식으로, 예를 들어 100GB의 디스크를 생성하더라도 실제로는 데이터가 기록된 만큼만 물리 공간을 사용함

이 구조는 실제로 필요한 공간을 나중에 할당하는 구조로 설정값돠 실제 점유 공간이 다를 수 있음

Thin Provision 100GB 는 물리적으로 확보된 공간이 아니며, 실제 기록이 증가할 때 마다

  • 새 블록 할당
  • 메타데이터 갱신
  • 스토리지 풀 공산 소비

가 발생하며,

이러한 구조는 공간의 효율을 높이고, 초기 배치가 유연하며, 스토리지의 활용율을 높일 수 있다는 장점을 가지고 있음

이렇게 공간 효율 측면에서는 유리하긴 하지만, 그 자체가 물리 공간의 완전한 보장을 의미하지는 않음



🔸Thick Provision 구조

Thick Provision은 설정한 디스크 용량을 처음부터 물리적으로 확보하는 방식으로, 예를 들어 100GB의 Disk를 만들면 초기 생성 단계에서 부터 물리 공간을100GB를 확보하게 됨

용량 확보 측면에서는 매우 명확한 방식이지만, 이 방식은 공간을 미리 잡는 것이지, 디스크의 성능을 자동으로 보장하는 방식은 아님

하지만, 이러한 구조로 공간 부족 위험이 감소하고, 스토리지 사용향 예측이 용이하며, Thin 대비 구조가 단순하다는 장점이 있음



스토리지 자원과 성능 특성

Disk를 해석할 때 가장 많이 발생하는 오해는 용량성능을 같은 관점으로 보는 것으로, 둘은 실제로 완전히 다름

100GB Disk라는 말은 저장 가능한 공간의 크기를 말하는 것이지 I/O 성능이나 지연 시간을 보장한다는 뜻이 아님


🔸용량 보장과 성능 보장의 구분

Disk 설정값은 우선 얼마만큼 저장할 수 있는가얼마만큼\ 저장할\ 수\ 있는가 를 정의 함

하지만 실제 성능은

  • 물리 스토리지 성능
  • RAID 구조
  • 캐시 상태
  • 컨트롤러 성능
  • 현재 I/O 부하
  • 다른 VM의 스토리지 사용량

에 의에 결정됨

같은 100GB Disk라도 환경에 따라 체감 성능은 크게 달라질 수 있음

따라서 Disk는 "용량은 설정값으로 보이지만 성능은 환경에 의해 달라지는다" 는 것을 유의해야함



🔸I/O 경합 구조

가상화 환경에서는 여러 VM이 동일한 물리 스토리지를 공유하는 경우가 흔함

VM은 논리적으로 분리되어 있더라도 스토리지의 성능은 공유하기 때문에 각 VM의 I/O 요청은 경국 같은 물리 자원에서 경쟁하게 되어있음


부하가 커지면 다음과 같은 흐름이 발생함.

I/O의 경합은 디스크 성능 저하의 직접적인 원인이 됨

이때 중요한 점은 문제가 VM 내부에만 제한되는 것이 아닌 공유 스토리지 구조 전체에서 발생할 수 있다는 것임



🔸공유 스토리지 환경의 영향

여러 VM이 동일한 스토리지 풀, RAID 그룹, LUN 등을 공유할 경우, 한 VM의 대향 I/O가 다른 VM 성능에 영향을 줄 수 있음

이러한 현상을 Noisy Neighbor라 칭함

즉 내 VM의 Disk 설정 값이 동일하더라도, 다른 VM의 사용 패턴에 따라 내 성능이 달라질 수 있음

때문에 Disk는 특히 논리적 설정값, 실제 물리 구성, 동시 사용 환경을 함께 봐야하는 리소스림






VM Resource 보장 범위 정리

여기 까지 종합하면 VM의 vRAMDisk는 숫자만으로 해석할 수 없음

분명 리소스 설정 값은 의미가 있지만, 그 의미가 어떤 종류의 보장에 해당하는 지 나눠서 봐야함


보장의 유형

가상화 환경에서 리소스 해석 시 다음 세 가지 보장을 구분할 필요가 있음

🔹논리적 보장

Guest OS가 인식하는 자원 범위가 유지되는 것

예를 들어 8GB vRAM, 100GB Disk는 Guest OS가 그 범위의 리소스를 가진 것으로 인식하게 만듦

즉, 논리적 보장은 VM 내부에서 보이는 자원 모델의 일관성을 의미함



🔹물리적 보장

실제 물리 자원이 특정 VM을 위해 고정적으로 확보되는 것

예를 들어 메모리 Revservation, 물리 스토리지 공간 사전 확보 같은 방식이 여기에 가까움

하지만 기본적인 VM 설정만으로는 이 수준의 보장이 자동 제공되지 않는 경우가 많음



🔹성능 보장

일정 수준 이상의 처리량, 지연 시간, 응답 속도가 유지되는 것

이는 가장 해석이 까다로운 영역으로 성능은 단일 설정값이 아닌

  • Hypervisor 정책
  • 공유 자원 상태
  • 동시 부하
  • 스토리지 구조

에 영향을 받기 때문임

즉 성능 보장은 용량 설정과는 별개의 문제로 봐야함



기본 설정에서 보장되지 않는 영역

기본적은 VM 설정은 다음을 의미하지 않음

  • 물리 메모리의 완전한 독점
  • 디스크 성능의 고정 보장
  • 다른 VM의 영향이 없는 절대적 자원 사용

설정 값은 논리적 범위를 정의하는 값으로 이해해야 함

물리적은 고정와 성능을 보장하는 것은 그 위에 별도의 정책과 구조가 있어야 성립.






정리

vRAM은 Guest OS가 인식하는 메모리 범위를 정의하지만, 실제 동작은 주소 변환 구조와 Hypervisor의 메모리 관리 방식 위에서 이루어짐

또한 가상 디스크는 독립 디스크 처럼 보이지만, 실제로는 파일 기반 구조와 공유 스토리지 환경위에서 동작함

따라서 8GB RAM, 100GB Disk 는 단순한 설정 값(숫자)가 아닌

  • 어떤 범위를 논리적으로 보이게 하는가
  • 실제 물리 자원은 어떻게 연결되는가
  • 성능은 어떤 조건에서 달라지는가

를 함께 봐야 해석할 수 있음

profile
지식을 쌓기 위한 기록 저장소

0개의 댓글