DevOps
홈 서버 vs. NAS: 내 집에는 무엇이 필요할까?
NAS와 홈 서버는 비슷해 보이지만 출발점이 다릅니다. 파일 저장부터 Docker, 미디어 서버, 홈 자동화까지 어떤 환경에 무엇이 적합한지 정리합니다.
홈 서버 vs. NAS: 내 집에는 무엇이 필요할까?
개발을 하다 보면 어느 순간 집에서도 24시간 켜져 있는 서버 하나쯤 갖고 싶다는 생각이 듭니다.
처음에는 단순합니다.
“사진과 파일을 한곳에 모아두고 싶다.”
그런데 조금 지나면 요구사항이 하나씩 늘어납니다.
- 스마트폰 사진을 자동으로 백업하고 싶다.
- Plex나 Jellyfin으로 영상을 보고 싶다.
- Docker container를 여러 개 띄워보고 싶다.
- Home Assistant를 운영하고 싶다.
- 개인 Git이나 CI 환경도 만들어보고 싶다.
- 외부에서도 안전하게 접속하고 싶다.
이때 가장 먼저 마주치는 선택지가 NAS(Network Attached Storage)와 Home Server입니다.
둘 다 네트워크에 연결되어 있고, 데이터를 저장할 수 있으며, 24시간 운영할 수도 있습니다. 최근 NAS는 Docker와 VM까지 지원하기 때문에 겉으로 보면 차이가 더욱 모호합니다.
하지만 두 시스템은 출발점부터 조금 다릅니다.
NAS는 storage가 중심인 시스템이고, Home Server는 compute가 중심인 시스템입니다.
이 차이를 이해하면 어떤 장비를 선택해야 하는지도 훨씬 명확해집니다.
NAS란 무엇인가?
NAS는 이름 그대로 Network Attached Storage, 즉 네트워크에 연결된 저장소입니다.
PC에 USB 외장하드를 연결하는 대신 HDD나 SSD가 들어 있는 별도의 장비를 네트워크에 연결하고 여러 기기에서 접근한다고 생각하면 쉽습니다.
대표적으로 다음과 같은 용도로 사용합니다.
- 파일 저장 및 공유
- PC/Mac 백업
- 사진 자동 백업
- 미디어 라이브러리
- 여러 사용자 간 파일 공유
- RAID를 이용한 디스크 장애 대응
- 클라우드 스토리지의 일부 대체
NAS의 핵심은 데이터를 안전하고 편리하게 저장하고 관리하는 것입니다.
Synology DSM이나 QNAP QTS 같은 상용 NAS 운영체제는 디스크 관리, 사용자 권한, SMB/NFS 공유, snapshot, backup 같은 기능을 GUI에서 설정할 수 있도록 제공합니다.
그래서 서버 관리 경험이 많지 않더라도 비교적 쉽게 운영할 수 있습니다.
NAS의 장점
가장 큰 장점은 관리가 편하다는 것입니다.
NAS 제조사가 hardware와 software를 하나의 제품으로 제공하기 때문에 초기 설정 과정이 비교적 단순합니다. 디스크를 장착하고 네트워크를 연결한 뒤 웹 UI에서 몇 가지 설정을 하면 파일 서버를 사용할 수 있습니다.
전력 소비 역시 중요한 장점입니다.
NAS는 일반적으로 24시간 운영을 전제로 설계됩니다. 고성능 CPU보다는 적절한 성능과 낮은 전력 소비에 초점을 맞추는 경우가 많습니다.
또 하나의 장점은 storage 관리입니다.
RAID 구성, SMART 검사, snapshot, disk health monitoring 같은 기능을 별도의 Linux 지식 없이도 사용할 수 있습니다.
특히 중요한 데이터를 보관하는 것이 주목적이라면 이 편의성은 상당히 큽니다.
다만 한 가지는 꼭 기억해야 합니다.
RAID는 backup이 아닙니다.
RAID는 특정 디스크가 고장 났을 때 서비스를 계속 운영하거나 데이터를 복구할 가능성을 높여주는 기술입니다. 실수로 파일을 삭제하거나 ransomware에 감염되거나 NAS 자체가 손상되는 상황까지 해결해 주지는 않습니다.
중요한 데이터라면 NAS와 별도로 external drive나 cloud storage 등에 추가 backup을 구성하는 것이 좋습니다.
Home Server란 무엇인가?
Home Server는 특정 제품을 의미하지 않습니다.
집에서 개인적인 목적으로 운영하는 서버 전체를 가리키는 표현에 가깝습니다.
오래된 PC를 활용할 수도 있고, Mini PC나 Intel NUC 계열의 작은 컴퓨터를 사용할 수도 있습니다. 직접 조립한 PC에 Linux를 설치해서 운영하는 것도 Home Server입니다.
운영체제 역시 자유롭습니다.
Ubuntu Server나 Debian을 설치할 수도 있고, Proxmox VE 같은 hypervisor를 사용해 여러 VM을 운영할 수도 있습니다.
Home Server에서는 storage보다 어떤 서비스를 실행할 것인가가 더 중요합니다.
예를 들어 한 대의 서버에서 다음과 같은 서비스를 운영할 수 있습니다.
Home Server
├── Reverse Proxy
├── Jellyfin
├── Home Assistant
├── Immich
├── Git Server
├── Monitoring
├── PostgreSQL
└── Personal Web Services
Docker Compose를 사용한다면 새로운 서비스를 추가하는 것도 어렵지 않습니다.
그래서 새로운 기술을 직접 설치하고 구성해 보는 것을 좋아한다면 Home Server 자체가 꽤 좋은 playground가 됩니다.
가장 큰 차이는 Storage와 Compute
NAS와 Home Server를 비교할 때 CPU 성능이나 가격부터 비교하기 쉽습니다.
하지만 더 중요한 질문은 다음과 같습니다.
이 장비에서 가장 중요한 역할은 데이터를 저장하는 것인가, 아니면 application을 실행하는 것인가?
파일 저장과 backup이 핵심이라면 NAS가 자연스럽습니다.
반대로 Docker container, VM, database, automation 등 다양한 workload를 실행하는 것이 목적이라면 Home Server가 훨씬 유연합니다.
간단하게 비교하면 다음과 같습니다.
| 항목 | NAS | Home Server |
|---|---|---|
| 중심 역할 | Storage | Compute / Services |
| 초기 설정 | 쉬움 | 상대적으로 복잡 |
| 파일 관리 | 매우 편리 | 직접 구성 필요 |
| RAID 관리 | 편리 | 직접 설계 가능 |
| Docker | 제품에 따라 지원 | 자유롭게 구성 가능 |
| Virtual Machine | 제한적일 수 있음 | 매우 유연 |
| Hardware 확장 | 모델에 따라 제한 | 상대적으로 자유로움 |
| 소비 전력 | 대체로 낮음 | 구성에 따라 크게 달라짐 |
| 유지보수 | 상대적으로 간단 | 관리자가 직접 담당 |
| 학습 가치 | Storage 중심 | Linux / Network / Container 등 폭넓음 |
물론 이것은 절대적인 구분은 아닙니다.
고성능 NAS는 VM과 container를 충분히 실행할 수 있고, Home Server 역시 ZFS 등을 구성하면 훌륭한 storage server가 될 수 있습니다.
결국 차이는 “할 수 있느냐”보다 무엇을 중심으로 설계했느냐에 있습니다.
NAS에서도 Docker를 실행할 수 있는데?
여기서 자연스럽게 한 가지 의문이 생깁니다.
“요즘 NAS에서도 Docker가 되는데 굳이 Home Server가 필요한가?”
맞습니다.
최근의 x86 기반 NAS는 container를 실행할 수 있고 일부 제품에서는 VM도 사용할 수 있습니다. Jellyfin, Home Assistant, Pi-hole 같은 서비스를 NAS 하나에서 운영하는 것도 가능합니다.
사용하는 서비스가 많지 않다면 오히려 이것이 가장 간단한 구성일 수 있습니다.
Internet
│
Router
│
NAS
├── File Storage
├── Backup
├── Jellyfin
└── Docker Containers
장비 한 대만 관리하면 되기 때문에 전력 소비와 공간, 관리 측면에서도 유리합니다.
문제는 workload가 커지기 시작했을 때입니다.
예를 들어 여러 container를 실행하고, media transcoding을 하고, database를 운영하고, VM까지 추가하면 CPU와 memory가 부족해질 수 있습니다.
NAS의 CPU나 RAM을 자유롭게 upgrade하기 어려운 모델이라면 이 시점부터 확장성이 제한됩니다.
Home Server를 NAS처럼 사용할 수도 있다
반대 방향도 가능합니다.
Home Server에 여러 HDD를 연결하고 TrueNAS SCALE이나 Unraid 같은 시스템을 사용하면 직접 NAS를 만들 수 있습니다.
Linux와 ZFS를 직접 구성하는 방법도 있습니다.
이 방식의 가장 큰 장점은 자유도입니다.
CPU, RAM, network interface, storage controller 등을 직접 선택할 수 있고 필요하면 hardware를 upgrade할 수도 있습니다.
하지만 자유도가 높아지는 만큼 책임도 늘어납니다.
디스크 구성부터 filesystem, permission, backup, monitoring, update까지 직접 판단해야 할 부분이 많습니다.
NAS appliance를 구매하면 제조사가 대신 고민해 주던 문제를 이제 내가 고민해야 합니다.
이 차이는 생각보다 큽니다.
그래서 둘 중 하나만 선택해야 할까?
반드시 그렇지는 않습니다.
Home Lab을 운영하다 보면 오히려 NAS와 Home Server를 분리하는 구성이 꽤 합리적입니다.
┌───────────────┐
│ Router │
└───────┬───────┘
│
┌──────────┴──────────┐
│ │
┌──────▼──────┐ ┌──────▼──────┐
│ NAS │ │ Home Server │
│ │ │ │
│ Files │ │ Docker │
│ Photos │◀─────▶│ VM │
│ Backup │ NFS │ Apps │
│ Media │ SMB │ Database │
└─────────────┘ └─────────────┘
NAS는 storage에 집중합니다.
Home Server는 NAS의 storage를 NFS나 SMB로 mount하고 application 실행에 집중합니다.
이렇게 역할을 분리하면 몇 가지 장점이 있습니다.
Home Server를 재부팅하거나 OS를 다시 설치해도 NAS의 데이터에는 영향을 주지 않습니다. 반대로 compute workload가 증가하더라도 storage 시스템과 직접 경쟁하지 않습니다.
Upgrade 역시 독립적으로 할 수 있습니다.
CPU나 RAM이 부족하면 Home Server만 교체하고, 저장 공간이 부족하면 NAS에 disk를 추가하면 됩니다.
개인적으로는 장기간 Home Lab을 운영한다면 이런 Storage와 Compute의 분리가 관리하기 편한 구조라고 생각합니다.
비용은 장비 가격만 보면 안 된다
Home Server를 구성할 때 자주 놓치는 것이 전기요금입니다.
24시간 운영하는 장비에서는 몇 W의 차이도 1년 동안 누적됩니다.
예를 들어 평균 소비전력이 20W라면 연간 사용량은 대략 다음과 같습니다.
0.02 kW × 24 hours × 365 days
= 175.2 kWh/year
평균 60W라면 약 525.6kWh/year입니다.
따라서 저렴한 중고 PC를 Home Server로 사용하는 것이 초기 비용에서는 매력적이어도 idle power consumption이 높다면 몇 년 뒤에는 저전력 Mini PC보다 비싸질 수 있습니다.
장비를 선택할 때는 다음을 함께 계산하는 편이 좋습니다.
Total Cost
= Hardware
+ Storage
+ Electricity
+ Backup
+ Maintenance
특히 24/7 운영을 계획한다면 benchmark의 최고 성능보다 idle power consumption이 더 중요한 지표가 되기도 합니다.
어떤 사람에게 NAS가 적합할까?
다음과 같은 경우라면 NAS부터 시작하는 것을 추천합니다.
파일과 사진을 안전하게 모아두는 것이 가장 중요한 목적이고, 서버 관리 자체에는 많은 시간을 쓰고 싶지 않은 경우입니다.
가족과 함께 사용할 storage가 필요한 경우에도 NAS가 편리합니다. 사용자 계정이나 공유 폴더를 GUI에서 관리할 수 있기 때문입니다.
Docker를 사용하더라도 몇 개의 가벼운 서비스만 운영한다면 NAS 한 대로 충분할 가능성이 높습니다.
무엇보다 서버를 관리하는 것보다 서버를 사용하는 것이 목적이라면 NAS가 잘 맞습니다.
어떤 사람에게 Home Server가 적합할까?
반대로 Linux와 network를 직접 다뤄보고 싶다면 Home Server가 훨씬 재미있는 선택입니다.
Docker, Kubernetes, reverse proxy, VPN, database, monitoring, CI/CD 등을 직접 구성해 볼 수 있기 때문입니다.
개발자 입장에서는 production environment에서 사용하는 기술을 작은 규모로 직접 실험할 수 있다는 것도 큰 장점입니다.
실패해도 큰 문제가 없는 환경에서 서버를 망가뜨리고 다시 구축하는 경험은 의외로 많은 것을 알려줍니다.
그래서 목적이 storage보다는 self-hosting과 학습에 가깝다면 Home Server를 추천합니다.
둘 다 필요한 경우도 있다
처음부터 NAS와 Home Server를 모두 구매할 필요는 없습니다.
오히려 작은 환경에서 시작해 보는 것이 좋습니다.
예를 들어 Mini PC 한 대에 Linux와 Docker를 설치해 Home Server를 먼저 운영할 수 있습니다. 저장 공간이 부족해지는 시점에 NAS를 추가할 수도 있습니다.
반대로 NAS를 먼저 구입한 뒤 Docker container 몇 개를 실행해 보고, compute resource가 부족해졌을 때 별도의 Home Server를 추가하는 방법도 있습니다.
중요한 것은 처음부터 완벽한 architecture를 만드는 것이 아닙니다.
현재 필요한 문제를 가장 단순한 방법으로 해결하고, 필요해질 때 분리하는 것이 오히려 Home Lab에서는 좋은 접근이라고 생각합니다.
정리
NAS와 Home Server는 경쟁 관계라기보다 서로 다른 문제를 해결하는 도구에 가깝습니다.
한 문장으로 정리하면 다음과 같습니다.
NAS는 데이터를 잘 보관하기 위한 컴퓨터이고, Home Server는 서비스를 자유롭게 실행하기 위한 컴퓨터입니다.
파일과 사진의 보관, backup, 공유가 가장 중요하다면 NAS가 좋은 출발점입니다.
Docker, VM, Home Assistant, 개발 환경처럼 여러 application을 직접 운영하고 싶다면 Home Server가 더 적합합니다.
그리고 두 요구사항이 모두 커진다면 NAS와 Home Server를 분리하면 됩니다.
처음 Home Lab을 만들 때 가장 좋은 장비를 찾으려고 하면 끝이 없습니다. CPU, ECC memory, ZFS, RAID, 2.5GbE, 10GbE까지 알아보다 보면 어느 순간 서버를 구축하는 것보다 장비를 비교하는 시간이 더 길어집니다.
그래서 처음에는 작은 장비 한 대면 충분합니다.
직접 운영해 보면 내가 필요한 것이 더 많은 storage인지, 더 많은 compute인지 자연스럽게 알게 됩니다.
그때 다음 장비를 결정해도 늦지 않습니다.
Tags