Search

(1) Proxmox VE 란 무엇인가?

작성일
2024/06/13
작성자
카테고리
Proxmox VE
태그
Proxmox
ProxmoxVE
서버 가상화
2 more properties
안녕하세요, 슈퍼곰돌입니다!
오늘은 Proxmox VE에 대해 알아보겠습니다. Proxmox Virtual Environment (이하, Proxmox VE)는 서버 가상화를 위한 강력한 오픈 소스 플랫폼으로, KVM(커널 기반 가상 머신)과 LXC(리눅스 컨테이너)를 관리할 수 있습니다. 이 모든 것을 하나의 웹 기반 인터페이스에서 관리할 수 있으며, 서버 간의 고가용성 설정, 소프트웨어 정의 스토리지, 네트워킹, 재해 복구 등을 위한 도구도 포함하고 있습니다.

서버 가상화

Proxmox VE는 Debian GNU/Linux를 기반으로 하고 커스텀 리눅스 커널을 사용합니다. Proxmox VE 소스 코드는 무료로 제공되며, GNU Affero General Public License, v3 (GNU AGPLv3)로 배포됩니다. 그래서 누구나 소프트웨어를 자유롭게 사용할 수 있고, 소스 코드를 언제든지 검사하거나 프로젝트에 기여할 수 있습니다. Proxmox VE ISO 설치 파일을 다운로드하거나, 공개 코드 저장소에서 코드를 검사할 수 있습니다.
오픈 소스 소프트웨어를 사용하면 모든 기능에 접근할 수 있고, 높은 신뢰성과 보안을 보장받을 수 있습니다. 우리는 모두가 Proxmox VE 프로젝트에 기여하기를 권장하며, Proxmox VE는 일관되고 기업 수준의 품질 기준을 충족하도록 제품을 유지하고 있습니다.

커널 기반 가상 머신 (KVM)

KVM은 리눅스에서 가상화를 제공하는 가장 앞선 기술입니다. KVM은 리눅스 커널에 병합된 커널 모듈로, 모든 x86 하드웨어에서 거의 네이티브 성능으로 실행됩니다. KVM을 사용하면 윈도우와 리눅스를 가상 머신에서 실행할 수 있으며, 각 가상 머신은 네트워크 카드, 디스크, 그래픽 어댑터 같은 가상화된 하드웨어를 갖춥니다. 여러 애플리케이션을 한 시스템에서 가상 머신으로 실행하면 전력 절약과 비용 절감이 가능하며, 유연하고 확장 가능한 소프트웨어 정의 데이터 센터를 구축할 수 있습니다.
Proxmox VE는 2008년 프로젝트 초기부터 KVM을 지원했습니다.

리눅스 컨테이너 (LXC) 기반 가상화

컨테이너 기반 가상화는 호스트 시스템의 커널을 공유하므로 전체 머신 가상화보다 가벼운 대안입니다. LXC는 하나의 리눅스 제어 호스트에서 여러 개의 격리된 리눅스 시스템을 실행할 수 있는 운영 체제 수준의 가상화 환경입니다. LXC는 리눅스 커널의 격리 기능을 위한 사용자 공간 인터페이스로 작동합니다. 강력한 API와 간단한 도구로 시스템이나 애플리케이션 컨테이너를 쉽게 생성하고 관리할 수 있습니다.

중앙 관리

모든 가상 데이터 센터 작업을 관리하기 위해 중앙 웹 기반 관리 인터페이스를 사용할 수 있습니다. 웹 인터페이스의 모든 기능은 CLI나 REST API를 통해서도 접근할 수 있어, 작업을 자동화할 수 있습니다.

웹 기반 관리 인터페이스

Proxmox VE는 사용하기 쉽습니다. 통합된 그래픽 사용자 인터페이스(GUI)로 모든 관리 작업을 수행할 수 있고, 별도의 관리 도구를 설치할 필요가 없습니다. 중앙 웹 인터페이스는 ExtJS JavaScript 프레임워크를 기반으로 하며, 최신 브라우저에서 접근할 수 있습니다. 관리 작업 외에도 각 노드의 작업 기록과 시스템 로그를 보여줍니다. 여기에는 백업 작업, 라이브 마이그레이션, 소프트웨어 정의 스토리지 또는 고가용성(HA) 활동이 포함됩니다. 멀티 마스터 도구를 통해 클러스터의 어떤 노드에서도 전체 클러스터를 관리할 수 있습니다.

Proxmox VE 모바일

