VM을 구성하는 파일, 가상머신의 상태
가상머신 파일과 라이브 상태(VM Files & Live State)
이번 강의에서는 가상화(Virtualization)에 대한 기초적인 소개를 해드리겠습니다. 우리는 가상 머신(Virtual Machine)이 무엇인지, ESXi 호스트가 무엇인지, 그리고 가상 머신에 리소스를 어떻게 제공하는지에 대해 알아볼 것입니다.
가장 기본적인 개념부터 시작해 봅시다.
1. 정적 상태: 가상 머신 파일 (VM Files)
가상 머신이 꺼져 있다는 것은 현재 어떤 ESXi 호스트에서도 실행되고 있지 않다는 뜻입니다. 이 VM 안에서는 아무런 일도 일어나지 않습니다. 하지만 전원이 꺼져 있다고 해서 VM이 그냥 사라질 수는 없습니다. 왜냐하면 그 안에는 설치된 운영 체제도 있고, 애플리케이션들도 설치되어 있으며, 그 외 온갖 데이터가 들어있기 때문입니다. 이것들이 바로 가상 머신 파일입니다.
모든 가상 머신을 구성하는 일련의 파일 세트가 있습니다. 이 파일들에 대해서는 나중에 구체적으로 다루겠지만, 가장 중요한 몇 가지는 다음과 같습니다.
- VMDK 파일: 이것은 가상 머신의 가상 디스크입니다.
- VMX 파일: 이것은 VM의 구성 파일(Configuration File)입니다.
VM이 메모리를 얼마나 할당받는지, CPU는 얼마나 할당받는지 등 이 가상 머신에 대한 모든 정보가 바로 이 VMX 파일에 구성되어 있습니다.
2. 동적 상태: 라이브 상태 (Live State)
제가 가상 머신을 부팅하면, 이제 가상 머신 자체가 실제로 실행(Running)됩니다. VM은 데이터스토어에 있는 그 파일들을 기반으로 부팅될 것이며, 여전히 그 파일들을 사용합니다. 예를 들어, 이 가상 머신이 디스크에 데이터를 기록해야 할 때, 스토리지 명령어들이 실행될 것입니다. 그리고 그 데이터는 이 가상 머신의 가상 디스크인 VMDK에 기록됩니다.
그리고 “VM의 라이브 상태(Live State)”는 기본적으로 현재 이 가상 머신 안에서 일어나고 있는 모든 것을 포함합니다.
- VM의 라이브 상태는 기본적으로 컴퓨터가 켜져 있을 때 점유하는 물리적 리소스의 집합이라고 보면 됩니다.
- 아마도 가상 머신에서 일련의 CPU를 활용하는 소프트웨어 애플리케이션을 실행하고 있을 것이고, 그 모든 CPU 활동은 라이브 상태의 일부가 됩니다.
- 소프트웨어 애플리케이션이 실행 중이라면, 그 애플리케이션들의 현재 상태는 물리적 호스트의 메모리 페이지에 존재합니다.
- 또한 vSphere Standard Switch나 Distributed Switch를 통해 특정 시스템에 연결되어 통신하고 있을 수도 있습니다.
이처럼 특정 순간에 일어나고 있는 그 모든 것들, 그것이 바로 가상 머신의 라이브 상태입니다. 지금 당장 일어나고 있는 일이죠.
3. 라이브 상태가 중요한 이유 (vMotion)
아직은 이해하기 어렵지만 이 토픽은 이해해야 할 매우 중요한 개념입니다. 왜냐하면 나중에 이 과정의 심화 단계로 넘어가면, 가상 머신의 라이브 상태를 다른 호스트로 마이그레이션(이동)하는 것에 대해 이야기할 것이기 때문입니다. 어떤 프로그램도 종료하지 않고, 특정 순간에 가상 머신이 작동하는 방식을 중단하지 않고 말이죠. (이것이 바로 vMotion 기술입니다.)
이것이 본질적으로 VM의 라이브 상태가 의미하는 바입니다.
실행 중인 모든 VM은:
- 메모리 페이지에 콘텐츠를 가지고 있습니다.
- 하이퍼바이저에 의해 물리적 프로세서에서 일정을 배정받습니다(Scheduled).
- 가상 네트워크 인터페이스 카드(vNIC)를 가지고 있으며, 가상 스위치에 연결하여 통신합니다.
- 가상 SCSI 컨트롤러를 가지고 있으며 스토리지 명령어를 내보냅니다.
다시 설명하자면, 이 모든 것은 하이퍼바이저에 의해 가로채지며(Intercepted), 하이퍼바이저는 이 가상 머신에게 필요한 물리적 리소스에 대한 액세스 권한을 부여합니다.
4. VM 등록과 데이터스토어 (Datastore)
이쯤에서 중요한 사항 몇 가지를 정리해 보겠습니다.
이 가상 머신의 전원을 끈다고 가정해 봅시다. 각 가상 머신은 하나의 특정 ESXi 호스트에 등록(Registered)됩니다. (물론 나중에 원한다면 옮길 수 있습니다.) 하지만 가상 머신이 꺼져 있을 때조차도, 여전히 이 특정 ESXi 호스트의 인벤토리에 등록되어 있습니다. 따라서 VM의 전원을 켜면, 등록된 그 ESXi 호스트에서 데이터스토어에 저장된 파일들을 사용하여 가상머신의 전원이 켜지게 됩니다.
아직 데이터스토어(Datastore) 설명이 안되었기 때문에 무엇인지 모르시더라도 괜찮습니다. 지금은 단지 데이터스토어가 “나의 가상 머신 파일들을 저장하도록 구성되고 준비된 모든 종류의 스토리지 솔루션”이라고만 이해하시면 됩니다.
데이터스토어는 다음과 같은 것들이 될 수 있습니다.
- 호스트의 로컬 물리적 스토리지
- iSCSI
- vSAN (VSAN)
- 파이버 채널 (Fibre Channel)
- 가상 볼륨 (Virtual Volumes, vVols)
데이터스토어로 사용할 수 있는 스토리지 선택은 여러 종류가 있습니다. 하지만 본질적으로 데이터스토어는 가상 머신 파일을 저장하기 위해 적절히 준비되고 구성된 스토리지 공간일 뿐입니다.
요약: 가상머신이란 무엇인가?
ESXi 호스트에서 실행 중인 라이브 상태(Live State)이면서, 동시에 데이터스토어에 저장된 파일들의 집합입니다.