개념 사전 · 개념

가상 머신과 하이퍼바이저

VM · Virtual Machine · Hypervisor · 가상 머신 · 하이퍼바이저

은 가상 CPU·메모리·디스크·NIC 위에서 독립 게스트 운영체제를 실행하는 환경이다. 와 장치 구현은 그 가상 자원을 호스트의 실제 자원에 연결하고 게스트 실행을 중재한다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

01무엇이고, 어떤 일을 하나

  • 하나의 물리 호스트에서 여러 게스트 운영체제를 실행한다.
  • 가상 자원의 크기와 연결을 정의하여 반복 가능한 실습 환경을 만든다.
  • 하드웨어 가속··반가상화 I/O를 조합해 실행을 제공한다.

02어떤 순서로 동작하나

  1. 가상 장치 정의

    구성에 ·RAM·디스크·NIC와 부팅 장치를 지정한다.

  2. 게스트 부팅

    가상 펌웨어가 운영체제 부팅 코드를 읽고 게스트 커널이 가상 장치를 인식한다.

  3. 실제 자원 연결

    실행은 호스트 CPU 시간에 배정되고 와 디스크 I/O는 호스트 자원에 매핑된다.

  4. 외부 통신·저장

    게스트의 NIC·블록 요청이 가상 네트워크와 저장 계층을 거친다. 게스트·호스트 어느 층의 제한인지 분리해 해석한다.

03먼저 알아둘 용어와 구성요소

는 호스트가 실행 시간을 배정하는 가상 실행 단위이며 물리 코어를 항상 하나씩 독점한다는 의미는 아니다.
게스트 물리 메모리도 호스트 메모리에 매핑된다.
장치 은 실제 하드웨어와 비슷한 레지스터·동작을 소프트웨어로 구현하므로 기존 드라이버를 사용할 수 있지만 처리 비용이 생긴다.
같은 반가상화 I/O는 게스트 드라이버와 호스트가 협력하는 인터페이스를 사용해 이 비용을 줄인다.
QEMU는 장치와 CPU를 에뮬레이션할 수 있으며 KVM과 결합하면 호환되는 게스트의 CPU 실행을 하드웨어 가상화 기능으로 가속할 수 있다.
copy-on-write 계열에서는 이후 쓰기가 차이 영역에 쌓이고 읽을 때 변경된 블록과 기준 블록을 함께 참조한다.
LEARN THROUGH PRACTICE

VM의 가상 NIC에서 GNS3 스위치까지 연결 추적하기

설정의 네트워크 이름을 실제 실습 토폴로지의 연결점과 대응시킨다.