Proxmox VE는 모바일 기기에서 접근할 수 있습니다. 안드로이드 앱이나 HTML5 기반 모바일 웹 인터페이스를 통해 Proxmox VE 서버에 접속하고 클러스터, 노드, 가상 머신, 컨테이너를 관리할 수 있습니다. Proxmox VE HTML5 모바일 클라이언트를 사용하면 이동 중에도 Proxmox VE를 관리할 수 있으며, SPICE와 HTML5 콘솔에도 접근할 수 있습니다. 이를 통해 가상 머신과 컨테이너를 관리하고, 그들의 설정을 볼 수 있습니다.

명령어 인터페이스 (CLI)

유닉스 셸이나 윈도우 파워셸에 익숙한 고급 사용자들을 위해 Proxmox VE는 가상 환경의 모든 구성 요소를 관리할 수 있는 명령어 인터페이스를 제공합니다. 이 명령어 인터페이스는 지능형 탭 완성과 유닉스 매뉴얼 페이지 형태의 전체 문서를 제공합니다.

REST API

Proxmox VE는 RESTful API를 사용합니다. 우리는 JSON을 기본 데이터 형식으로 선택했으며, 전체 API는 JSON 스키마를 사용해 정식으로 정의되어 있습니다. 이를 통해 타사 관리 도구와의 빠르고 쉬운 통합이 가능합니다.

클러스터링

대부분은 단일 노드로 시작하지만, Proxmox VE는 클러스터 노드를 대규모로 확장할 수 있습니다. 클러스터 스택은 완전히 통합되어 기본 설치에 포함됩니다.

Proxmox 클러스터 파일 시스템 (pmxcfs)

Proxmox VE는 고유한 Proxmox 클러스터 파일 시스템 (pmxcfs)를 사용합니다. pmxcfs는 클러스터의 설정 파일을 동기화합니다. Corosync를 사용해 실시간으로 클러스터의 모든 노드에 파일을 복제합니다. 파일 시스템은 모든 데이터를 디스크에 있는 영구 데이터베이스에 저장하며, RAM에도 데이터 사본을 저장합니다. 현재 최대 저장 크기는 30MB로, 수천 개의 가상 머신의 설정을 저장하기에 충분합니다.
Proxmox VE는 이 독특한 클러스터 파일 시스템(pmxcfs)을 사용하는 유일한 가상화 플랫폼입니다.

라이브/온라인 마이그레이션

내장된 라이브/온라인 마이그레이션 기능을 통해, 가동 중인 가상 머신을 한 Proxmox VE 클러스터 노드에서 다른 노드로 이동할 수 있습니다. 이 과정에서 다운타임이나 사용자 측에서 눈에 띄는 영향을 받지 않습니다.
관리자는 웹 인터페이스나 명령어 인터페이스에서 이 과정을 시작할 수 있습니다. 이를 통해 호스트 시스템을 오프라인으로 전환해야 할 때, 다운타임을 최소화할 수 있습니다.

고유한 멀티 마스터 디자인

클러스터의 관리를 단순화하기 위해, 클러스터 전체에서 유지 관리 작업을 어떤 노드에서도 수행할 수 있습니다. 통합된 웹 기반 관리 인터페이스를 통해 클러스터의 모든 KVM 게스트와 리눅스 컨테이너를 한눈에 볼 수 있습니다. 가상 머신과 컨테이너, 스토리지 또는 클러스터를 GUI에서 쉽게 관리할 수 있습니다. 별도의 복잡하고 비싼 관리 서버를 설치할 필요가 없습니다.

인증

역할 기반 관리

역할 기반 권한 관리 시스템을 사용하여 모든 객체(예: 가상 머신, 스토리지, 노드 등)에 대한 세부 접근 권한을 정의할 수 있습니다. 이를 통해 권한을 정의하고 객체에 대한 접근을 제어할 수 있습니다. 이 개념은 접근 제어 목록(ACL)로도 알려져 있습니다: 각 권한은 특정 경로에 대해 사용자 그룹이나 API 토큰과 같은 주체와 역할(특정 권한 집합)을 지정합니다.

인증 소스

Proxmox VE는 다양한 인증 소스를 지원합니다. 예를 들어, Linux PAM, 통합된 Proxmox VE 인증 서버, LDAP, Microsoft Active Directory, OpenID Connect 등을 지원합니다.

Proxmox VE 고가용성 (HA) 클러스터

다중 노드 Proxmox VE 클러스터는 높은 가용성의 가상 서버를 만들 수 있습니다. Proxmox VE HA 클러스터는 검증된 리눅스 HA 기술을 기반으로 안정적이고 신뢰할 수 있는 HA 서비스를 제공합니다.
전체 Proxmox VE HA 클러스터는 통합된 웹 기반 사용자 인터페이스에서 쉽게 구성할 수 있습니다.

Proxmox VE HA 관리자

