Proxmox at HomeLab
ํ์ฌ ๋ณธ ์ฌ์ดํธ๋ Proxmox๋ก ๊ตฌ์ฑํ HomeLab์์ ์ด์์ค์ ๋๋ค . HomeLab์ ์์ ์นํธ์คํ , NAS server, Python app ๋ฑ ๋ค์ํ ์๋น์ค๋ฅผ ํ๊ณ ์์ต๋๋ค.
Inroduction
About HomeLab
๋ฉ(Homelab)์ ํ์ต๊ณผ ์คํ, ๊ทธ๋ฆฌ๊ณ ๊ฐ์ข ์๋น์ค๋ฅผ ์ง์ ์ด์ํ๊ธฐ ์ํด ์ง์์ ๊ตฌ์ถํ๋ ์๊ท๋ชจ ํด๋ผ์ฐ๋ ์๋น์ค์ ์ ์ฌํ ๊ฐ์ธ IT ํ๊ฒฝ์ ์๋ฏธํฉ๋๋ค. ๊ทธ ๊ท๋ชจ๋ ์์ ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด ํ ๋๋ถํฐ ์ ๋ฌธ์ ์ธ ์๋ฒ ๋ ์ ์ฒด์ ์ด๋ฅด๊ธฐ๊น์ง ์ฌ์ฉ์์ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ค์ํ๊ฒ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.

์ด ๊ณต๊ฐ์ ๊ฐ์ํ, ๋คํธ์ํฌ, ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ ๋ฑ์ ํต์ฌ ๊ธฐ์ ์ ์ตํ๋ ์ค์ต์ฅ์ด ๋๋ฉฐ, ๋ฏธ๋์ด ์๋ฒ๋ ๊ด๊ณ ์ฐจ๋จ๊ธฐ(Pi-hole), ํ ์คํ ๋ฉ์ด์ (Home Assistant)๊ณผ ๊ฐ์ ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ ๊ตฌ๋ํด ๋ณด๋ ๋ฐ ํ์ฉ๋ฉ๋๋ค. ๋ฌด์๋ณด๋ค ํ๋ฉ์ ์ค์ ์ ๋ฌด ์์คํ ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉด์ ๋ง์๊ป ๊ธฐ์ ์ ๊ตฌ์ถํ๊ณ , ๊ณ ์ฅ ๋ด๊ณ , ๋ค์ ๊ณ ์ณ๋ณผ ์ ์๋ ์์ ํ ‘์๋๋ฐ์ค’ ์ญํ ์ ์ํํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก IT ์ ๋ฌธ๊ฐ์ ๊ธฐ์ ์ ํธ๊ฐ ๋ชจ๋์๊ฒ ์ํฐํ๋ผ์ด์ฆ๊ธ ๊ธฐ์ ๊ณผ ๊ฐ์ธ ํ๋ก์ ํธ์ ๋ํ ๊ท์คํ ์ค๋ฌด ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ณต๊ฐ์ด๋ผ ํ ์ ์์ต๋๋ค.
๋ชฉ์ ์ ๋ฐ๋ผ ํ๋์จ์ด ๊ตฌ์ฑ๋ฐฉ๋ฒ์ ๋ค๋ฅผ ์ ์์ต๋๋ค. ํ์ง๋ง ๊ฐ์ํ ์ค์ต๊ณผ ๊ทธ ๊ฐ์ํ ๊ณต๊ฐ์์์ ๊ฐ์ข ์๋ฒ, ์๋น์ค์ ์ด์ ์ค์ต์ด HomeLab์ ์ฃผ ๋ชฉ์ ์ผ๋ก ํ๋ค๋ฉด ๋๋ถ๋ถ์ ๊ธฐ๋ณธ ๊ตฌ์ฑ์ ๋น์ทํ๊ฑฐ๋ ๊ธฐ๋ณธ ๊ตฌ์ฑ์ ํ์ฅํ ๊ตฌ์ฑ์ด ๋ ๊ฒ์ ๋๋ค. ์๋ก ์ ๊ฐ Proxmox๋ก ๊ตฌ์ฑํ Home Lab/Small server๋ฅผ ๊ฐ๋จํ๊ฒ ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค.
ย
Minimum Requirements (Host OS / Proxmox)
- CPU: 64bit Intel 64 / AMD 64 with Intel VT/AMD-V for virtualizaion
- RAM: 2GB for OS + guest VM
- Storage: ~ 16GB for OS (HDD/SSD) + space for VMs
- Network: 1x Gigabit NIC
My Components
- PC: DELL OptiPlex 9020 (2013)
- CPU:ย Intel i5-4590 (4 cores)
- RAM:ย 32Gb
- HDD(OS): 2x320Gb (RAID 1)
- HDD(Data): 1x3TB (NAS Storage)
- Network: 1Gib
- DVD:ย Removed for Data HDDย


