13년차의 서버실

서버, 인프라, 홈랩 기술 블로그

[태그:] OpenMediaVault

  • [NAS] TrueNAS SCALE로 NAS OS 마이그레이션: OpenMediaVault에서 안전하게 전환하기

    [NAS] TrueNAS SCALE로 NAS OS 마이그레이션: OpenMediaVault에서 안전하게 전환하기

    [NAS] TrueNAS SCALE로 NAS OS 마이그레이션: OpenMediaVault에서 안전하게 전환하기

    안녕하세요, 13년차 서버 관리자입니다. 오늘은 최근 홈랩에서 진행한 꽤 큰 프로젝트, 바로 NAS OS 마이그레이션 경험담을 풀어볼까 합니다. 저의 든든한 파일 서버 역할을 해왔던 OpenMediaVault를 뒤로하고, 새로운 강력한 친구 TrueNAS SCALE로 갈아탔거든요. 혹시 여러분 중에도 OMV의 한계를 느끼고 더 강력하고 유연한 NAS OS를 찾아 헤매고 계신 분이 있다면, 이 글이 좋은 길잡이가 될 거라고 생각합니다. 제가 겪었던 삽질까지 솔직하게 공유할 테니, 편하게 따라오실 수 있을 거예요!

    OpenMediaVault에서 TrueNAS SCALE로의 NAS OS 마이그레이션 전체 흐름도

    NAS OS 마이그레이션의 전체 흐름: OMV에서 TrueNAS SCALE로의 여정

    왜 OpenMediaVault에서 TrueNAS SCALE로 옮겼을까?

    사실 OpenMediaVault는 가볍고 안정적인 NAS OS였습니다. 초기 홈랩을 꾸릴 때 정말 많은 도움을 줬죠. 하지만 시간이 흐르고 제가 원하는 기능들이 많아지면서, OMV만으로는 뭔가 부족하다는 느낌을 지울 수 없었습니다. 특히 컨테이너 기반의 애플리케이션(Docker, Kubernetes)을 더 유연하게 활용하고 싶었고, ZFS 파일 시스템의 강력함에 점점 매료되었거든요.

    • OpenMediaVault (OMV): Debian 기반의 NAS 솔루션으로, 웹 UI를 통해 파일 공유(SMB/NFS), RAID 관리, 플러그인 설치 등을 쉽게 할 수 있습니다. 가볍고 안정적이라는 장점이 있지만, ZFS 지원이 제한적이고, 컨테이너 오케스트레이션 기능은 외부 플러그인에 의존해야 하는 한계가 있었어요.
    • TrueNAS SCALE: TrueNAS CORE의 FreeBSD 기반과 달리, Linux 기반(Debian)으로 개발된 TrueNAS의 새로운 버전입니다. ZFS (Zettabyte File System) 기반의 강력한 데이터 무결성 및 스냅샷 기능은 물론, KVM (Kernel-based Virtual Machine) 가상화와 Kubernetes (쿠버네티스) 기반의 컨테이너 앱(Docker 컨테이너를 쉽게 배포할 수 있는 환경)을 기본으로 제공합니다. 쉽게 말해, 스토리지뿐만 아니라 가상화 및 컨테이너 플랫폼 역할까지 한 번에 할 수 있는 만능 인프라 서버인 셈이죠!

    저는 더 이상 OMV가 제공하지 못하는 유연성과 확장성이 필요했고, TrueNAS SCALE이 그 해답이라고 확신했습니다. 특히 데이터 안정성에 집착하는 저로서는 ZFS의 매력을 뿌리칠 수 없었거든요. 결국 이 대대적인 마이그레이션 프로젝트를 감행하게 되었습니다.

    마이그레이션 준비: 철저함이 생명!

    NAS OS 마이그레이션은 단순히 새 OS를 설치하는 것과는 다릅니다. 기존 데이터를 안전하게 옮기는 것이 가장 중요하죠. 제가 가장 중요하게 생각했던 준비물은 바로 이것들이었습니다.

    1. 데이터 백업 (Data Backup): ⚠️ 가장 중요합니다! 모든 데이터는 소중하니까요. 저는 마이그레이션 전에 외장 하드나 다른 NAS로 데이터를 한 번 더 백업해두었습니다. 혹시 모를 사태에 대비하는 건 인프라 엔지니어의 기본 소양이거든요.
    2. 하드웨어 호환성 확인: TrueNAS SCALE은 OMV보다 리소스 요구량이 높은 편입니다. 특히 ZFS는 RAM을 많이 사용하므로, 최소 8GB 이상의 RAM을 권장합니다. 제 홈랩 서버는 다행히 충분한 사양이라 걱정은 없었습니다.
    3. 기존 OMV 설정 기록: 공유 폴더(SMB/NFS), 사용자 계정, 네트워크 설정 등 OMV에서 사용하던 모든 설정을 스크린샷이나 메모로 남겨두었습니다. 새 OS에서 똑같이 재현해야 하니까요.
    4. 새로운 OS 설치용 드라이브: TrueNAS SCALE은 OS 전용 드라이브를 따로 사용하는 것을 권장합니다. 데이터 드라이브와 분리해야 나중에 관리하기 편하고, ZFS 풀에 영향을 주지 않습니다. 저는 작은 SSD를 OS용으로 준비했습니다.
    5. 부팅 USB: TrueNAS SCALE 설치를 위한 부팅 USB를 미리 만들어 두어야겠죠.

    TrueNAS SCALE 설치와 ZFS Pool 임포트 삽질기

    준비가 끝났으니 이제 실전입니다. TrueNAS SCALE 설치 자체는 크게 어렵지 않아요. 공식 웹사이트에서 ISO 파일을 다운로드받아 Rufus 같은 툴로 부팅 USB를 만들고, 서버에 연결해서 부팅하면 됩니다.

    1. TrueNAS SCALE 설치:

      서버를 부팅 USB로 부팅하고, 설치 마법사를 따라 OS 전용 드라이브(미리 준비한 SSD)에 TrueNAS SCALE을 설치합니다. 이때 데이터 드라이브를 잘못 선택하지 않도록 조심하세요! 저는 항상 긴장하면서 더블 체크하는 편입니다.

      # 설치 완료 후 첫 부팅 시, 콘솔 화면에서 네트워크 설정 등을 확인할 수 있습니다.
      # 예를 들어, IP 주소를 확인하여 웹 UI에 접속합니다.
      # ifconfig
      
    2. 초기 네트워크 및 관리자 설정:

      설치가 완료되고 재부팅하면, 콘솔 화면에 접속할 IP 주소가 표시됩니다. 웹 브라우저로 접속해서 초기 관리자 계정(root) 비밀번호를 설정하고, 필요한 네트워크 설정을 진행합니다. 저의 경우엔 고정 IP를 할당해줬습니다.

    3. ZFS Pool 임포트 (Import Pool): 🎉 드디어 핵심!

      이 부분이 가장 중요하면서도 제가 삽질을 가장 많이 했던 부분입니다. OpenMediaVault에서 사용하던 데이터 디스크들을 TrueNAS SCALE이 인식하고, 기존 데이터를 유지한 채 가져오는 과정이 필요합니다. OMV에서는 ZFS를 사용하지 않았었기 때문에, TrueNAS SCALE에서 새로운 ZFS Pool을 생성하고, OMV에서 사용하던 디스크의 데이터를 옮겨야 하는 상황이었습니다. 하지만 저는 OMV에서 이미 데이터를 RAID로 묶어 사용하고 있었기 때문에, 이 디스크들을 TrueNAS SCALE에서 바로 ZFS Pool로 임포트하는 과정이 순탄치 않았습니다. 만약 OMV에서 ZFS를 사용했다면 훨씬 쉬웠겠지만, 일반적인 EXT4 등으로 구성된 데이터 디스크라면 아래와 같이 새로운 ZFS Pool을 만들고 데이터를 옮겨야 합니다.

      🚨 중요: 이 과정에서 기존 데이터가 삭제될 수 있으니, 반드시 백업을 먼저 하세요!

      저는 결국 새로운 ZFS Pool을 만들고 기존 OMV 데이터를 네트워크를 통해 복사하는 방식을 택했습니다. OMV가 설치된 드라이브는 OS용으로 사용하고, 데이터 드라이브는 TrueNAS SCALE에서 새로운 ZFS Pool로 구성하는 거죠.

      1. Storage > Pools > Add 메뉴로 이동합니다.
      2. Create new Pool을 선택하고 이름을 지정합니다 (예: data_pool).
      3. 기존 OMV에서 사용하던 데이터 디스크들을 선택하여 새로운 Pool을 구성합니다. 이때 RAIDZ1, RAIDZ2 등 원하는 RAID 레벨을 선택합니다. 저는 RAIDZ2로 구성하여 데이터 안정성을 높였습니다.
      4. Pool 생성을 진행하면, 선택된 디스크의 모든 데이터가 지워집니다! 다시 한번 강조하지만, 백업이 필수입니다.

      새로운 ZFS Pool이 생성되면, 이제 기존 OMV 서버에 접속하여 rsync 명령어나 SMB/NFS 마운트를 통해 데이터를 새로운 TrueNAS SCALE 서버로 복사합니다. 저는 rsync를 사용했습니다.

      # 기존 OMV 서버에서 TrueNAS SCALE로 데이터 복사 (예시)
      # rsync -avh --progress /path/to/old/data/ user@truenas_ip:/path/to/new/pool/
      # -a: 아카이브 모드 (권한, 시간 정보 등 유지)
      # -v: 자세한 정보 출력
      # -h: 사람이 읽기 쉬운 형식으로 출력
      # --progress: 진행 상황 표시
      

      이 과정이 시간이 가장 오래 걸렸습니다. 테라바이트 단위의 데이터를 옮기려면 인내심이 필요하더라고요. 저는 밤새도록 rsync를 돌려놓고 잠들었습니다.

    TrueNAS SCALE 웹 인터페이스에서 새로운 ZFS Pool을 생성하고 디스크를 선택하는 과정

    TrueNAS SCALE 웹 인터페이스에서 새로운 ZFS Pool을 생성하고 디스크를 선택하는 과정

    주의사항 및 트러블슈팅: 제가 겪었던 문제들

    마이그레이션은 언제나 예상치 못한 변수가 생기기 마련이죠. 저도 몇 가지 문제에 부딪혔습니다.

    • ⚠️ 기존 OMV에서 ZFS를 사용하지 않은 경우의 Pool 임포트: 위에서 설명했듯이, OMV가 EXT4 등으로 구성된 볼륨이었다면 TrueNAS SCALE에서 바로 Pool 임포트가 불가능합니다. 이 경우 반드시 새로운 ZFS Pool을 생성하고 데이터를 복사해야 합니다. 이 점을 간과하고 “Import Pool” 메뉴에서 계속 헤맸던 것이 첫 번째 삽질이었습니다. OMV에서 ZFS를 사용하지 않았다면, 무조건 새로운 Pool을 만들고 데이터를 복사하세요!
    • ⚠️ 네트워크 설정 문제: TrueNAS SCALE 설치 후 웹 UI 접속이 안 되는 경우가 있었습니다. 대부분 네트워크 인터페이스 설정이 잘못되었거나 DHCP 서버에서 IP를 제대로 받지 못했을 때 발생하더군요. 콘솔에서 ifconfig 명령어로 IP 주소를 확인하고, 필요하면 네트워크 설정을 다시 했습니다.
    • ⚠️ 권한 문제: 데이터를 옮긴 후 SMB/NFS 공유를 설정했는데, 특정 사용자나 그룹이 접근하지 못하는 문제가 발생했습니다. ZFS는 강력한 ACL (Access Control List)을 지원하지만, 그만큼 설정이 복잡할 수 있습니다. 저는 chmod, chown 명령어를 사용하거나 웹 UI에서 데이터셋(Dataset)의 권한을 다시 설정하며 해결했습니다. 특히 Windows에서 접근할 때는 SMB 공유 설정 시 “Guest access”나 “Auxiliary parameters”를 잘 활용해야 합니다.

    결과 및 활용: 드디어 TrueNAS SCALE!

    데이터 복사가 끝나고 모든 설정이 완료되었을 때의 그 쾌감이란! 드디어 제가 원하던 TrueNAS SCALE 기반의 NAS가 완성되었습니다. 웹 UI에 접속해서 모든 데이터가 정상적으로 올라와 있고, ZFS Pool 상태가 Healthy임을 확인했을 때, “드디어 됐다!” 하고 외쳤습니다. 🎉

    TrueNAS SCALE 대시보드에서 시스템 상태와 ZFS Pool 정보가 Healthy로 표시된 화면

    TrueNAS SCALE 대시보드에서 ZFS Pool 상태와 시스템 리소스를 한눈에 확인하는 모습

    이제 TrueNAS SCALE의 강력한 기능을 마음껏 활용할 수 있게 되었습니다. 특히 Apps (앱스) 기능을 통해 다양한 컨테이너 기반 서비스를 쉽게 배포할 수 있는 점이 너무 좋더라고요. 저는 바로 Plex Media Server, Nextcloud, 그리고 Home Assistant를 설치했습니다. 이전 OMV에서는 Docker를 수동으로 설치하고 관리해야 했지만, TrueNAS SCALE에서는 몇 번의 클릭만으로 손쉽게 배포하고 관리할 수 있으니 정말 편하더라고요.

    • Plex Media Server: 제 미디어 라이브러리를 스트리밍하는 데 필수죠.
    • Nextcloud: 개인 클라우드 스토리지를 구축하여 파일을 동기화하고 공유합니다.
    • Home Assistant: 홈 자동화를 위한 핵심 플랫폼입니다.

    OpenMediaVault vs. TrueNAS SCALE 비교

    제가 직접 두 OS를 모두 사용해본 경험을 바탕으로 간단히 비교해보겠습니다.

    카테고리 OpenMediaVault (OMV) TrueNAS SCALE
    기반 OS Debian Linux Debian Linux
    파일 시스템 EXT4, XFS 등 (ZFS는 플러그인 통해 제한적 지원) ZFS (네이티브 지원, 핵심 기능)
    컨테이너/가상화 Docker (플러그인), VM (VirtualBox 플러그인) Kubernetes (Apps), KVM (가상화) 네이티브 지원
    데이터 무결성 파일 시스템 자체 기능에 의존 ZFS 체크섬, 스냅샷, 데이터 스크러빙 등 강력한 기능
    UI/관리 편의성 간단하고 직관적 초기 학습 곡선이 있지만, 강력하고 세밀한 설정 가능
    리소스 요구량 비교적 낮음 ZFS 때문에 RAM 요구량 높음 (최소 8GB 권장)
    주요 사용처 가볍고 안정적인 홈 NAS, 파일 공유 고성능/고안정성 홈랩/소규모 서버, 통합 스토리지/가상화/컨테이너 플랫폼
    OpenMediaVault와 TrueNAS SCALE의 주요 기능 비교 인포그래픽

    두 NAS OS의 주요 기능과 특징을 한눈에 비교한 표

    마무리하며: 또 한 번 성장한 삽질 경험

    OpenMediaVault에서 TrueNAS SCALE로의 마이그레이션은 저에게 또 하나의 소중한 경험이 되었습니다. 단순히 OS를 바꾸는 것을 넘어, ZFS 파일 시스템의 깊이와 컨테이너 오케스트레이션의 중요성을 다시 한번 깨달았거든요. 물론 중간에 삽질도 많이 했지만, 그 과정에서 얻은 지식과 해결 능력은 어떤 기술 서적에서도 얻을 수 없는 값진 것이었습니다.

    TrueNAS SCALE은 홈랩 환경에서 강력한 스토리지와 유연한 애플리케이션 플랫폼을 동시에 원하는 분들에게 정말 좋은 선택지가 될 거라고 생각합니다. 혹시 마이그레이션을 고민하고 계시다면, 제 경험담이 조금이나마 도움이 되었으면 좋겠네요. 다음번에는 TrueNAS SCALE의 Apps 기능을 활용해서 제가 운영하는 컨테이너 서비스들을 좀 더 자세히 소개하는 글을 들고 오겠습니다. 그때까지 모두 즐거운 삽질(?) 되세요! 감사합니다.

  • [Nas] TrueNAS SCALE vs OpenMediaVault: 13년차 서버 엔지니어의 1년 사용 후 NAS 선택 가이드

    [Nas] TrueNAS SCALE vs OpenMediaVault: 13년차 서버 엔지니어의 1년 사용 후 NAS 선택 가이드

    TrueNAS SCALE vs OpenMediaVault: 13년차 서버 엔지니어의 1년 사용 후 NAS 선택 가이드

    안녕하세요! 13년차 서버 엔지니어, ’13년차의 서버실’ 블로그를 운영하고 있는 엔지니어입니다. 홈랩(Homelab)을 운영하며 다양한 서버와 스토리지 솔루션을 직접 만져보고 경험하는 것을 즐기는데요. 오늘은 많은 분들이 홈 서버 구축 시 가장 많이 고민하시는 두 가지 NAS 운영체제, TrueNAS SCALE와 OpenMediaVault (OMV)에 대한 제 1년간의 실사용 경험을 바탕으로 솔직한 비교 가이드를 공유해볼까 합니다.

    혹시 이런 고민, 해보신 적 없으신가요? “NAS를 새로 사거나 기존 장비를 업그레이드해야 하는데, 어떤 운영체제를 써야 할까?” “ZFS가 좋다고는 하는데, Btrfs는 뭐가 다를까?” “설치도 어렵고 설정도 복잡하면 어쩌지?” 저도 처음에는 비슷한 고민을 했더라고요. 그래서 직접 두 시스템을 설치하고 1년 가까이 사용해보면서 얻은 경험들을 정리해봤습니다. 이 글을 통해 여러분의 홈 서버 환경에 딱 맞는 NAS 솔루션을 찾으시길 바랍니다.

    [개요] TrueNAS SCALE vs OpenMediaVault: 선택의 기로

    1. NAS와 파일 시스템 선택: ZFS vs Btrfs 완벽 비교

    NAS(Network Attached Storage)는 말 그대로 네트워크에 연결된 저장 장치입니다. 개인적인 파일 저장, 미디어 서버 구축, 백업 솔루션, 심지어는 가상 머신(VM)이나 컨테이너(Container)를 운영하는 홈 서버의 핵심 인프라로도 활용될 수 있죠. 특히 요즘처럼 데이터 손실이 큰 문제가 되는 시대에는 어떤 파일 시스템을 사용하느냐가 NAS 선택의 가장 중요한 기준이 됩니다.

    여기서 핵심적인 두 가지 파일 시스템이 등장합니다. 바로 ZFS와 Btrfs입니다.

    • ZFS: 데이터 무결성(Data Integrity)이라고 하면, ZFS는 정말 거의 최고 수준이거든요. 데이터 복제(Mirroring) 및 패리티(Parity)를 통한 RAID 기능은 물론, 스냅샷(Snapshot) 기능으로 특정 시점의 데이터로 복구하는 게 정말 쉬워요. 특히 데이터가 저장될 때마다 체크섬(Checksum)을 생성하여 손상을 자동으로 감지하고 복구하는 기능(Scrubbing)은 ZFS의 가장 강력한 장점입니다. 다만, 메모리(RAM)를 상대적으로 많이 요구하는 편이고, RAID 구성 시 유연성이 다소 떨어진다는 게 단점입니다.
    • Btrfs: ZFS와 유사한 스냅샷, 데이터 무결성 검사, 온라인 RAID 재구성 등 다양한 고급 기능을 제공합니다. ZFS보다 상대적으로 시스템 요구 사양이 낮고, 유연한 볼륨 관리가 가능하다는 게 장점입니다. 다만 ZFS만큼 오랜 기간 검증되지는 않았다는 인식이 있으며, 특히 RAID 5/6 구성에서의 안정성에 대한 논란이 과거에 있었죠. (물론 지금은 많이 개선되고 있습니다.)

    TrueNAS SCALE은 기본적으로 ZFS를, OpenMediaVault는 주로 Btrfs (또는 ext4, XFS 등 다양한 파일 시스템도 선택 가능)를 사용합니다. 이 파일 시스템의 차이가 두 시스템의 성격과 사용성을 크게 결정짓는다고 볼 수 있어요. 쉽게 말해, ZFS는 ‘안정성’에, Btrfs는 ‘유연성’에 좀 더 초점을 맞춘다고 생각하시면 이해하기 쉬울 겁니다.

    2. TrueNAS SCALE: ZFS 기반의 강력한 데이터 보호

    TrueNAS는 오랜 기간 스토리지 솔루션의 강자로 자리매김해왔습니다. 특히 엔터프라이즈 환경에서 그 성능과 안정성을 인정받았죠. TrueNAS SCALE은 리눅스 기반(Debian)으로 전환하면서 기존의 FreeBSD 기반 TrueNAS CORE보다 훨씬 더 많은 유연성을 확보했어요. Docker 컨테이너와 가상 머신(KVM) 지원이 강화된 것이 가장 큰 특징입니다.

    2.1. 설치 과정: 꽤나 직관적이지만…

    설치 자체는 ISO 이미지를 USB에 굽고 부팅하여 진행하는 방식으로, 일반적인 리눅스 배포판 설치와 크게 다르지 않습니다. 다만, ZFS 풀(Pool)을 구성해야 하므로, 설치 시 디스크 구성에 대한 사전 이해가 필요해요. 처음엔 디스크 할당 방식이 조금 낯설 수 있지만, 차근차근 따라 하면 큰 어려움은 없습니다.

    TrueNAS SCALE 설치 시 디스크 할당 화면

    [설치] 디스크 할당 과정

    2.2. 주요 기능 및 사용성: ZFS의 강력함을 경험하다

    TrueNAS SCALE의 가장 큰 매력은 역시 ZFS입니다. 제가 1년간 사용하면서 가장 만족했던 부분은 데이터 무결성에 대한 압도적인 신뢰감이었어요. 데이터가 손상될까 봐 불안해하는 마음이 정말 사라지더라고요. 정기적인 스크럽(Scrub) 기능은 마치 데이터의 건강검진 같은 기분이었습니다.

    또한, 웹 UI(Web User Interface)가 정말 잘 갖춰져 있습니다. 스토리지 풀(Pool) 관리, 데이터셋(Dataset) 생성, 스냅샷 관리, 공유(SMB/NFS) 설정 등이 직관적으로 가능하거든요. 특히, Docker와 KVM을 지원하면서 단순 NAS를 넘어 홈 서버로서의 확장성이 정말 뛰어나요. Plex, Jellyfin 같은 미디어 서버, Home Assistant, Pi-hole 등 다양한 애플리케이션을 손쉽게 설치하고 운영할 수 있다는 게 정말 좋았습니다.

    2.3. 삽질 경험: 메모리와 디스크 구성의 중요성

    TrueNAS SCALE을 사용하면서 가장 크게 느낀 점은 메모리(RAM)의 중요성입니다. ZFS는 메모리를 많이 사용할수록 성능이 향상되는 경향이 있거든요. 제가 처음에는 8GB 램으로 시작했는데, 아무래도 부족하다는 느낌을 받았어요. 특히 VM을 여러 개 돌리거나 Docker 컨테이너를 많이 사용할 때는 메모리 부족 현상이 정말 두드러지더라고요. 결국 16GB, 지금은 32GB로 업그레이드하면서 훨씬 쾌적한 사용이 가능해졌습니다. 최소 16GB, 권장 32GB 이상을 추천드립니다.

    디스크 구성도 정말 중요합니다. ZFS는 단일 디스크보다는 여러 개의 디스크를 묶어 풀(Pool)을 구성하는 것이 일반적이거든요. 미러(Mirror) 구성이나 RAID-Z 구성 등 데이터 보호 수준에 따라 선택해야 하는데, 한번 구성하면 변경이 어렵기 때문에 처음부터 신중하게 계획해야 해요. 저도 처음에는 디스크 개수와 구성 방식을 두고 한참을 고민했습니다. 실수로 데이터를 날릴 수도 있으니, 중요한 데이터는 반드시 별도로 백업하는 습관이 정말 중요합니다.

    3. OpenMediaVault (OMV): 간편함과 유연성의 결합

    OpenMediaVault(OMV)는 Debian Linux 기반의 NAS 솔루션으로, 정말 가볍고 유연한 게 특징입니다. 다양한 하드웨어에서 잘 작동하며, 설치 및 설정이 TrueNAS SCALE에 비해 훨씬 간편하다는 게 가장 큰 장점입니다.

    3.1. 설치 과정: 정말 쉽고 빠르다!

    OMV 설치는 정말 간단합니다. ISO 이미지를 USB에 굽고 부팅하면 몇 번의 클릭만으로 설치가 금방 끝나요. 파일 시스템 역시 Btrfs, ext4, XFS 등 사용자가 원하는 것을 자유롭게 선택할 수 있어서 유연성이 정말 높습니다. 제 경우에는 기존에 사용하던 저사양 미니PC에 설치했는데, 정말 금방 세팅이 끝나서 깜짝 놀랐습니다.

    OpenMediaVault 웹 UI 메인 대시보드

    [설치] OMV 웹 UI 대시보드

    3.2. 주요 기능 및 사용성: 플러그인 생태계의 매력

    OMV의 가장 큰 강점은 간편한 설정과 뛰어난 확장성입니다. 웹 UI가 정말 직관적이고 사용하기 쉬워서 NAS 초보자도 금방 익숙해질 수 있거든요. SMB/CIFS, NFS, FTP 등 기본적인 파일 공유 설정은 물론, Plex, Transmission, Docker 등 다양한 서비스들을 플러그인(Plugin) 형태로 손쉽게 추가하고 관리할 수 있습니다. 특히, Docker 플러그인을 통해 컨테이너 기반의 애플리케이션을 운영하는 게 정말 편리하더라고요.

    제가 OMV를 사용하면서 정말 좋았던 부분은 Btrfs의 유연성입니다. ZFS처럼 엄격하게 디스크 구성을 강요하지 않으면서도, 스냅샷 기능 등을 활용할 수 있다는 게 정말 매력적이었어요. 다양한 파일 시스템을 지원하기 때문에 하드웨어 환경에 맞춰 최적의 선택을 할 수 있다는 것도 큰 장점입니다.

    3.3. 삽질 경험: 플러그인 호환성과 Btrfs의 주의점

    OMV도 완벽하지는 않더라고요. 가끔 특정 플러그인이 최신 버전의 OMV와 호환되지 않거나, 설정이 꼬여서 문제를 일으키는 경우가 있었습니다. ⚠️ 이런 경우에는 플러그인 개발자 커뮤니티나 OMV 포럼을 확인하며 해결해야 했어요. 모든 플러그인이 항상 안정적인 것은 아니라는 점을 꼭 염두에 두어야 합니다.

    Btrfs 파일 시스템을 사용할 때는 몇 가지 주의할 점이 있습니다. 앞서 언급했듯이, 과거 RAID 5/6 구성에서의 안정성 이슈가 있었거든요. 물론 현재는 많이 개선되었지만, 여전히 데이터의 절대적인 안정성이 최우선이라면 ZFS를 사용하는 것이 더 안전하다고 생각합니다. 저는 OMV에서는 주로 Btrfs의 스냅샷 기능을 활용하고, 중요한 데이터는 별도의 백업 시스템으로 관리하는 방식으로 사용하고 있습니다.

    4. TrueNAS SCALE vs OpenMediaVault: 1년 사용 후 솔직한 비교 분석

    1년간 두 시스템을 직접 사용해보면서 느낀 점들을 표로 정리해 봤습니다. 어떤 환경과 목적에 더 적합할지 판단하시는 데 도움이 되기를 바랍니다.

    구분 TrueNAS SCALE OpenMediaVault (OMV)
    기반 OS Debian Linux Debian Linux
    주요 파일 시스템 ZFS Btrfs, ext4, XFS 등
    데이터 안정성 최상 (ZFS) 좋음 (Btrfs, ext4 등)
    시스템 요구 사양 높음 (특히 RAM) 낮음 ~ 보통
    설치 및 설정 난이도 중간 (ZFS 이해 필요) 쉬움
    컨테이너/VM 지원 강력함 (Docker, KVM) 좋음 (주로 Docker 플러그인)
    확장성 (플러그인/앱) 좋음 (TrueCharts 등) 매우 좋음 (다양한 플러그인)
    UI/UX 전문적, 기능 중심 직관적, 사용자 친화적
    추천 사용자 데이터 안정성 최우선, 홈 서버 확장성 중시, ZFS 경험자 NAS 초보자, 간편한 설정 선호, 다양한 서비스 실험 희망자
    TrueNAS SCALE vs OpenMediaVault 주요 특징 비교 인포그래픽

    [비교] 핵심 기능 비교 요약

    5. 결론: 당신에게 맞는 NAS는?

    1년이라는 시간 동안 TrueNAS SCALE과 OpenMediaVault를 직접 사용해보니, 두 시스템 모두 정말 훌륭한 NAS 운영체제라는 걸 다시 한번 느꼈어요. 하지만 명확한 차이점이 존재하며, 어떤 시스템이 더 좋다고 단정하기보다는 각자의 환경과 목적에 맞는 선택이 정말 중요합니다.

    • 데이터의 절대적인 안정성과 신뢰성이 최우선이고, RAM 등 시스템 사양에 대한 투자가 가능하다면 TrueNAS SCALE을 강력하게 추천합니다. ZFS의 강력한 데이터 보호 기능과 함께 Docker, KVM을 활용한 홈 서버 확장까지 고려한다면 정말 최고의 선택이 될 거예요.
    • 설치가 간편하고 빠르게 NAS를 구축하고 싶거나, 다양한 서비스를 유연하게 추가하며 사용하고 싶다면 OpenMediaVault가 정말 좋은 선택입니다. 특히 NAS를 처음 접하는 분들에게는 OMV가 훨씬 친숙하게 다가갈 수 있을 거라고 확신합니다.

    저 같은 경우, 현재는 두 시스템을 병행하여 사용하고 있습니다. 중요한 데이터 저장 및 백업용으로는 TrueNAS SCALE을, 다양한 실험용 홈 서버로는 OpenMediaVault를 활용하고 있죠. 이렇게 듀얼 시스템을 운영하는 것도 하나의 좋은 방법이 될 수 있습니다. 😊

    궁극적으로 NAS 선택은 개인의 경험과 선호도에 따라 달라질 수 있습니다. 이 글이 여러분의 NAS 비교와 선택에 조금이나마 도움이 되었기를 정말 바라며, 여러분의 홈 서버 라이프를 응원합니다! 혹시 더 궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 제가 아는 선에서 최대한 답변해 드리겠습니다.

    다음 글에서는 더욱 흥미로운 홈랩 구축 이야기로 돌아오겠습니다. 기대해주세요! 🎉

  • [NAS] OpenMediaVault에 Immich 구축 6개월 사용기: 자가 호스팅 사진 관리의 명과 암

    [NAS] OpenMediaVault에 Immich 구축 6개월 사용기: 자가 호스팅 사진 관리의 명과 암

    OpenMediaVault에 Immich 구축 6개월 사용기: 자가 호스팅 사진 관리의 명과 암

    안녕하세요, 13년차 서버실입니다. 홈랩을 운영하며 이것저것 시도하는 게 제 낙인데요. 오늘은 많은 분들이 관심을 가지시는 자가 호스팅 사진 관리 솔루션, Immich를 OpenMediaVault(OMV)에 구축하고 6개월간 사용해 본 경험을 솔직하게 공유해 보려 합니다. 직접 써보니 정말 편한 부분도 많았지만, 예상치 못한 문제점들도 꽤 있더라고요. 이번엔 제 경험을 바탕으로 명과 암을 낱낱이 파헤쳐 보겠습니다.

    OpenMediaVault와 Immich를 활용한 홈랩 사진 관리 아키텍처 개요

    Immich와 OpenMediaVault를 활용한 전체 홈랩 사진 관리 아키텍처 개요

    왜 자가 호스팅 사진 관리인가? 🤔

    스마트폰 용량은 늘 부족하고, 사진은 기하급수적으로 늘어나죠. 클라우드 서비스는 편리하지만, 월마다 나가는 비용 부담이나 개인 정보 유출에 대한 걱정에서 자유롭지 못합니다. 특히 소중한 사진 데이터가 서비스 제공 업체의 정책 변화나 개인정보 유출 사고로 날아갈까 봐 불안한 마음, 다들 한 번쯤은 느껴보셨을 겁니다. 저도 그랬어요. 그래서 자가 호스팅 사진 관리, 특히 Immich 같은 오픈소스 솔루션에 눈을 돌리게 되었습니다. 내 손안의 작은 클라우드, 이게 가능하다는 게 신기하더라고요.

    Immich, 뭐가 그렇게 좋은데? 💡

    Immich는 Google Photos와 유사한 기능을 제공하는 오픈소스 사진 백업 및 관리 솔루션이에요. 핵심은 내 서버에 직접 설치해서 사용한다는 점이죠. 주요 기능들을 살펴보면:

    • 자동 백업: 스마트폰 사진을 자동으로 서버에 백업해 줘요. Google Photos의 자동 백업 기능과 거의 똑같다고 보시면 됩니다.
    • AI 기반 기능: 사진 내 객체 인식, 얼굴 인식, 중복 사진 제거 등 강력한 AI 기능을 제공합니다. 이게 또 은근히 편하더라고요.
    • 웹 UI & 모바일 앱: 깔끔한 웹 인터페이스와 함께 iOS, Android 모바일 앱을 지원해서 언제 어디서든 사진에 접근하고 관리할 수 있어요.
    • 다양한 포맷 지원: JPG, PNG뿐만 아니라 RAW 파일, 비디오 파일도 지원합니다.

    이런 강력한 기능들을 무료로, 내 마음대로 사용할 수 있다는 점이 Immich의 가장 큰 매력이에요. 물론, 이걸 구현하기 위해 몇 가지 기술적인 장벽을 넘어야 하긴 합니다.

    OpenMediaVault(OMV) 위에 Immich 올리기 🛠️

    저는 NAS(Network Attached Storage) 솔루션으로 OpenMediaVault(OMV)를 사용하고 있어요. OMV는 Debian 기반의 NAS 운영체제로, 웹 UI를 통해 스토리지 관리, 사용자 관리, 다양한 플러그인 설치 등을 쉽게 할 수 있게 해줍니다. Immich는 Docker 컨테이너로 배포되기 때문에 OMV의 Docker 플러그인과 함께라면 설치가 한결 수월합니다.

    1단계: OpenMediaVault 준비

    OMV가 설치되어 있고, Docker 플러그인이 활성화된 상태여야 해요. 만약 Docker 플러그인이 없다면, OMV 웹 UI의 ‘플러그인’ 메뉴에서 설치해 주세요. 그 후, Immich 데이터를 저장할 볼륨(Volume)을 위한 디스크나 파티션을 준비하고 OMV에서 파일 시스템으로 마운트해 두는 게 좋아요. 저는 `/srv/dev-disk-by-uuid/<UUID>/immich` 경로에 데이터를 저장하도록 구성했습니다.

    2단계: Immich Docker Compose 설정

    Immich는 Docker Compose를 사용하여 쉽게 배포할 수 있어요. GitHub 저장소에 예제 `docker-compose.yml` 파일이 제공되니 이를 활용하는 게 좋습니다. 저는 다음과 같이 설정을 구성했습니다.

    version: "3.8"
    
    services:
      immich-server:
        image: ghcr.io/immich-app/immich-server:latest
        container_name: immich_server
        ports:
          - "3001:3001"
        volumes:
          - ./library:/usr/src/app/upload
        environment:
          - DB_HOSTNAME=immich_db
          - DB_USERNAME=immich
          - DB_PASSWORD=your_strong_password
          - DB_NAME=immich
          - REDIS_HOSTNAME=immich_redis
        depends_on:
          - immich-db
          - immich-redis
        restart: unless-stopped
    
      immich-ml:
        image: ghcr.io/immich-app/immich-ml:latest
        container_name: immich_ml
        volumes:
          - ./model-cache:/cache
        environment:
          - TRANSFORMERS_CACHE=/cache
        restart: unless-stopped
    
      immich-db:
        image: postgres:15
        container_name: immich_db
        volumes:
          - ./postgres:/var/lib/postgresql/data
        environment:
          - POSTGRES_USER=immich
          - POSTGRES_PASSWORD=your_strong_password
          - POSTGRES_DB=immich
        restart: unless-stopped
    
      immich-redis:
        image: redis:7-alpine
        container_name: immich_redis
        restart: unless-stopped
    
    networks:
      default:
        name: immich_network
    

    주의: 위 설정에서 <UUID> 부분은 실제 OMV에서 마운트한 디스크의 UUID로 변경해야 합니다. 또한, `your_strong_password` 부분은 복잡하고 안전한 비밀번호로 바꿔주세요. 특히 AI 기능(얼굴 인식, 객체 인식)을 사용하려면 `immich-ml` 서비스가 필수이니까 꼭 포함시켜야 해요. 데이터베이스 비밀번호는 모든 컨테이너에서 동일하게 설정해야 합니다.

    3단계: Docker Compose 실행

    OMV의 SSH 기능을 활성화하거나, Docker 플러그인에서 제공하는 ‘Compose’ 기능을 사용하여 위 내용을 `docker-compose.yml` 파일로 저장한 후 실행해요. 저는 SSH로 접속하여 해당 디렉토리에서 docker compose up -d 명령어를 실행했습니다.

    OpenMediaVault Docker 플러그인에서 Immich 컨테이너 실행 모습

    OpenMediaVault에서 Docker 플러그인을 통해 Immich 컨테이너가 실행되고 있는 모습

    컨테이너가 모두 정상적으로 실행되면, 웹 브라우저에서 http://<OMV IP 주소>:3001 으로 접속하여 Immich 초기 설정을 진행할 수 있어요. 처음에는 관리자 계정을 생성하고, 이후 사용자 계정을 추가하며 사진을 업로드하면 됩니다.

    6개월간 사용하며 겪은 명과 암 ⛰️

    6개월간 Immich를 사용하면서 느낀 점들을 솔직하게 말씀드리겠습니다.

    ✨ 명 (장점)

    • 뛰어난 자동 백업 및 동기화: 스마트폰에서 찍은 사진이 실시간으로 서버에 백업되는 경험은 정말 혁신적이었어요. 용량 걱정 없이 마음껏 사진을 찍을 수 있게 되었죠.
    • 강력한 AI 기능: 사진 검색 시 객체나 장소로 검색하는 기능은 정말 편리했습니다. 잃어버렸던 사진을 찾거나 특정 테마의 사진을 모아볼 때 유용하더라고요. 중복 사진 제거 기능도 꽤 정확해서 스토리지 공간을 절약하는 데 큰 도움이 되었어요.
    • 깔끔한 UI/UX: 웹 인터페이스와 모바일 앱 모두 직관적이고 사용하기 편리했습니다. Google Photos에 익숙하다면 금방 적응할 수 있어요.
    • 오픈소스의 자유로움: 비용 부담 없이 원하는 대로 커스터마이징하고 관리할 수 있다는 점이 가장 큰 매력이에요.

    ⚠️ 암 (단점 및 주의사항)

    • 초기 설정의 복잡함: Docker, Docker Compose, 네트워크 설정 등 기본적인 이해가 없다면 설치 과정에서 어려움을 겪을 수 있어요. 저도 처음에는 Docker Compose 파일 설정 때문에 몇 번을 헤맸습니다.
    • 리소스 요구량: Immich는 AI 기능 등을 포함하여 꽤 많은 시스템 리소스(CPU, RAM)를 요구합니다. 특히 사진을 대량으로 업로드하거나 AI 분석을 실행할 때 서버 부하가 체감될 정도였어요. 저사양 홈랩 서버에서는 성능 저하가 발생할 수 있으니까 주의해야 합니다.
    • 업데이트 시 주의 필요: Immich는 활발하게 개발되고 있어 업데이트가 잦은 편입니다. 업데이트 과정에서 데이터베이스 스키마 변경 등으로 인해 문제가 발생할 수 있어서 항상 백업 후 업데이트하는 습관이 정말 중요해요. 저도 한 번 업데이트 후에 DB 연결에 문제가 생겨 잠시 당황했던 경험이 있습니다.
    • 안정성 이슈 (가끔): 가끔 예상치 못한 오류나 컨테이너 재시작이 필요한 경우가 있었어요. 특히 대규모 파일 업로드나 백업 작업 중에 발생하면 좀 당황스럽더라고요.
    • 데이터 무결성 책임: 모든 데이터 관리는 사용자 본인의 책임입니다. 백업, 스토리지 관리 등 모든 것을 직접 신경 써야 해요. 클라우드 서비스처럼 자동화된 백업/복구 시스템이 기본 제공되는 건 아니니까요.
    Immich 대시보드: 사진 업로드 및 AI 분석 진행 상황

    Immich 대시보드에서 사진 업로드 진행 상황과 AI 분석 상태를 보여주는 화면

    트러블슈팅: 흔히 겪는 문제들 🚨

    6개월간 사용하면서 몇 가지 문제에 부딪혔고, 이를 해결했던 경험을 공유합니다.

    • 문제 1: 컨테이너 재시작 후 DB 연결 실패
    • 원인: Immich 서버 컨테이너가 DB 컨테이너보다 먼저 시작되면서 발생할 수 있어요.
    • 해결책: `docker-compose.yml` 파일에서 `depends_on` 설정을 명확히 하고, Immich 서버 컨테이너에 재시도 로직을 추가하거나, 컨테이너 재시작 후 잠시 기다렸다가 수동으로 재시작하는 방법이 있습니다. 저는 `depends_on` 설정을 활용했어요.
    • 문제 2: 사진 업로드가 간헐적으로 실패
    • 원인: 서버 리소스 부족, 네트워크 불안정, 혹은 Immich 자체의 버그일 수 있습니다.
    • 해결책: 서버의 CPU, RAM 사용량을 확인하고, 필요하다면 리소스를 증설하거나 백업/AI 분석 작업 시간을 조정했어요. 네트워크 상태도 점검하고, Immich의 최신 버전을 사용하며 커뮤니티 피드백을 확인하는 것이 좋습니다.
    • 문제 3: AI 기능 (얼굴 인식 등)이 제대로 동작하지 않음
    • 원인: AI 모델 다운로드 실패, 설정 오류, 또는 리소스 부족으로 인한 백그라운드 작업 지연이에요.
    • 해결책: Immich의 `docker-compose.yml` 파일에서 `immich-ml` 서비스와 관련 볼륨 설정을 확인하고, 필요한 경우 `docker compose down` 후 `docker compose pull immich-ml` 명령어로 이미지를 최신 버전으로 다시 받아준 후 `docker compose up -d`로 재시작했어요. 서버 리소스가 충분한지 다시 한번 확인하는 것도 정말 중요합니다.

    결론: 6개월간의 자가 호스팅 사진 관리 여정 📝

    OpenMediaVault 위에 Immich를 구축하여 6개월간 사용해 본 결과, 자가 호스팅 사진 관리 솔루션으로서 Immich는 충분히 매력적이고 강력한 대안이라고 생각합니다. 특히 Google Photos의 편리함에 익숙하지만, 개인 정보 보호나 비용 절감을 원하는 분들에게는 최고의 선택지가 될 수 있어요.

    하지만 만능은 아닙니다. 초기 설정의 장벽, 시스템 리소스 요구량, 업데이트 시의 주의, 그리고 데이터 관리에 대한 전적인 책임 등 고려해야 할 부분들이 분명히 있거든요. 마치 잘 길들여진 애완동물처럼, 꾸준한 관심과 관리가 필요한 셈이죠.

    Immich 사진 갤러리 보기와 검색 기능 비교 인포그래픽

    Immich의 사진 갤러리 보기와 검색 기능을 비교하는 인포그래픽

    만약 여러분이…

    • 기술적인 도전을 즐기시고,
    • 직접 시스템을 구축하고 관리하는 것을 좋아하며,
    • 개인 데이터의 프라이버시와 통제권을 최우선으로 생각한다면,

    Immich는 분명 여러분의 홈랩에 훌륭한 추가가 될 거예요. 처음에는 조금 어렵게 느껴질 수 있지만, 한번 구축해두면 그 편리함에 만족하실 겁니다. 저도 앞으로도 Immich를 계속 사용하며 홈랩 사진 관리의 여정을 이어갈 생각이에요.

    다음 글에서는 Immich의 백업 및 복구 전략에 대해 좀 더 자세히 다뤄보도록 하겠습니다. 감사합니다!

  • [홈랩] Proxmox OMV 연동: NAS 구축을 위한 최적의 조합 분석

    [홈랩] Proxmox OMV 연동: NAS 구축을 위한 최적의 조합 분석

    [홈랩] Proxmox OMV 연동: NAS 구축을 위한 최적의 조합 분석

    안녕하세요, 13년차 서버실 지킴이입니다. 오늘은 홈랩을 운영하면서 정말 많은 분들이 고민하고 또 구축하려는 주제, 바로 NAS(Network Attached Storage)에 대해 이야기해보려 합니다. 특히 Proxmox(프록스목스) VE 환경에서 OpenMediaVault(OMV, 오픈미디어볼트)를 어떻게 연동해서 안정적이고 효율적인 NAS를 구축할 수 있을지에 대한 저의 경험과 삽질기를 솔직하게 공유해 드릴게요.

    혹시 여러분도 집에서 미디어 서버나 개인 파일 서버가 필요해서 NAS를 알아보고 계신가요? 시중에 완제품 NAS도 많지만, 직접 구축했을 때의 자유로움과 성능, 그리고 무엇보다 ‘내가 만들었다’는 뿌듯함은 비할 바가 못 되죠. 저도 처음엔 시놀로지나 헤놀로지 같은 걸 써볼까 하다가, 결국은 제가 가장 익숙한 Proxmox 위에 OMV를 올려서 사용하고 있습니다. 이게 진짜 편하더라고요!

    Proxmox VE 위 OMV NAS 구축 아키텍처 개요도

    1. 왜 Proxmox VE와 OpenMediaVault 조합인가요?

    제가 이 조합을 강력하게 추천하는 이유가 몇 가지 있습니다. 사실 처음에는 단순하게 생각했어요. 그냥 Proxmox VE(Virtual Environment)에 리눅스 깔고 Samba(삼바)나 NFS(네트워크 파일 시스템) 올리면 되는 거 아니야? 했었죠. 근데 막상 해보니 설정도 복잡하고, GUI(Graphical User Interface) 관리도 안 되고, Raid(레이드) 구성이나 사용자 권한 관리 같은 게 쉽지 않더라고요. 그래서 OpenMediaVault를 만나게 됐습니다.

    • Proxmox VE의 강력한 가상화 기능: Proxmox는 하이퍼바이저(Hypervisor)입니다. 즉, 하나의 물리 서버 위에 여러 개의 가상 머신(Virtual Machine, VM)이나 컨테이너(Container, LXC)를 동시에 돌릴 수 있게 해줘요. NAS 하나만 돌리기엔 아까운 고성능 서버를 다른 용도로도 활용할 수 있다는 거죠. 예를 들어, 저는 OMV 옆에 Plex 미디어 서버나 Docker 컨테이너들을 띄워서 쓰고 있거든요.
    • OpenMediaVault의 편리한 NAS 관리: OMV는 Debian(데비안) 기반의 무료 NAS 운영체제입니다. 웹 기반 GUI를 통해 파일 공유(SMB/CIFS, NFS, FTP), RAID 관리, 사용자/그룹 관리, 플러그인 확장(Docker, S.M.A.R.T. 등)을 아주 쉽게 할 수 있어요. 리눅스 명령어를 잘 몰라도 직관적으로 NAS를 운영할 수 있다는 게 큰 장점입니다. 제가 삽질 좀 해봤는데, OMV만큼 직관적인 NAS OS도 드물더라고요.
    • 분리된 환경으로 안정성 확보: OMV를 Proxmox VE의 VM으로 돌리면, NAS 시스템과 다른 서비스들이 서로 영향을 주지 않습니다. 혹시 OMV에 문제가 생겨도 Proxmox 호스트나 다른 VM에는 지장을 주지 않아요. 스냅샷(Snapshot)이나 백업(Backup) 관리도 훨씬 용이해지고요.

    2. Proxmox VE에서 OpenMediaVault VM 생성 및 디스크 패스쓰루

    자, 그럼 이제 본격적으로 Proxmox VE에 OMV VM을 만들고, 물리 디스크를 OMV VM으로 패스쓰루(PCI Passthrough)하는 방법을 알아볼게요. 이게 핵심이거든요! 그래야 OMV가 물리 디스크를 직접 인식하고 관리할 수 있습니다. 저는 이 과정에서 좀 헤맸는데, 여러분은 그러지 마시라고 자세히 알려드릴게요.

    2.1. OMV ISO 이미지 다운로드 및 Proxmox에 업로드

    먼저 OpenMediaVault 공식 웹사이트에서 최신 ISO 이미지를 다운로드합니다. 보통 .iso 파일 형태일 거예요. 저는 OMV 6 버전을 사용하고 있습니다.

    
    # Proxmox VE 웹 GUI 접속 후 '로컬 (pve)' -> 'ISO 이미지' -> '업로드' 버튼 클릭
    # 다운로드한 OMV ISO 파일을 선택하여 업로드
    

    이건 간단하니까 다들 아실 거라고 생각합니다. 웹 인터페이스가 진짜 편리하더라고요.

    2.2. OpenMediaVault 가상 머신(VM) 생성

    Proxmox VE 웹 GUI에서 우측 상단의 ‘VM 생성’ 버튼을 클릭하여 OMV VM을 만듭니다.

    1. General(일반): Name(이름)을 openmediavault 등으로 지정합니다.
    2. OS(운영체제): ‘ISO 이미지 사용’을 선택하고, 방금 업로드한 OMV ISO 파일을 선택합니다. Guest OS(게스트 OS)는 ‘Linux’ -> ‘5.x – 2.6 Kernel’로 설정하면 됩니다.
    3. System(시스템): 기본값으로 두거나, Qemu Agent(큐무 에이전트)를 설치할 예정이라면 ‘Qemu Agent’를 체크합니다.
    4. Disks(디스크): OMV OS가 설치될 가상 디스크를 생성합니다. 최소 10GB 이상으로 설정하는 것을 권장합니다. (Storage는 local-lvm 등 VM 디스크용 스토리지를 선택)
    5. CPU(프로세서): 코어 2개 이상, 소켓 1개 정도로 설정합니다.
    6. Memory(메모리): 최소 2GB 이상을 할당합니다. OMV가 생각보다 메모리를 좀 쓰는 편입니다.
    7. Network(네트워크): 기본값인 ‘Bridged Mode(브릿지 모드)’로 설정하여 OMV가 물리 네트워크에 직접 연결되도록 합니다.
    8. Confirm(확인): 설정을 확인하고 VM을 생성합니다. ‘Start after creation’은 체크 해제해 주세요. 바로 시작하지 않을 겁니다.

    2.3. 물리 디스크(HDD/SSD) 패스쓰루 설정 (매우 중요!)

    이제 OMV가 데이터 저장용으로 사용할 물리 디스크를 VM에 직접 연결해 줄 차례입니다. 이게 바로 Proxmox와 OMV 조합의 묘미라고 할 수 있죠. 저는 처음엔 가상 디스크로 만들어서 연결했었는데, 성능도 안 나오고 OMV에서 S.M.A.R.T. 정보도 제대로 못 읽는 문제가 발생했었어요. Host PCI Passthrough 대신 Host Disk Passthrough를 이용하는 방법을 추천합니다. 더 간단하고 안정적이거든요.

    1. VM 선택 및 ‘하드웨어’ 탭 이동: 생성한 openmediavault VM을 선택하고, 좌측 메뉴에서 ‘하드웨어’ 탭으로 이동합니다.
    2. ‘추가’ -> ‘하드 디스크’ 선택: ‘추가’ 버튼을 클릭하고 ‘하드 디스크’를 선택합니다.
    3. ‘물리적 디스크’ 선택: ‘스토리지’ 드롭다운 메뉴에서 (물리적 디스크)를 선택합니다. 그러면 Proxmox 호스트에 연결된 물리 디스크 목록이 나타납니다.
    4. 데이터 디스크 추가: OMV에서 사용할 데이터 저장용 디스크(예: /dev/sdb, /dev/sdc 등)를 선택하고 ‘추가’ 버튼을 클릭합니다. 주의할 점은 OMV OS가 설치될 디스크가 아닌, 데이터 저장용 디스크만 추가해야 합니다. 실수로 OS 디스크를 패스쓰루하면 큰일 납니다!
    5. 여러 디스크 추가: 필요한 만큼 이 과정을 반복하여 모든 데이터 디스크를 OMV VM에 추가합니다.

    이렇게 하면 OMV VM 내부에서는 마치 물리 서버에 직접 디스크가 연결된 것처럼 인식하게 됩니다. 드디어 됐다! 이 과정을 제대로 이해하고 나니 속이 다 시원하더라고요.

    Proxmox VE에서 물리 디스크를 VM에 패스쓰루하는 웹 GUI 화면

    Proxmox VE에서 물리 디스크를 VM에 패스쓰루하는 과정

    3. OpenMediaVault 설치 및 기본 설정

    이제 OMV VM을 시작하고 OMV를 설치할 차례입니다.

    1. VM 시작: 생성한 openmediavault VM을 선택하고 ‘시작’ 버튼을 클릭합니다.
    2. 콘솔 접속: ‘콘솔’ 탭으로 이동하여 OMV 설치 과정을 진행합니다. Debian 설치와 거의 동일합니다.
    3. 설치 언어, 키보드, 네트워크 설정: 한국어, 대한민국 등으로 설정하고, DHCP(동적 호스트 설정 규약)로 네트워크 설정을 진행합니다.
    4. 관리자 비밀번호 설정: root 계정의 비밀번호와 웹 관리자(admin) 계정의 비밀번호를 설정합니다. 이 비밀번호는 꼭 기억해두세요!
    5. OS 디스크 선택: 여기서 중요합니다! 아까 VM 생성 시 할당했던 10GB 이상의 가상 디스크(예: /dev/sda)를 선택하여 OMV OS를 설치합니다. 절대 패스쓰루한 데이터 디스크를 선택하면 안 됩니다!
    6. 설치 완료 및 재부팅: 설치가 완료되면 ISO 이미지를 VM에서 제거하고 재부팅합니다.

    3.1. OpenMediaVault 웹 GUI 접속 및 초기 설정

    재부팅 후 OMV VM의 IP 주소를 확인하여 웹 브라우저로 접속합니다. Proxmox 콘솔에 접속해서 ip a 명령어로 IP를 확인할 수 있습니다.

    
    # OMV 콘솔에서 IP 주소 확인
    ip a
    

    웹 브라우저에서 http://[OMV_VM_IP_주소]로 접속하여 admin 계정과 설정했던 비밀번호로 로그인합니다.

    로그인 후에는 다음 단계를 진행합니다.

    1. 파일 시스템 생성: ‘저장소’ -> ‘파일 시스템’ 메뉴로 이동합니다. 패스쓰루한 물리 디스크들이 보일 거예요. 각 디스크를 선택하여 ‘생성’ 버튼을 누르고, 원하는 파일 시스템(예: ext4)으로 포맷하고 마운트(Mount)합니다. 데이터가 있는 디스크라면 절대 포맷하면 안 됩니다! (저는 빈 디스크로 시작하는 걸 추천합니다.)
    2. RAID 관리 (선택 사항): 여러 디스크를 RAID로 묶고 싶다면 ‘저장소’ -> ‘RAID 관리’에서 설정할 수 있습니다. 저는 안정성을 위해 RAID 5를 선호합니다.
    3. 공유 폴더 생성: ‘접근 권한 관리’ -> ‘공유 폴더’에서 공유할 폴더를 생성하고, 파일 시스템과 경로를 지정합니다.
    4. 서비스 활성화: ‘서비스’ 메뉴에서 SMB/CIFS (Windows 파일 공유)나 NFS (Linux/macOS 파일 공유)를 활성화하고, 공유 폴더를 추가합니다.
    5. 사용자 및 그룹 관리: ‘접근 권한 관리’ -> ‘사용자’ 및 ‘그룹’에서 NAS에 접속할 사용자 계정을 생성하고 권한을 부여합니다.

    이 정도만 해도 기본적인 NAS 기능은 충분히 사용할 수 있어요. 처음엔 메뉴가 좀 많아 보이지만, 한 번 해보면 금방 익숙해질 거예요.

    OpenMediaVault 웹 관리 대시보드 스크린샷

    OpenMediaVault 웹 관리 대시보드 화면

    4. 주의사항 및 트러블슈팅: 제가 겪었던 삽질들 ⚠️

    홈랩 운영하면서 삽질은 필수라고 생각합니다. 저도 이 조합을 구축하면서 몇 가지 난관에 부딪혔었죠. 여러분은 이런 실수를 하지 마시라고 몇 가지 팁을 드립니다.

    • 디스크 패스쓰루 오류: 가끔 Proxmox에서 디스크를 패스쓰루했는데 OMV VM에서 인식이 안 되는 경우가 있었습니다. 이럴 때는 Proxmox 호스트에서 lsblk 명령어로 디스크가 제대로 인식되는지 확인하고, VM 설정에서 디스크 컨트롤러(예: SATA, VirtIO SCSI)를 바꿔보거나, Proxmox를 재부팅하면 해결되는 경우가 많더라고요. VirtIO SCSI가 성능상 더 좋지만, 가끔 특정 환경에서 문제가 생기기도 합니다.
    • OMV 업데이트 문제: OMV는 Debian 기반이라 apt update && apt upgrade 명령으로 업데이트합니다. 그런데 가끔 업데이트 중에 문제가 발생해서 부팅이 안 되거나 웹 GUI에 접속이 안 되는 경우가 있었어요. 이럴 땐 Proxmox의 스냅샷 기능이 빛을 발합니다. 업데이트 전에 VM 스냅샷을 하나 찍어두면, 문제가 생겨도 손쉽게 이전 상태로 되돌릴 수 있습니다. 💡 팁: 중요한 업데이트 전에는 꼭 스냅샷을 찍어두세요!
    • 네트워크 설정 문제: OMV VM의 IP 주소가 바뀌어서 접속이 안 되는 경우가 있습니다. Proxmox 콘솔이나 OMV 콘솔에서 ip a 명령으로 현재 IP 주소를 다시 확인하거나, OMV 설치 후 고정 IP(Static IP)로 설정하는 것을 권장합니다. 홈랩에서는 고정 IP가 훨씬 관리하기 편하거든요.
    • 성능 저하: VM에 할당된 CPU나 메모리가 너무 적으면 NAS 성능이 저하될 수 있습니다. 특히 여러 사용자가 동시에 접속하거나, 미디어 트랜스코딩(Transcoding) 같은 작업을 할 때는 충분한 리소스를 할당해 주는 것이 중요합니다.

    5. 검증 및 결과: 우리 집의 든든한 스토리지! 🎉

    모든 설정을 마치고 나면, 이제 여러분의 홈랩에 든든한 NAS가 완성됩니다! 저는 이렇게 구축한 OMV NAS를 다양하게 활용하고 있습니다.

    • 가족 사진/영상 백업: 스마트폰 사진을 자동으로 백업하도록 설정해서, 소중한 추억들을 안전하게 보관하고 있습니다.
    • 미디어 서버용 스토리지: Plex Media Server나 Jellyfin 같은 미디어 서버의 콘텐츠 저장소로 활용합니다. 대용량 영화 파일도 끊김 없이 스트리밍이 가능하더라고요.
    • 홈 자동화 데이터 저장: Home Assistant(홈 어시스턴트) 같은 홈 자동화 시스템의 로그나 백업 데이터를 저장하는 용도로도 사용합니다.
    • 개발 환경 공유 폴더: 제가 작업하는 개발 프로젝트 파일들을 공유 폴더에 넣어두고, 다른 VM이나 물리 PC에서 접근해서 사용하기도 합니다.

    실제로 써보니까 Proxmox VE와 OpenMediaVault의 조합은 유연성, 안정성, 그리고 관리 편의성까지 모두 잡을 수 있는 최적의 솔루션이라는 생각이 들었습니다. 특히 디스크 패스쓰루를 통해 물리 디스크를 직접 제어할 수 있다는 점이 가장 만족스러웠어요.

    Proxmox OMV NAS 구축의 장점들을 요약한 인포그래픽

    Proxmox OMV NAS 구축의 장점 요약

    6. 마무리하며: 다음 단계는 무엇일까요?

    오늘은 Proxmox VE 위에서 OpenMediaVault를 이용해 NAS를 구축하는 방법에 대해 자세히 알아봤습니다. 제가 직접 경험하며 얻은 노하우와 삽질기를 바탕으로 설명해 드렸는데, 도움이 되셨으면 좋겠네요. 처음엔 좀 복잡하게 느껴질 수도 있지만, 한 단계씩 따라오다 보면 분명 멋진 결과물을 얻으실 수 있을 거예요.

    이 조합은 단순히 NAS 기능만 제공하는 것을 넘어, 여러분의 홈랩을 한층 더 강력하게 만들어 줄 수 있는 기반이 될 겁니다. 다음 글에서는 이렇게 구축한 NAS를 활용하여 Docker(도커) 환경에서 Plex Media Server를 설치하거나, Tailscale(테일스케일)을 이용해 외부에서도 안전하게 NAS에 접속하는 방법에 대해 다뤄볼 예정입니다. 기대해주세요!

    궁금한 점이나 추가로 다루었으면 하는 내용이 있다면 언제든지 댓글로 남겨주세요. 저도 여러분의 경험을 공유받으며 배우고 싶습니다. 여기까지 읽어주셔서 감사합니다!

  • [Nas] OpenMediaVault와 Immich 연동 사례: 나만의 프라이빗 사진 클라우드 구축

    [Nas] OpenMediaVault와 Immich 연동 사례: 나만의 프라이빗 사진 클라우드 구축

    OpenMediaVault와 Immich 연동 사례: 나만의 프라이빗 사진 클라우드 구축

    안녕하세요, 13년차 인프라 엔지니어 서버실입니다. 오늘은 많은 분들이 고민하시는 사진 관리 문제, 특히 프라이빗 클라우드 구축에 대한 이야기를 해볼까 합니다. 구글 포토의 정책 변경 이후, ‘내 사진을 내 손으로 관리하고 싶다!’는 열망이 더 커진 것 같아요. 저도 처음엔 클라우드 서비스가 편해서 잘 썼는데, 역시 데이터 주권(Data Sovereignty)은 중요하더라고요. 그래서 홈랩에서 직접 OpenMediaVault(OMV)와 Immich를 연동해서 저만의 프라이빗 사진 클라우드를 구축했습니다. 나스(NAS) 환경에서 사진을 자동으로 백업하고 관리할 수 있게 된 과정을 솔직하게 공유해 드릴게요.

    그림 1: OpenMediaVault 기반 Immich 프라이빗 사진 클라우드 아키텍처

    OpenMediaVault와 Immich, 왜 이 조합일까요?

    먼저, 이 두 친구가 어떤 역할을 하는지 간단히 짚어보고 갈까요? 쉽게 말해, OpenMediaVault(OMV)는 나스(NAS, Network Attached Storage)의 뼈대 역할을 하고, Immich는 그 위에 멋진 옷을 입혀주는 사진 관리 솔루션이라고 생각하시면 됩니다.

    • OpenMediaVault (OMV): 데비안(Debian) 리눅스 기반의 무료 오픈소스 NAS 운영체제입니다. 파일 공유(SMB/NFS), RAID 관리, 플러그인 확장성, 그리고 무엇보다 도커(Docker) 컨테이너 지원이 강력해서 홈랩에서 활용도가 정말 높아요. 튼튼한 스토리지 백엔드를 제공하는 셈이죠. 제가 직접 써보니 안정성도 뛰어나고 관리도 편하더라고요.

    • Immich: 요즘 뜨는 셀프 호스팅(Self-hosted) 사진 및 비디오 백업 솔루션입니다. 구글 포토와 비슷한 사용자 경험을 제공하면서, AI 기반 얼굴 인식(Facial Recognition), 객체 감지(Object Detection), 검색 기능, 타임라인(Timeline) 뷰, 공유 앨범 등 고급 기능까지 갖추고 있어요. 모바일 앱(iOS/Android)도 있어서 자동 백업도 가능합니다. 이 정도면 ‘나만의 구글 포토’라고 불러도 손색이 없죠.

    OMV가 안정적인 스토리지 공간을 제공하고, Immich가 그 공간에 저장된 사진들을 스마트하게 관리해주니, 이보다 더 좋은 조합이 있을까요? 👍

    OMV에 도커와 Immich 설치하기: 실전 구현

    이제 본격적으로 OMV 위에 Immich를 올려볼 차례입니다. OMV에 도커와 포테이너(Portainer)가 이미 설치되어 있다고 가정할게요. (아직 설치 안 하셨다면, OMV 웹 UI에서 OMV-Extras 플러그인을 통해 쉽게 설치할 수 있습니다.)

    1. Immich용 공유 폴더 생성

    먼저 OMV에서 Immich가 사진을 저장할 공유 폴더를 만들어야 합니다. 저는 /srv/dev-disk-by-uuid-XXXX/data/immich 경로에 immich라는 공유 폴더를 만들었어요. 여기서 정말 중요한 부분이 바로 권한 설정입니다. 도커 컨테이너 내부의 프로세스가 이 폴더에 접근하고 파일을 쓸 수 있도록 적절한 권한을 부여해야 하는데, 보통 PUID와 PGID를 사용합니다. 저는 1000:1000 (기본 사용자/그룹)으로 설정했습니다.

    2. Docker Compose 파일 준비

    Immich는 여러 서비스(PostgreSQL, Redis, Microservices 등)로 구성되어 있어서 도커 컴포즈(Docker Compose)로 한 번에 배포하는 게 가장 편리합니다. Immich 공식 GitHub 저장소에서 예시 docker-compose.yaml 파일을 가져오는 게 좋아요. 저는 항상 최신 버전을 확인하고 수정해서 사용합니다.

    # OMV SSH 접속 후 작업 디렉토리 생성
    mkdir -p /srv/dev-disk-by-uuid-XXXX/config/immich
    cd /srv/dev-disk-by-uuid-XXXX/config/immich
    
    # Immich GitHub에서 docker-compose.yaml 다운로드 (최신 버전 확인 필수)
    wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
    wget https://github.com/immich-app/immich/releases/latest/download/.env
    

    다운로드한 .env 파일과 docker-compose.yml 파일을 열어서 몇 가지를 수정해야 합니다.

    • .env 파일 수정:
      • UPLOAD_LOCATION=./upload 부분을 OMV에서 생성한 공유 폴더 경로로 변경합니다. 예: UPLOAD_LOCATION=/data/immich/upload (컨테이너 내부 경로)
      • DB_PASSWORD, REDIS_PASSWORD 등을 강력한 비밀번호로 변경하세요.
      • TZ=Asia/Seoul 처럼 시간대를 설정합니다.
    • docker-compose.yml 파일 수정:
      • 각 서비스의 volumes 섹션에서 OMV 공유 폴더와 연결되는 부분을 확인하고 수정합니다. 특히 ./upload:/usr/src/app/upload 부분을 /srv/dev-disk-by-uuid-XXXX/data/immich:/usr/src/app/upload (호스트 경로:컨테이너 내부 경로) 형태로 맞춰줘야 합니다.
      • PUID, PGID 환경 변수를 OMV에서 설정한 사용자/그룹 ID에 맞춰주세요.

    이 부분이 사실 제가 겪었던 가장 큰 삽질의 핵심이었습니다. 😅 볼륨 마운트 경로를 잘못 지정하거나 권한이 없어서 컨테이너가 파일을 못 읽는 경우가 정말 많거든요. 항상 호스트 경로와 컨테이너 내부 경로가 정확히 매핑되는지, 그리고 해당 호스트 폴더에 컨테이너가 접근할 수 있는 권한이 있는지 꼼꼼히 확인해야 합니다.

    Immich Docker Compose 설정 파일 예시 (볼륨 및 환경 변수)

    그림 2: Immich Docker Compose 설정 파일 예시 (볼륨 및 환경 변수)

    3. Immich 서비스 실행

    파일 수정이 끝났다면, 이제 도커 컴포즈를 이용해 서비스를 실행합니다. OMV SSH 터미널에서 docker-compose.yml 파일이 있는 디렉토리로 이동한 다음 아래 명령어를 실행하세요.

    docker compose up -d
    

    -d 옵션은 백그라운드에서 컨테이너를 실행하라는 의미입니다. 컨테이너들이 모두 정상적으로 올라오는지 docker compose ps 명령어로 확인해볼 수 있습니다.

    ⚠️ 주의사항 및 트러블슈팅: 제가 겪은 삽질들

    제가 이 OpenMediaVault와 Immich 연동 구성을 하면서 가장 많이 겪었던 문제들은 역시 권한(Permissions)과 볼륨 마운트(Volume Mount)였습니다. 특히 OMV의 공유 폴더와 도커 컨테이너 간의 권한 문제가 많았어요. 홈랩에서 사진 백업을 구축할 때 이 부분을 간과하면 정말 답답하더라고요.

    1. 권한 문제 (Permission Denied): Immich 컨테이너가 OMV 공유 폴더에 사진을 저장하거나 데이터베이스 파일을 생성할 때 ‘Permission Denied’ 에러가 발생하는 경우가 많았습니다. 이럴 때는 OMV에서 해당 공유 폴더의 ACL(Access Control List) 설정을 확인하거나, SSH로 접속해서 직접 chown 명령어로 소유권을 변경해줘야 합니다. 예를 들어, sudo chown -R 1000:1000 /srv/dev-disk-by-uuid-XXXX/data/immich 이런 식으로요. PUID, PGID 값과 일치시켜주는 게 정말 중요합니다.

    2. 리소스 부족 (Resource Exhaustion): Immich는 생각보다 많은 리소스를 사용합니다. 특히 처음 사진을 인덱싱(Indexing)하고 AI 기능을 사용할 때 CPU와 RAM 사용량이 급증할 수 있어요. 저사양 NAS나 라즈베리 파이(Raspberry Pi) 같은 장비에선 버벅거릴 수 있습니다. 저는 N100 기반 미니 PC에 16GB RAM을 사용하는데, 이 정도면 충분하더라고요. 나스 환경의 사양을 고려해서 구축해야 합니다.

    3. 포트 충돌 (Port Conflict): 만약 OMV에서 다른 서비스가 Immich와 동일한 포트(기본 2283)를 사용하고 있다면 충돌이 발생할 수 있습니다. docker-compose.yml 파일에서 Immich 서버의 포트를 다른 번호로 변경해주거나, 기존 서비스의 포트를 변경해야 합니다.

    이런 문제들을 하나씩 해결해나가면서 ‘아, 역시 인프라 엔지니어는 삽질의 연속이구나’ 싶었지만, 각각을 해결할 때마다 느껴지는 성취감이 있었어요. 💡

    설치 검증 및 결과 확인 🎉

    모든 컨테이너가 정상적으로 실행되면, 웹 브라우저를 열고 http://[OMV_IP_주소]:2283으로 접속하면 됩니다. 처음 접속하면 관리자 계정을 생성하라는 화면이 나올 거예요. 계정을 만들고 로그인하면 드디어 Immich의 멋진 인터페이스를 만날 수 있습니다!

    모바일 앱을 설치해서 OMV 서버의 IP 주소와 포트를 입력하면 스마트폰 사진을 자동으로 백업할 수 있어요. 실제로 제가 갤러리 앱에서 사진 몇 장을 찍어보니 Immich 웹 UI에 바로바로 동기화되더라고요. 정말 신기하고 뿌듯했습니다. 🤩

    Immich 웹 UI 메인 화면 (사진 업로드 및 타임라인)

    그림 3: Immich 웹 UI (사진 업로드 및 타임라인)

    가족 사진, 여행 사진, 친구들과의 추억까지! 이제 모두 제 OMV 나스에 안전하게 보관되고, Immich의 강력한 기능으로 편리하게 관리할 수 있게 되었습니다. 프라이버시(Privacy) 걱정 없이, 원하는 만큼의 용량을 마음껏 쓸 수 있다는 점이 가장 큰 장점 같아요.

    마무리하며: 나만의 사진 클라우드, 그 다음은?

    OpenMediaVault와 Immich를 연동해서 나만의 프라이빗 사진 클라우드를 구축하는 과정, 어떠셨나요? 처음에는 조금 복잡하게 느껴질 수도 있지만, 한 번 구축해두면 정말 든든한 나만의 사진 보관소가 생기는 겁니다. 데이터 주권을 되찾고, 클라우드 서비스 구독료도 절약할 수 있으니 일석이조죠.

    저는 여기서 멈추지 않고, Nginx Proxy Manager 같은 리버스 프록시(Reverse Proxy)를 이용해 외부에서도 안전하게 접속할 수 있도록 설정할 계획입니다. 또, 백업 전략(Backup Strategy)도 빠뜨리지 않고 구현해야 하겠더라고요. Raid는 백업이 아니라는 점, 다들 아시죠? 😉

    여러분도 제 경험을 바탕으로 나만의 프라이빗 사진 클라우드 구축에 도전해 보시길 강력히 추천합니다. 궁금한 점이 있으시다면 언제든지 댓글로 남겨주세요! 다음에는 Nginx Proxy Manager를 활용한 외부 접속 설정에 대해 다뤄볼까 합니다. 기대해주세요!

    OMV와 Immich 연동의 주요 장점 요약 인포그래픽

    그림 4: OMV + Immich 연동의 주요 장점

  • [NAS] OMV와 Immich 연동: 구글 포토 대안, 실제 구축 가이드

    [NAS] OMV와 Immich 연동: 구글 포토 대안, 실제 구축 가이드

    [NAS] OMV와 Immich 연동: 구글 포토 대안, 실제 구축 가이드

    안녕하세요, 13년차 서버실 지킴이입니다. 오늘은 많은 분들이 고민하시는 구글 포토(Google Photos) 대안에 대한 이야기를 해볼까 합니다. 특히 저처럼 홈랩(Homelab)을 운영하며 데이터 주권에 관심이 많으신 분들이라면 더욱 공감하실 거예요.

    아마 많은 분들이 구글 포토의 편리함 때문에 사진 백업에 사용하셨을 겁니다. 저도 그랬거든요. 그런데 정책이 바뀌면서 무료 용량이 제한되고, 내 소중한 사진들이 과연 안전하게 잘 관리되고 있는 건지, 상업적으로 활용될 여지는 없는지 같은 걱정들이 스멀스멀 올라오더라고요. 그래서 “내 손으로 직접 내 사진을 관리하자!”는 생각으로 자가 호스팅(Self-hosting) 사진 갤러리 구축을 결심했습니다. 그리고 그 해답은 바로 OpenMediaVault(OMV)와 Immich의 조합이었습니다.

    처음엔 이게 뭔가 싶었는데, 막상 해보니 꽤나 만족스러웠습니다. 물론 삽질 좀 했지만요. ㅎㅎ 오늘은 제가 직접 OMV에 Immich를 연동해서 구글 포토 대안을 구축한 실제 사례와 함께, 삽질하며 얻은 팁들을 솔직하게 공유해 드릴게요. 혹시 이런 경험 있으신가요? 지금부터 저와 함께 나만의 NAS 사진 동기화 솔루션을 만들어 봅시다!

    홈랩 환경에서 OMV와 Immich가 어떻게 연동되어 사진을 관리하는지 보여주는 간략한 아키텍처입니다.

    1. 왜 OMV와 Immich 조합일까요?

    먼저 핵심 개념부터 쉽게 풀어볼까요? 💡

    • OpenMediaVault (OMV): OMV는 NAS(Network Attached Storage) 운영체제입니다. 쉽게 말해, 집에 남는 PC나 라즈베리 파이 같은 장치에 설치하면 그걸 훌륭한 나스 서버로 바꿔주는 소프트웨어예요. 안정적이고 다양한 플러그인을 지원하며, 특히 Docker(도커)를 공식적으로 지원해서 컨테이너 기반의 애플리케이션들을 쉽게 올릴 수 있다는 큰 장점이 있습니다.

    • Immich: Immich는 자가 호스팅(Self-hosted) 사진 및 비디오 백업 솔루션입니다. 구글 포토와 거의 흡사한 기능을 제공하는데, 내 서버 위에서 돌아간다는 게 가장 큰 차이점이죠. 모바일 앱으로 자동 백업, 얼굴 인식, 객체 인식, 검색, 타임라인 뷰 등 편리한 기능들이 많아서 “이거 진짜 물건이네!” 싶더라고요. 활발하게 개발되고 있으며, 이미 실사용에 충분히 안정화되어 있습니다.

    제가 이 둘을 선택한 이유는 명확합니다. OMV의 안정적인 NAS 환경 위에 Docker로 Immich를 올리면, 내 데이터는 내 서버에 안전하게 보관하면서도 구글 포토 못지않은 편리함을 누릴 수 있기 때문이죠. 데이터 주권(Data Sovereignty)을 확보하는 동시에, 비용 부담 없이 대용량 사진 갤러리를 운영할 수 있다는 게 가장 큰 매력이었습니다.

    2. OMV에 Docker와 Immich 설치하기: 실전 구현

    자, 그럼 이제 본격적으로 구축 과정을 살펴볼까요? OMV에 Docker를 설치하는 방법은 다양하지만, 저는 Portainer(포테이너)를 활용하는 것을 추천합니다. 웹 UI로 Docker 컨테이너를 관리하기가 훨씬 편하거든요.

    2.1. OMV에 Docker 및 Portainer 설치

    1. OMV 웹 UI에 접속해서 ‘시스템’ > ‘플러그인’ 메뉴로 이동합니다.

    2. openmediavault-omvextrasorg 플러그인을 설치합니다. 이 플러그인이 Docker 설치를 위한 저장소를 추가해 줍니다.

    3. 플러그인 설치 후, ‘OMV-Extras’ > ‘Docker’ 탭으로 이동해서 ‘Docker 설치’ 버튼을 클릭합니다. 잠시 기다리면 Docker가 설치될 겁니다.

    4. 이어서 ‘Portainer 설치’ 버튼을 클릭하면 Portainer 컨테이너도 함께 설치됩니다. 설치가 완료되면 OMV IP 주소:9000으로 접속해서 Portainer 웹 UI를 확인할 수 있습니다. 🎉

    2.2. Immich용 Docker Compose 파일 작성

    Portainer에 접속했다면, 이제 Immich를 배포할 차례입니다. Immich는 여러 개의 컨테이너로 구성되어 있어서 Docker Compose를 사용하는 게 일반적이에요. Portainer에서 ‘Stacks’ 메뉴로 가서 ‘Add stack’을 클릭하고, 아래와 같이 docker-compose.yml 파일을 작성해 주세요.

    ⚠️ 중요: 볼륨 경로와 환경 변수는 본인의 OMV 환경에 맞게 반드시 수정해야 합니다.

    Portainer에서 Immich Docker Compose 스택 설정 화면

    Portainer에서 Immich 스택을 생성할 때 사용하는 Docker Compose 파일 예시입니다.

    version: '3.8'
    
    services:
      immich-server:
        container_name: immich_server
        image: ghcr.io/immich-app/immich-server:release
        command: ['start.sh', 'immich']
        volumes:
          - /srv/dev-disk-by-uuid-YOUR_DISK_UUID/data/immich/upload:/usr/src/app/upload # OMV 공유 폴더 경로로 변경
          - /etc/localtime:/etc/localtime:ro
        env_file:
          - .env
        ports:
          - 2283:3001 # Immich 웹 UI 포트
        depends_on:
          - immich-redis
          - immich-database
        restart: always
    
      immich-microservices:
        container_name: immich_microservices
        image: ghcr.io/immich-app/immich-microservices:release
        command: ['start.sh', 'microservices']
        volumes:
          - /srv/dev-disk-by-uuid-YOUR_DISK_UUID/data/immich/upload:/usr/src/app/upload # OMV 공유 폴더 경로로 변경
          - /etc/localtime:/etc/localtime:ro
        env_file:
          - .env
        depends_on:
          - immich-redis
          - immich-database
        restart: always
    
      immich-web:
        container_name: immich_web
        image: ghcr.io/immich-app/immich-web:release
        command: ['start.sh', 'web']
        env_file:
          - .env
        ports:
          - 2284:3000 # Immich 웹 UI 포트 (Reverse Proxy 사용 시 변경 가능)
        restart: always
    
      immich-redis:
        container_name: immich_redis
        image: redis:7.2-alpine@sha256:98f5a8ee0f30e0f99bc3f4f7ba05e3c58c72331f965f858a3bc5fa8e8e4f13d8 # 최신 권장 버전
        restart: always
    
      immich-database:
        container_name: immich_database
        image: postgres:15-alpine@sha256:0ea5f42eab7ac1c03c87b7b75fcace28ebaa1f6abcff02ef9ef2999b3f06c36e # 최신 권장 버전
        environment:
          POSTGRES_USER: immich # 변경 가능
          POSTGRES_PASSWORD: your_strong_password # **매우 중요: 강력한 비밀번호로 변경하세요!**
          POSTGRES_DB: immich # 변경 가능
        volumes:
          - /srv/dev-disk-by-uuid-YOUR_DISK_UUID/data/immich/database:/var/lib/postgresql/data # OMV 공유 폴더 경로로 변경
        restart: always
    
      immich-proxy:
        container_name: immich_proxy
        image: ghcr.io/immich-app/immich-proxy:release
        ports:
          - 2285:8080 # Immich 외부 접근 포트 (Reverse Proxy 사용 시 변경 가능)
        environment:
          IMMICH_SERVER_URL: http://immich-server:3001
          IMMICH_WEB_URL: http://immich-web:3000
        depends_on:
          - immich-server
          - immich-web
        restart: always
    

    💡 팁: OMV에서 /srv/dev-disk-by-uuid-YOUR_DISK_UUID 경로는 실제 디스크의 UUID 기반 경로입니다. ‘스토리지’ > ‘파일 시스템’에서 확인하거나, ‘스토리지’ > ‘공유 폴더’를 만들고 해당 폴더의 실제 경로를 확인하여 사용하세요. 저는 /srv/dev-disk-by-uuid-YOUR_DISK_UUID/data/immich 아래에 upload와 database 폴더를 미리 만들어두고 권한을 abc:users (UID 998, GID 100)로 설정했습니다. Docker 컨테이너의 기본 유저는 node (UID 1000)인 경우가 많으니, 권한 문제(Permission Denied)로 고생하지 않으려면 미리 공유 폴더의 소유자(Owner)와 그룹(Group)을 root:users로 설정하거나, Docker Compose 파일 내 Immich 서비스에 user: "1000:100" 같은 형태로 지정해 주는 것도 좋은 방법입니다.

    2.3. 환경 변수 파일 (.env) 작성

    Docker Compose 파일과 같은 경로에 .env 파일을 생성하고 아래 내용을 채워 넣으세요. API_KEY는 직접 생성해야 합니다.

    DB_HOSTNAME=immich-database
    DB_USERNAME=immich
    DB_PASSWORD=your_strong_password # 위에서 설정한 비밀번호와 동일하게!
    DB_DATABASE_NAME=immich
    REDIS_HOSTNAME=immich-redis
    
    NODE_ENV=production
    
    # Immich API Key (https://immich.app/docs/install/environment-variables/ 참고)
    # openssl rand -base64 64 로 생성 가능
    IMMICH_API_KEY=your_generated_api_key_here
    

    IMMICH_API_KEY는 openssl rand -base64 64 명령어로 생성할 수 있습니다. 이걸 꼭 해주셔야 모바일 앱과 연동할 때 문제가 없어요. 저는 이걸 몰라서 한참 삽질했거든요. 😭

    3. 주의사항 및 트러블슈팅: 삽질은 나만 한다! ⚠️

    제가 겪었던 몇 가지 문제와 해결 팁을 공유합니다.

    • 권한 문제(Permission Denied): 앞서 언급했듯이, OMV의 공유 폴더 권한 설정이 정말 중요합니다. Docker 컨테이너가 볼륨에 쓰기/읽기 권한이 없으면 제대로 작동하지 않거든요. chmod -R 775 /srv/dev-disk-by-uuid-YOUR_DISK_UUID/data/immich 같은 명령어로 권한을 넓게 주거나, chown -R abc:users /srv/dev-disk-by-uuid-YOUR_DISK_UUID/data/immich처럼 소유자를 Docker 컨테이너의 실행 유저와 맞춰주면 됩니다.

    • 메모리 부족: Immich는 특히 사진 메타데이터 처리나 얼굴 인식 같은 작업을 할 때 꽤 많은 메모리를 사용합니다. 제 구형 NAS는 8GB RAM인데, 초기 동기화 시에는 버거워하더라고요. 최소 8GB 이상, 여유가 된다면 16GB RAM을 권장합니다.

    • 초기 동기화 시간: 기존에 쌓아둔 사진이 많다면, 처음 Immich에 업로드하고 인덱싱하는 데 상당한 시간이 걸립니다. 여유를 가지고 기다리세요. 저는 며칠 걸렸습니다. 😅

    • 외부 접속 설정 (Reverse Proxy): Immich를 외부에서 안전하게 접속하려면 Nginx Proxy Manager 같은 리버스 프록시(Reverse Proxy)를 설정하는 게 좋습니다. SSL(HTTPS) 적용은 필수죠! OMV에 Docker로 Nginx Proxy Manager를 설치하고 Immich 컨테이너의 포트(예: 2285)를 바라보게 설정하면 됩니다. 이 부분은 다음 기회에 더 자세히 다뤄볼게요.

    4. 검증 및 결과: 드디어 내 손 안의 구글 포토! 🎉

    모든 설정이 완료되고 Docker Compose 스택을 실행했다면, 잠시 후 Immich가 정상적으로 구동될 겁니다. 웹 브라우저에서 http://OMV_IP_주소:2285 (또는 Reverse Proxy 설정 시 도메인 주소)로 접속해 보세요. 멋진 Immich 로그인 화면이 나타날 겁니다.

    최초 접속 시 관리자 계정을 생성하고 나면, 바로 Immich의 대시보드가 눈에 들어올 거예요. 모바일 앱(안드로이드/iOS 모두 지원)을 설치하고 서버 주소와 API 키를 입력하면, 스마트폰의 사진들을 자동으로 Immich 서버로 백업할 수 있습니다. 진짜 편리하더라고요!

    Immich 웹 UI 대시보드: 자가 호스팅 사진 갤러리

    Immich 웹 UI에 접속하여 사진들이 성공적으로 업로드되고 관리되는 모습입니다.

    저는 이미 수만 장의 사진들을 Immich로 옮겨왔습니다. 얼굴 인식 기능도 꽤 정확하고, 검색 기능도 구글 포토 못지않게 잘 작동하더라고요. 내 서버에 내 사진이 있다는 심리적 안정감은 덤이고요. 😌

    5. 마무리: 데이터 주권, 이제 시작입니다!

    오늘은 OMV와 Immich를 연동하여 구글 포토 대안을 구축하는 과정을 상세히 소개해 드렸습니다. 물론 처음에는 삽질도 좀 하고, 설정에 시간을 꽤 투자했지만, 그만큼 얻는 것이 많다고 생각해요. 내 소중한 데이터를 내 손으로 관리할 수 있다는 것, 이보다 더 큰 만족감은 없더라고요.

    Immich는 활발하게 개발되고 있는 프로젝트라서, 앞으로 더 많은 기능과 개선이 이루어질 거라 기대하고 있습니다. 혹시 구글 포토 대안을 찾고 계셨다면, OMV와 Immich 조합을 꼭 한번 시도해 보세요! 분명 후회하지 않으실 겁니다.

    다음 글에서는 Immich의 외부 접속 보안을 강화하기 위한 Nginx Proxy Manager 설정 방법이나, 백업 전략에 대해 더 자세히 다뤄볼 예정입니다. 궁금한 점이 있다면 언제든지 댓글로 남겨주세요!

    구글 포토와 Immich 기능 비교 인포그래픽

    구글 포토와 Immich의 주요 특징을 비교한 표입니다.

  • [HomeLabs] 홈랩 NAS OS 비교: TrueNAS, Unraid, OpenMediaVault 선택 가이드

    NAS OS, 뭘 골라야 할지 모르겠다면 — 이 글이 딱입니다

    홈랩을 처음 시작하거나, 기존 홈서버를 업그레이드하려고 할 때 가장 먼저 맞닥뜨리는 고민이 있죠. 바로 “NAS OS를 뭘 써야 하지?”라는 질문입니다.

    저도 딱 그랬거든요. 13년 전에 처음 홈랩을 꾸릴 때, 지금처럼 선택지가 많지 않았는데도 뭘 써야 할지 한참 고민했었습니다. 지금은 오히려 선택지가 너무 많아서 더 헷갈리는 상황이 됐더라고요. 홈랩 NAS OS 비교를 제대로 해놓은 한국어 글이 정말 드물어서, 제가 직접 써봤던 경험을 토대로 정리해 드리려고 합니다.

    오늘 다룰 세 가지는 TrueNAS, Unraid, OpenMediaVault(OMV)입니다. 이 셋이 현재 홈서버 커뮤니티에서 가장 널리 쓰이는 NAS 전용 OS들이에요. 각각 철학도 다르고, 강점도 다르고, 적합한 사용자 유형도 다릅니다. 끝까지 읽으시면 본인 상황에 맞는 선택이 보일 거예요.

    TrueNAS, Unraid, OpenMediaVault — 홈랩 NAS OS 3대장의 구조와 특성을 한눈에 비교한 다이어그램


    먼저 알아야 할 개념들 — NAS OS가 뭐가 다른 거야?

    일반 OS(Ubuntu, Windows)에 Samba나 NFS 서버를 올려도 NAS는 됩니다. 근데 왜 굳이 NAS 전용 OS를 쓰냐고요? 쉽게 말해서, 파일 서버에 특화된 기능들이 처음부터 내장되어 있기 때문입니다.

    • 스토리지 풀(Storage Pool): 여러 개의 디스크를 하나의 논리적 공간으로 묶는 기능
    • RAID / 패리티(Parity): 디스크 장애 시 데이터를 보호하는 기술
    • 스냅샷(Snapshot): 특정 시점의 파일 시스템 상태를 저장해두는 기능
    • SMB / NFS / AFP 공유: Windows, Linux, macOS와 파일을 주고받는 프로토콜
    • WebUI: 터미널 없이 웹 브라우저로 관리하는 인터페이스

    이런 것들을 일반 OS에서 직접 구성하려면 시간이 꽤 걸리는데, NAS OS는 이걸 다 묶어서 제공해 줍니다. 물론 각 OS마다 접근 방식이 완전히 다르거든요. 그게 핵심 차이입니다.


    TrueNAS — 기업급 신뢰성을 홈랩에

    TrueNAS가 뭔지 간단히

    TrueNAS는 iXsystems라는 회사에서 만든 오픈소스 NAS OS입니다. 예전에 FreeNAS라는 이름으로 불렸는데, 2020년에 TrueNAS CORE(FreeBSD 기반)와 TrueNAS SCALE(Linux/Debian 기반)로 분리됐어요.

    • TrueNAS CORE: FreeBSD 기반, ZFS 파일시스템, 오랜 역사와 안정성
    • TrueNAS SCALE: Linux(Debian) 기반, ZFS + 쿠버네티스(Kubernetes) 앱 지원

    핵심은 ZFS(제트파일시스템)입니다. ZFS는 데이터 무결성 검증, 스냅샷, 압축, 중복 제거 등 엔터프라이즈급 기능을 모두 갖춘 파일시스템이에요. 실제로 기업 스토리지에서도 쓰이는 기술이거든요.

    직접 써본 느낌

    제가 처음 TrueNAS CORE를 설치했을 때, 솔직히 WebUI가 좀 무겁다는 느낌을 받았습니다. 근데 한 번 익숙해지니까 이게 진짜 탄탄하더라고요. ZFS 풀을 구성하고 스냅샷 자동화 설정해두면, 데이터 보호 측면에서는 진짜 안심이 됩니다. 실제로 디스크 하나가 죽었을 때 데이터 손실 없이 교체한 경험이 있어요. 그때 TrueNAS 믿음이 생겼습니다 ㅎㅎ.

    TrueNAS 장단점

    • ✅ ZFS의 강력한 데이터 무결성 보호
    • ✅ 스냅샷, 복제(Replication) 기능이 훌륭함
    • ✅ 기업급 안정성, 오랜 커뮤니티
    • ✅ SCALE 버전은 Docker/쿠버네티스 앱 지원
    • ⚠️ ZFS 특성상 ECC 메모리 권장 (없어도 쓸 수는 있지만…)
    • ⚠️ RAM을 꽤 먹음 — ZFS ARC 캐시가 메모리를 적극 활용함
    • ⚠️ 디스크를 나중에 개별로 추가하기가 까다로움 (풀 단위로 관리)
    • ⚠️ 초보자에게는 진입 장벽이 있음

    이런 분께 추천

    데이터 보호를 최우선으로 생각하시는 분, 스냅샷과 복제를 활용한 백업 체계를 구축하고 싶은 분, 그리고 서버 하드웨어에 투자할 여유가 있는 분께 딱 맞습니다.


    Unraid — 유연함의 끝판왕

    Unraid는 왜 독특한가

    Unraid는 Lime Technology라는 회사의 상용 소프트웨어입니다. 무료가 아니에요 — 라이선스 구매가 필요합니다. 근데 홈랩 커뮤니티에서 엄청난 인기를 끌고 있는 이유가 있습니다.

    Unraid의 핵심 철학은 “다른 크기의 디스크를 자유롭게 섞어 쓸 수 있다”는 겁니다. 일반 RAID는 같은 크기의 디스크로 묶어야 하는데, Unraid는 그냥 디스크를 하나씩 배열(Array)에 추가하면 돼요. 4TB 하나, 8TB 하나, 12TB 하나 — 이렇게 섞어도 됩니다. 패리티(Parity) 디스크가 보호해주는 구조거든요.

    그리고 Docker 컨테이너와 VM(가상머신) 지원이 정말 잘 되어 있어요. Community Applications(CA)라는 앱 스토어 개념이 있어서, 클릭 몇 번으로 Plex, Jellyfin, Home Assistant 같은 앱을 설치할 수 있습니다. 처음 써봤을 때 “이거 진짜 편하다”는 생각이 절로 들더라고요.

    Unraid의 WebUI — 디스크 배열(Array), Docker 컨테이너, VM을 하나의 인터페이스에서 관리할 수 있다

    Unraid 장단점

    • ✅ 다른 크기의 디스크를 자유롭게 혼합 가능
    • ✅ 디스크 개별 추가/제거가 매우 유연함
    • ✅ Docker + VM 지원이 홈랩에 최적화
    • ✅ Community Applications(커뮤니티 앱 스토어)로 앱 설치 간편
    • ✅ WebUI가 직관적이고 초보자도 접근하기 쉬움
    • ⚠️ 유료 라이선스 필요 (USB 기반 라이선스 구조)
    • ⚠️ 배열 디스크가 개별 파일시스템(XFS/BTRFS)으로 관리됨 — ZFS 같은 통합 무결성 검증 없음
    • ⚠️ 패리티 검사(Parity Check) 중에는 성능이 떨어짐
    • ⚠️ 오픈소스가 아님

    이런 분께 추천

    다양한 크기의 디스크를 점진적으로 추가하며 스토리지를 늘리고 싶은 분, NAS + 미디어 서버 + 홈 자동화를 한 박스에서 다 해결하고 싶은 분, 그리고 설정의 편의성을 중요하게 생각하는 분께 강력 추천합니다.


    OpenMediaVault — 가볍고 오픈소스, 입문자의 친구

    OMV는 어떤 OS인가

    OpenMediaVault(이하 OMV)는 Debian Linux 기반의 완전 오픈소스 NAS OS입니다. 무료예요. FreeNAS(현 TrueNAS)의 초기 개발자 중 한 명이 만든 프로젝트라는 배경이 있습니다.

    OMV의 가장 큰 특징은 가볍다는 겁니다. 라즈베리 파이(Raspberry Pi)에도 설치할 수 있어요. 실제로 홈랩 입문자들이 라즈베리 파이 4에 OMV를 올려서 간단한 파일 서버를 구축하는 사례가 많습니다. 저도 테스트용으로 Pi에 올려봤는데, 설치 자체는 정말 간단하더라고요.

    플러그인(Plugin) 시스템으로 기능을 확장하는 구조입니다. OMV-Extras라는 서드파티 플러그인 저장소를 추가하면 Docker(Portainer), ZFS, 다양한 기능들을 추가할 수 있어요.

    OMV 장단점

    • ✅ 완전 무료 오픈소스
    • ✅ 저사양 하드웨어에서도 동작 (라즈베리 파이 포함)
    • ✅ Debian 기반이라 Linux 친숙한 분들에게 편함
    • ✅ 플러그인으로 기능 확장 가능
    • ✅ 기본 NAS 기능(SMB, NFS, FTP, rsync)은 충실하게 지원
    • ⚠️ 고급 스토리지 기능(ZFS 등)은 플러그인으로 추가해야 함
    • ⚠️ Unraid나 TrueNAS에 비해 커뮤니티 규모가 작음
    • ⚠️ Docker 환경 구성이 다른 OS에 비해 번거로울 수 있음
    • ⚠️ 대규모 스토리지 환경에는 적합하지 않을 수 있음

    이런 분께 추천

    예산이 빠듯한 입문자, 라즈베리 파이나 구형 PC를 활용하고 싶은 분, 단순 파일 공유 서버로만 쓸 분께 딱입니다. Linux를 어느 정도 다뤄본 분이라면 더욱 편하게 쓸 수 있어요.


    세 OS 한눈에 비교 — 어디서 뭐가 다른지

    TrueNAS vs Unraid vs OpenMediaVault 주요 항목 비교 — 홈랩 NAS OS 선택의 핵심 기준을 정리했다

    항목 TrueNAS CORE/SCALE Unraid OpenMediaVault
    기반 OS FreeBSD / Debian Linux Slackware Linux Debian Linux
    가격 무료 (오픈소스) 유료 (라이선스 구매 필요) 무료 (오픈소스)
    파일시스템 ZFS (기본) XFS / BTRFS (배열), ZFS(캐시) EXT4, XFS, BTRFS, ZFS(플러그인)
    디스크 혼합 어려움 (풀 단위 관리) 매우 자유로움 ⭐ 가능 (개별 마운트)
    Docker 지원 SCALE 버전 지원 기본 내장, 매우 편리 ⭐ 플러그인으로 가능
    VM 지원 SCALE 버전 지원 기본 내장 제한적
    데이터 무결성 ZFS 기반, 매우 강력 ⭐ 패리티 보호, 보통 파일시스템 의존
    최소 RAM 8GB 이상 권장 4GB 이상 권장 1GB도 가능 (Pi 등)
    진입 장벽 중~상 중 (WebUI 직관적) 하~중
    적합한 사용자 데이터 보호 중시, 중급 이상 홈랩 올인원, 중급 입문자, 저사양 환경

    실제 설치 — 이것만 알면 삽질 줄어듭니다

    TrueNAS 설치 시 주의사항

    TrueNAS는 설치 디스크(OS용)와 데이터 디스크를 반드시 분리해야 합니다. OS용으로 SSD나 USB를 별도로 쓰세요. 저도 처음에 이걸 몰라서 데이터 디스크에 OS 깔려고 했다가 낭패를 봤습니다 ㅎㅎ.

    # TrueNAS 설치 후 ZFS 풀 상태 확인
    zpool status
    
    # 풀 생성 예시 (RAIDZ1, 3개 디스크)
    zpool create tank raidz1 /dev/da1 /dev/da2 /dev/da3

    ⚠️ ZFS와 ECC 메모리 논쟁: 공식적으로 iXsystems는 ECC 메모리를 권장합니다. 단, 실제로 ECC 없이 쓰는 홈랩 유저도 많아요. 중요한 데이터라면 ECC를 갖추는 게 마음 편합니다.

    Unraid 설치 시 주의사항

    Unraid는 USB 드라이브에서 부팅하는 독특한 구조입니다. 라이선스가 USB 장치에 묶이거든요. 고품질 USB를 쓰세요 — 싸구려 USB 썼다가 부팅 안 되는 상황이 생길 수 있습니다.

    # Unraid에서 Docker 컨테이너 상태 확인 (터미널)
    docker ps
    
    # Unraid 배열 상태 확인
    mdcmd status
    
    # 디스크 목록 확인
    lsblk

    💡 팁: Unraid에서 캐시 풀(Cache Pool)을 SSD로 구성하면, 빠른 쓰기 후 배열로 이동하는 방식으로 성능을 크게 높일 수 있어요. 이걸 Mover라고 부릅니다.

    OpenMediaVault 설치 시 주의사항

    OMV는 Debian 설치하듯 진행됩니다. 라즈베리 파이에 설치할 때는 공식 스크립트를 사용해요.

    # 라즈베리 파이에 OMV 설치 스크립트 (공식 지원)
    wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
    
    # OMV-Extras 플러그인 추가 (Docker 등 확장 기능용)
    wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | sudo bash
    
    # OMV 서비스 상태 확인
    systemctl status openmediavault-engined

    ⚠️ OMV 메이저 버전 업그레이드 시 플러그인 호환성 문제가 간혹 발생합니다. 업그레이드 전에는 꼭 백업하세요.


    설치 후 기본 검증 — 이것만 확인하세요

    NAS OS 설치 완료 후 WebUI에서 스토리지 풀 상태, 공유 폴더, 서비스 상태를 확인하는 화면

    어떤 OS를 설치했든, 기본 동작 확인은 이렇게 해보세요.

    1. 스토리지 풀/배열 상태 확인: 모든 디스크가 정상적으로 인식되었는지, RAID/패리티 구성이 올바른지 확인
    2. SMB 공유(Samba) 테스트: Windows 파일 탐색기에서 \\NAS-IP\공유폴더로 접근되는지
    3. NFS 공유 테스트: Linux 클라이언트에서 마운트 확인
    4. 읽기/쓰기 속도 테스트: 대용량 파일 복사로 기본 성능 확인
    5. 스냅샷 또는 백업 설정: 데이터 보호 체계가 실제로 동작하는지
    # Linux에서 NFS 마운트 테스트
    sudo mount -t nfs NAS-IP:/mnt/pool/share /mnt/test
    df -h /mnt/test
    
    # 간단한 쓰기 속도 테스트
    dd if=/dev/zero of=/mnt/test/testfile bs=1G count=1 oflag=direct
    
    # SMB 연결 테스트 (smbclient)
    smbclient //NAS-IP/share -U username

    여기까지 다 됐다면 🎉 기본 설정은 완료입니다. 다음은 서비스별 세부 튜닝과 백업 자동화 설정이 남아 있어요. 이 부분은 다음 글에서 각 OS별로 자세히 다룰 예정입니다.


    자주 묻는 질문 (FAQ)

    Q. TrueNAS와 Unraid 중 뭐가 더 낫나요?

    데이터 보호와 스토리지 신뢰성이 최우선이면 TrueNAS, 다양한 앱을 돌리는 올인원 홈서버를 원하고 디스크를 유연하게 추가하고 싶다면 Unraid가 더 맞습니다. 둘 다 훌륭한 선택이에요.

    Q. OpenMediaVault는 홈랩에서 쓰기 부족하지 않나요?

    단순 파일 공유 목적이라면 전혀 부족하지 않습니다. 단, 고급 스토리지 기능이나 Docker 환경이 복잡해지면 다른 OS로 넘어가는 분들도 있어요. 입문용으로는 충분히 좋습니다.

    Q. 나중에 OS를 바꿀 수 있나요?

    기술적으로는 가능하지만, 데이터 마이그레이션이 필요합니다. 특히 ZFS 풀은 TrueNAS에서 Unraid로 바로 이전이 안 돼요. 처음 선택을 신중하게 하시는 게 좋습니다.

    Q. 하드웨어 최소 사양은 어떻게 되나요?

    OpenMediaVault는 라즈베리 파이 4(4GB RAM)에서도 잘 돌아갑니다. TrueNAS는 8GB RAM 이상, Unraid는 4GB 이상을 권장하는데, 실제로 Docker나 VM을 많이 돌리면 16GB 이상이 편합니다.


    마무리 — 결국 정답은 “내 상황에 맞는 것”

    13년 동안 다양한 NAS OS를 써온 결론을 한 줄로 정리하면 이렇습니다.

    “데이터 보호 최우선 → TrueNAS, 유연한 올인원 홈랩 → Unraid, 가볍게 시작 → OpenMediaVault”

    사실 어떤 OS를 선택하든, 제대로 백업 체계를 갖추는 게 가장 중요합니다. NAS OS가 아무리 좋아도 백업이 없으면 소용없거든요. 3-2-1 백업 규칙(원본 1개 + 로컬 사본 1개 + 오프사이트 사본 1개)은 어떤 OS에서든 지켜주세요.

    저는 현재 메인 NAS는 TrueNAS SCALE로, 미디어 서버 겸 실험용 박스는 Unraid로 운영하고 있습니다. 두 개를 같이 쓰는 것도 방법이에요 ㅎㅎ.

    다음 글에서는 TrueNAS SCALE에서 ZFS 스냅샷 자동화와 원격 복제 설정하는 방법을 자세히 다룰 예정입니다. 궁금한 점은 댓글로 남겨주세요. 제가 직접 경험한 범위 안에서는 최대한 답변 드리겠습니다! 😄

  • [HomeLabs] 홈서버 OS 비교: Proxmox VE, TrueNAS SCALE, Unraid, OMV 완벽 분석

    [HomeLabs] 홈서버 OS 비교: Proxmox VE, TrueNAS SCALE, Unraid, OMV 완벽 분석

    홈서버 OS 비교: Proxmox VE, TrueNAS SCALE, Unraid, OMV 완벽 분석

    💡 홈서버 OS, 이젠 선택이 아니라 필수! 무슨 기준으로 고르면 될까요?

    안녕하세요! 13년차 인프라 엔지니어, ’13년차의 서버실’ 블로그 주인장입니다. 요즘 홈서버에 대한 관심이 정말 뜨겁더라고요. 저도 퇴근하고 집에 오면 홈랩에서 이런저런 실험하는 재미로 살고 있거든요. 그런데 막상 홈서버를 구축하려고 하면 가장 먼저 부딪히는 벽이 바로 홈서버 OS(Operating System) 선택이 아닐까 싶어요. 저도 처음엔 Proxmox VE, TrueNAS, Unraid, OMV… 이름만 들어도 머리가 지끈거리고, ‘대체 뭘 써야 나한테 맞을까?’ 고민이 정말 많았거든요.

    혹시 이런 경험 있으신가요? ⚠️ ‘이거 좋다고 해서 깔아봤는데, 내 목적이랑은 안 맞네…’ 하고 다시 밀어버리는 삽질 말이죠. 저도 셀 수 없이 많이 해봤습니다. ㅎㅎ 그래서 오늘은 저처럼 시행착오를 겪고 있는 분들을 위해, 제가 직접 써보고 느꼈던 경험을 바탕으로 대표적인 홈서버 OS 4가지, Proxmox VE, TrueNAS SCALE, Unraid, OpenMediaVault (OMV)를 완벽하게 비교 분석해 드리려고 합니다. 이 글을 보시면 여러분의 홈서버에 딱 맞는 OS를 찾는 데 큰 도움이 되실 거예요!

    홈서버 OS 선택의 복잡성을 보여주는 다양한 구성 요소 연결 다이어그램

    다양한 홈서버 OS 중에서 나에게 맞는 것을 고르는 과정은 마치 미로를 탐험하는 것과 같습니다.

    개념 정리: 홈서버 OS, 왜 이렇게 다양할까요?

    본격적인 비교에 앞서, 각 OS가 추구하는 핵심 개념을 잠깐 짚고 넘어갈게요. 이걸 알아야 나에게 맞는 OS를 고르는 기준이 명확해지거든요.

    • 하이퍼바이저(Hypervisor): 한 대의 물리 서버 위에 여러 개의 가상 머신(VM, Virtual Machine)을 올릴 수 있게 해주는 소프트웨어예요. 서버 하드웨어를 효율적으로 나눠 쓰는 데 특화되어 있죠. Proxmox VE가 대표적입니다.
    • NAS OS: 네트워크 결합 스토리지(NAS, Network Attached Storage) 기능을 제공하는 OS예요. 여러 저장 장치를 묶어 파일 공유, 미디어 서버 등을 구축하는 데 최적화되어 있죠. TrueNAS SCALE, Unraid, OpenMediaVault가 이 범주에 속합니다.
    • 컨테이너(Container): VM보다 훨씬 가볍게 애플리케이션을 격리해서 실행하는 기술입니다. Docker(도커)나 Kubernetes(쿠버네티스)가 여기에 해당하죠. 요즘 홈랩에서는 VM과 함께 컨테이너 활용이 대세가 되고 있어요.

    이런 개념들을 머리에 넣고 각 OS의 특징을 살펴보면 훨씬 이해하기 쉬울 거예요. 그럼 이제 하나씩 자세히 들여다볼까요?

    Proxmox VE (프로목스 VE): 홈랩 가상화의 제왕

    ✅ 특징 및 저의 경험

    Proxmox VE는 KVM(Kernel-based Virtual Machine) 기반의 오픈소스 하이퍼바이저예요. 쉽게 말해, 윈도우나 리눅스 같은 다양한 OS를 가상 머신으로 여러 개 띄워서 쓸 수 있게 해주는 OS라고 보시면 돼요. 여기에 LXC(Linux Containers)라는 컨테이너 기능까지 지원해서, VM과 컨테이너를 한 곳에서 통합 관리할 수 있다는 게 정말 큰 장점이거든요.

    제가 처음 Proxmox를 접했을 때 ‘와, 이걸로 내 홈서버 하나에 윈도우 서버도 돌리고, NAS도 VM으로 올리고, 우분투 서버도 만들 수 있겠네?’ 하고 감탄했던 기억이 나네요. 웹 기반의 관리 GUI(Graphical User Interface)가 정말 잘 되어 있어서, 복잡한 설정도 마우스 클릭 몇 번으로 해결할 수 있더라고요. 엔터프라이즈급 기능들을 홈랩에서 무료로 써볼 수 있다는 점이 매력적이었어요.

    👍 장점

    • 강력한 가상화 기능: KVM과 LXC를 이용해 다양한 OS를 효율적으로 운영할 수 있습니다.
    • 웹 기반 GUI: 직관적인 웹 인터페이스로 VM, 컨테이너, 네트워크, 스토리지를 쉽게 관리할 수 있어요.
    • 오픈소스 및 활발한 커뮤니티: 무료로 사용할 수 있고, 문제가 생겼을 때 정보를 찾기 쉽습니다.
    • 리소스 효율성: 하드웨어 리소스를 여러 VM/컨테이너에 유연하게 배분하여 활용도를 극대화할 수 있습니다.

    👎 단점 및 ⚠️ 주의사항

    • 스토리지 관리 기능: 자체적인 NAS 기능은 없어요. TrueNAS나 OMV를 VM으로 올려서 사용하는 경우가 많습니다.
    • ZFS 구성의 복잡성: Proxmox에서도 ZFS를 지원하지만, 초기 구성이나 관리가 초보자에게는 다소 어렵게 느껴질 수 있어요.
    • 초기 학습 곡선: 가상화 개념이 익숙하지 않다면 처음엔 좀 헤맬 수 있습니다.
    Proxmox VE 웹 인터페이스 대시보드 스크린샷

    Proxmox VE의 직관적인 웹 대시보드. 여러 가상 머신과 컨테이너의 상태를 한눈에 확인할 수 있습니다.

    TrueNAS SCALE (트루NAS 스케일): 스토리지와 컨테이너의 완벽한 조화

    ✅ 특징 및 저의 경험

    TrueNAS SCALE은 강력한 ZFS(Zettabyte File System) 기반의 NAS OS예요. 데이터의 무결성과 안정성을 최우선으로 생각하는 분들에게는 거의 표준처럼 여겨지죠. 기존의 FreeBSD 기반 TrueNAS CORE와 달리, Debian Linux를 기반으로 만들어져 KVM 가상화와 Docker/Kubernetes(Apps)를 기본으로 지원한다는 점이 핵심입니다.

    제가 TrueNAS SCALE을 써보면서 가장 놀랐던 건 ZFS의 강력함이었어요. 스냅샷(Snapshot), 데이터 중복 제거(Deduplication), 자가 복구(Self-healing) 같은 기능들은 정말 ‘내 데이터는 안전하겠구나!’ 하는 안도감을 주더라고요. 그리고 Docker 컨테이너를 ‘Apps’라는 이름으로 웹 GUI에서 쉽게 설치하고 관리할 수 있어서, Plex Media Server, Home Assistant 같은 다양한 서비스들을 정말 편하게 올릴 수 있었습니다. NAS 기능과 앱 활용을 동시에 잡고 싶은 분들에게 정말 좋은 선택지라고 생각했어요.

    👍 장점

    • 최강의 데이터 보호: ZFS를 통해 데이터 무결성과 안정성을 보장해요. 스냅샷 기능은 랜섬웨어 방어에도 효과적하죠.
    • 컨테이너 앱 통합: Docker/Kubernetes 기반의 ‘Apps’ 기능을 통해 다양한 서비스를 쉽게 배포하고 관리할 수 있습니다.
    • 쉬운 웹 GUI: 직관적인 웹 인터페이스로 스토리지, 네트워크, 앱 등을 편리하게 관리할 수 있어요.
    • KVM 가상화 지원: NAS 기능과 함께 가상 머신도 운영할 수 있어 활용도가 높습니다.

    👎 단점 및 ⚠️ 주의사항

    • 높은 메모리 요구량: ZFS는 RAM을 많이 사용해요. 최소 16GB, 안정적인 운영을 위해서는 32GB 이상을 권장합니다.
    • 하드웨어 제약: ZFS 특성상 드라이브 추가/교체가 Unraid처럼 유연하지 않습니다. 처음 구성 시 신중해야 해요.
    • 업데이트 시 주의: 아직 비교적 신생 OS라 업데이트 시 버그가 발생할 가능성이 있어요. 항상 백업 후 진행하는 것이 좋습니다.

    Unraid (언레이드): 유연한 스토리지와 도커의 천국

    ✅ 특징 및 저의 경험

    Unraid는 다른 NAS OS와는 조금 다른 독특한 스토리지 방식을 채택하고 있어요. 패리티 드라이브(Parity Drive)를 사용해서 데이터 보호를 하면서도, 드라이브 용량과 종류에 상관없이 유연하게 스토리지를 확장할 수 있다는 점이 가장 큰 매력이거든요. 여기에 Docker(도커)와 KVM 기반의 VM 기능을 아주 강력하게 지원해서, 홈랩 사용자들 사이에서 인기가 많죠.

    제가 Unraid를 써보면서 가장 감탄했던 부분은 바로 ‘유연성’이었어요. 굴러다니는 하드디스크가 있으면 그냥 끼워서 확장하면 끝이거든요. 굳이 같은 용량의 드라이브를 여러 개 맞춰 살 필요가 없다는 게 정말 편했어요. 게다가 Community Applications라는 플러그인을 통해 Docker 컨테이너를 설치하는 과정은 정말 ‘신세계’였습니다. 클릭 몇 번으로 원하는 앱을 바로 설치할 수 있으니, 삽질할 시간이 확 줄어들더라고요. 유료 OS이긴 하지만, 그만한 가치를 한다고 느꼈어요.

    👍 장점

    • 뛰어난 스토리지 유연성: 다양한 용량/종류의 드라이브를 섞어 쓸 수 있고, 확장이 매우 쉬워요.
    • 최강의 Docker 지원: Community Applications를 통해 수많은 Docker 컨테이너를 쉽고 빠르게 설치, 관리할 수 있습니다.
    • 쉬운 VM 관리: KVM 기반으로 가상 머신도 손쉽게 운영할 수 있어요.
    • 낮은 전력 소비: 사용하지 않는 드라이브는 스핀 다운(Spin Down) 시켜 전력 소모를 줄일 수 있습니다.

    👎 단점 및 ⚠️ 주의사항

    • 유료 라이선스: 무료가 아니에요. 하지만 한 번 구매하면 영구적으로 사용할 수 있습니다.
    • ZFS 같은 데이터 무결성 보장은 아님: 패리티 드라이브 기반이라 ZFS처럼 완벽한 데이터 무결성을 보장하지는 않아요.
    • 쓰기 성능: 단일 드라이브에 쓰기 때문에 쓰기 성능이 드라이브 하나 속도에 제약됩니다. 읽기 성능은 병렬로 이루어져 빨라요.
    • USB 부팅 필수: OS가 USB 메모리에 설치되어 부팅 시 필요합니다.

    OpenMediaVault (OMV, 오픈미디어볼트): 가볍고 확장성 좋은 무료 NAS

    ✅ 특징 및 저의 경험

    OpenMediaVault (OMV)는 Debian Linux를 기반으로 하는 오픈소스 NAS OS예요. 가볍고 안정적이며, 다양한 플러그인을 통해 기능을 확장할 수 있다는 점이 큰 장점이거든요. 저사양 시스템에서도 잘 작동하기 때문에, 남는 PC나 라즈베리 파이 같은 SBC(Single Board Computer)로 NAS를 구축하려는 분들에게 인기가 많아요.

    제가 OMV를 써봤을 때 가장 인상 깊었던 건 ‘가벼움’이었어요. 오래된 노트북에 설치해봤는데도 전혀 버벅거림 없이 NAS 기능을 잘 수행하더라고요. Docker 플러그인을 설치하면 컨테이너도 쉽게 운영할 수 있어서, 기본적인 NAS 기능에다 Plex 같은 미디어 서버나 파일 동기화 서비스 등을 추가하기에 정말 좋았습니다. 복잡한 가상화나 ZFS 같은 고급 기능보다는, 안정적인 파일 저장과 공유, 그리고 몇 가지 앱만 돌리고 싶은 분들에게 강력 추천해요!

    👍 장점

    • 무료 및 오픈소스: 비용 부담 없이 강력한 NAS 기능을 사용할 수 있어요.
    • 가볍고 안정적: 저사양 하드웨어에서도 쾌적하게 작동하며, Debian 기반이라 안정성이 뛰어나요.
    • 다양한 플러그인: Docker, Rsync, S.M.A.R.T. 등 다양한 플러그인을 통해 기능을 확장할 수 있습니다.
    • 쉬운 설치 및 관리: 웹 GUI를 통해 기본적인 설정과 관리가 용이해요.

    👎 단점 및 ⚠️ 주의사항

    • 제한적인 고급 기능: ZFS 같은 강력한 데이터 보호 기능이나, Proxmox/TrueNAS SCALE/Unraid처럼 통합된 가상화 기능은 없어요 (플러그인으로 Docker만 지원).
    • 상대적으로 부족한 GUI 기능: 다른 OS에 비해 GUI에서 제공하는 기능이 다소 제한적일 수 있습니다.
    • 커뮤니티 지원: TrueNAS나 Proxmox만큼 거대하지는 않지만, 충분히 활성화되어 있어요.

    4가지 홈서버 OS, 한눈에 비교하기!

    이제까지 살펴본 4가지 홈서버 OS의 주요 특징들을 표로 정리해봤어요. 어떤 OS가 여러분의 상황에 가장 적합한지 판단하는 데 도움이 되셨으면 좋겠네요.

    구분 Proxmox VE TrueNAS SCALE Unraid OpenMediaVault (OMV)
    주요 기능 가상화(VM), 컨테이너(LXC) NAS(ZFS), 컨테이너(Docker/K8s), 가상화(KVM) NAS(유연한 스토리지), 컨테이너(Docker), 가상화(KVM) NAS(Debian 기반), 컨테이너(Docker 플러그인)
    기반 OS Debian Linux Debian Linux Slackware Linux (커스텀) Debian Linux
    스토리지 특징 다양한 스토리지 지원 (ZFS, LVM, Ceph 등) ZFS (강력한 데이터 보호) 패리티 드라이브 (유연한 확장) EXT4, XFS 등 (기본 리눅스 파일시스템)
    가상화 지원 KVM (매우 강력) KVM (통합 지원) KVM (통합 지원) 제한적 (Docker만 공식 지원)
    컨테이너 지원 LXC (매우 강력) Docker/Kubernetes (Apps) Docker (Community Apps) Docker (플러그인)
    가격 무료 (유료 서브스크립션 옵션) 무료 유료 (영구 라이선스) 무료
    권장 사용자 복수의 VM/컨테이너 운영, 하드웨어 활용 극대화 데이터 안전성 최우선, NAS와 앱/VM 통합 스토리지 유연성, Docker 앱 위주, 다양한 하드웨어 가볍고 안정적인 NAS, 저사양 시스템, 리눅스 친화적
    난이도 중상 중 중하 하

    홈서버 OS 4가지의 주요 특징을 한눈에 비교해볼 수 있는 요약표입니다.

    Proxmox VE, TrueNAS SCALE, Unraid, OMV 4가지 홈서버 OS 주요 특징 비교 인포그래픽

    Proxmox VE, TrueNAS SCALE, Unraid, OMV의 핵심 기능을 시각적으로 비교한 인포그래픽. 각 OS의 강점과 약점을 한눈에 파악할 수 있어요.

    그래서, 어떤 OS를 고르면 될까요? (저의 삽질 경험 기반 추천)

    자, 이제 가장 중요한 질문이죠. ‘그래서 뭘 써야 하냐고?!’ 제 경험을 바탕으로 간단하게 정리해 드릴게요.

    • 나는 정말 다양한 OS를 VM으로 돌리고 싶고, 하드웨어 리소스를 끝까지 뽑아내고 싶다! ➡️ Proxmox VE가 정답입니다. 여기에 NAS는 TrueNAS SCALE이나 OMV를 VM으로 올려서 쓰는 구성이 일반적이에요. 저도 처음엔 Proxmox로 시작해서 리눅스, 윈도우 서버 다 돌려봤었죠.
    • 데이터 안전성이 최우선이고, NAS 기능과 함께 컨테이너 앱도 안정적으로 쓰고 싶다! ➡️ TrueNAS SCALE을 추천해요. ZFS의 강력함은 정말 경험해봐야 알 수 있거든요. 다만, 메모리 투자를 좀 하셔야 합니다.
    • 집에 굴러다니는 하드디스크가 많고, 유연하게 스토리지를 확장하면서 Docker 위주로 홈랩을 꾸미고 싶다! ➡️ Unraid가 최고의 선택일 수 있어요. 유료라는 점만 감수한다면 정말 ‘삶의 질’이 달라지는 경험을 하실 거예요. 저도 한동안 Unraid의 매력에 푹 빠져 있었거든요.
    • 저사양 PC나 라즈베리 파이로 가볍게 NAS를 구축하고 싶고, 파일 공유와 몇 가지 앱만 돌리면 충분하다! ➡️ OpenMediaVault (OMV)가 가장 합리적인 선택이에요. 무료이면서도 필요한 기능은 다 가지고 있거든요.

    결국 ‘자신의 주 목적’이 무엇인지 파악하는 것이 가장 중요해요. 저도 처음엔 이게 뭔가 싶어서 Proxmox로 시작했다가 NAS 기능 때문에 TrueNAS도 써보고, Unraid의 유연성에 혹하기도 했거든요. 여러 OS를 설치하고 지우는 삽질 끝에 깨달은 건, ‘완벽한 OS는 없고, 내게 가장 잘 맞는 OS가 최고다’라는 사실이었습니다. 여러분도 이 글을 참고하셔서 자신에게 딱 맞는 홈서버 OS를 찾으시길 바랄게요! 💡

    홈서버 OS 선택 가이드를 위한 결정 트리 플로우차트

    당신의 홈서버 목적에 따라 최적의 OS를 선택할 수 있도록 돕는 결정 트리 다이어그램입니다.

    🎉 마무리: 나만의 홈랩, 즐거운 삽질의 시작!

    오늘은 Proxmox VE, TrueNAS SCALE, Unraid, OpenMediaVault까지, 대표적인 홈서버 OS 4가지를 비교 분석해봤어요. 각 OS마다 장단점이 명확하죠? 어떤 OS를 고르시든, 홈랩 구축은 정말 즐거운 경험이 될 거라고 확신합니다. 때로는 예상치 못한 문제에 부딪혀 ‘삽질’을 할 수도 있지만, 그 과정에서 배우는 것이 정말 많거든요.

    홈랩은 말 그대로 ‘나만의 실험실’이잖아요? 여러분의 아이디어와 상상력을 마음껏 펼쳐보세요. 궁금한 점이 있다면 언제든지 댓글로 남겨주시고요! 다음번에는 제가 Proxmox VE에 TrueNAS SCALE을 VM으로 설치해서 쓰는 방법에 대해 자세히 다뤄볼까 합니다. 기대해주세요! 😄