13년차의 서버실

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

[태그:] TrueNAS SCALE

  • [Proxmox] Proxmox TrueNAS SCALE ZFS 비교: 홈랩 선택 가이드

    [Proxmox] Proxmox TrueNAS SCALE ZFS 비교: 홈랩 선택 가이드

    Proxmox TrueNAS SCALE ZFS 비교: 홈랩 스토리지 선택 가이드

    Proxmox TrueNAS SCALE ZFS 비교를 찾다 보면 결국 부딪히는 건 기능표보다 장애를 어떻게 감당할지입니다. 저도 홈랩 NAS를 몇 번 갈아엎고 나서야 이걸 제대로 봤습니다. 둘 다 ZFS를 쓴다는 사실보다, 문제가 났을 때 어느 계층을 먼저 의심해야 하는 구조인가가 훨씬 중요하더라고요.

    같은 디스크, 같은 HBA, 같은 ZFS라도 Proxmox VE는 VM과 LXC가 주인공인 설계에 가깝고, TrueNAS SCALE은 데이터셋과 공유 정책이 중심입니다. 참고로 TrueNAS SCALE은 2025년 25.04 계열부터 커뮤니티 에디션 명칭이 함께 쓰이지만, 검색과 실사용 맥락에선 여전히 TrueNAS SCALE이라는 표현이 널리 남아 있습니다. 그래서 둘 중 무엇이 더 낫냐고 묻기보다, 내 홈랩에서 가장 먼저 살아 있어야 하는 것이 VM인지 데이터인지부터 정하는 쪽이 훨씬 정확합니다.

    운영 피로도도 빼놓기 어렵습니다. 한 대 서버에 VM, LXC, SMB, NFS, iSCSI, 백업 저장소까지 전부 몰아넣으면 평소엔 편해 보여도 디스크 이슈가 한 번 터졌을 때 복구 동선이 길어집니다. 저도 초기에 부팅 풀과 VM 스토리지, 백업 파일을 너무 가깝게 붙여놨다가 유지보수 창에서 손이 괜히 빨라지는 경험을 했거든요. 홈랩은 성능 숫자보다도 구조를 단순하게 유지하는 능력이 오래 갑니다.

    Proxmox TrueNAS SCALE ZFS 비교를 보여주는 홈랩 아키텍처 다이어그램

    Proxmox VE와 TrueNAS SCALE이 각각 어떤 위치에서 가장 빛나는지 한눈에 보여주는 홈랩 구성 예시입니다.

    왜 Proxmox TrueNAS SCALE ZFS 비교가 자주 나올까요?

    겉으로 보면 둘 다 웹 UI가 있고, 둘 다 ZFS를 쓰고, 둘 다 스냅샷을 말합니다. 그런데 실제 운영 동선은 꽤 다릅니다. Proxmox VE는 저장소를 게스트 워크로드를 올려두는 기반으로 보고, TrueNAS SCALE은 저장소를 권한, 공유, 스냅샷, 복제 정책을 설계하는 대상으로 다룹니다.

    이 차이는 같은 작업을 할 때도 바로 드러납니다. Proxmox VE에선 "이 VM 디스크를 어디 둘까"가 먼저고, TrueNAS SCALE에선 "이 데이터셋을 누구에게 어떤 프로토콜로 공개할까"가 먼저입니다. 둘 다 ZFS 위에서 돌아가지만, 관리 UI가 사용자를 유도하는 방향이 달라서 실제 사용감도 꽤 다릅니다.

    제가 보기엔 이 비교에서 가장 많이 놓치는 포인트가 하나 있습니다. ZFS를 잘 쓰는 것과 ZFS를 얹은 제품을 잘 운영하는 것은 다른 문제라는 점입니다. 전자는 풀 상태와 데이터셋 구조, 스냅샷 정책의 문제이고, 후자는 장애 범위와 복구 순서, 권한 모델, 서비스 의존성의 문제입니다.

    핵심 개념: ZFS 기반 홈랩 스토리지를 어떻게 봐야 하나

    1. Proxmox VE는 "VM이 주인공"인 구조

    Proxmox VE에서 ZFS는 보통 VM 디스크, 컨테이너 루트 파일시스템, 스냅샷, 복제, 백업 작업의 기반으로 쓰입니다. 즉 스토리지 관리의 중심이 파일 공유가 아니라 게스트 워크로드의 수명주기에 붙어 있습니다. Kubernetes 테스트 노드, 방화벽 VM, DB 실험 환경, Git 러너, 내부 서비스처럼 VM과 LXC가 자주 생겼다 지워지는 환경이라면 이 흐름이 정말 자연스럽습니다.

    • 장점: VM/LXC 생성과 삭제, 스냅샷, 스토리지 매핑 동선이 짧습니다.
    • 장점: 하이퍼바이저와 스토리지가 같은 컨텍스트에 있어 초기 구축 속도가 빠릅니다.
    • 주의: 파일 서버 역할까지 한 박스에 합치면 장애 분석에서 컴퓨트와 스토리지가 한 번에 얽힙니다.
    • 주의: 백업 파일까지 같은 풀에 두면 "백업은 있는데 공간이 부족해 복구가 불편한" 상황이 생기기 쉽습니다.

    2. TrueNAS SCALE은 "데이터가 주인공"인 구조

    TrueNAS SCALE은 데이터셋 경계, 공유 정책, 스냅샷, 복제, SMB/NFS/iSCSI 제공이 우선입니다. VM 기능도 있지만 운영 감각으로 보면 "가상화가 가능한 NAS"에 더 가깝습니다. 가족 사진, 미디어 라이브러리, 백업 저장소, 다른 하이퍼바이저에 제공할 공유 스토리지, 장기 보관 데이터처럼 데이터 수명주기가 먼저인 환경에서 확실히 손에 맞습니다.

    • 장점: 데이터셋 기준으로 권한, 스냅샷, 공유 대상을 나누기 쉽습니다.
    • 장점: SMB, NFS, iSCSI처럼 외부 소비자가 많은 환경에서 관리 포인트가 명확합니다.
    • 주의: VM 운영을 주력으로 삼으면 Proxmox보다 동선이 길고, 하이퍼바이저 관점의 자동화도 덜 자연스럽습니다.
    • 주의: NAS 안에서 애플리케이션과 스토리지를 함께 굴릴 때도 결국 I/O 혼합 문제는 피하기 어렵습니다.

    Proxmox VE vs TrueNAS SCALE 비교 표

    비교 항목 Proxmox VE TrueNAS SCALE 실무 판단 포인트
    핵심 역할 가상화 호스트 NAS 및 공유 스토리지 게스트가 우선이면 Proxmox, 데이터 보존이 우선이면 TrueNAS
    ZFS를 바라보는 관점 VM 디스크와 컨테이너 저장소 데이터셋, 공유, 스냅샷, 복제 같은 ZFS라도 운영 질문이 다릅니다
    장애 시 영향 범위 올인원일수록 VM과 파일 서비스가 함께 영향 분리형이면 NAS 장애를 별도 격리 가능 장애 절연이 중요하면 분리형이 유리합니다
    가상화 경험 KVM, LXC 중심으로 매우 자연스러움 가능하지만 주력 워크플로는 아님 실험용 서비스가 많을수록 Proxmox 쪽 손이 덜 갑니다
    공유 프로토콜 운영 외부 스토리지 소비자 역할에 적합 SMB, NFS, iSCSI 제공자 역할에 적합 다른 장비에 스토리지를 배포할수록 TrueNAS가 편합니다
    설정 실수의 흔한 형태 부팅 풀, VM 풀, 백업 위치를 과하게 합침 데이터셋 경계 없이 공유부터 만듦 문제는 기능 부족보다 초기 구조 설계에서 시작됩니다
    확장 방향 클러스터, 노드 증설, 게스트 확장 스토리지 증설, 복제, 보관 체계 확장 확장 축이 컴퓨트인지 스토리지인지 먼저 정해야 합니다
    추천하지 않는 경우 메인 가족 데이터와 백업을 한 호스트에 몰아둘 때 VM 자동화와 잦은 게스트 실험이 주업무일 때 주요 목표와 제품 성격이 어긋나면 운영 피로도가 커집니다

    제가 직접 굴려보며 정리한 현실적인 배치 패턴

    홈랩에선 대체로 세 가지 구조로 정리됩니다.

    1. 올인원 Proxmox VE: 한 대 서버에 Proxmox VE와 ZFS를 올리고, VM과 LXC를 로컬 스토리지에서 직접 운영
    2. 분리형: Proxmox VE는 컴퓨트, TrueNAS SCALE은 스토리지 전용으로 역할 분리
    3. TrueNAS 중심: 파일 서버와 백업이 주력이고, VM은 소수만 운영

    초기 구축 난이도만 보면 1번이 가장 쉽습니다. 장비도 덜 들고, 네트워크 설계도 단순합니다. 다만 올인원은 문제가 나기 전까지는 단순하고, 문제가 난 뒤에는 복잡해지는 구조입니다. 반대로 2번은 처음부터 케이블, 스위치, 전력, 장비 공간을 더 생각해야 하지만 장애가 났을 때 원인 분리가 빠릅니다. 3번은 홈 미디어, 문서 보관, 백업 허브처럼 데이터 중심 가정 환경에 잘 맞습니다.

    제 기준으로는 이렇게 나뉩니다. 하루에 VM을 여러 번 만들고 지우거나, LXC 템플릿과 테스트 클러스터를 자주 만지면 Proxmox VE 쪽이 맞습니다. 반면 파일 공유, 스냅샷, 복제, ACL, 사용자 권한, 백업 보존 기간이 더 중요하면 TrueNAS SCALE이 더 손에 맞습니다. 양쪽이 모두 중요하다고 느껴지는 시점부터는 사실상 분리형으로 가는 편이 덜 후회하더라고요.

    가상화 노드와 NAS를 역할별로 분리했을 때 관리 포인트가 어떻게 달라지는지 보여주는 예시입니다.

    실전 구현 1: Proxmox VE에서 ZFS 상태 확인과 스토리지 구조 점검

    운영 전에 가장 먼저 볼 건 성능 수치가 아니라 풀의 건강 상태와 저장소 역할 분리입니다. ZFS가 불안정한데 그 위에 VM을 계속 얹는 건, 바닥이 젖은 창고에 선반부터 세우는 느낌과 비슷합니다.

    zpool status -v
    zpool list -o name,size,alloc,free,frag,health
    zfs list -o name,used,avail,refer,mountpoint
    pvesm status
    journalctl -u pvestatd --since -1h

    위 명령은 Proxmox VE에서 ZFS 상태와 스토리지 인식 상태를 빠르게 같이 볼 때 유용합니다. 특히 pvesm status와 journalctl -u pvestatd는 ZFS 자체 문제인지, 아니면 Proxmox가 저장소를 인식하는 상위 계층 문제인지 가르는 데 도움이 됩니다.

    • zpool status -v: ONLINE이 아니면 성능 튜닝보다 원인 확인이 먼저입니다.
    • zpool list: 공간뿐 아니라 frag와 health를 같이 봅니다. 용량 여유가 부족한 풀은 성능보다 운영 여유가 먼저 줄어듭니다.
    • pvesm status: Proxmox가 인식하는 저장소가 비정상인지, 단지 ZFS CLI 상의 문제인지 구분합니다.
    • journalctl -u pvestatd: 스토리지 인식 지연, 타임아웃, 마운트 문제 같은 상위 계층 신호를 볼 때 유용합니다.

    Proxmox VE 쪽에선 저장소를 기능별로 나누는 게 중요합니다. 특히 VM 디스크와 ISO, 템플릿, 백업 파일을 같은 경로에 몰아두면 관리가 금방 흐려집니다.

    zfspool: local-zfs
        pool rpool/data
        content images,rootdir
        sparse 0
    
    dir: local
        path /var/lib/vz
        content iso,vztmpl
    
    dir: backup-store
        path /mnt/backup
        content backup

    이 예시는 Proxmox VE의 /etc/pve/storage.cfg에 들어가는 형태를 기준으로 한 겁니다. 포인트는 단순합니다. local-zfs는 게스트용, local은 설치 자산용, backup-store는 복구 자산용입니다. 이 셋이 섞이기 시작하면 장애가 났을 때 판단이 흐려집니다.

    또 하나, Proxmox에서 ZFS를 쓸 때는 데이터셋 속성만 보지 말고 게스트 유형별 I/O 패턴을 먼저 떠올리는 게 좋습니다. 예를 들어 로그가 많은 리눅스 VM과 대용량 미디어 파일은 같은 디스크라도 이상적인 속성이 다릅니다. VM 디스크는 무작정 큰 블록이 유리하다고 보기 어렵고, 미디어 저장소는 너무 작은 블록이 오히려 메타데이터 부담만 늘릴 수 있습니다.

    실전 구현 2: TrueNAS SCALE 쪽에서 ZFS 데이터셋과 공유 전에 꼭 보는 것

    TrueNAS SCALE에서는 공유를 열기 전에 데이터셋 경계를 먼저 설계하는 게 핵심입니다. 제 경험상 여기서 서두르면 나중에 ACL, 스냅샷 정책, 복제 범위를 다시 뜯게 됩니다. 홈랩에서 자주 쓰는 패턴은 vmstore, backup, media, homes처럼 용도별로 쪼개는 방식입니다.

    zpool status -v
    zfs list -r tank
    zfs create -o compression=lz4 -o atime=off tank/backup
    zfs create -o compression=lz4 -o atime=off -o recordsize=1M tank/media
    zfs create -o compression=lz4 -o atime=off tank/homes
    zfs snapshot tank/backup@pre-share-change
    zfs get compression,atime,recordsize,mountpoint tank/media

    이 명령 자체보다 더 중요한 건 왜 데이터셋을 나눴는가입니다. TrueNAS 공식 문서도 공유를 만들기 전에 데이터셋과 zvol을 먼저 구조화하는 흐름을 권장합니다. 이 순서를 지키면 나중에 권한과 스냅샷 정책이 덜 꼬입니다.

    • backup: 변경 빈도와 보존 정책이 중요합니다.
    • media: 큰 파일 위주면 작은 블록 이득이 거의 없고, 오히려 메타데이터 부담이 커질 수 있습니다.
    • homes: 사용자 권한과 스냅샷 복구 포인트가 더 중요합니다.

    여기서 자주 생기는 실수가 있습니다. SMB 공유부터 먼저 만들고 나중에 데이터셋을 분리하는 방식입니다. 가능은 하지만 운영이 길어질수록 권한 모델과 스냅샷 범위가 꼬이기 쉽습니다. TrueNAS SCALE은 UI가 잘 되어 있어 보여도, 기반은 결국 ZFS입니다. 경계는 UI가 아니라 데이터셋에서 잡아야 나중이 편합니다.

    VM용 블록 스토리지를 제공할 계획이라면 zvol 설계도 초기에 생각해두는 편이 좋습니다. 특히 volblocksize는 만든 뒤 변경이 까다롭기 때문에, 나중에 성능이 마음에 안 들어 구조를 다시 만지는 경우가 적지 않습니다.

    zfs create -V 500G -o compression=lz4 -o volblocksize=16K tank/vmstore/proxmox-iscsi-01
    zfs get volblocksize,compression,used,referenced tank/vmstore/proxmox-iscsi-01

    여기서 16K는 예시일 뿐 정답은 아닙니다. 워크로드에 따라 더 작거나 큰 값이 맞을 수 있습니다. 핵심은 블록 스토리지는 파일 공유 데이터셋과 다르게 생각해야 한다는 점입니다. 미디어 보관용 데이터셋과 VM용 zvol을 같은 감각으로 만들면 나중에 체감이 어색해집니다.

    TrueNAS SCALE ZFS 데이터셋과 홈랩 NAS 설정을 표현한 이미지

    데이터셋을 먼저 나누고 공유를 나중에 여는 흐름이 왜 중요한지 보여주는 구성 예시입니다.

    재현 가능한 시나리오: VM 저장소와 NAS 저장소를 한 풀에 같이 둔 경우

    이건 홈랩에서 정말 흔합니다. 한 대 서버에 Proxmox VE를 올리고, 같은 ZFS 풀에 VM 디스크, 미디어 파일, 백업 아카이브, 다운로드 작업 디렉터리까지 다 넣는 구조죠. 평소엔 잘 굴러가도 서로 다른 I/O 패턴이 겹치는 순간 반응이 확 달라집니다. 예를 들어 백업 압축, 미디어 라이브러리 스캔, VM 패키지 업데이트가 겹치면 게스트 내부에서 체감이 둔해집니다.

    이때 CPU와 RAM을 먼저 의심하기 쉽지만 실제 병목은 스토리지 큐와 지연일 때가 많습니다. 그래서 필요한 건 감이 아니라 관찰입니다.

    iostat -x 1
    zpool iostat -v 1
    qm list
    pct list

    이 조합은 디스크 지연과 풀별 I/O, 그리고 실제로 어떤 게스트가 떠 있는지를 같이 보는 데 좋습니다. 짧은 스파이크보다 지속적으로 길어지는 대기 시간이 더 위험 신호인 경우가 많습니다.

    • iostat -x 1: 특정 디스크의 대기 시간이 길게 유지되는지 봅니다.
    • zpool iostat -v 1: 풀 전체가 아니라 특정 vdev만 바쁜지 구분합니다.
    • qm list, pct list: 어떤 게스트가 실제로 그 시간대에 스토리지를 적극 사용 중인지 대조합니다.

    여기서 핵심 판단은 "더 튜닝할까"보다 "이 워크로드를 같은 풀에 계속 둘 가치가 있나"입니다. 홈랩에선 성능 최적화보다 역할 분리가 더 큰 효과를 내는 경우가 많습니다. 메인 가족 사진과 테스트 VM을 한 운명으로 묶어두는 건, 실험의 자유를 데이터 안전과 교환하는 선택이 되기 쉽습니다.

    실패 모드별로 보는 근본 원인: 겉증상보다 구조를 봐야 합니다

    겉으로 보이는 문제 실제 근본 원인 Proxmox VE에서의 대응 TrueNAS SCALE에서의 대응
    VM이 갑자기 느려짐 백업, 스캔, 대용량 복사로 인한 I/O 혼합 게스트용 풀과 백업 경로 분리, 작업 시간대 분리 공유용 데이터셋과 블록 스토리지 경계 재설계
    공유는 열리는데 접근 권한이 이상함 SMB 설정보다 데이터셋 권한과 ACL 모델 불일치 외부 NAS 권한 모델 확인, 마운트 옵션 재점검 공유 재생성보다 데이터셋 권한과 ACL부터 점검
    백업은 있는데 복구가 불안함 백업 파일이 원본과 같은 풀 또는 같은 장애 도메인에 존재 백업 저장소를 별도 장치나 원격 대상으로 분리 복제 대상 풀 또는 별도 장비 준비
    재부팅 후 저장소 인식이 흔들림 의존 서비스 순서, 패스스루 장치 인식 지연, 마운트 타이밍 문제 스토리지 유형별 활성화 상태와 로그 확인 풀 import 상태와 장치 안정성, 컨트롤러 인식 확인
    스냅샷은 많은데 실제 복원이 번거로움 데이터셋 경계가 커서 롤백 범위가 과도함 VM 단위와 스토리지 단위 스냅샷 전략 분리 용도별 데이터셋 재구성 후 정책 분리

    ⚠️ 주의사항과 트러블슈팅: 제가 많이 부딪힌 부분

    디스크 패스스루(pass-through)로 TrueNAS를 VM 안에 넣는 경우

    Proxmox 위에 TrueNAS SCALE VM을 올리고 디스크나 HBA를 패스스루하는 구성은 학습용으로 좋습니다. 다만 메인 NAS로 오래 가져갈 때는 질문이 달라집니다. 문제가 났을 때 하이퍼바이저 문제와 스토리지 문제를 분리해서 볼 수 있는가? 이게 핵심입니다.

    • 디스크 식별이 꼬이거나 컨트롤러 인식이 흔들리면 장애 분석이 길어집니다.
    • 부팅 순서와 장치 초기화 타이밍이 꼬이면 NAS VM 기동이 늦어질 수 있습니다.
    • 스토리지 문제와 하이퍼바이저 문제를 별개로 다뤄야 하는데, 이 구조에선 둘이 자주 함께 움직입니다.

    제 판단은 분명합니다. 학습, 실험, 임시 구축에는 괜찮습니다. 하지만 가족 데이터, 장기 보관 백업, 다른 노드가 의존하는 공유 스토리지를 실으면 구조 난도가 올라갑니다. 홈랩이더라도 메인 데이터는 가상화 실험의 부속품이 아니어야 마음이 편합니다.

    스냅샷은 백업이 아닙니다

    ZFS 스냅샷은 되돌리기에는 훌륭하지만, 같은 풀 안에 남아 있는 한 장애 도메인이 동일합니다. 사용자 실수 복구에는 강하지만 장치 고장, 잘못된 운영 변경, 랜섬웨어 성격의 암호화 사고, 풀 자체 문제까지 모두 덮어주진 못합니다. 홈랩에서도 최소한 다른 장비나 원격 대상으로 복제하거나 백업을 보내는 구조가 필요합니다.

    SMB 권한과 Linux 퍼미션이 어긋나는 경우

    TrueNAS SCALE에서 흔한 착시는 "공유가 열렸으니 서비스 문제는 아니다"라고 생각하는 겁니다. 실제로는 공유 서비스보다 데이터셋 권한, ACL, 소유권 설계에서 막히는 경우가 더 많습니다. 특히 한 데이터셋을 여러 용도에 같이 쓰면 나중에 한쪽 요구사항을 맞추다가 다른 쪽이 깨지기 쉽습니다. 제 경험상 이 문제는 튜닝으로 해결되지 않고, 데이터셋 경계 재설계로 끝나는 경우가 많았습니다.

    저장소 속성을 한 번에 통일하는 경우

    모든 데이터셋에 동일한 속성을 주는 것도 자주 보이는 실수입니다. 미디어 보관, VM 블록 스토리지, 사용자 홈 디렉터리, 백업 아카이브는 액세스 패턴이 다릅니다. 속성값 하나로 모두 해결하려 하면 결국 어느 쪽에서도 만족스럽지 않은 결과가 나옵니다. 홈랩에서도 최소한 대용량 순차 파일과 작은 랜덤 I/O 정도는 분리해서 생각하는 편이 낫습니다.

    검증과 결과 확인: 무엇을 보면 구성이 잘 됐다고 판단할까

    다 만들어놓고 "일단 잘 되네"에서 멈추면, 실제 검증은 아직 덜 된 셈입니다. 저는 적어도 아래 항목은 확인해야 구축이 끝났다고 봅니다.

    1. 재부팅 후 풀 상태가 자동으로 정상 인식되는지 확인
    2. 스냅샷이 의도한 데이터셋 또는 게스트 범위에서만 생성되는지 확인
    3. VM 또는 컨테이너가 해당 저장소를 안정적으로 읽고 쓰는지 확인
    4. SMB, NFS, iSCSI 접근 권한이 예상한 사용자와 장치에만 적용되는지 확인
    5. 백업 또는 복제 대상에서 실제 복구 테스트가 가능한지 확인

    예를 들어 Proxmox VE에서는 게스트가 붙어 있는 저장소가 부팅 후 정상 활성화되는지와, 백업 경로가 일시적으로 마운트 실패했을 때 어떤 경고가 나는지를 보는 게 중요합니다. TrueNAS SCALE에서는 공유 서비스가 떠 있는지만 볼 게 아니라, 데이터셋 마운트 상태와 권한이 함께 정상인지를 확인해야 합니다.

    zfs list -o name,mounted,readonly
    zpool status -x
    showmount -e nas-host
    smbclient -L //nas-host -U username

    이 명령은 검증 관점에서 꽤 실용적입니다. 단, showmount는 NFS 서버가 실제로 export를 제공할 때 의미가 있고, smbclient는 Samba 클라이언트 패키지가 설치돼 있어야 합니다. 화려하진 않지만 이런 확인이 벤치마크보다 더 값질 때가 많습니다. 홈랩에서 오래 버티는 구성은 평균 성능이 약간 더 좋은 구성이 아니라, 이상 징후를 빨리 드러내는 구성이더라고요.

    Proxmox TrueNAS SCALE ZFS 비교 결과와 검증 상태를 보여주는 대시보드 이미지

    ZFS 상태, 스냅샷, 공유, VM 연결 상태를 한 번에 점검하는 검증 관점의 결과 화면 예시입니다.

    상황별 추천: 이런 경우엔 Proxmox VE, 이런 경우엔 TrueNAS SCALE

    여기서는 애매하게 말하지 않겠습니다.

    • VM, LXC, 실험용 서비스가 중심이라면 Proxmox VE가 맞습니다. 로컬 ZFS로 단순하게 가져가고, 백업 저장소만 별도 경로 또는 별도 장비로 떼는 구성이 운영이 편합니다.
    • 파일 공유, 미디어, 장기 보관, 백업 허브가 중심이라면 TrueNAS SCALE이 더 맞습니다. 데이터셋과 권한 모델을 먼저 설계하는 편이 결과가 좋습니다.
    • 둘 다 중요하고, 둘 다 메인 서비스라면 분리형이 맞습니다. Proxmox VE는 컴퓨트, TrueNAS SCALE은 스토리지. 홈랩에서 비용은 조금 늘어도 판단 비용과 복구 비용이 줄어듭니다.
    • 한 대 장비로 반드시 끝내야 하는 상황이라면 Proxmox VE 단독 또는 TrueNAS 중심 중 하나를 고르고, 반대 역할은 최소화하는 편이 낫습니다. 둘을 동등한 주인공으로 세우는 순간 구조가 무거워집니다.
    내 우선순위 추천 선택 이유
    VM 실험, LXC, 자동화, 클러스터 연습 Proxmox VE 게스트 수명주기 관리가 자연스럽고 운영 동선이 짧습니다
    집안 파일 서버, 사진, 미디어, 백업 TrueNAS SCALE 데이터셋, 권한, 공유, 스냅샷 관리가 중심에 맞습니다
    가상화와 NAS 둘 다 중요함 역할 분리 장애 범위를 줄이고 원인 분석이 쉬워집니다
    예산이 매우 제한적이고 실험이 우선 올인원 Proxmox VE 초기 진입 비용이 낮지만 메인 데이터는 별도 백업이 필수입니다
    데이터 안전이 최우선이고 VM은 부수적 TrueNAS SCALE 중심 스토리지 정책을 주도적으로 설계하기 쉽습니다

    이 판단에서 중요한 건 제품 팬심이 아니라 장애 우선순위입니다. 서버가 멈췄을 때 가장 먼저 살리고 싶은 것이 VM이라면 Proxmox VE, 가장 먼저 지키고 싶은 것이 데이터라면 TrueNAS SCALE입니다. 이 기준이 서지 않으면 계속 기능 비교만 하게 됩니다.

    관련 글이 있다면 Proxmox 백업 전략, ZFS 스냅샷 정책, 홈랩 NAS 네트워크 분리 구성도 함께 읽어보세요. 이 세 가지를 같이 보면 장비 선택보다 구조 선택이 먼저라는 점이 더 또렷해집니다.

    FAQ 성격으로 짧게 짚고 가는 포인트

    Q. 홈랩 입문자는 뭘 먼저 시작하는 게 좋을까요?

    서비스 여러 개를 띄워보며 익히는 게 목표면 Proxmox VE부터, 집안 파일 서버와 백업 체계를 안정적으로 만들고 싶으면 TrueNAS SCALE부터 시작하는 편이 시행착오가 적습니다.

    Q. 한 대 서버로 둘 다 하고 싶으면요?

    가능은 합니다. 다만 메인 데이터까지 얹는다면 복구 순서를 종이에 적어보는 걸 권합니다. 하이퍼바이저가 안 뜰 때 NAS 접근을 어떻게 할지, NAS가 안 뜰 때 VM 백업을 어디서 꺼낼지 막히면 아직은 역할을 더 줄이는 편이 낫습니다.

    Q. ZFS를 쓰니까 둘 다 체감 차이가 거의 없지 않나요?

    그렇지 않습니다. 파일시스템은 같아도 관리 흐름, 장애 대응, 공유 제공 방식, 권한 모델, 복구 순서가 다릅니다. 체감 차이는 대개 평상시보다 문제 상황에서 크게 드러납니다.

    Q. 언제 굳이 쓰지 말아야 하나요?

    Proxmox VE는 메인 데이터 보관과 테스트 워크로드를 한 박스에 무리하게 합칠 때 조심해야 하고, TrueNAS SCALE은 잦은 VM 실험과 하이퍼바이저 자동화가 핵심일 때 굳이 주력으로 잡지 않는 편이 낫습니다.

    마무리: 제가 지금 다시 홈랩을 짠다면 이렇게 갑니다

    제가 지금 처음부터 다시 짠다면, VM 실험과 서비스 배포가 메인이면 Proxmox VE에 로컬 ZFS를 쓰고 백업 저장소는 반드시 다른 경로나 다른 장비로 분리하겠습니다. 반대로 가족 사진, 미디어, 백업 아카이브가 더 중요하면 TrueNAS SCALE을 별도 장비로 두고, Proxmox는 그 저장소를 소비하는 쪽으로 붙일 겁니다.

    가상화가 중심이면 Proxmox VE, 데이터가 중심이면 TrueNAS SCALE. 둘 다 중요하면 역할 분리입니다. 홈랩에선 이 판단이 장비 스펙보다 오래 갑니다. ZFS는 둘 다 훌륭하지만, 차이를 만드는 건 파일시스템 이름보다도 무엇을 먼저 지키도록 구조를 짰느냐였습니다.

    Proxmox VE와 TrueNAS SCALE 선택 기준을 요약한 ZFS 비교 인포그래픽

    어떤 환경에서 무엇을 고르면 되는지 빠르게 판단할 수 있도록 핵심 선택 기준을 요약한 이미지입니다.

  • [Nas] TrueNAS SCALE 1년 사용 후기: 홈랩 운영 교훈과 팁

    [Nas] TrueNAS SCALE 1년 사용 후기: 홈랩 운영 교훈과 팁

    TrueNAS SCALE 1년 사용 후기: 홈랩 운영 교훈과 팁

    홈랩을 오래 굴리다 보면 결국 한 번은 스토리지 구조를 다시 보게 되더라고요. VM(가상머신), 컨테이너, 백업, 미디어 라이브러리까지 한 장비에 몰리기 시작하면 작은 설정 실수 하나가 꽤 크게 돌아옵니다. 그래서 오늘은 제가 직접 굴려본 TrueNAS SCALE 사용 후기를 정리해보려고 합니다. 단순히 좋다, 나쁘다 수준이 아니라, TrueNAS SCALE 홈랩 환경에서 1년 정도 운영하면서 어떤 점이 편했고, 어디서 삽질했는지, 그리고 지금 다시 세팅한다면 무엇부터 다르게 할지를 중심으로 적어보겠습니다.

    특히 NAS 운영체제 선택 때문에 고민하시는 분들, ZFS(제트에프에스, 데이터 무결성과 스냅샷에 강한 파일시스템)를 실제 운영 관점에서 보고 싶은 분들께 도움이 될 겁니다. 저도 처음엔 기능표만 보고 골랐었는데, 실제로 써보니까 체크해야 할 포인트가 완전히 다르더라고요.

    홈랩에서 NAS, 백업 장비, 미디어 서버, 가상화 호스트가 어떻게 연결되는지 한눈에 보여주는 아키텍처 이미지입니다.

    왜 TrueNAS SCALE 사용 후기가 중요한가

    쉽게 말해 홈랩의 스토리지는 모든 서비스의 바닥입니다. 애플리케이션이야 다시 띄우면 되는데, 데이터가 꼬이면 복구 비용이 훨씬 커지거든요. 제가 TrueNAS SCALE을 선택한 이유도 여기 있었습니다. Linux(리눅스) 기반의 운영 경험을 살리면서도, ZFS의 장점을 활용해 데이터 무결성, 스냅샷, 복제 같은 기본기를 챙기고 싶었어요.

    다만 여기서 중요한 포인트가 있습니다. TrueNAS SCALE이 만능은 아닙니다. UI(사용자 인터페이스)가 있다고 해서 설계 고민이 없어지는 건 아니고, 오히려 디스크 구성, 공유 방식, 앱 배치, 백업 전략을 더 분명하게 정해야 하더라고요. 이걸 안 하면 초반엔 편한데 몇 달 뒤부터 복잡성이 확 올라갑니다.

    TrueNAS SCALE 홈랩에서 이해해야 할 핵심 개념

    ZFS와 풀(Pool) 개념부터 잡아야 합니다

    처음엔 저도 디스크를 그냥 묶으면 되는 줄 알았어요. 근데 ZFS는 생각보다 철학이 분명합니다. 파일 하나하나보다 풀(Pool)과 데이터셋(Dataset) 단위로 운영 감각을 가져가야 편합니다.

    • Pool(풀): 물리 디스크 집합입니다. 저장소의 큰 그릇이라고 보면 됩니다.
    • Dataset(데이터셋): 폴더처럼 보이지만, 압축, 스냅샷, 권한 정책을 따로 줄 수 있는 논리 단위입니다.
    • Snapshot(스냅샷): 특정 시점 상태를 잡아두는 기능입니다. 삭제 실수나 설정 꼬임 복구에 정말 유용합니다.
    • Scrub(스크럽): 데이터 무결성을 주기적으로 검사하는 작업입니다.
    • Replication(복제): 다른 시스템이나 다른 풀로 스냅샷 기반 복사를 하는 방식입니다.

    제가 실제로 써보니까, 폴더 구조를 먼저 만드는 것보다 데이터 성격별로 데이터셋을 쪼개는 설계가 훨씬 중요했습니다. 예를 들어 백업, 미디어, 문서, 컨테이너 볼륨을 한 군데 섞어두면 나중에 스냅샷 주기와 권한 정책을 맞추기가 너무 힘들어집니다.

    NAS 운영체제 관점에서 봤을 때 차이점

    항목 TrueNAS SCALE 일반적인 단순 파일서버 구성
    파일시스템 운영 ZFS 기반으로 스냅샷과 무결성 관리에 강함 구성에 따라 기능 편차가 큼
    관리 방식 웹 UI 중심, 일부는 CLI(명령줄 인터페이스) 병행 직접 수동 관리 비중이 높음
    백업 전략 스냅샷/복제 설계가 쉬운 편 별도 스크립트나 도구 의존도가 높음
    초기 진입장벽 개념 이해가 필요함 단순 구성은 빠르지만 확장 시 복잡해짐

    그래서 TrueNAS SCALE 사용 후기를 한 줄로 줄이면 이렇습니다. 초반엔 학습 비용이 있지만, 운영이 길어질수록 그 비용을 회수하게 됩니다.

    제가 실제로 구성한 방식과 단계별 세팅 흐름

    아래는 제가 홈랩에서 정착한 기본 흐름입니다. 특정 하드웨어 모델이나 버전 숫자보다, 운영 원칙 자체가 더 중요해서 그 부분 위주로 적겠습니다.

    1. 디스크 역할을 먼저 정합니다. 운영 데이터와 백업 데이터를 논리적으로 분리합니다.
    2. ZFS 풀을 만들고, 용도별 데이터셋을 나눕니다.
    3. SMB(에스엠비, 윈도우 파일 공유)나 NFS(엔에프에스, 유닉스 계열 네트워크 파일 공유) 공유를 목적에 맞게 나눕니다.
    4. 스냅샷 주기를 데이터 중요도별로 다르게 잡습니다.
    5. 외부 백업 또는 다른 장비로 복제를 붙입니다.
    6. 앱 데이터와 일반 파일 데이터를 같은 정책으로 다루지 않습니다.

    1. 데이터셋 구조를 먼저 설계했습니다

    처음엔 그냥 tank/data 하나로 밀어붙였었는데요, 몇 달 지나니까 스냅샷 관리가 너무 지저분해졌습니다. 그래서 아래처럼 다시 나눴어요.

    # 예시 구조
    /home
      /tank
        /backup
        /media
        /documents
        /apps
        /vmdata

    실제 명령은 UI로 해도 되지만, 개념은 이렇게 이해하면 편합니다. 핵심은 백업 데이터셋과 앱 데이터셋을 분리하는 겁니다. 앱 쪽은 변경이 잦고, 미디어는 상대적으로 정적이거든요.

    2. 스냅샷 정책은 동일하게 주지 않았습니다

    이 부분에서 삽질 좀 했습니다 ㅎㅎ 처음엔 전부 같은 주기로 스냅샷을 잡았는데, 공간 사용 패턴이 완전히 다르더라고요. 지금은 대략 이런 식으로 생각해요.

    데이터 유형 권장 접근 이유
    문서/설정 짧은 주기 스냅샷 실수 복구 가치가 큼
    미디어 파일 긴 주기 또는 최소화 변경 빈도가 낮음
    앱 볼륨 업데이트 전 스냅샷 롤백이 필요할 수 있음
    백업 저장소 중복 정책 주의 백업 위에 또 과한 스냅샷은 비효율적일 수 있음

    3. 공유 서비스는 목적별로 나눴습니다

    Windows PC가 많으면 SMB가 편하고, 리눅스 호스트나 하이퍼바이저와 붙일 땐 NFS가 더 자연스러울 때가 있어요. 저는 처음에 다 SMB로 밀었다가 권한과 마운트 습관 때문에 다시 정리했습니다.

    # Linux 클라이언트에서 NFS 마운트 예시
    sudo mkdir -p /mnt/homelab-media
    sudo mount -t nfs truenas.local:/mnt/tank/media /mnt/homelab-media

    이런 식으로 용도를 분명히 나누면 클라이언트 쪽도 덜 꼬입니다. 특히 Proxmox 같은 가상화 호스트나 Docker 호스트와 연동할 때 체감이 크더라고요.

    TrueNAS SCALE 홈랩의 스토리지 풀과 데이터셋 구성 이미지

    스토리지 풀 생성부터 데이터셋 분리, SMB/NFS 공유까지 연결되는 흐름을 보여주는 구성 이미지입니다.

    4. 백업은 NAS 안에서 끝내지 않았습니다

    여기 정말 중요합니다. 많은 분들이 NAS를 넣으면 백업이 끝났다고 생각하시는데, 사실은 그때부터가 시작이거든요. NAS는 저장소이고, 백업은 별도 전략입니다. 저도 처음엔 풀 하나만 믿고 갔었는데, 그건 그냥 단일 장애 지점을 조금 덜 불편하게 만든 수준이었어요.

    그래서 지금은 최소한 아래 원칙으로 갑니다.

    • 중요 데이터는 스냅샷을 유지합니다.
    • 가능하면 다른 장비나 외부 저장소로 복제합니다.
    • 복구 테스트를 실제로 해봅니다.
    # rsync 기반 외부 백업 예시
    rsync -avh --delete /mnt/tank/documents/ /backup-target/documents/

    물론 환경에 따라 ZFS 복제를 쓰는 게 더 자연스러울 수 있습니다. 중요한 건 도구가 아니라 복구 경로가 실제로 있느냐입니다.

    ⚠️ 1년 동안 겪었던 문제와 해결 과정

    문제 1. 스냅샷은 많은데 정리가 안 됐습니다

    처음엔 스냅샷이 많으면 무조건 좋은 줄 알았어요. 근데 오래 가동해보니, 남기는 정책보다 언제 지울지가 더 중요하더라고요. 복구 지점은 많아졌는데, 운영자가 이해하지 못하는 스냅샷 체계는 결국 사고를 부립니다.

    • 해결: 데이터 성격별 보존 정책을 다시 분리했습니다.
    • 교훈: 스냅샷은 보험이지만, 보험 증권이 정리 안 되면 사고 때 더 헷갈립니다.

    문제 2. 앱 데이터와 일반 파일 데이터를 섞었습니다

    이건 제가 제일 크게 후회한 부분입니다. 컨테이너 볼륨, 다운로드 폴더, 미디어 라이브러리를 한쪽에 섞어두니까 권한도 꼬이고, 성격이 다른 데이터를 한 정책으로 다뤄야 했어요. 처음엔 간단해서 좋았는데 나중엔 유지보수가 훨씬 어려웠습니다.

    • 해결: 앱 전용 데이터셋을 따로 만들고, 일반 공유 데이터와 분리했습니다.
    • 교훈: 운영 데이터는 목적별 분리가 기본입니다.

    문제 3. 디스크 확장 계획을 너무 늦게 생각했습니다

    홈랩은 늘 그렇죠. 처음엔 충분해 보입니다. 근데 VM 이미지, 백업, 미디어가 쌓이기 시작하면 생각보다 금방 차더라고요. 여기서 중요한 건 단순 총용량이 아니라, 어떤 방식으로 확장할 건지를 미리 생각해야 한다는 점입니다.

    • 해결: 데이터 성장 패턴을 보고, 정적 데이터와 변동 데이터의 저장 위치를 분리했습니다.
    • 교훈: 용량 계획은 숫자보다 구조입니다.

    문제 4. UI만 믿고 내부 동작을 대충 넘겼습니다

    솔직히 웹 UI가 있으니까 너무 편했습니다. 근데 문제 생기면 결국 로그, 권한, 마운트 구조, 네트워크 흐름을 봐야 하더라고요. 저도 처음엔 이게 뭔가 싶었는데, 몇 번 장애를 겪고 나니까 UI는 입구일 뿐이고, 운영 이해는 따로 챙겨야 한다는 걸 배웠습니다.

    검증: 1년 운영 후 남은 것들

    그럼 결과적으로 만족했냐고 물으시면, 제 대답은 예, 다만 설계를 해가면서 만족도가 올라가는 타입입니다. 처음 세 달은 적응기였고, 중간에 구조를 한 번 갈아엎고 나서야 훨씬 편해졌어요.

    • ✅ 데이터셋 분리 이후 스냅샷 관리가 훨씬 쉬워졌습니다.
    • ✅ 공유 목적이 분명해져서 클라이언트 마운트 문제도 줄었습니다.
    • ✅ 백업 관점을 따로 가져가니 심리적으로도 훨씬 안정적이었습니다.
    • ⚠️ 반대로, 설계 없이 시작하면 나중에 구조조정 비용이 꽤 큽니다.

    특히 TrueNAS SCALE 사용 후기를 찾는 분들께 말씀드리고 싶은 건, 이 제품이 마법처럼 문제를 없애주지는 않는다는 점입니다. 대신 스토리지를 제대로 운영하게 만드는 압력은 분명히 있습니다. 저는 그 점이 오히려 좋았습니다.

    TrueNAS SCALE 사용 후기의 운영 결과를 보여주는 대시보드 이미지

    스냅샷 주기, 저장소 사용량, 백업 상태가 안정적으로 관리되는 모습을 보여주는 대시보드형 이미지입니다.

    홈랩에서 바로 써먹는 팁 정리

    스토리지 교훈 5가지

    1. 폴더보다 데이터셋부터 생각하세요. ZFS의 장점은 여기서 살아납니다.
    2. 스냅샷은 많이보다 적절하게. 보존 정책이 핵심입니다.
    3. NAS와 백업을 같은 개념으로 보면 안 됩니다. 이건 진짜 중요합니다.
    4. 앱 데이터는 일반 공유와 분리하세요. 나중에 반드시 편해집니다.
    5. 복구 테스트를 실제로 해보세요. 백업 성공 메시지보다 복구 성공이 더 중요합니다.

    이런 분들께 특히 잘 맞습니다

    • 홈랩에서 VM, 컨테이너, 파일 공유를 함께 운영하는 분
    • ZFS 기반으로 스토리지 운영 습관을 제대로 잡고 싶은 분
    • 장기적으로 정리된 NAS 운영체제를 원하는 분

    반대로, 아주 단순한 파일 저장만 필요하고 학습 비용을 최소화하고 싶다면 조금 무겁게 느껴질 수도 있어요. 이건 솔직히 사용 목적에 따라 갈리는 부분입니다.

    자주 묻는 질문

    Q1. TrueNAS SCALE 홈랩 용도로 시작해도 괜찮을까요?

    괜찮습니다. 다만 처음부터 완벽하게 하려 하지 마시고, 데이터셋 분리와 백업 구조만 먼저 잡으세요. 나머지는 운영하면서 다듬는 편이 현실적입니다.

    Q2. ZFS는 왜 그렇게 많이 언급되나요?

    데이터 무결성, 스냅샷, 복제 같은 운영 핵심 기능을 한 흐름으로 가져가기 좋기 때문입니다. 쉽게 말해, 나중에 후회할 가능성을 줄여주는 설계 철학이 있습니다.

    Q3. TrueNAS SCALE 사용 후기에서 가장 큰 교훈 하나만 꼽는다면요?

    설계 없는 편의성은 오래 못 간다는 점입니다. 처음 며칠보다 6개월 뒤를 기준으로 구조를 잡으셔야 합니다.

    TrueNAS SCALE 사용 후기와 스토리지 교훈 요약 인포그래픽

    도입 난이도, 운영 편의성, 백업 전략, 확장성 관점에서 핵심 교훈을 정리한 요약 인포그래픽입니다.

    마무리: 1년 써보고 나서 남은 생각

    정리해보면, 이번 TrueNAS SCALE 사용 후기의 핵심은 제품 자체보다 운영 태도에 더 가깝습니다. 좋은 NAS 운영체제는 버튼이 많은 시스템이 아니라, 데이터를 함부로 다루지 않게 만드는 시스템이더라고요. 제가 직접 해보니 편한 점도 분명히 많았고, 동시에 대충 설계하면 그 대가도 분명했습니다.

    혹시 지금 홈랩 스토리지를 새로 짜고 계신가요? 그렇다면 디스크 용량표부터 보지 마시고, 어떤 데이터를 얼마나 오래, 어떤 방식으로 복구할 건지부터 적어보세요. 거기서 절반은 이미 끝납니다. 다음 글에서는 스냅샷 보존 정책과 백업 분리 전략을 좀 더 실전적으로 다뤄볼 예정입니다. 이전 글에서 다뤘던 홈랩 네트워크 분리 내용과 같이 보시면 훨씬 이해가 잘 되실 겁니다. 🎉

  • [HomeLabs] TrueNAS 파일 시스템 성능 비교: ZFS, Btrfs, ext4 실측 벤치마크

    [HomeLabs] TrueNAS 파일 시스템 성능 비교: ZFS, Btrfs, ext4 실측 벤치마크

    TrueNAS 파일 시스템 성능 비교: ZFS, Btrfs, ext4 실측 벤치마크

    TrueNAS 파일 시스템 성능 이야기는 생각보다 단순하지 않더라고요. 저도 처음엔 “같은 SSD에 올리면 파일 시스템만 바꿔서 보면 되는 거 아닌가?” 싶었는데, 실제로 파고들어 보니 정말 그렇지 않더라고요. 특히 TrueNAS Scale은 기본 저장소 계층이 사실상 ZFS(OpenZFS, 오픈지에프에스) 중심으로 설계돼 있어서, Btrfs(비트리 에프에스)나 ext4(익스트포)를 TrueNAS 풀(pool, 스토리지 집합) 대체재처럼 다루면 바로 비교가 틀어집니다. 그래서 이번 글은 “TrueNAS에서 ZFS를 써야 하나?”라는 질문에 답하기 위해, 동일한 리눅스 계열 환경에서 ZFS, Btrfs, ext4를 같은 방식으로 벤치마크하고 그 결과를 NAS 성능 관점에서 해석하는 방향으로 정리해보겠습니다.

    제가 홈랩에서 이런 테스트를 할 때 가장 많이 보는 건 절대 수치 하나가 아니라 패턴입니다. 순차 읽기/쓰기, 작은 블록 랜덤 I/O, 스냅샷 이후 쓰기 지연, 체크섬(checksum, 데이터 무결성 검사용 해시) 오버헤드 같은 것들이요. 숫자 한 줄만 보면 쉬워 보이는데, 실제 운영에서는 그 숫자보다 “왜 이런 결과가 나왔는지”를 이해하는 쪽이 훨씬 중요하거든요.

    TrueNAS 파일 시스템 성능 비교를 위한 ZFS, Btrfs, ext4 개요 다이어그램

    TrueNAS 환경에서 ZFS를 기준으로 두고 Btrfs, ext4를 비교하는 전체 구조를 보여주는 개요 이미지입니다.

    TrueNAS 파일 시스템 성능 비교에서 먼저 짚어야 할 전제

    여기서 중요한 포인트가 하나 있습니다. TrueNAS의 저장소 풀은 ZFS 기반으로 다루는 것이 공식 문서 흐름과 기능 구조에 맞습니다. 스냅샷(snapshot, 시점 복제), 스크럽(scrub, 무결성 검사), 데이터셋(dataset, ZFS 하위 파일 시스템), 풀 업그레이드 같은 핵심 기능이 ZFS를 중심으로 설계돼 있거든요. 그래서 TrueNAS 파일 시스템 성능을 논할 때 Btrfs나 ext4를 TrueNAS 내부의 동등한 선택지처럼 비교하면 오해가 생기더라고요.

    쉽게 말해 이렇게 보시면 됩니다.

    • ZFS: TrueNAS의 본체에 가까운 기본 철학입니다.
    • Btrfs: 리눅스에서 ZFS와 비교 대상으로 자주 거론되는 COW(Copy-On-Write, 쓰기 시 새 블록 생성) 파일 시스템입니다.
    • ext4: 기능은 비교적 단순하지만 오버헤드가 낮아서 기준선(baseline)으로 보기 좋은 전통적인 저널링 파일 시스템입니다.

    그래서 이 글의 비교는 “TrueNAS에서 셋 중 하나를 선택한다”가 아니라, ZFS 벤치마크 결과가 왜 다르게 보이는지 이해하기 위한 상대 비교라고 보시면 정확합니다.

    ZFS, Btrfs, ext4를 쉽게 풀어보면

    저도 처음엔 이게 뭔가 싶었는데, 파일 시스템은 결국 “데이터를 어떤 방식으로 쓰고, 보호하고, 복구하느냐”의 차이더라고요.

    파일 시스템 핵심 구조 강점 성능 해석 포인트
    ZFS COW, 체크섬, 풀/데이터셋 통합 무결성, 스냅샷, 복제, 관리성 안전장치가 많아서 쓰기 오버헤드가 생길 수 있음
    Btrfs COW, 서브볼륨(subvolume, 하위 볼륨), 스냅샷 유연성, 리눅스 친화성 워크로드에 따라 COW 비용이 민감하게 드러남
    ext4 저널링(journaling, 메타데이터 기록) 단순함, 폭넓은 호환성 기능 오버헤드가 적어 순수 I/O 기준선으로 좋음

    ZFS는 파일 시스템과 볼륨 매니저(volume manager, 디스크 집합 관리)를 같이 들고 가는 느낌이더라고요. 그래서 스냅샷, 압축(compression, 데이터 압축), 스크럽 같은 기능이 아주 자연스럽게 붙습니다. 대신 메모리와 설계 이해도가 어느 정도 필요한 게 맞습니다.

    Btrfs 성능은 꽤 흥미로운데요. 같은 COW 계열이라도 구현 방식과 운영 습관에 따라 체감이 달라집니다. 스냅샷을 많이 쓰는 환경, 작은 파일이 자주 바뀌는 환경에서는 생각보다 결과가 요동치기도 하더라고요.

    ext4 NAS 구성을 따로 운영해보면, 기능보다 단순성과 예측 가능성이 장점으로 드러나더라고요. 다만 TrueNAS처럼 스토리지 무결성과 스냅샷 자동화까지 한 번에 챙기려는 목적이라면 결국 ZFS 쪽으로 다시 돌아오게 되는 경우가 많습니다.

    벤치마크 설계: 숫자보다 조건 통제가 먼저입니다

    벤치마크는 명령어보다 조건 통제가 더 중요합니다. 제가 직접 해보니 여기서 한 번 삐끗하면 결과가 완전히 엉뚱하게 나와요. 특히 ARC(Adaptive Replacement Cache, ZFS 메모리 캐시), 리눅스 페이지 캐시(page cache, 운영체제 파일 캐시), SSD SLC 캐시 같은 요소가 섞이면 파일 시스템 차이가 아니라 캐시 차이만 보게 되거든요.

    1. 동일한 하드웨어를 사용합니다. CPU, RAM, SSD/HDD, 컨트롤러를 고정합니다.
    2. 각 파일 시스템은 빈 디스크에서 새로 생성합니다.
    3. 같은 마운트 포인트 구조와 같은 테스트 파일 크기를 사용합니다.
    4. 벤치마크 전에 캐시 영향을 최소화합니다.
    5. 순차 읽기/쓰기와 랜덤 읽기/쓰기를 분리해서 봅니다.
    6. 스냅샷 이후 쓰기 성능도 따로 확인합니다.

    테스트 워크로드는 보통 아래 네 가지면 충분합니다.

    • 대용량 순차 읽기
    • 대용량 순차 쓰기
    • 4K 또는 16K 랜덤 읽기/쓰기
    • 동시 접속 환경을 가정한 mixed read/write

    혹시 이런 경험 있으신가요? 같은 장비인데 한 번은 ZFS가 느리고, 다른 날은 ext4가 이상하게 느립니다. 이런 경우 대부분 파일 시스템 문제가 아니라 캐시가 안 지워졌거나 테스트 순서가 꼬인 경우가 많더라고요. 저도 삽질 좀 했습니다 ㅎㅎ

    실전 구현: ZFS, Btrfs, ext4 테스트 환경 만들기

    여기서는 리눅스 셸 기준으로 예시를 잡겠습니다. TrueNAS 본체에서 ext4나 Btrfs를 운영용 풀로 올리는 흐름이 아니라, 동일한 리눅스 계열 테스트 노드에서 상대 비교를 수행하는 방식입니다.

    1. 디스크 확인

    lsblk -o NAME,SIZE,MODEL,FSTYPE,MOUNTPOINT
    sudo wipefs -a /dev/sdb
    sudo wipefs -a /dev/sdc
    sudo wipefs -a /dev/sdd

    테스트용 디스크는 반드시 비워두세요. 기존 시그니처(signature, 디스크 식별 정보)가 남아 있으면 생성 단계에서 꼬일 수 있습니다.

    2. ext4 생성

    sudo mkfs.ext4 -F /dev/sdb
    sudo mkdir -p /mnt/bench-ext4
    sudo mount /dev/sdb /mnt/bench-ext4

    3. Btrfs 생성

    sudo mkfs.btrfs -f /dev/sdc
    sudo mkdir -p /mnt/bench-btrfs
    sudo mount /dev/sdc /mnt/bench-btrfs

    4. ZFS 풀 생성

    sudo zpool create bench /dev/sdd
    sudo zfs create bench/data
    sudo zfs set compression=lz4 bench/data

    ZFS는 풀과 데이터셋을 나눠서 보는 습관이 중요합니다. TrueNAS Scale에서도 운영 관점은 거의 이 사고방식으로 이어집니다.

    TrueNAS 파일 시스템 성능 테스트를 위한 ZFS 풀과 ext4, Btrfs 구성 이미지

    ZFS 풀과 데이터셋, ext4와 Btrfs 마운트 경로를 같은 조건으로 맞춘 테스트 구성 이미지입니다.

    5. fio 작업 파일 준비

    cat > fio-seq-write.fio <<'EOF'
    [global]
    ioengine=libaio
    direct=1
    runtime=60
    time_based=1
    group_reporting=1
    size=8G
    filename=testfile
    
    [seqwrite]
    bs=1M
    rw=write
    iodepth=32
    EOF

    랜덤 I/O도 별도 job 파일로 분리하는 게 좋습니다.

    cat > fio-randrw.fio <<'EOF'
    [global]
    ioengine=libaio
    direct=1
    runtime=60
    time_based=1
    group_reporting=1
    size=4G
    filename=testfile
    
    [randrw]
    bs=4k
    rw=randrw
    rwmixread=70
    iodepth=32
    EOF

    6. 각 파일 시스템에서 동일하게 실행

    cd /mnt/bench-ext4 && fio ~/fio-seq-write.fio
    cd /mnt/bench-btrfs && fio ~/fio-seq-write.fio
    cd /bench/data && fio ~/fio-seq-write.fio

    경로는 배포판과 설정에 따라 달라질 수 있습니다. ZFS 데이터셋 마운트 경로는 zfs list로 먼저 확인하세요.

    ⚠️ 실제로 많이 겪는 문제와 트러블슈팅

    이 섹션은 꼭 넣고 싶었습니다. 벤치마크는 명령어보다 삽질 포인트가 더 중요하거든요.

    • 캐시 때문에 두 번째 결과가 더 잘 나오는 문제
      첫 번째 테스트가 디스크 성능이 아니라 캐시 예열 역할을 해버릴 수 있어요. 테스트 순서를 바꾸면서 여러 번 반복해서 평균적인 경향만 보세요.
    • ZFS 압축 설정을 빼먹는 문제
      TrueNAS에서 많이 쓰는 compression=lz4를 끄고 측정하면 실제 운영과 괴리가 생기더라고요. 반대로 비교를 엄격히 하려면 세 파일 시스템 모두 압축 없는 기준과 운영 기준을 나눠 보시는 게 좋습니다.
    • Btrfs에서 스냅샷 후 쓰기 지연이 체감되는 문제
      작은 파일이 자주 바뀌는 워크로드에서는 COW 영향이 꽤 보일 수 있어요. 로그성 데이터나 VM 이미지 파일은 별도로 성격을 나눠 측정해야 합니다.
    • ext4가 무조건 빠르다고 단정하는 문제
      순수 쓰기만 보면 그럴 때가 있지만, 스냅샷/체크섬/복구 편의성까지 포함하면 운영 총비용(total cost of operation, 실제 운영 부담)은 완전히 다른 얘기입니다.
    • TrueNAS에서 ext4, Btrfs를 그대로 대체재처럼 보는 문제
      이건 비교 관점 자체가 어긋난 경우예요. TrueNAS의 핵심 기능 체인은 ZFS를 전제로 보는 편이 맞습니다.

    저는 예전에 ARC를 충분히 비우지 않은 상태에서 ZFS 벤치마크를 돌리고 “이상하게 읽기가 너무 잘 나오네?” 하고 한참 들여다본 적이 있습니다. 나중에 보니 디스크가 아니라 메모리 읽기였어요. 드디어 원인을 찾았을 때 허탈하더라고요.

    검증과 결과 해석: 무엇을 보면 되는가

    TrueNAS 파일 시스템 성능을 해석할 때는 절대값보다 아래 순서로 보시면 훨씬 정확해요.

    1. 순차 읽기/쓰기: 대용량 미디어, 백업 파일, 아카이브 용도에 가깝습니다.
    2. 랜덤 I/O: VM, DB, 메타데이터가 많은 워크로드와 더 가깝습니다.
    3. 스냅샷 이후 성능 변화: 운영 환경에서 체감이 크게 나는 부분입니다.
    4. 복구와 무결성: 장애 이후 사람을 살리는 기능인지 봐야 합니다.

    제가 실제로 써보는 관점에서 정리하면 보통 이런 경향으로 읽혀요.

    항목 대체로 유리한 쪽 해석
    순차 쓰기 ext4 또는 튜닝된 ZFS 오버헤드가 적은 ext4가 기준선 역할을 잘함
    무결성 검증 ZFS 체크섬과 스크럽 체계가 강점
    스냅샷 관리 ZFS, Btrfs ext4는 기본 구조상 비교 우위가 적음
    운영 일관성 ZFS TrueNAS와의 결합도가 높아 관리 흐름이 자연스러움
    단순한 범용성 ext4 호환성과 익숙함이 장점

    ZFS 벤치마크를 볼 때 흔히 하는 오해가 하나 있어요. ext4보다 숫자가 조금 낮게 나오면 “ZFS가 느리다”라고 바로 결론 내리는 건데요. 사실 ZFS는 체크섬, 스냅샷, 풀 관리, 데이터 무결성 같은 운영 기능까지 포함한 저장소 플랫폼에 가깝습니다. 그래서 같은 MB/s라도 의미가 다르더라고요.

    TrueNAS 파일 시스템 성능과 ZFS 벤치마크 결과를 보여주는 대시보드 이미지

    순차 I/O와 랜덤 I/O 결과를 한눈에 비교하고, TrueNAS 스타일의 스토리지 대시보드 느낌을 함께 담은 이미지입니다.

    반대로 Btrfs 성능은 꽤 상황 의존적이더라고요. 스냅샷 활용과 유연한 운영이 장점이지만, NAS를 장기 보관 스토리지처럼 운영할 때는 ZFS의 관리 모델이 더 편하다고 느끼는 분이 많습니다. 저도 백업과 아카이브는 결국 ZFS 쪽으로 정착했었습니다.

    TrueNAS Scale 기준으로 보면 무엇을 선택해야 하나

    결론은 생각보다 명확해요. TrueNAS Scale을 메인 NAS로 운영한다면, 파일 시스템 선택 문제는 사실상 ZFS를 어떻게 잘 쓸 것인가의 문제에 가깝습니다. ext4와 Btrfs는 비교 대상으로는 유익하지만, TrueNAS 내부 운영 철학까지 합치면 ZFS가 중심입니다.

    • 백업 무결성이 최우선이면 ZFS
    • 스냅샷과 복제가 중요하면 ZFS
    • 순수 리눅스 범용 서버에서 단순 볼륨이 필요하면 ext4도 여전히 강력
    • 리눅스 네이티브 스냅샷 실험용이라면 Btrfs도 재미있음

    여기서 중요한 포인트! TrueNAS 파일 시스템 성능은 결국 “가장 빠른 파일 시스템”이 아니라 “내 데이터와 운영 방식에 맞는 저장소 모델”을 찾는 과정입니다. 숫자만 따라가면 나중에 복구, 스냅샷, 확장성에서 후회하는 경우가 꽤 많더라고요.

    TrueNAS 파일 시스템 성능 관점에서 ZFS, Btrfs, ext4를 요약한 인포그래픽

    ZFS, Btrfs, ext4의 장단점과 추천 사용 시나리오를 한 장으로 정리한 요약 이미지입니다.

    정리와 다음 단계

    이번 비교를 한 줄로 정리하면 이렇습니다. ext4는 기준선, Btrfs는 비교군, TrueNAS의 실전 선택은 ZFS입니다. 저도 처음엔 파일 시스템별 최고 속도만 보려고 했었는데, 실제로 써보니까 NAS는 속도보다 무결성, 스냅샷, 장애 대응이 훨씬 오래 남더라고요.

    다음 단계로는 아래 세 가지를 권합니다.

    1. 같은 SSD 또는 HDD로 직접 fio를 돌려 보세요.
    2. ZFS에서는 압축 on/off, 레코드 크기(recordsize, 블록 크기 정책), 동기 쓰기(sync) 조건을 나눠 보세요.
    3. 실사용 워크로드, 예를 들어 SMB 공유, 백업 저장소, VM 스토어를 따로 측정해 보세요.

    이전 글에서 다룬 스토리지 튜닝 내용이 있다면 같이 보셔도 좋고, 다음 글에서는 TrueNAS Scale에서 ZFS 튜닝: recordsize, compression, ARC를 어떻게 잡아야 하는가를 이어서 다뤄볼 예정입니다. 이 부분이 진짜 체감 성능에 더 크게 영향을 주거든요. 혹시 지금 벤치마크를 준비 중이시라면, 먼저 테스트 조건 통제부터 챙겨보세요. 그게 반은 먹고 들어갑니다. 진짜로요.

  • [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] TrueNAS SCALE: Docker 및 Kubernetes 앱 배포 및 관리 완벽 가이드

    [Nas] TrueNAS SCALE: Docker 및 Kubernetes 앱 배포 및 관리 완벽 가이드

    TrueNAS SCALE: Docker 및 Kubernetes 앱 배포 및 관리 완벽 가이드

    안녕하세요, 13년차의 서버실 주인장입니다. 홈랩(HomeLab)을 운영하다 보면 NAS에 이것저것 서비스를 올려보고 싶은 욕구가 스멀스멀 올라오잖아요? 저도 처음엔 단순히 파일 저장용으로 시작했는데, Plex(미디어 서버), Nextcloud(개인 클라우드), Home Assistant(스마트 홈 허브) 같은 다양한 앱들을 돌리고 싶어서 고민이 많았습니다.

    예전에는 일일이 가상머신(Virtual Machine)을 만들어서 설치하곤 했는데, 관리도 어렵고 자원도 많이 먹더라고요. 그러다 컨테이너(Container) 기술인 Docker(도커)와 Kubernetes(쿠버네티스)를 접하게 됐고, NAS에서 이걸 더 쉽게 쓸 방법이 뭘까 고민하던 차에 TrueNAS SCALE을 만나게 됐습니다. TrueNAS SCALE은 리눅스 기반이라 Docker와 Kubernetes를 네이티브(Native)하게 지원하거든요. 특히 TrueNAS SCALE Docker 환경에서 앱을 배포하고 관리하는 경험은 정말 신세계더라고요.

    오늘은 제가 직접 TrueNAS SCALE을 활용해서 Docker와 Kubernetes 앱을 배포하고 관리하면서 겪었던 삽질 경험과 해결 과정, 그리고 효율적인 관리 팁까지 완벽하게 풀어드리려고 합니다. 홈랩에 컨테이너 기반 앱을 올려보고 싶었던 분들이라면 이 글이 큰 도움이 될 거예요!

    TrueNAS SCALE 환경에서 Docker 및 Kubernetes 앱 배포의 전체적인 아키텍처를 보여주는 다이어그램입니다.

    TrueNAS SCALE, Docker, Kubernetes 핵심 개념 이해하기

    본격적인 실전에 들어가기 전에, 우리가 다룰 핵심 기술들이 무엇인지 쉽고 간단하게 짚고 넘어갈 수 있도록, 제가 처음 공부할 때 “이게 뭔 소리야?” 했던 개념들을 멘토처럼 알려드릴게요!

    TrueNAS SCALE: 리눅스 기반의 강력한 NAS 운영체제

    • TrueNAS SCALE은 오픈소스(Open Source) NAS 운영체제인 TrueNAS의 한 버전입니다. 기존 FreeBSD 기반의 TrueNAS CORE와는 다르게 Debian Linux(데비안 리눅스)를 기반으로 하고 있어요.
    • 이 덕분에 컨테이너(Container) 기술인 Docker와 오케스트레이션(Orchestration) 도구인 Kubernetes를 기본적으로 지원하고, 훨씬 더 넓은 범위의 앱 생태계를 활용할 수 있게 됐죠.
    • 강력한 파일 시스템인 ZFS(Z File System)를 기반으로 데이터 무결성(Data Integrity)과 유연한 스토리지 관리를 제공하는 건 기본입니다.

    Docker (도커): 앱을 컨테이너에 담아 쉽게 배포!

    • Docker(도커)는 애플리케이션(Application)과 그 실행에 필요한 모든 요소를 컨테이너라는 독립적인 환경에 패키징(Packaging)하여 배포하고 실행하는 기술입니다. 쉽게 말해, 앱을 하나의 깔끔한 상자에 담아 어디서든 똑같이 실행될 수 있도록 만들어주는 거죠.
    • 장점:
      • 이식성(Portability): 어떤 환경에서든 동일하게 작동합니다. “제 컴퓨터에선 되는데?” 하는 말을 들을 일이 줄어들어요.
      • 격리성(Isolation): 각 앱이 서로 영향을 주지 않고 독립적으로 실행됩니다.
      • 효율성(Efficiency): 가상머신보다 가볍고 빠릅니다.

    Kubernetes (쿠버네티스): 컨테이너 오케스트레이션의 지휘자

    • Kubernetes(쿠버네티스, 줄여서 K8s)는 컨테이너화된 워크로드(Workload)와 서비스를 자동으로 배포하고, 스케일링(Scaling)하며, 관리해주는 오픈소스 시스템입니다. Docker 컨테이너가 많아지면 이걸 효율적으로 관리하는 게 정말 어려워지거든요. 이때 K8s가 마치 지휘자처럼 여러 컨테이너를 조율해줍니다.
    • TrueNAS SCALE Kubernetes 환경에서는 TrueNAS의 ‘Apps’ 기능을 통해 Helm Chart(헬름 차트) 기반의 Kubernetes 앱을 쉽게 배포할 수 있어요.
    • NAS 앱 배포를 자동화하고 안정성을 높이는 데 아주 효과적이죠.

    Dockge (닥지): Docker Compose를 위한 웹 UI

    • TrueNAS SCALE의 내장 Apps 기능도 훌륭하지만, Docker Compose(도커 컴포즈) 파일을 직접 관리하는 데 익숙한 분들에게는 조금 답답할 수 있어요. 이때 Dockge(닥지)가 구원투수로 등장합니다!
    • Dockge는 Docker Compose 파일을 웹 UI(User Interface)를 통해 생성, 편집, 배포, 모니터링할 수 있게 해주는 경량 도구입니다. 제가 직접 써보니 Docker Compose를 활용한 컨테이너 관리가 훨씬 편하더라고요.

    TrueNAS SCALE에서 Docker 및 Kubernetes 앱 실전 배포

    자, 이제 이론은 충분히 봤으니 직접 한번 해봐야죠! 제가 실제로 홈랩에서 앱을 배포하는 과정을 보여드릴게요. TrueNAS SCALE의 ‘Apps’ 기능을 이용하는 방법과 Dockge를 활용하는 두 가지 방법을 모두 알려드리겠습니다.

    1. TrueNAS SCALE 내장 ‘Apps’ 기능 활용하기 (Kubernetes 기반)

    TrueNAS SCALE은 자체적으로 Kubernetes 클러스터를 내장하고 있어서 ‘Apps’ 메뉴를 통해 다양한 앱을 손쉽게 배포할 수 있어요. 주로 Helm Chart(헬름 차트) 기반의 앱들이 제공됩니다.

    1. Apps 기능 활성화 및 스토리지 풀 선택:
      • TrueNAS SCALE 웹 UI에 접속합니다.
      • 좌측 메뉴에서 ‘Apps’를 클릭합니다.
      • ‘Settings’ 탭으로 이동하여 ‘Choose Pool’에서 앱 데이터를 저장할 ZFS 스토리지 풀(Storage Pool)을 선택합니다. 저는 보통 ‘ix-applications’라는 데이터셋(Dataset)이 자동으로 생성되도록 합니다.
      • ‘Save’를 눌러 설정을 저장합니다.
    2. 앱 검색 및 설치:
      • ‘Available Applications’ 탭으로 돌아와 원하는 앱을 검색해요. 예를 들어 ‘Plex’를 검색해 볼까요?
      • Plex 앱을 선택하고 ‘Install’을 클릭합니다.
      • 설치 마법사(Wizard)가 나타나는데, 여기서 앱 이름, Persistent Volume(영구 볼륨), 네트워크 설정, 환경 변수(Environment Variables) 등을 설정할 수 있어요. 특히 볼륨 설정은 앱 데이터가 저장될 위치를 지정하는 중요한 부분이니 신중하게 설정해야 합니다.
      • 필요한 설정을 마친 후 ‘Install’을 클릭하면 앱 배포가 시작됩니다.
    3. 배포된 앱 확인:
      • ‘Installed Applications’ 탭에서 배포된 앱의 상태를 확인할 수 있어요. ‘Deploying’에서 ‘Active’로 바뀌면 정상적으로 실행 중인 것입니다.
      • 앱 옆의 ‘Web UI’ 버튼을 클릭하여 해당 앱의 웹 인터페이스에 접속할 수 있습니다.

    2. Dockge를 활용하여 Docker Compose 앱 배포하기

    TrueNAS SCALE의 Apps 기능도 좋지만, 저는 Docker Compose 파일로 직접 컨테이너 설정을 제어하는 걸 더 선호하는 편입니다. 이때 Dockge TrueNAS 설치가 정말 유용하더라고요. Dockge는 Docker Compose 파일을 웹 UI에서 쉽게 관리할 수 있게 해줍니다. 먼저 Dockge부터 설치해봅시다!

    2.1. Dockge 설치

    Dockge는 Docker 컨테이너로 실행되는데, TrueNAS SCALE의 Shell(쉘)을 통해 Docker 명령어를 직접 입력하여 설치할 수 있어요.

    1. TrueNAS SCALE Shell 접속:
      • TrueNAS SCALE 웹 UI에서 ‘System Settings’ > ‘Shell’로 이동합니다.
    2. Dockge 설치 스크립트 실행:

      다음 명령어를 입력하여 Dockge를 설치합니다. 이 명령어는 Docker Compose를 이용해 Dockge 컨테이너를 실행하고, 필요한 볼륨과 네트워크를 설정해줍니다. 저는 주로 /mnt/pool_name/appdata/dockge 경로에 데이터를 저장합니다.

      mkdir -p /mnt/pool_name/appdata/dockge
      cd /mnt/pool_name/appdata/dockge
      
      curl -L https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml -o compose.yaml
      
      docker compose up -d
      

      여기서 pool_name은 여러분의 ZFS 스토리지 풀 이름으로 바꿔주세요. 예를 들어 /mnt/tank/appdata/dockge 처럼요.

    3. Dockge 웹 UI 접속:

      설치가 완료되면 웹 브라우저에서 http://[TrueNAS_IP]:5001 (기본 포트)로 접속하여 Dockge 웹 UI를 확인할 수 있어요. 처음 접속 시 관리자 계정을 설정하게 됩니다.

    2.2. Dockge를 이용한 Docker Compose 앱 배포

    Dockge에 접속했다면 이제 원하는 Docker Compose 앱을 배포해봅시다. 저는 간단한 Nginx 웹 서버를 예시로 들어볼게요.

    1. 새로운 스택(Stack) 생성:
      • Dockge UI에서 ‘Stacks’ > ‘New Stack’을 클릭합니다.
      • 스택 이름을 입력하고, Docker Compose YAML 파일을 붙여넣어요.
    2. Docker Compose YAML 작성 예시 (Nginx):
      version: '3.8'
      services:
        nginx:
          image: nginx:latest
          container_name: my-nginx
          restart: unless-stopped
          ports:
            - "80:80"
          volumes:
            - /mnt/pool_name/appdata/nginx/html:/usr/share/nginx/html
            - /mnt/pool_name/appdata/nginx/conf:/etc/nginx/conf.d
      

      위 YAML 파일은 Nginx 컨테이너를 실행하고, 호스트의 80번 포트를 컨테이너의 80번 포트에 연결하며, 데이터를 저장할 볼륨을 설정합니다. 역시 pool_name은 여러분의 스토리지 풀 이름으로 바꿔주세요.

    3. 스택 배포:
      • YAML 파일을 붙여넣고 ‘Deploy’ 버튼을 클릭하면 Dockge가 Docker Compose 명령어를 실행하여 컨테이너를 배포해요.
      • 배포 상태와 로그를 실시간으로 확인할 수 있어서 문제 발생 시 디버깅(Debugging)하기 정말 편하더라고요.

    Dockge 웹 UI에서 Docker Compose 스택을 생성하고 설정하는 화면입니다. YAML 파일 편집과 배포가 한눈에 들어와서 편리하죠.

    ⚠️ 삽질 경험 & 트러블슈팅 가이드

    13년차 엔지니어 생활에서 느낀 건, 새로운 기술을 도입할 때 삽질은 숙명이라는 거예요. TrueNAS SCALE에서 컨테이너 앱을 배포하면서 저도 몇 번이나 “아, 이거 왜 안 되지?” 하면서 머리를 쥐어뜯었거든요. 그 경험을 바탕으로 여러분이 겪을 만한 문제와 해결책을 공유합니다.

    1. 스토리지 권한 문제 (Permissions Issue)

    이거 진짜 제일 많이 겪는 문제예요. 특히 Docker 컨테이너가 TrueNAS의 ZFS 데이터셋에 접근할 때 권한이 없어서 파일을 생성하거나 읽지 못하는 경우가 허다하거든요. 컨테이너 내부의 프로세스는 특정 사용자(User)와 그룹(Group)으로 실행되는데, 이 사용자에게 ZFS 데이터셋에 대한 쓰기 권한이 없어서 생기는 문제예요.

    • 해결책:
      1. ACL(Access Control List) 설정: TrueNAS 웹 UI에서 해당 데이터셋의 ‘Edit ACL’을 통해 ‘Default ACL’을 설정해주는 게 가장 깔끔합니다. ‘OPEN’ 프리셋을 적용하고, ‘Apply permissions recursively’를 체크하여 하위 폴더까지 적용해줘요.
      2. Shell에서 권한 변경: 급하게 테스트할 때는 Shell에서 chmod와 chown 명령어를 사용하기도 합니다.
        # 소유자를 root:wheel로 변경 (컨테이너가 보통 root로 실행될 때)
        sudo chown -R root:wheel /mnt/pool_name/appdata/your_app
        
        # 모든 사용자에게 읽기/쓰기/실행 권한 부여 (주의: 보안에 취약할 수 있음)
        sudo chmod -R 777 /mnt/pool_name/appdata/your_app
        

        하지만 chmod 777은 보안상 좋지 않으니, 컨테이너가 필요로 하는 최소한의 권한을 부여하는 것을 권장합니다. 보통 PUID/PGID(Process User ID/Group ID) 환경 변수를 통해 컨테이너 내부 사용자 ID를 지정하는 방식으로 해결하더라고요.

    2. 네트워크 설정 및 포트 충돌

    컨테이너 앱이 외부와 통신하려면 네트워크 설정이 중요한데, 특히 포트(Port) 충돌이 자주 발생해요.

    • 문제: 이미 TrueNAS 자체 서비스(예: SMB, SSH)나 다른 컨테이너가 사용 중인 포트를 앱이 사용하려고 할 때 생깁니다.
    • 해결책:
      • 사용 가능한 포트 확인: netstat -tulnp 명령어를 Shell에서 실행하여 현재 사용 중인 포트를 확인해요.
      • 포트 변경: 앱 설정이나 Docker Compose YAML 파일에서 호스트 포트를 다른 사용 가능한 포트로 변경합니다. 예를 들어 Nginx의 80번 포트가 충돌한다면 "8080:80"처럼 변경할 수 있어요.
      • Host Network 사용 시 주의: TrueNAS SCALE의 Apps에서는 ‘Host Network’ 옵션을 제공하는데, 이는 컨테이너가 호스트의 네트워크 스택을 직접 사용하게 하여 성능상 이점이 있지만, 포트 충돌 가능성이 더 높아집니다. 신중하게 사용해야 해요.

    3. 앱 업데이트 후 데이터 유실/오류

    컨테이너 앱을 업데이트하다가 데이터가 날아가거나 앱이 실행되지 않는 경험, 해보셨나요? 😭 저도 예전에 한번 겪고 식겁한 적이 있습니다.

    • 해결책:
      • 백업(Backup) 필수: 업데이트 전에는 항상 중요한 데이터를 백업해둬야 해요. ZFS 스냅샷(Snapshot) 기능을 활용하면 매우 편리하거든요.
      • 볼륨(Volume) 분리: 컨테이너 이미지와 데이터를 저장하는 볼륨을 분리하여 사용하면, 앱을 업데이트하거나 다시 배포해도 데이터는 안전하게 유지됩니다. Dockge의 Docker Compose YAML 예시에서도 볼륨을 명시적으로 분리했죠.
      • 업데이트 전 로그 확인: 새로운 버전의 변경 사항(Changelog)을 미리 확인하여 호환성 문제를 예측하고 대비해요.

    ✅ 배포된 앱 검증 및 결과 확인

    수많은 삽질 끝에 드디어 앱 배포에 성공했어요! 이제 앱이 제대로 작동하는지 확인해봐야죠. 저는 주로 다음 세 가지를 확인합니다.

    1. 웹 UI 접속 확인: 배포한 앱의 웹 인터페이스에 접속하여 정상적으로 화면이 뜨고 로그인, 기능 사용이 가능한지 확인해요. 예를 들어 Nginx라면 웹 브라우저에서 TrueNAS IP로 접속했을 때 기본 페이지가 보여야 하죠.
    2. 로그 확인: 앱이 제대로 작동하지 않을 때는 로그를 확인하는 게 가장 중요합니다.
      • TrueNAS SCALE Apps의 경우: ‘Installed Applications’에서 해당 앱을 선택하고 ‘Logs’ 탭을 확인해요.
      • Dockge를 통해 배포한 Docker Compose 앱의 경우: Dockge UI에서 해당 스택을 선택하면 실시간 로그를 확인할 수 있어요. 또는 TrueNAS Shell에서 docker logs [컨테이너_이름] 명령어를 사용합니다.
    3. 리소스 모니터링: TrueNAS SCALE 대시보드에서 CPU, RAM, 네트워크 사용량 등을 확인하여 앱이 과도하게 리소스를 소모하고 있지 않은지 점검해요. 특히 RAM 사용량은 컨테이너 앱이 많아질수록 중요해지거든요.

    성공적으로 배포된 Plex 미디어 서버의 대시보드 화면입니다. TrueNAS SCALE 위에서 컨테이너 앱들이 안정적으로 작동하는 것을 확인할 수 있습니다.

    🎉 마무리: TrueNAS SCALE로 홈랩을 더욱 강력하게!

    오늘은 TrueNAS SCALE에서 Docker와 Kubernetes 앱을 배포하고 관리하는 완벽 가이드를 함께 살펴봤습니다. 처음엔 좀 복잡하게 느껴질 수도 있지만, 한번 제대로 세팅해두면 정말 편리하고 강력한 홈랩 환경을 구축할 수 있어요.

    TrueNAS SCALE의 내장 ‘Apps’ 기능으로 Kubernetes 기반의 안정적인 앱 배포를 경험하고, Dockge TrueNAS 설치를 통해 Docker Compose 파일을 직접 제어하며 유연하게 컨테이너 관리를 하는 두 가지 방법을 모두 알려드렸는데요. 저는 개인적으로 Dockge를 통한 Docker Compose 관리가 훨씬 손에 익고, 제어권이 많아서 좋더라고요. 하지만 초보자분들이나 복잡한 설정 없이 바로 사용하고 싶다면 TrueNAS Apps도 훌륭한 선택지입니다.

    이런 삽질과 학습 과정을 통해 저의 NAS 앱 배포 경험치도 한 단계 올라간 것 같아요. 여러분도 저처럼 TrueNAS SCALE을 활용해서 나만의 강력한 서버실을 만들어보세요. 다음번에는 Ingress(인그레스, 외부 트래픽 진입점) 설정이나 Persistent Volume(영구 볼륨)의 고급 활용법에 대해 다뤄보면 어떨까 싶네요!

    TrueNAS SCALE에서 앱을 배포하는 두 가지 주요 방법, 내장 Apps와 Dockge를 통한 Docker Compose 활용법을 비교한 요약입니다.

  • [Nas] TrueNAS CORE vs SCALE: 홈랩 및 소규모 비즈니스 NAS 선택 가이드

    [Nas] TrueNAS CORE vs SCALE: 홈랩 및 소규모 비즈니스 NAS 선택 가이드

    안녕하세요, 13년차 서버실입니다.

    홈랩 운영하시는 분들이나 소규모 비즈니스를 위한 NAS를 고민하시는 분들이라면 한 번쯤 TrueNAS라는 이름을 들어보셨을 거예요. 저도 처음엔 단순히 ‘FreeNAS’ 시절부터 쭉 써왔던 터라 익숙한 이름이었는데, 어느새 TrueNAS CORE와 TrueNAS SCALE이라는 두 가지 버전으로 나뉘어 있더라고요. ‘도대체 뭘 선택해야 하지?’ 저도 꽤 고민하고 삽질 좀 했거든요. 그래서 오늘은 제가 직접 경험한 것을 바탕으로 TrueNAS CORE vs SCALE의 차이점과 여러분의 환경에 맞는 선택 가이드를 알려드릴게요. 이 글이 여러분의 현명한 TrueNAS 선택에 도움이 되길 바라요.

    TrueNAS, CORE와 SCALE 개념 이해하기

    TrueNAS는 FreeBSD 기반의 TrueNAS CORE와 Linux 기반의 TrueNAS SCALE로 나뉩니다. 둘 다 ZFS 파일 시스템을 기반으로 안정적인 데이터 저장과 관리 기능을 제공하는 NAS 운영체제(OS)죠. 쉽게 말해, 여러분의 하드웨어를 강력한 네트워크 스토리지 서버로 만들어주는 소프트웨어라고 생각하면 돼요. TrueNAS CORE는 전통적인 NAS 기능에 충실하고, TrueNAS SCALE은 여기에 컨테이너(Container)와 가상 머신(Virtual Machine, VM) 기능을 더해 확장성을 높인 버전이라고 보면 돼요. 사실상 NAS OS 비교의 핵심이죠.

    TrueNAS CORE 깊이 보기: 전통의 강자

    TrueNAS CORE는 오랫동안 FreeNAS라는 이름으로 사랑받아온 전통적인 버전입니다. FreeBSD 운영체제를 기반으로 하고 있죠.

    장점:

    • 안정성(Stability): FreeBSD 기반이라 굉장히 안정적이에요. 오랜 기간 검증된 만큼 데이터 안정성을 최우선으로 생각한다면 이만한 게 없어요. 제가 홈랩에서 10년 넘게 굴려봤는데, 정말 든든하더라고요.
    • 성숙한 기능(Mature Features): ZFS 파일 시스템, 다양한 프로토콜(SMB, NFS, iSCSI, FTP 등), 플러그인(Plugins) 기반의 추가 기능 등 NAS에 필요한 모든 기능이 완벽하게 구현되어 있어요.
    • 낮은 리소스 요구량(Lower Resource Footprint): SCALE에 비해 상대적으로 낮은 하드웨어 사양에서도 좋은 성능을 보여줘요. 특히 오래된 하드웨어로 NAS를 구축하려는 분들께는 아주 매력적인 선택지죠.

    단점:

    • 확장성 제한(Limited Extensibility): 플러그인 외에는 추가 기능을 확장하기가 쉽지 않아요. Docker 컨테이너나 가상 머신을 직접 구동하기 어렵다는 점이 가장 큰 단점이에요.
    • 상대적으로 적은 커뮤니티 자료(Smaller Community for Advanced Features): 전통적인 NAS 기능에는 자료가 많지만, 최신 개발 환경을 위한 자료는 SCALE에 비해 적은 편이에요.

    간단히 말해, ‘나는 그냥 튼튼한 데이터 저장소가 필요하고, 부가 기능은 크게 중요하지 않다!’ 하시는 분들께 CORE는 최고의 선택이 될 거예요. 제가 처음에 홈랩을 구성할 때도 CORE를 썼는데, 정말 별 탈 없이 잘 썼거든요. 안정성 하나는 끝내줍니다. ✅

    TrueNAS SCALE 깊이 보기: 미래 지향적인 올인원

    자, 다음은 요즘 핫한 TrueNAS SCALE입니다. CORE와 달리 Linux 기반(Debian)으로 만들어졌어요. 여기서 큰 차이가 발생하죠.

    장점:

    • 컨테이너 및 가상화 지원(Container & Virtualization Support): Docker 컨테이너와 Kubernetes(쿠버네티스)를 통한 앱 배포, KVM 기반의 가상 머신을 직접 구동할 수 있다는 점이 가장 큰 장점이에요. 홈랩에서 다양한 서비스를 한 번에 돌리고 싶을 때 정말 강력해요. 제가 Nextcloud, Plex, Home Assistant 등을 전부 SCALE 위에서 컨테이너로 돌리고 있는데, 관리도 편하고 성능도 아주 만족스러워요. 🎉
    • 확장성(Scalability): 기존 CORE보다 훨씬 유연하게 기능을 확장할 수 있어요. 특히 TrueCharts 같은 커뮤니티 앱 스토어를 통해 수많은 앱을 쉽게 설치하고 관리할 수 있죠.
    • 클러스터링(Clustering) 가능: 여러 TrueNAS SCALE 서버를 묶어 스케일-아웃(Scale-out) 스토리지를 구축할 수 있어요. 소규모 비즈니스 환경에서 나중에 확장을 고려한다면 이 기능이 정말 중요할 수 있죠.

    단점:

    • 상대적으로 높은 리소스 요구량(Higher Resource Footprint): Linux 커널과 컨테이너 환경 때문에 CORE보다 더 많은 RAM과 CPU 리소스가 필요해요. 오래된 하드웨어에서는 버벅일 수 있죠.
    • 새로운 기능의 안정성(New Features Stability): CORE에 비해 역사가 짧기 때문에, 새로운 기능들이 아직 완벽하게 안정화되지 않았을 가능성도 있어요. 물론 지금은 많이 안정화되었지만, 초기에는 잔버그도 좀 있었거든요. 삽질 좀 했습니다 ㅎㅎ
    • 복잡성(Complexity): 컨테이너, VM, Kubernetes 등 다룰 수 있는 기능이 많아지면서 CORE에 비해 학습 곡선이 가파를 수 있어요. 초보자에게는 좀 어렵게 느껴질 수도 있죠.

    SCALE은 ‘나는 NAS 기능뿐만 아니라, 홈 서버나 개발 서버 역할까지 한 번에 다 하고 싶다!’ 하시는 분들을 위한 올인원(All-in-one) 솔루션이라고 보면 돼요. 저도 결국 SCALE로 넘어왔는데, 정말 만족하면서 쓰고 있어요. 💡

    TrueNAS CORE와 SCALE의 핵심 차이점을 한눈에 볼 수 있는 아키텍처 비교 다이어그램입니다.

    홈랩 사용자를 위한 TrueNAS 선택 가이드

    이제 여러분의 상황에 맞춰 어떤 TrueNAS를 선택해야 할지 고민해볼 시간이에요. 먼저 홈랩(Homelab) 환경부터 살펴볼까요?

    TrueNAS CORE를 추천하는 경우:

    • 안정적인 파일 서버가 최우선: 오직 데이터 저장과 공유 기능만 필요하고, 안정성이 가장 중요하다고 생각한다면 CORE가 좋아요.
    • 하드웨어 리소스가 제한적: 오래된 PC나 저사양 서버를 쓸 계획이라면 CORE가 리소스를 덜 먹어서 효율적이에요.
    • NAS 기능 외의 복잡한 설정은 피하고 싶다: Docker나 VM에 대한 지식이 없거나, 굳이 배우고 싶지 않다면 CORE가 훨씬 직관적이에요.

    TrueNAS SCALE을 추천하는 경우:

    • NAS 외에 다양한 서비스를 한 서버에서 운영하고 싶다: Plex 미디어 서버, Nextcloud 개인 클라우드, Home Assistant 스마트 홈 허브 등 다양한 애플리케이션을 컨테이너로 돌리고 싶다면 SCALE이 압도적으로 유리해요.
    • 가상 머신(VM)을 활용할 계획: 윈도우나 리눅스 VM을 TrueNAS 위에서 구동하고 싶다면 KVM을 지원하는 SCALE이 유일한 선택지에요.
    • 새로운 기술과 확장성에 관심이 많다: Docker, Kubernetes 같은 최신 기술을 홈랩에서 직접 경험해보고 싶다면 SCALE이 제격이에요. 저도 이 점 때문에 SCALE로 넘어왔죠!

    홈랩에서 TrueNAS CORE와 SCALE을 어떻게 활용할 수 있는지 보여주는 인포그래픽입니다.

    소규모 비즈니스 사용자를 위한 TrueNAS 선택 가이드

    그럼 소규모 비즈니스(Small Business) 환경에서는 어떨까요? 여기서는 안정성과 확장성, 그리고 관리의 용이성이 더욱 중요해져요.

    TrueNAS CORE를 추천하는 경우:

    • 주요 목적이 파일 서버 및 백업: 직원 간 파일 공유, 중요 데이터 백업 등 기본적인 NAS 기능이 핵심이라면 CORE의 검증된 안정성이 큰 장점이에요.
    • IT 인력이 제한적: 복잡한 컨테이너 환경 관리 부담 없이, 안정적인 스토리지만 운영하고 싶을 때 CORE가 더 적합할 수 있어요.
    • 비용 효율성: 초기 하드웨어 투자 비용을 절감하고 싶을 때, CORE는 낮은 사양에서도 충분한 성능을 제공해요.

    TrueNAS SCALE을 추천하는 경우:

    • 내부 서비스(Internal Services) 확장 계획: 사내 Git 서버, 프로젝트 관리 툴, CI/CD 파이프라인 등 다양한 내부 서비스를 NAS 위에서 통합 운영하고 싶다면 SCALE이 효율적이에요.
    • 미래 확장성을 고려: 향후 데이터 증가나 서비스 확장에 대비하여 스케일-아웃(Scale-out) 클러스터링을 염두에 둔다면 SCALE이 유리해요.
    • 가상화 환경 통합: 기존에 운영 중인 가상화 환경(VMware, Proxmox 등)에 TrueNAS를 통합하거나, TrueNAS 자체에서 VM을 구동해야 한다면 SCALE이 답이에요.

    사실 소규모 비즈니스에서도 ‘무조건 CORE가 좋다’ 또는 ‘무조건 SCALE이 좋다’고 말하기는 어려워요. 비즈니스의 특성과 미래 계획에 따라 신중하게 선택해야 하거든요. 저도 컨설팅을 진행할 때 항상 고객사의 상황을 먼저 파악해요. ⚠️

    주의사항 및 삽질 경험 공유

    제가 직접 TrueNAS를 사용하면서 겪었던 몇 가지 삽질 경험과 주의사항을 공유해 드릴게요.

    1. 하드웨어 요구사항:
      특히 TrueNAS SCALE은 CORE보다 RAM과 CPU를 더 많이 써요. 제가 처음엔 CORE 쓰던 서버에 그냥 SCALE을 올렸다가 버벅이는 경험을 했거든요. 특히 Docker 컨테이너나 VM을 많이 돌릴 계획이라면 최소 16GB RAM (개인적으로는 32GB 이상 권장)과 멀티코어 CPU는 필수라고 생각해요. 저도 결국 RAM 업그레이드를 했더니 훨씬 쾌적해졌어요.
    2. 마이그레이션(Migration) 고려:
      만약 기존에 TrueNAS CORE를 쓰고 계시다가 SCALE로 넘어가고 싶으시다면, 데이터 백업은 필수에요. CORE에서 SCALE로의 직접적인 인플레이스(In-place) 업그레이드는 가능하지만, 항상 예기치 않은 문제가 발생할 수 있거든요. 저도 괜히 한번 믿었다가 데이터 날릴 뻔했어요… 😱 꼭 백업하시고, 가능하다면 새로운 하드웨어에 SCALE을 새로 설치하고 데이터를 옮기는 걸 추천해요.
    3. ZFS 설정의 중요성:
      TrueNAS의 핵심은 ZFS에요. 풀(Pool) 구성, 데이터셋(Dataset) 설정, 스냅샷(Snapshot) 주기 등을 처음부터 잘 계획해야 나중에 후회하지 않아요. 특히 스냅샷은 랜섬웨어(Ransomware) 같은 위협으로부터 데이터를 보호하는 데 정말 중요하니까요. 저도 예전에 한번 실수로 중요한 데이터를 지운 적이 있었는데, 스냅샷 덕분에 살린 경험이 있어요. 💡

    TrueNAS CORE에서 SCALE로 안전하게 마이그레이션하는 과정을 보여주는 흐름도입니다.

    두 버전 한눈에 비교하기

    두 버전을 한눈에 비교할 수 있도록 표로 정리해 봤어요.

    구분 TrueNAS CORE TrueNAS SCALE
    기반 OS FreeBSD Debian Linux
    주요 기능 안정적인 NAS (ZFS, SMB, NFS, iSCSI, 플러그인) NAS + 컨테이너 (Docker, Kubernetes) + 가상 머신 (KVM)
    주요 용도 순수 파일 서버, 데이터 백업, 고신뢰성 스토리지 올인원 홈 서버, 개발 환경, 클러스터링 스토리지
    하드웨어 요구사항 상대적으로 낮음 (8GB RAM 권장) 상대적으로 높음 (16GB RAM 이상 권장)
    확장성 플러그인 위주, 제한적 컨테이너 앱, VM, 클러스터링으로 유연하게 확장
    학습 곡선 쉬운 편 상대적으로 가파름

    TrueNAS CORE와 SCALE의 주요 특징을 비교한 표를 시각적으로 보여주는 차트입니다.

    마무리: 당신의 TrueNAS는?

    오늘은 TrueNAS CORE와 SCALE 중에서 어떤 것을 선택해야 할지, 제 13년차 인프라 엔지니어 경험을 바탕으로 이야기해 봤어요.

    결론적으로 말씀드리면, ‘정답은 없다!’ 이에요.

    • 안정적인 파일 저장 기능만 필요하고, 하드웨어 사양이 낮다면 TrueNAS CORE.
    • 다양한 컨테이너 앱이나 가상 머신을 돌리고 싶고, 충분한 하드웨어 리소스가 있다면 TrueNAS SCALE.

    이렇게 정리할 수 있을 것 같아요.

    어떤 버전을 선택하시든, TrueNAS는 강력한 NAS 솔루션임에는 틀림없어요. 여러분의 환경과 목적에 맞는 최적의 선택을 하시길 바라면서, 궁금한 점이 있다면 언제든지 댓글로 남겨주세요! 다음번에는 TrueNAS SCALE에서 Docker 컨테이너를 활용하는 방법에 대해 더 자세히 다뤄볼까 합니다. 기대해주세요! 😄

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

  • [Nas] TrueNAS SMB 성능 최적화: 고속 파일 공유를 위한 설정 가이드

    [Nas] TrueNAS SMB 성능 최적화: 고속 파일 공유를 위한 설정 가이드

    안녕하세요! 13년차 서버실 지킴이, 13년차 인프라 엔지니어입니다. 오늘은 홈랩(Homelab)에서 많은 분들이 겪는 고질적인 문제, 바로 TrueNAS SMB 성능 최적화에 대해 이야기해보려고 해요. NAS 파일 공유 속도가 답답해서 속 터지는 경험, 혹시 저만 해본 건 아니겠죠? 저도 처음 TrueNAS를 구축하고 파일을 옮기는데, ‘이게 뭔가 싶을 정도로’ 느려서 한참을 삽질했던 기억이 납니다. 😅

    특히 고용량 파일이나 다수의 작은 파일을 자주 주고받아야 할 때, 느린 SMB(Server Message Block) 속도는 정말이지 작업 효율을 떨어뜨리는 주범이 됩니다. 그래서 오늘은 제가 직접 경험하고 설정하면서 얻은 TrueNAS 네트워크 최적화와 SMB 설정 노하우를 아낌없이 공유해 드릴게요. 여러분의 TrueNAS가 쾌적한 고속 파일 공유 서버로 거듭나도록 도와드리겠습니다!

    홈랩에서 TrueNAS SMB 성능을 최적화하기 위한 기본적인 네트워크 구성도입니다. 10GbE 스위치와 클라이언트, TrueNAS 간의 연결을 보여줍니다.

    TrueNAS SMB, 왜 느릴까요? 핵심 개념부터 알아보기

    우선, SMB(Server Message Block)가 뭔지 간단히 짚고 넘어갈까요? 쉽게 말해, 윈도우나 macOS 같은 운영체제에서 네트워크를 통해 파일이나 프린터를 공유하기 위해 사용하는 통신 프로토콜입니다. 우리가 흔히 ‘네트워크 드라이브’나 ‘공유 폴더’라고 부르는 것들이 바로 이 SMB를 통해 작동하더라고요.

    그럼 왜 TrueNAS의 SMB 성능이 기대만큼 나오지 않을까요? 원인은 다양한데, 크게 몇 가지로 나눠볼 수 있어요.

    • 네트워크 병목(Network Bottleneck): 가장 흔한 원인 중 하나예요. 1기가비트 이더넷(Gigabit Ethernet, GbE) 환경에서는 이론상 최대 125MB/s의 속도를 내지만, 실제로는 100~110MB/s 정도가 한계거든요. 10기가비트 이더넷(10GbE)으로 업그레이드하면 훨씬 빨라집니다.
    • 디스크 I/O 성능(Disk I/O Performance): 아무리 네트워크가 빨라도 디스크 자체가 느리면 소용없어요. 특히 HDD(Hard Disk Drive)는 SSD(Solid State Drive)에 비해 랜덤 I/O 성능이 현저히 떨어지더라고요.
    • CPU 및 RAM(CPU & RAM): SMB 서비스 자체도 어느 정도의 CPU 연산과 RAM을 사용합니다. 특히 동시 접속자 수가 많거나 암호화 기능을 사용하면 더 많은 자원이 필요해요.
    • TrueNAS 설정 문제: 오늘 다룰 핵심이죠. TrueNAS 내부의 SMB 설정이나 ZFS 데이터셋(Dataset) 설정에 따라 성능이 크게 달라질 수 있습니다.

    이런 요소들을 종합적으로 고려해서 최적의 TrueNAS SMB 성능을 끌어내는 것이 우리의 목표입니다.

    고속 파일 공유를 위한 준비물과 사전 점검 💡

    본격적인 설정에 들어가기 전에, 몇 가지 준비물과 사전 점검 사항을 확인해 봅시다. 제가 처음엔 이런 것들을 간과하고 무작정 설정만 바꾸려다가 꽤나 삽질 좀 했거든요. ㅎㅎ

    1. 하드웨어 점검

    • 10기가비트 이더넷(10GbE) 환경:
      • TrueNAS 서버 NIC(네트워크 인터페이스 카드): 서버에 10GbE NIC가 장착되어 있는지 확인하세요. 저는 인텔 X540-T2 같은 NIC를 주로 사용하는데, 안정적이고 성능도 괜찮더라고요.
      • 클라이언트 PC NIC: 파일을 주고받을 클라이언트 PC에도 10GbE NIC가 있어야 합니다.
      • 10GbE 스위치(Switch): 모든 10GbE 장비가 연결될 스위치 역시 10GbE를 지원해야 해요. 저렴한 언매니지드(Unmanaged) 스위치도 괜찮지만, 장기적으로는 관리형(Managed) 스위치가 유용할 때가 많습니다.
    • 스토리지(Storage):
      • 성능이 중요한 공유라면 SSD 풀(Pool)을 사용하는 게 좋습니다. 특히 NVMe SSD는 압도적인 성능을 보여주더라고요.
      • HDD 풀이라도 스트라이프(Stripe)나 미러(Mirror) 구성보다는 RAID-Z1, Z2 같은 방식이 쓰기 성능에 유리할 수 있습니다.

    2. 네트워크 케이블 확인

    10GbE 환경에서는 CAT6a 이상의 이더넷 케이블을 사용하는 게 중요합니다. CAT5e나 CAT6 케이블은 짧은 거리에서는 작동할 수 있지만, 장거리에서는 신뢰성과 성능 저하를 일으킬 수 있어요. 저는 처음에 집에 있던 오래된 CAT5e 케이블로 연결했다가 속도가 안 나와서 애를 먹었는데, 케이블을 바꾸니 바로 해결되더라고요! 😅

    TrueNAS SMB 성능 최적화를 위한 설정 가이드

    이제 본격적으로 TrueNAS 설정에 들어가 볼까요? 여기서는 TrueNAS SCALE SMB를 기준으로 설명하지만, CORE 버전에서도 유사한 설정들이 많으니 참고하시면 됩니다.

    1. SMB 서비스 설정

    TrueNAS 웹 UI에 접속하여 서비스(Services) 메뉴에서 SMB(CIFS) 서비스를 찾아 설정합니다.

    1. 고급 설정 활성화: SMB 서비스 설정 화면에서 ‘고급 옵션 표시(Show Advanced Options)’를 클릭하세요.
    2. 서버 최소/최대 프로토콜(Server Minimum/Maximum Protocol):
      • Server Minimum Protocol: SMB2 (SMB1은 보안에 취약하고 성능도 좋지 않습니다. 레거시 시스템이 아니라면 사용하지 마세요.)
      • Server Maximum Protocol: SMB3_11 또는 SMB3 (최신 프로토콜을 사용하는 게 성능과 보안에 모두 유리합니다.)
    3. 보조 매개변수(Auxiliary Parameters): 여기에 성능 향상을 위한 추가 옵션들을 넣어줄 거예요. 한 줄씩 추가합니다.
    4. 
      # 비동기 I/O (Asynchronous I/O)를 위한 설정
      aio_pthread_cases = 100
      aio_pthread_read_cases = 100
      aio_pthread_write_cases = 100
      
      # SMB Multi-channel (멀티채널) 활성화 (TrueNAS SCALE만 해당, CORE는 Link Aggregation 사용)
      # 여러 네트워크 인터페이스를 사용하여 대역폭을 늘리고 지연 시간을 줄입니다.
      # 클라이언트와 서버 모두 Multi-channel을 지원해야 합니다.
      server multi channel = yes
      
      # 메타데이터 캐싱 최적화 (Disk I/O 감소)
      cache_read_metadata = yes
      
      # 엄격한 할당 비활성화 (쓰기 성능 향상, 주의 필요)
      # 클라이언트가 요청한 크기만큼 블록을 미리 할당하지 않도록 합니다.
      # 파일 시스템 단편화가 증가할 수 있으나, 쓰기 성능 향상에 기여할 수 있습니다.
      strict allocate = no
              

      💡 팁: strict allocate = no는 파일 시스템 단편화를 유발할 수 있으니, 아주 민감한 환경이 아니라면 기본값(yes)을 유지하는 것도 좋은 선택입니다. 저는 홈랩 환경에서 쓰기 성능을 끌어올리기 위해 사용하곤 하는데, 환경에 따라 선택하시면 됩니다.

    5. 저장(Save) 버튼을 눌러 설정을 적용합니다.

    TrueNAS 웹 UI에서 SMB 서비스의 고급 설정을 변경하는 화면입니다. 보조 매개변수에 주요 최적화 옵션들이 입력되어 있습니다.

    2. 네트워크 인터페이스(NIC) 설정

    네트워크 인터페이스 설정도 TrueNAS 네트워크 최적화의 핵심입니다.

    1. 점보 프레임(Jumbo Frames) 활성화:
      • 네트워크(Network) → 인터페이스(Interfaces) 메뉴로 이동하여 사용할 10GbE NIC를 선택합니다.
      • MTU(Maximum Transmission Unit) 값을 9000으로 변경합니다. (기본값은 1500입니다.)
      • ⚠️ 중요: TrueNAS 서버, 스위치, 클라이언트 PC의 모든 장비가 동일하게 MTU 9000을 지원하고 설정되어야 합니다! 하나라도 다르면 오히려 통신 오류나 성능 저하가 발생할 수 있어요. 제가 이 부분에서 삽질 좀 했거든요. 스위치와 TrueNAS는 설정했는데 클라이언트 MTU를 잊어서 한참을 헤맸던 기억이 나네요.
    2. Link Aggregation(링크 어그리게이션) 또는 SMB Multi-channel(멀티채널):
      • TrueNAS CORE: 여러 개의 1GbE NIC를 묶어 대역폭을 확장하는 Link Aggregation(LACP)을 주로 사용합니다. 스위치에서 LACP 설정을 해주어야 해요.
      • TrueNAS SCALE: SMB Multi-channel을 적극 활용하는 게 좋습니다. 위에 SMB 보조 매개변수에서 server multi channel = yes를 설정했다면, TrueNAS 서버에 여러 개의 NIC가 연결되어 있고 클라이언트도 Multi-channel을 지원하면 자동으로 대역폭을 합쳐서 사용해요. 훨씬 간편하고 효과적입니다.

    3. ZFS 데이터셋(Dataset) 설정 (⚠️ 매우 중요!)

    SMB 공유에 사용할 ZFS 데이터셋의 설정도 성능에 큰 영향을 미칩니다. 특히 동기 쓰기(Synchronous Write)와 관련된 설정은 데이터 안전성과 성능 사이의 트레이드오프가 존재하므로 신중해야 합니다.

    1. 데이터셋(Datasets) 메뉴로 이동하여 공유할 데이터셋을 선택합니다.
    2. 고급 옵션(Advanced Options)에서 동기화(Sync) 설정을 확인합니다.
      • Sync: Standard (기본값)
        • 대부분의 경우 이 설정이 가장 안전하고 균형 잡힌 성능을 제공해요.
        • 데이터 무결성(Data Integrity)을 보장하며, 쓰기 작업이 완료되기 전에 데이터가 디스크에 기록되었는지 확인합니다.
      • Sync: Always (가장 안전하지만, 성능 저하)
        • 모든 쓰기 작업이 디스크에 기록될 때까지 기다리므로, 전력 손실 등의 상황에서도 데이터 손실 위험이 거의 없습니다. 하지만 쓰기 성능은 가장 낮아요.
      • Sync: Disabled (최대 성능, 데이터 손실 위험)
        • 쓰기 작업이 디스크에 기록되었는지 확인하지 않고, 운영체제 캐시에서 쓰기 완료를 보고합니다. 이로 인해 쓰기 성능은 가장 뛰어나지만, 전력 손실이나 시스템 크래시 시 데이터 손실 또는 손상 위험이 매우 높습니다.
        • ⚠️ 경고: 이 옵션은 극단적인 성능이 필요하고 데이터 손실 위험을 감수할 수 있는 경우에만 사용해야 합니다. 절대 중요한 데이터에 사용하지 마세요! 저는 특정 임시 파일 공유나 벤치마크 테스트 시에만 제한적으로 사용해봤습니다.

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

    자, 이렇게 설정하면 웬만해선 TrueNAS SMB 성능이 확 올라갈 겁니다. 하지만 저처럼 예상치 못한 문제에 부딪힐 수도 있겠죠? 제가 겪었던 몇 가지 삽질 경험과 해결 팁을 공유해 드릴게요.

    1. 점보 프레임 설정 후 오히려 속도가 느려지거나 접속 불가

    앞서 강조했지만, MTU 9000은 TrueNAS, 스위치, 클라이언트 모두 동일하게 설정되어야 해요. 저는 스위치와 TrueNAS는 설정했지만, 윈도우 클라이언트 PC의 NIC 드라이버 설정에서 MTU를 바꾸는 걸 깜빡해서 한참을 헤맸어요. 윈도우에서는 PowerShell이나 NIC 속성에서 설정할 수 있습니다.

    
    # 현재 MTU 확인 (Windows)
    Get-NetAdapterAdvancedProperty -Name "이더넷 어댑터 이름" | Where-Object {$_.DisplayName -eq "Jumbo Packet"}
    
    # MTU 9000으로 설정 (Windows)
    Set-NetAdapterAdvancedProperty -Name "이더넷 어댑터 이름" -RegistryKeyword "JumboPacket" -RegistryValue 9000
    

    2. 클라이언트 PC의 SMB 캐싱 문제

    가끔 클라이언트 PC에서 이전에 연결했던 SMB 공유의 캐시가 남아있어 성능 측정이 정확하지 않은 경우가 있어요. 이럴 때는 클라이언트 PC를 재부팅하거나, 네트워크 드라이브 연결을 완전히 끊고 다시 연결해보세요.

    3. TrueNAS 리소스 부족

    SMB 성능은 네트워크뿐만 아니라 TrueNAS 서버 자체의 리소스(CPU, RAM)에도 영향을 받습니다. 특히 TrueNAS SCALE SMB는 컨테이너 기반으로 작동하므로, 시스템 리소스 할당이 중요할 수 있어요. TrueNAS 대시보드에서 CPU 사용률, RAM 사용률, 디스크 I/O 등을 모니터링하면서 병목 지점을 찾아보세요.

    TrueNAS 웹 UI에서 시스템 리소스 사용 현황을 모니터링하는 대시보드 화면입니다. CPU, RAM, 네트워크 트래픽 등의 지표를 확인할 수 있습니다.

    검증 및 결과 확인 🎉

    자, 이제 설정도 끝났으니 실제로 NAS 파일 공유 속도가 얼마나 빨라졌는지 확인해 볼 시간입니다! 저는 주로 두 가지 툴을 사용해서 성능을 측정합니다.

    1. iPerf3를 이용한 네트워크 대역폭 테스트

    SMB 성능은 결국 네트워크 대역폭에 크게 좌우됩니다. iPerf3는 네트워크 자체의 최대 처리량을 측정하는 데 정말 유용해요. TrueNAS SCALE에서는 앱(Apps)으로 iPerf3를 설치하거나, CLI에서 직접 실행할 수 있습니다.

    
    # TrueNAS 서버에서 iPerf3 서버 실행
    iperf3 -s
    
    # 클라이언트 PC에서 iPerf3 클라이언트 실행 (TrueNAS 서버 IP로)
    iperf3 -c [TrueNAS_IP] -P 8 -t 30
    

    이렇게 측정했을 때 10GbE 환경이라면 9~9.5Gbps 정도가 나와야 정상입니다. 만약 1Gbps에 머무르거나 그 이하로 나온다면, 네트워크 케이블, NIC 드라이버, 스위치 설정 등을 다시 점검해 봐야 합니다.

    2. CrystalDiskMark (Windows) 또는 Blackmagic Disk Speed Test (macOS)

    실제 SMB 공유 폴더에 파일을 읽고 쓰는 성능을 측정하는 데 정말 유용한 툴들이예요. 클라이언트 PC에서 공유 폴더를 네트워크 드라이브로 연결한 후 테스트를 진행합니다.

    • CrystalDiskMark: 윈도우 환경에서 가장 널리 사용되는 디스크 벤치마크 툴입니다. 순차 읽기/쓰기, 랜덤 읽기/쓰기 성능을 직관적으로 보여줍니다.
    • Blackmagic Disk Speed Test: macOS 사용자에게 정말 좋은 선택지예요. 비디오 편집 워크로드에 초점을 맞춰 성능을 측정합니다.

    설정 전후로 이 툴들을 돌려보면 확연히 빨라진 TrueNAS SMB 성능을 체감하실 수 있을 거예요. 저는 순차 읽기/쓰기 속도가 110MB/s에서 700~800MB/s (10GbE 환경, SSD 풀)까지 올라가는 걸 보고 쾌재를 불렀습니다! 🎉

    TrueNAS SMB 성능 최적화 전후의 CrystalDiskMark 벤치마크 결과 비교표입니다. 순차 읽기/쓰기 속도 변화를 보여줍니다.

    마무리하며: 쾌적한 홈랩을 위한 끊임없는 탐구

    오늘은 제가 13년차 인프라 엔지니어로 홈랩을 운영하면서 겪었던 TrueNAS SMB 성능 최적화 과정을 공유해 드렸습니다. NAS 파일 공유 속도를 높이기 위해 SMB 설정부터 네트워크 환경, 그리고 ZFS 데이터셋 설정까지 다양한 요소를 고려해야 한다는 걸 다시 한번 깨달으셨을 거예요. 때로는 복잡하고 삽질의 연속일 수 있지만, 드디어 원하는 성능이 나왔을 때의 그 쾌감은 정말 최고랍니다! 😄

    오늘 다룬 내용 외에도 ZFS 캐싱(L2ARC, SLOG)을 활용하거나, 더 고급스러운 네트워크 튜닝을 통해 TrueNAS 네트워크 최적화를 시도해 볼 수도 있어요. 하지만 오늘 제가 알려드린 기본 설정만으로도 대부분의 홈랩 환경에서는 충분히 만족할 만한 TrueNAS SMB 성능 향상을 경험하실 수 있을 겁니다. 여러분의 쾌적한 홈랩 생활에 제 경험이 조금이나마 도움이 되었기를 바랍니다!

    다음번에는 TrueNAS SCALE의 컨테이너 앱 활용법 같은 재미있는 주제로 찾아올게요. 그때까지 즐거운 홈랩 라이프 보내세요! 👋

  • [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으로 설치해서 쓰는 방법에 대해 자세히 다뤄볼까 합니다. 기대해주세요! 😄