실습 구성과 전제

  • 설정 화면과 토폴로지 화면은 서로 다른 실습 구성이다. VMnet 번호가 다르므로 같은 NIC를 이어 촬영한 결과로 보지 않는다.
  • 의 가상 네트워크와 Cloud가 사용할 호스트 인터페이스가 준비되어 있어야 한다. 설정 화면은 연결 의도를 보여 줄 뿐 패킷 통과까지 증명하지 않는다.
  1. 게스트에 제공한 가상 하드웨어를 확인한다

    • 설정에서 메모리·CPU·가상 디스크와 NIC 수를 확인한다. NIC마다 연결할 VMnet이 따로 지정되므로 게스트의 두 인터페이스는 같은 네트워크에 있다고 가정할 수 없다.
    • Custom VMnet이라는 이름만으로 ·브리지·격리 네트워크 중 무엇인지 확정되지 않는다. 해당 VMnet의 실제 가상 네트워크 설정을 함께 읽어야 한다.
    수업 - VIRTUAL HOST · 설정·관리 화면 6원본 크기로 보기 ↗
    • VM에는 메모리 4GB, CPU 2개와 40GB NVMe 가상 디스크가 설정되어 있다.
    • 네트워크 어댑터 두 개가 각각 Custom VMnet19와 VMnet10을 사용한다.
    확인 기준

    연결 대상 VMnet 번호와 게스트 NIC의 를 기록해 대응시킨다. 화면에 없는 IP 주소나 을 추정하지 않는다.

  2. GNS3의 Cloud 연결을 스위치 포트에 대응시킨다

    • Cloud는 호스트 측 인터페이스 등 외부 연결점을 토폴로지에 연결한다. 게스트→가상 NIC→VMnet→Cloud→가상 스위치 경로를 실제 설정 이름으로 따라간다.
    • 별도 토폴로지에는 ··의 VMnet 연결점이 스위치에 모인다. 같은 스위치에 선이 연결되었다고 IP 대역과 게스트 방화벽까지 자동 설정되는 것은 아니다.
    4/20 · 실습·개념 참고 화면 10원본 크기로 보기 ↗
    • Ubuntu VMnet17, Rocky VMnet19, Windows VMnet18 표시가 각각 Cloud 옆에 보인다.
    • Cloud 연결들이 중앙 스위치로 이어져 여러 VM 네트워크를 실습 토폴로지에 가져온 형태다.
    확인 기준

    첫 화면의 VMnet10을 이 토폴로지의 VMnet17·18과 동일시하지 않는다. 실제 프로젝트에서 인터페이스 선택을 다시 대조한다.

  3. 게스트의 주소·경로와 이웃 발견을 확인한다

    • 게스트에서 링크·주소·을 먼저 조회한 뒤 허용된 상대에게 시험 패킷을 보낸다. 같은 통신이라면 이웃 발견과 스위치의 프레임 전달이 먼저 연결되어야 한다.
    • IP 중복, 잘못 고른 VMnet, 게스트 NIC 비활성화, 방화벽 문제는 서로 다른 경계다. 선이 초록색이라는 UI 상태만으로 애플리케이션 통신을 판정하지 않는다.
    bash
    ip -brief link
    ip -brief address
    ip route
    ip neigh

    게스트에서 가상 연결과 L3 설정을 조회하는 예시다.

    확인 기준

    게스트 인터페이스의 MAC과 설정을 대응시킨 뒤 주소·경로·이웃 테이블을 순서대로 확인한다.

실습에서 확인한 동작 원리

  • 가상 NIC와 VMnet, Cloud는 연결 계층이 다르므로 이름과 인터페이스를 명시적으로 대응시킨다.
  • 설정과 토폴로지 화면은 구성의 증거이며 실제 패킷 성공은 게스트와 경로에서 추가 확인한다.
관련 개념·전체 실습 화면 이어서 읽기 →
동작·명령 참고 문서

04예제로 따라가기

  • 에 4개를 할당했다고 물리 코어 4개를 항상 독점하는 것은 아니며 다른 과 호스트 부하의 영향을 받을 수 있다.
  • 가상 디스크 크기가 32GiB이고 호스트 점유가 3GiB인 성장형 이미지는 아직 쓰지 않은 영역을 작은 물리 할당으로 표현할 수 있다.
  • 게스트의 df가 여유를 보여도 호스트 이미지 저장소가 가득 차면 추가 쓰기가 실패할 수 있다.

05혼동하기 쉬운 점과 확인 기준

  • 게스트가 CPU를 요구하는 시간과 호스트가 를 실제 실행시킨 시간을 구별한다. 수를 늘린 것만으로 물리 CPU 시간과 처리량이 같은 비율로 증가하지 않는다.
  • 게스트 파일 시스템의 free와 호스트 이미지 저장소의 free를 각각 본다. 스냅샷·backing chain 때문에 공간 회수 시점도 두 층에서 다를 수 있다.
  • 스냅샷으로 돌아온 게스트의 시계·IP·애플리케이션 상태가 외부 시스템과 어긋날 수 있다. 복원 성공과 다시 서비스에 참여할 준비 완료를 구별한다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.