홈 클러스터 구축하기 1: 하드웨어 선택과 네트워크 구성
Proxmox VE 기반 홈 클러스터 구축 과정에서의 하드웨어 선택과 네트워크 구성
안녕하세요.
이번 글에서는 Proxmox VE 기반 홈 클러스터 구축 과정에서 하드웨어 선택과 네트워크 구성에 대해 다뤄보고자 합니다.
홈 클러스터를 구축하게 된 이유
이전에 저는 다양한 프로젝트 운영, 개발 및 테스트 워크로드 처리, 그리고 개인적인 학습과 실험을 위해 AWS EKS 위에서 모두 처리하고자 했습니다. 그리고 실제로 3개월 정도 EKS를 운영하며 개발 서버로서 활용하였습니다.
하지만 클라우드는 비쌉니다. (아주 많이요..)
개인용 서비스와 개발을 위한 클러스터가 주를 이루는 상황에서 EkS등 외부 클라우드 서비스에 전적으로 의존하는 것은 과하다고 판단했습니다.
장기적인 관점에서 유지 가능하고 약간의 불안정성이 있더라도 비용 손실을 막는 것이 현재 상황에 적합하다고 판단하였습니다.
하드웨어 선택
개인 사무실 등 서버를 돌릴 장소가 마땅히 없기에 여러 조건 들을 신경 써야 했습니다. 발열, 소음 문제부터 전력 공급, 냉각 그리고 네트워크까지 여러 조건을 고려하다 보니 흔히 구성되는 서버랙 및 마운트는 부적합하다고 판단했습니다.
또한 비용적인 부분에서도 상용 서비스들을 현재로선 운영하지 않다 보니 초기 비용을 최소화하고자 하였습니다.
이러한 이유들로 최적의 하드웨어를 선택하기 위해 다음과 같은 기준을 세웠습니다.
가격이 저렴해야 한다.
거의 들리지 않을 정도로 조용해야 하며 발열을 잡을 수 있어야 한다.
작은 공간에도 설치할 수 있어야 한다.
기존의 워크로드를 감당할 수 있는 성능을 가져야 한다.
특히 가격의 제약이 가장 컸기에 중고나 알리익스프레스에서 구매하는것을 적극적으로 검토하였습니다.
그 결과 인텔 제온 E5 시리즈 및 중국산 마더보드 구성이 현재로선 가장 저렴하고 위의 기준에 적합하다고 보았습니다. 또한 서버용 케이스가 아닌 일반 가정용 데스크탑 케이스가 발열 및 소음 부분에서 유리하기 때문에 이 점 또한 적합하다고 판단했습니다.

(그리하여 준비된 컴퓨터들)
노드 사양
Intet E5 2680 v4
64GB Ram
512GB NVME M.2
1TB SSD
총 2대를 구매해 조립하였으며 기존에 사용하던 미니 PC 1대를 준비하였습니다. HDD가 아닌 SSD 사용 이유는 기존에 있던 저장장치를 활용하면서 HDD 소음 문제를 고려해 추가로 구매하지 않았습니다. 또한 라즈베리파이를 사용하여 Cloudflare tunnel 구성 및 WireGuard를 통한 내부 네트워크 접근을 할 생각입니다.
성능과 안정성 평가를 위해 당장은 1대의 노드만을 사용할 계획이지만 추후 여러 노드를 연결하며 확장할 계획입니다.
네트워크 구성
스위치를 구매하여 네트워크를 분리하고 고정 IP를 발급받아 로드벨런서를 구성해 연결 하는 것이 최적의 선택이지만, 고정 IP 발급 및 스위치 구매에도 비용이 들어가고 해당 구성이 현재 사용 목적에 대해서는 과하다고 생각하였습니다.
또한 사용 중인 IPTIME공유기에서 DDNS발급 기능을 지원해주고 포트포워딩 등 공유기에서 지원하는 기능을 적극적으로 활용하고자 하였습니다.
따라서 현재의 구성에서 공유기와 직접 노드를 연결하며 구성하려고 하며 추후 연결되는 노드가 많아지거나 다른 환경으로 이전한다면 별도의 스위치 사용을 고려할 계획입니다.
flowchart LR
A[클라이언트] -->|"1. mandacode.com 조회"| B[Cloudflare DNS]
B -->|"2. CNAME 응답<br/>abcd.iptime.org"| A
A -->|"3. abcd.iptime.org 조회"| C[iptime DNS 서버]
C -->|"4. A 레코드 응답<br/>공인IP 1.2.3.4"| A
A -->|"5. 1.2.3.4로 접속 요청"| D[공유기 WAN]
D -->|"6. NAT/포트포워딩"| E[내부 서버]하이퍼바이저
저는 하이퍼바이저로 Proxmox VE를 선택했는데, 무료로 사용할 수 있고 설치도 간단하며, ZFS, Ceph 등 다양한 스토리지 옵션과 네트워크 가상화 기능을 지원하기 때문입니다.
또한 대시보드 UI가 직관적이어서 관리가 편리하다는 점도 큰 장점이었습니다.

(Proxmox VE 대시보드)
추후 Proxmox VE 클러스터 기능을 활용하여 클러스터를 확장할 계획이지만, 현재는 단일 노드로 완전히 안정적이지 않기 때문에 ETCD 백업 및 GitOps 워크플로우를 통해 클러스터 상태를 관리하는 방식으로 운영할 예정입니다.
마치며
다음 글에서는 Proxmox VE 위에 Talos Linux를 설치하고, Kubernetes 클러스터를 구성한 과정에 대해 이야기해 보도록 하겠습니다!