🔬 과학·테크

라즈베리파이 5 NVMe 부팅 홈서버 구축기 — SD부터 시작하지 않는 NVMe-First 빌드 5종 세트

_eNKI 2026. 6. 29. 07:44
반응형

라즈베리파이 5 NVMe 부팅 홈서버 구축기 — SD부터 시작하지 않는 NVMe-First 빌드 5종 세트

TL;DR

  • SD 카드부터 시작한 라즈베리파이 홈서버는 평균 6개월 안에 한 번 더 재설치한다
  • Docker·DB·로그 쓰기로 SD는 수개월, NVMe는 수년 — 속도 차이는 5~10배
  • M.2 HAT+, NVMe SSD, 27W PSU, 능동 쿨러, 작은 UPS — 다섯을 한 번에 산다
  • BOOT_ORDER=0xf416 + dtparam=pciex1_gen3=on 세 줄이 구축의 전부다
  • 초기 비용 +5만 원이 6개월 후의 재설치를 막는 보험이다

"일단 SD에 깔고 나중에 옮기세요"는 대부분의 라즈베리파이 입문 가이드가 따르는 문장이다. 이 "나중에"는 거의 모두 6개월 안에 강제로 발생한다. 이 글은 그 6개월을 건너뛰는 빌드 순서를 정리한다.

SD부터 시작하면 무조건 한 번 재설치한다

홈서버 워크로드는 SD 카드가 설계된 쓰기 패턴이 아니다. Docker 컨테이너의 임시 파일, SQLite·PostgreSQL의 WAL, systemd-journal 로그, Watchtower 자동 업데이트가 24시간 같은 셀에 쓰기를 가한다.

소비자용 microSD는 사진 촬영을 가정한 설계라 이 부하에서 수개월에 죽는다. 보통 갑작스러운 마운트 실패로 온다. NVMe SSD는 같은 쓰기를 수년간 견디고 SMART·TRIM으로 수명을 추적할 수 있다.

라즈베리파이 5의 PCIe는 기본 Gen2(약 450 MB/s)지만, 한 줄 설정으로 비공식 Gen3(SSD에 따라 약 800900 MB/s)까지 끌어올릴 수 있다. SD 카드의 2090 MB/s 대비 본질적 차이는 부팅 속도가 아니라 수명이다.

한 번에 사야 하는 다섯 가지 부품

따로따로 주문하면 항상 한 부품이 빠진 채 일주일을 더 기다리게 된다. 다섯 가지를 동시에 장바구니에 넣는 게 빌드의 첫 결정이다.

부품 핵심 사양 함정
M.2 HAT+ 공식 또는 Geekworm Compact 버전은 2230만 지원
NVMe SSD 2242, 256GB 이상 2280은 물리적으로 안 맞는다
PSU 5V/5A 27W USB-C PD 5V/3A는 NVMe 인식 실패
능동 쿨러 공식 Active Cooler 80°C 소프트 스로틀
UPS 슈퍼캡 또는 PD 배터리 정전 = 파일시스템 손상

핵심 함정은 두 가지다. SSD는 반드시 2242 폼팩터다. 2280은 더 싸지만 공식 HAT+에 들어가지 않는다. "Compact" 버전을 샀다면 2230만 가능하다. PSU는 반드시 5V/5A 27W — 일반 3A 어댑터는 NVMe 인식이 간헐적으로 실패하고 OS에 경고가 뜬다.

EEPROM과 config.txt, 세 줄이 구축의 전부다

NVMe-First 빌드의 소프트웨어 작업은 의외로 짧다. SD 카드에 Raspberry Pi OS를 굽고 한 번 부팅한 다음, 두 파일만 손본다.

sudo rpi-eeprom-update -a                   # 부트로더 최신화
sudo rpi-eeprom-config --edit
# BOOT_ORDER=0xf416
# PCIE_PROBE=1   (공식 HAT+가 아닌 어댑터일 때만)

# 그리고 /boot/firmware/config.txt 끝에 한 줄:
# dtparam=pciex1_gen3=on

BOOT_ORDER의 16진수는 오른쪽부터 읽는다. 0xf416NVMe(6) → SD(1) → USB(4) → 재시도(f) 순서다. NVMe가 살아있으면 거기서 부팅하고, 없으면 자동으로 SD 카드로 폴백한다. SD를 영구 보험으로 슬롯에 꽂아두는 구조다.

dtparam=pciex1_gen3=on은 비공식이지만 안정적이다. 이 한 줄이 없으면 Gen2 약 450 MB/s에 묶인다. NVMe로 OS를 클론한 뒤 한 번만 부팅 테스트하면 끝이다.

24/7로 가는 마지막 세 가지 결정

NVMe로 부팅한다고 끝이 아니다. 24시간 가동을 견디려면 세 가지 운영 결정이 더 필요하다.

  • UPS는 옵션이 아니다 — 라즈베리파이는 갑작스러운 정전에 매우 약하다. NVMe라도 ext4 저널이 깨지면 부팅 실패한다. PiSugar 같은 슈퍼캡 모듈로 수십 초만 버텨도 안전 종료가 보장된다.
  • 백업은 3-2-1, 그러나 가볍게 — restic으로 NVMe → 외장 USB → 클라우드(B2/S3)에 매일 증분 백업. 풀 백업은 NVMe TBW를 갉아먹는다.
  • 모니터링은 Uptime Kuma + SMARTsudo smartctl -a /dev/nvme0n1로 월 1회 Wear Leveling Count와 Available Spare를 확인한다. 라즈베리파이 5는 nvme-cli가 정상 동작한다.

발열은 능동 쿨러만 달면 평균 55~65°C로 관리된다. 80°C 소프트 스로틀, 85°C 하드 스로틀까지의 여유는 충분하다.

NVMe-First가 답이 아닌 한 가지 경우

학습용·실험용 라즈베리파이라면 SD로도 충분하다. Pi-hole 단일 워크로드는 SD로 1년 넘게 무리 없이 돌고, 일주일 만에 다른 OS로 갈아끼울 거라면 SD가 오히려 편하다.

NVMe-First는 "Docker 4~5개 컨테이너, 가족 미디어 서버, 24/7 가동" 시나리오일 때만 의미가 있다. 그게 아니라면 +5만 원이 과한 보험이다.

참고로 전력 소비는 아이들 약 3W, 풀 부하 8.8W다. 한국 가정용 전기료 기준 연간 약 1만 원이다. 미니PC 대비 1/3 수준이라 24/7 가동의 경제성은 충분하다.

결론 — 6개월 후의 자신에게 보내는 보험

NVMe-First 빌드의 진짜 가치는 속도가 아니라 "한 번 끝낸 일을 다시 하지 않는 것"이다. SD에서 6개월 후 마이그레이션할 때 잃는 건 시간만이 아니다 — Docker 볼륨, Caddy 설정, 가족의 누적 데이터가 모두 한 번씩 위태로워진다. 초기 5만 원이 그 위험을 산다.

관련 포스트

📌 참고 자료

반응형