Proxmox VE HA 관리자(resource manager)는 클러스터의 모든 가상 머신과 컨테이너를 모니터링하며, 그 중 하나가 실패하면 자동으로 조치를 취합니다. Proxmox VE HA 관리자는 별도 설정 없이 바로 사용할 수 있습니다. 추가로, 감시견 기반의 페이싱(watchdog-based fencing) 덕분에 배포가 크게 간소화됩니다.

Proxmox VE HA 시뮬레이터

Proxmox VE에는 HA 시뮬레이터가 포함되어 있습니다. 이를 통해 3개의 노드와 6개의 가상 머신을 사용하는 실제 클러스터의 동작을 테스트할 수 있습니다. Proxmox HA 시뮬레이터는 바로 실행할 수 있으며, Proxmox VE HA의 작동 방식을 배우고 이해하는 데 도움이 됩니다.

네트워킹

Proxmox VE의 네트워킹 기능은 비즈니스 요구에 따라 확장 가능한 반응성 있고 적응력 있는 네트워크를 가능하게 합니다.

소프트웨어 정의 네트워크 (SDN)

소프트웨어 정의 네트워크(SDN) 기능은 Proxmox VE가 고급 네트워킹 구성과 다중 테넌시 설정을 관리할 수 있게 합니다. 사용 사례는 각 개별 노드의 격리된 사설 네트워크에서 여러 위치에 있는 Proxmox VE 클러스터 간의 복잡한 오버레이 네트워크까지 다양합니다.
간단한 NAT 설정, 802.1q VLAN으로의 전통적인 분리, QinQ, VXLAN 터널링, BGP 기반 EVPN 인프라 등의 모든 크기의 네트워크에 적용 가능합니다.

리눅스 네트워킹 스택

간단한 설정을 위해, Proxmox VE는 로컬 노드에 유연한 네트워크 구성 옵션을 제공합니다. 브리징 네트워크 모델을 사용하여 가상화된 환경과 외부 네트워크 간의 원활한 연결을 제공합니다. 브리지는 물리적 네트워크 스위치와 비슷하지만, Proxmox VE 호스트에서 소프트웨어로 구현됩니다.
추가 유연성을 위해 VLAN을 설정하거나 본드 인터페이스를 생성하고 기본 네트워크 라우팅을 관리할 수 있습니다.

유연한 스토리지 옵션

Proxmox VE의 스토리지 모델은 매우 유연합니다. VM 이미지는 하나 이상의 로컬 스토리지 장치 또는 NFS와 SAN 같은 공유 스토리지에 저장할 수 있습니다. 제한이 없습니다. 원하는 만큼 많은 스토리지를 구성할 수 있고, Debian GNU/Linux에서 사용할 수 있는 모든 스토리지 기술을 사용할 수 있습니다. VM을 공유 스토리지에 저장하면, 가동 중인 머신을 다운타임 없이 라이브 마이그레이션할 수 있습니다.
Proxmox VE 웹 인터페이스에서는 다음 스토리지 유형을 추가할 수 있습니다:

네트워크 스토리지 유형

LVM 그룹 (iSCSI 타겟 네트워크 지원)
iSCSI 타겟
NFS 공유
SMB/CIFS
Ceph RBD
iSCSI LUN으로 직접 연결
GlusterFS
CephFS

로컬 스토리지 유형

LVM 그룹
디렉토리 (기존 파일 시스템에 저장)
ZFS

Ceph를 사용한 소프트웨어 정의 스토리지

Ceph는 뛰어난 성능, 신뢰성, 확장성을 제공하기 위해 설계된 오픈 소스 분산 객체 저장소 및 파일 시스템입니다. Proxmox VE는 Ceph를 완벽히 통합하여 클러스터 노드에서 직접 Ceph 스토리지를 실행하고 관리할 수 있게 합니다.
Ceph는 두 가지 유형의 스토리지를 제공합니다: RADOS 블록 장치(RBD)와 CephFS. RBD는 디스크 이미지와 스냅샷 같은 블록 수준 스토리지를 제공합니다. CephFS는 Ceph 스토리지 클러스터를 사용하여 데이터를 저장하는 POSIX 준수 파일 시스템을 구현합니다.

Proxmox VE와 함께 사용하는 Ceph의 장점

GUI와 CLI를 통한 쉬운 설정 및 관리
자가 치유
엑사바이트 수준으로 확장 가능
다양한 성능과 중복 특성을 가진 풀 설정
경제적인 범용 하드웨어에서 실행

Proxmox VE 방화벽

