
Proxmox에 클러스터링을 진행하기 전에 기본적인 클러스터의 개념과 일반적인 클러스터와 하이퍼바이저 위에서의 클러스터의 차이에 대한 설명을 완료하고자 함
클러스터는 여러 대의 독립적인 컴퓨터 시스템(노드)를 하나의 논리적 집합으로 구성하여, 단일 시스템처럼 동작하는 구조를 말함
가용성(Availability) 향상
: 일부 노드 장애 시에도 서비스 지속
성능 확장성(Scalability) 확보
: 노드 추가를 통한 처리 능력 향상
부하 분산 (Load Balancing)
: 요청을 여러 노드에 분배하여 효율 극대화
장애 대응 자동화 (Fault Tolerance)
: 장애 감지 및 복구 자동화
: 하나의 노드가 장애를 일으켜도 다른 노드가 즉시 서비스를 이어받아 무중단운영을 보장하며 주로 은행, 공공기관 등 서비스 연속성이 중요한 환경에서 사용됨
: 사용자 요청을 여러 노드에 분산해 성능 처리 효율을 높이며 웹 서버, API 서버, 프록시 서버 구조 등에 주로 사용됨
: 여러 저장 장치를 묶어 하나의 논리적 스토리지로 구성하고, 데이터 복제와 확장을 통해 안정성과 확장성을 확보함. 대표적으로 Ceph, GlusterFS 등이 있음
일반적인 클러스터는 물리 서버 간 진적 연결된 환경에서, 운영 체제(OS) 또는 애플리케이션 수준에서 클러스터링 기능을 구성함
각 노드는 네트워크를 통해 서로 통신하며, 특정 자원이나 서비스를 공동으로 운영함
Kubernetes 클러스터
: 컨테이너 기반 워크로드를 여러 노드에 분산
MySQL cluster / Oracle RAC
: 데이터베이스 복제 및 동기화를 통해 가용성 확보
Hadoop Cluster
: 데이터 연산을 여러 서버에 병렬 분산
하이퍼바이저 기반 클러스터는 가상화 기술을 이용해, 여러 하이퍼바이저 호스트를 하나의 관리 단위로 묶은 구조
주 목적은 가상머신(VM) 단위의 자원 관리, 가용성 확보, 자동화된 복구 및 확장성 제공에 있음
| 구분 | 일반 클러스터 | 하이퍼바이저 기반 클러스터 |
|---|---|---|
| 구성 계층 | OS 또는 애플리케이션 | 가상화 관리 계층 |
| 관리 대상 | 서비스, 애플리케이션 | 가상머신(VM) |
| 물리 구성 | 실제 서버 간 클러스터 | 가상화 호스트 간 클러스터 |
| 장애 복구 단위 | 서비스 또는 프로세스 | VM 단위 |
| 스토리지 구조 | 독립적 또는 선택적 공유 | 공유 스토리지 필수 |
| 주요 목적 | 애플리케이션 가용성 및 분산 처리 | 가상 인프라 가용성 및 자원 통합 |
| 대표 기술 | Kubernetes, Hadoop, MySQL Cluster | VMware vSphere, Proxmox, Hyper-V |