내 Homelab은 유지보수하지 않는다

2 hours ago 2
  • 개인 Homelab 운영 부담을 줄이기 위해 단일 서버 구성과 자동 업데이트에 집중해, 일상적인 손봐야 할 일을 대부분 없앤 상태임
  • 여러 서버를 하나로 통합하면서 환경 복잡도가 줄었고, 서버 수 기준 유지보수도 75% 감소
  • Raspberry Pi 4는 Home Assistant OS, 네트워크는 UniFi의 자동·예약 업데이트에 맡겨 수동 관리 지점이 줄어듦
  • Docker 서비스는 주 1회 docker compose pull과 docker compose up -d를 실행하는 crontab으로 갱신하고, root crontab은 주로 백업에 쓰임
  • 긴급 상황이 없다면 월간 유지보수는 약 15분이며, apt update와 재시작을 미뤄도 당장 서비스 영향은 거의 없음

단순화된 인프라 구성

  • Homelab 서비스는 여러 장비에서 단일 서버로 통합됨
    • 기존에는 4대 서버를 사용했지만, 현재는 하나의 물리 서버에 서비스를 모음
    • 클러스터, 하이퍼바이저, 하이브리드 클라우드 대신 지하실의 물리 장비 하나로 운영함
    • 이 단순화로 서버 기준 유지보수량이 75% 감소
  • Raspberry Pi 4는 별도로 있지만, Home Assistant OS가 자체 업데이트를 처리해 관리 부담이 작음
    • 기술적으로는 서버에 가깝지만, 실제 사용감은 자체 유지되는 IoT 장치에 가까움
  • 네트워크 장비는 미니 랙의 UniFi 구성으로 운영됨
    • UniFi Dream Machine Pro, 스위치, 여러 AP가 포함됨
    • 자동 업데이트와 예약 업데이트를 지원해 네트워크 장비도 수동으로 자주 만질 필요가 없음

자동화된 소프트웨어 업데이트와 백업

  • Docker 서비스 업데이트는 서버의 단일 crontab 항목으로 매주 실행됨
    • 0 0 * * 0 docker-update
    • docker-update는 ~/docker/*/ 아래 각 디렉터리에서 sudo docker compose pull과 sudo docker compose up -d를 실행함
  • root 사용자 crontab은 대부분 백업 용도임
    • 매일 시스템 리포트를 생성함
    • Immich와 Piped의 PostgreSQL 덤프를 생성함
    • Plex, 웹 서버, Nginx 설정, Docker 디렉터리, SSH 파일을 ZFS 풀로 rsync 백업함
    • Docker 디렉터리 백업에서는 데이터베이스·캐시·임시 파일·일부 로그 경로를 제외함
  • 남은 수동 작업은 apt update, apt upgrade, apt autoremove 실행과 필요 시 재시작 정도임
    • 이 작업에는 약 60초가 걸림
  • 긴급 상황이 없다면 유지보수 시간은 월 약 15분 수준임
    • 한 달 동안 SSH로 접속해 업데이트하지 않아도 실제 서비스에는 영향이 없음
    • 6개월 이상 손대지 않아도 고장 나지 않을 가능성이 있지만, 일부러 시험할 계획은 없음
  • 현재 구성은 바쁜 일정 속에서도 프라이버시, 보안, 편의성 사이의 균형을 제공함
Read Entire Article