0. Proxmox VE란 무엇인가?

Proxmox VE logo

Proxmox VE는 KVM(Kernel-based Virtual Machine)과 LXC(Linux Container)를 기반으로 가상화 환경의 효율적인 관리를 도와주는 플랫폼입니다.


1. 가상화를 사용하는 이유는?

가상화를 활용하면 서버의 물리적인 자원을 나누어 한개의 서버에서 마치 여러개의 서버를 사용하는 것과 같은 환경을 제공합니다.
보다 직관적으로 얘기하자면, 한개의 서버에서 여러개의 OS(윈도우, 우분투 등)를 동시에 사용할 수 있습니다

일반적으로 호환성문제, 충돌 등을 방지하기 위해 한개의 서버에서 여러개의 서비스를 운용하지 않습니다.
하지만 가상화를 활용한다면 각 서비스 간 독립된 환경을 구성할 수 있을 뿐만 아니라, 소수의 서비스로 낭비되던 서버 자원을 보다 효율적으로 사용할 수 있습니다.

Hypervisor

이러한 가상머신(VM, Virtual Machine)의 관리를 담당하는 플랫폼을 Hypervisor라 하고, Hypervisor는 크게 Type1과 Type2로 나뉩니다.

Type1 Hypervisor

Type1 Hypervisor은 하드웨어 바로 위에 설치되어 자원 손실이 적고 안정적이지만 초기 설정이 비교적 복잡합니다.
VMware, ESXi, Xen등이 있고Proxmox VE도 Type1 Hypervisor에 해당합니다.

Type2 Hypervisor

Type2 Hypervisor은 호스트OS 위에 설치하되므로 사용 및 설치가 비교적 간편합니다. 하지만 중간의 호스트OS에서의 리소스 손실, 의존성이라는 단점이 있습니다.
VMware workstation, Oracle VirtualBox, WSL2가 있습니다.

2. VM VS LXC

이번에는 Proxmox VE에서 지원하는 두 가상환경의 종류에 대해 알아보겠습니다.

VM(Virtual Machine)

VM은 x86 CPU의 가상화 기능(Intel VT, AMD-V)을 활용하는 리눅스의 KVM (Kernel-based Virtual Machine)을 기반으로 합니다.
각 VM은 자체적으로 독립된 커널을 가지므로 다양한 OS를 지원하고, 하드웨어 레벨에서 완전한 격리를 지원하여 보안성이 뛰어납니다.

LXC(Linux Container)

LXC는 리눅스 커널기능을 활용하는 운영체제 수준의 가상화입니다.
호스트와 커널을 공유하기 때문에 호스트와 같은 계열의 OS(리눅스)만 사용 가능하고, 운영체제 수준의 격리는 지원하지만 커널은 공유하므로 VM보다는 보안성이 낮습니다. 하지만 VM보다 부팅이 빠른 등 전반적으로 가볍고, 리소스 사용이 적습니다.

3. 그 외 유용한 기능

ZFS(Zettabyte File System)

ZFS는 파일 시스템으로 아래와 같은 유용한 기능을 지원합니다.
1. 스냅샷 및 복제 : 스냅샷을 사용하여 파일 시스템의 상태를 특정 시점으로 저장할 수 있습니다.
2. RAID-Z : 소프트웨어 기반의 RAID 시스템을 제공합니다. 일반적인 RAID 0, 1, 5, 6과 유사한 기능을 ZFS의 고급 기능과 통합하여 제공합니다.
3. 데이터 무결성 검사: 체크섬을 사용하여 데이터의 손상을 감지하고 복구할 수 있습니다.
4. 스토리지 풀 및 가상 디스크: 여러 디스크를 하나의 가상 디스크로 통합하여 디스크 공간을 효율적으로 사용할 수 있습니다.

PBS(Proxmox Backup Server)

PBS는 Proxmox전용 백업, 복구 솔루션입니다.
증분 백업을 지원하여 변경된 데이터만 저장하는 방식으로 공간 효율적인 고속 백업을 가능하게 합니다.

HA(High Availability)

여러 Proxmox VE 노드가 묶인 클러스터(Cluster)환경에서 노드 장애 발생시 자동으로 다른 노드로의 이전을 지원합니다. 이전 과정간 서비스는 무중단으로 이루어지며 자동으로 이루어집니다.

마치며,

이 외에도 Ceph 등, Proxmox VE는 가상화 뿐만 아니라 유지, 관리를 위한 강력한 툴을 제공하는 오픈소스 툴 입니다.
다음 포스트에서는 Proxmox VE를 직접 설치하는 과정을 알아보겠습니다.