내장된 Proxmox VE 방화벽은 IT 인프라를 쉽게 보호할 수 있는 방법을 제공합니다. 방화벽은 완전히 사용자 정의할 수 있어 GUI나 CLI를 통해 복잡한 구성을 할 수 있습니다.
모든 클러스터 호스트에 대한 방화벽 규칙을 설정하거나 가상 머신과 컨테이너에 대한 규칙만 정의할 수 있습니다. 방화벽 매크로, 보안 그룹, IP 집합 및 별칭 같은 기능을 통해 이 작업을 쉽게 할 수 있습니다.

분산 방화벽

모든 구성은 클러스터 파일 시스템에 저장되지만, iptables 기반 방화벽은 각 클러스터 노드에서 실행되므로 가상 머신 간의 완전한 격리를 제공합니다. 이 시스템의 분산 특성 덕분에 중앙 집중식 방화벽 솔루션보다 훨씬 높은 대역폭을 제공합니다.

IPv4와 IPv6

방화벽은 IPv4와 IPv6를 완전히 지원합니다. IPv6 지원은 완전히 투명하며, 기본적으로 두 프로토콜의 트래픽을 모두 필터링합니다. 따라서 IPv6에 대한 별도의 규칙 집합을 유지할 필요가 없습니다.

백업/복원

백업은 모든 합리적인 IT 환경에서 기본적인 요구사항입니다. Proxmox VE 플랫폼은 각 스토리지와 각 게스트 시스템 유형의 기능을 사용하여 완전히 통합된 솔루션을 제공합니다. 백업은 GUI나 vzdump 백업 도구(명령어 인터페이스)를 사용하여 쉽게 시작할 수 있습니다. 이 백업은 항상 전체 백업으로, VM과 컨테이너의 설정 파일과 모든 데이터를 포함합니다.
통합된 백업 도구(vzdump)는 실행 중인 컨테이너와 KVM 게스트의 일관된 스냅샷을 생성합니다. 기본적으로 VM이나 컨테이너 데이터를 아카이브로 만들고, 구성 파일도 포함합니다.

예약된 백업

백업 작업은 특정 일과 시간에 자동으로 실행되도록 예약할 수 있습니다. 선택 가능한 노드와 게스트 시스템에 대해 예약할 수 있습니다.

백업 스토리지

KVM 라이브 백업은 NFS, iSCSI LUN, Ceph RBD의 VM 이미지와 같은 모든 스토리지 유형에서 작동합니다. Proxmox VE 백업 형식은 VM 백업을 빠르고 효과적으로 저장하도록 최적화되어 있습니다(스파스 파일, 순서가 맞지 않는 데이터, 최소화된 I/O 고려).

Proxmox 백업 서버 통합

Proxmox 백업 서버는 엔터프라이즈급 백업 솔루션으로, VM, 컨테이너, 물리적 호스트를 백업할 수 있습니다. Proxmox VE에 완전히 통합되어 동일한 공통 인터페이스를 사용하여 손쉽게 게스트를 백업하고 복원할 수 있습니다.
이 백업은 증분 백업으로, 네트워크를 통해 새로 변경된 데이터만 전송합니다. 이는 네트워크 대역폭과 백업 작업 실행 시간을 크게 줄이는 데 도움이 됩니다. 데이터는 클라이언트 측에서 쉽게 암호화할 수 있어, 백업된 데이터가 공격자에게 접근 불가능하게 합니다.

라이브 복원

대규모 백업을 복원하는 데 시간이 오래 걸리며, 재해 발생 시 주요 다운타임 원인이 될 수 있습니다. 하지만 Proxmox 백업 서버에 저장된 VM 백업의 경우, 라이브 복원 기능을 사용하면 복원이 시작되자마자 VM을 시작할 수 있습니다. 이 경우, 데이터는 백그라운드에서 계속 복사되며, VM이 활발히 접근하는 청크를 우선으로 처리합니다.

단일 파일 복원

종종 백업에서 단일 파일이나 디렉토리만 필요합니다. Proxmox VE 웹 인터페이스에서 VM이나 컨테이너 백업에서 개별 파일이나 디렉토리를 안전하게 검색하고 복원할 수 있습니다.

에디터의 마무리

Proxmox VE는 서버 가상화를 위한 오픈 소스 플랫폼으로, KVM과 LXC 기술을 통해 가상 머신과 컨테이너를 관리할 수 있습니다. 웹 기반 인터페이스로 간편하게 서버, 스토리지, 네트워킹, 백업 등을 통합 관리할 수 있으며, 고가용성(HA)을 제공하여 서버 간 장애 발생 시에도 지속적인 운영이 가능합니다.
다음 포스트부터는 Proxmox VE의 설치에서 활용까지 다뤄볼 예정입니다.
@6/13/2024
← 이전 글
다음 글 →
Contact : supergomdoll@gomdoll.net
ⓒ 2024 곰돌.넷 - 뭐 먹고 살지? All rights reserved.