Monitoring
Docker container๋ฅผ ๋ชจ๋ํฐ๋ง์ ํ๊ธฐ์ํด์ Prometheus ์ Grafana๋ฅผ ์ค์นํ์ฌ ์๋ฒ ์ ์ฒด๋ฅผ ๋ถ์ ๋ฐ ๊ฐ์ํฉ๋๋ค.
- CPU Average16%
- Disk Usage18%
- Memory13%

Installation
Step 1
์ฌ์ฉํ์ง ์๋ ๊ตฌํ PC์ธ Dell OptiPlex 9020์์ SATA port๊ฐ 3๊ฐ ๋ฟ์ด๋ผ HDD๋ฅผ ์ถ๊ฐ ์ค์นํ๊ธฐ ์ํ์ฌ ๋ถํ์ํ DVD๋ฅผ ์ ๊ฑฐ ํ๊ณ , ํ์ํ HDD์ RAM์ ์ถ๊ฐ ์ค์นํจ.ย
Step 2
๊ฐ์ํ๋ฅผ ์ํ์ฌ Proxmox๋ฅผ ๊ตฌํ PC์ธ Dell OptPlex 9020์ ์ค์น ํจ.
Step 3
์ค์นํ Proxmox ์๋ฒ์ ์น ํธ์คํ ์๋น์ค๋ฅผ ์ํ์ฌ Debian container๋ฅผ ์ค์นํ๊ณ Nginx๋ฅผ ์ค์นํจ.
Step 4
Debian VM์ Proxmox์๋ฒ์ ์ค์นํ๊ณ docker์ ์ต์ ๋ฒ์ ์ ์ค์นํจ.
Step 5
์ค์น๋ Docker์์ WordPress๋ฅผ ์๋น์คํ php, nginx, redis(optional)๋ฑ์ ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌ ๋ฐ ์ ๋ฐ์ดํธ๋ฅผ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํด์ compose ํ์ผ์ ์์ฑํ์ฌ upํ๊ณ ๊ด๋ฆฌํจ.
Step 6
Proxmox์ container๋ก ์ค์นํ Nginx์์ docker container๋ก ์ค์นํ nginx๋ฅผ proxy reverse ์๋น์ค๋ฅผ ์ค์ ์ ํจ.

[๋ณด์ ๋ฐ ์์ ์ฑ ์ด์ ] ๋ณธ ์ํคํ ์ฒ๋ ์ปจํ ์ด๋ ๊ฐ ๊ฒฉ๋ฆฌ(Isolation)๋ฅผ ํตํด ๋ณด์ ์ฌ๊ณ ๋ฐ์ ์ ํผํด ๋ฒ์๋ฅผ ์ต์ํํฉ๋๋ค. ํน์ ์ปจํ ์ด๋๊ฐ ๊ณต๊ฒฉ๋ฐ๋๋ผ๋ ๋ค๋ฅธ ํธ์คํ ์๋น์ค์ ๊ฐ์ฉ์ฑ์ ์ ์ง๋๋ฏ๋ก, ๋ค์ค ์๋น์ค ์ด์ ํ๊ฒฝ์์ ๋์ ์์ ์ฑ์ ์ ๊ณตํฉ๋๋ค.
โป ์ฃผ์: ํธ์คํธ ์๋ฒ ์์ฒด์ ๋ณด์ ์ทจ์ฝ์ ์ด๋, ํน์ ์ปจํ ์ด๋์ ๋ฆฌ์์ค ๊ณ ๊ฐ(Resource Exhaustion)๋ก ์ธํ ์ ์ฒด ์์คํ ์ฅ์ ๋ ๋ณ๋์ ๋ณด์ ๋ฐ ์์ ๊ด๋ฆฌ ์ ์ฑ ์ผ๋ก ๋์ํด์ผ ํฉ๋๋ค.
๋๋ต์ ์ธ HomeLab์ ๊ตฌ์ฑ์ ๊ดํ์ฌ ์๋ดํด๋๋ ธ์ต๋๋ค. ๊ฐ๊ฐ์ ์๋น์ค ์ค์น, ๊ตฌ์ฑ, ์ด์ ํ๋ฑ์ ์ถํ ์๊ฐ์ด ๋ ๋๋ง๋ค ํฌ์คํ ํ๊ฒ ์ต๋๋ค.
