13년차의 서버실

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

[카테고리:] homelab

  • [HomeLabs] 홈서버 구축: 저전력 미니PC로 Proxmox VE 설치 및 최적화 가이드

    [HomeLabs] 홈서버 구축: 저전력 미니PC로 Proxmox VE 설치 및 최적화 가이드

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

    오늘은 많은 분들이 꿈꾸는 홈서버 구축, 그 중에서도 저전력 미니PC를 활용해 Proxmox VE 설치 및 최적화하는 과정을 제 경험을 바탕으로 솔직하게 풀어보려고 해요. 사실 저도 처음 홈랩을 꾸릴 때는 어떤 하드웨어로 시작해야 할지, 어떤 OS를 써야 할지 막막했거든요. 큰 서버랙을 들여놓는 건 공간도 전기세도 부담스럽고, 그렇다고 라즈베리 파이 같은 SBC(Single Board Computer)는 성능이 아쉽고요. 그래서 제가 찾아낸 답이 바로 이 미니PC 홈서버 구축이더라고요. 작지만 강한 녀석으로 Proxmox VE를 돌려보니, 정말 만족스럽더라고요. 혹시 저처럼 홈서버를 꿈꾸지만 시작이 두려우셨다면, 이 글이 좋은 가이드가 될 겁니다!

    홈랩의 심장, 미니PC 기반 Proxmox VE 아키텍처. 작지만 여러 서비스를 안정적으로 운영할 수 있는 구조를 보여줍니다.

    Proxmox VE, 너는 누구냐? (핵심 개념 파헤치기)

    자, 본격적인 이야기에 앞서 Proxmox VE (Virtual Environment)가 뭔지 간단하게 짚고 넘어갈게요. 쉽게 말해, Proxmox VE는 오픈소스 가상화 플랫폼이거든요. 서버 한 대에 여러 개의 운영체제(OS)를 동시에 돌릴 수 있게 해주는 마법 같은 녀석이죠. VMware ESXi나 Microsoft Hyper-V와 비슷한 역할을 한다고 보시면 됩니다. Proxmox VE는 크게 두 가지 방식으로 가상화를 제공해요.

    • KVM (Kernel-based Virtual Machine): 완전한 가상 머신(VM)을 생성합니다. Windows, Ubuntu Server 등 다양한 OS를 게스트로 설치할 수 있거든요. 각각의 VM은 독립적인 하드웨어 자원을 할당받아 마치 별도의 물리 서버처럼 동작합니다.
    • LXC (Linux Containers): 리눅스 컨테이너 기술로, VM보다 훨씬 가볍고 빠르게 컨테이너를 생성할 수 있어요. 호스트 OS의 커널을 공유하기 때문에 오버헤드가 적고, 특정 리눅스 배포판 기반의 서비스들을 올리기에 정말 좋습니다. Docker와는 또 다른 개념인데, 여기서는 ‘가벼운 가상화’ 정도로 이해하셔도 충분해요.

    제가 Proxmox VE를 좋아하는 이유 중 하나는 바로 웹 기반 UI(User Interface)가 아주 직관적이라는 점이거든요. 터미널 명령어에 익숙하지 않은 분들도 쉽게 VM을 만들고 관리할 수 있어요. 게다가 오픈소스라 무료로 사용할 수 있다는 점! 홈랩 구축에 이보다 더 좋은 선택지가 있을까 싶네요.

    💡 저전력 미니PC로 홈서버 구축, 이렇게 좋습니다

    저는 홈랩을 운영하면서 가장 중요하게 생각하는 게 전력 효율과 소음입니다. 24시간 켜두는 서버인데 전기세 폭탄 맞으면 안 되잖아요? 그리고 침실 옆에 두는데 웅웅거리는 소리가 나면 스트레스고요. 그런 면에서 저전력 미니PC는 정말 최고의 선택이라고 생각해요.

    • 저전력 (Low Power Consumption): 보통 CPU TDP(Thermal Design Power)가 10W ~ 25W 수준이라 전기 요금 부담이 적습니다. N100, N305 같은 인텔 저전력 프로세서들이 요즘 아주 잘 나와요.
    • 저소음 (Low Noise): 대부분 팬리스(Fanless) 디자인이거나 아주 작은 팬이 달려 있어 조용합니다.
    • 작은 크기 (Compact Size): 책상 위나 선반 어디든 부담 없이 둘 수 있습니다.
    • 적당한 성능 (Decent Performance): 홈서버 용도로는 충분한 컴퓨팅 파워를 제공합니다. 여러 개의 VM이나 LXC를 동시에 돌려도 크게 버벅이지 않더라고요.

    제가 직접 써보니, 미니PC 홈서버 구축은 처음 시작하는 분들에게 정말 좋은 진입점이 되더라고요. 투자 비용도 그리 크지 않고요.

    🛠️ 실전! Proxmox VE 설치 및 초기 설정 가이드

    자, 이제 제 미니PC에 Proxmox VE를 설치했던 과정을 단계별로 공유해 드릴게요. 따라만 오시면 됩니다!

    1. Proxmox VE 설치 미디어 만들기

    먼저 Proxmox VE ISO 파일을 다운로드해야겠죠? Proxmox 공식 웹사이트에서 최신 버전을 다운로드하세요. 저는 보통 안정적인 버전이 나오면 바로 업데이트하는 편입니다. 다운로드받은 ISO 파일은 Rufus나 balenaEtcher 같은 툴을 이용해서 USB 드라이브에 구워줍니다. 8GB 이상의 USB 메모리면 충분해요. 저는 Rufus를 주로 쓰는데, 과정이 워낙 직관적이라 실패한 적이 없네요.

    # Rufus 또는 balenaEtcher를 사용하여 ISO를 USB에 굽기
    # (GUI 툴이므로 명령어는 별도로 없습니다.)
    # balenaEtcher 설치 예시 (Linux)
    # sudo apt update
    # sudo apt install curl
    # curl -L https://etcher.balena.io/etcher/deb/balena-etcher_latest_amd64.deb -o balena-etcher_latest_amd64.deb
    # sudo dpkg -i balena-etcher_latest_amd64.deb
    

    2. 미니PC BIOS 설정 및 부팅

    USB 설치 미디어를 미니PC에 꽂고 전원을 켜세요. 그리고 BIOS(Basic Input/Output System) 또는 UEFI 설정으로 진입해야 합니다. 보통 부팅 시 Delete, F2, F10, F12 키를 연타하면 진입할 수 있어요. 미니PC 제조사마다 다르니 사전에 확인해 보세요.

    BIOS 설정에서 다음을 확인하고 변경해 주세요:

    • 부팅 순서 (Boot Order): USB 드라이브가 첫 번째로 부팅되도록 설정합니다.
    • 가상화 기술 활성화 (Virtualization Technology): Intel VT-x 또는 AMD-V 기능이 활성화되어 있는지 확인합니다. 이게 꺼져 있으면 Proxmox VE가 제대로 동작하지 않아요!
    • 내장 LAN 카드 설정: 필요한 경우 Enable로 설정.

    설정을 저장하고 재부팅하면 USB로 부팅되어 Proxmox VE 설치 화면이 나타날 겁니다. 🎉

    Proxmox VE 설치의 핵심 단계, OS를 설치할 디스크를 선택하는 화면입니다. 여기서 실수가 없어야 해요!

    3. Proxmox VE 설치 과정 진행

    이제 화면의 지시에 따라 설치를 진행하면 됩니다. 몇 가지 중요한 단계들을 짚어드릴게요.

    1. 설치 디스크 선택: Proxmox VE를 설치할 디스크를 선택합니다. 저는 보통 NVMe SSD를 OS용으로 사용하고, 추가 스토리지는 나중에 붙여서 쓰는 편이에요. 중요한 데이터가 없는 디스크를 선택해야 합니다!
    2. 국가 및 시간대 설정: 대한민국(South Korea), 서울(Seoul)로 설정합니다.
    3. 관리자 비밀번호 설정: Proxmox VE 웹 UI에 접속할 root 계정의 비밀번호를 설정합니다. 강력한 비밀번호는 필수!
    4. 네트워크 설정: hostname, IP Address, Netmask, Gateway, DNS Server를 설정합니다. 저는 보통 DHCP로 할당받은 후, 라우터에서 해당 MAC 주소에 고정 IP를 할당해주는 방식으로 사용합니다. 처음부터 고정 IP를 설정해도 좋고요.

    이후 설치가 시작되고, 미니PC의 성능에 따라 10~20분 정도 소요될 겁니다. 설치가 완료되면 USB를 제거하고 재부팅하세요.

    4. 설치 후 초기 설정 (네트워크 본딩 및 저장소 추가)

    재부팅 후 웹 브라우저를 열고, 설정했던 IP 주소로 접속합니다. (예: https://[설정했던 IP]:8006) 로그인 후 Proxmox VE 대시보드가 보이면 성공입니다! 이제 몇 가지 초기 최적화를 해볼까요?

    네트워크 본딩 (Network Bonding)

    제 미니PC는 LAN 포트가 두 개더라고요. 이럴 때 네트워크 본딩(Network Bonding)을 사용하면 대역폭을 늘리거나, 한쪽 포트에 문제가 생겼을 때 다른 포트로 자동 전환되는 고가용성(High Availability)을 확보할 수 있습니다. 저는 주로 balance-xor 모드를 선호합니다. 설정은 [노드] > System > Network에서 할 수 있어요.

    # Proxmox VE 웹 UI에서 설정하는 것이 일반적이지만,
    # CLI로 설정할 경우 /etc/network/interfaces 파일 수정
    # (예시 - bonding mode 2 (balance-xor))
    auto bond0
    iface bond0 inet static
            address 192.168.1.100/24
            gateway 192.168.1.1
            slaves enp1s0 enp2s0 # 실제 NIC 이름으로 변경
            bond_miimon 100
            bond_mode balance-xor
            bond_xmit_hash_policy layer2+3
    # 변경 후 적용
    # systemctl restart networking
    

    저장소 추가 (Storage Configuration)

    VM이나 LXC를 위한 추가 저장소가 필요하겠죠? 저는 보통 SATA SSD나 HDD를 추가해서 사용합니다. [노드] > Datacenter > Storage > Add에서 Directory나 LVM, ZFS 등을 선택해서 추가할 수 있어요. 저는 간편하게 Directory로 설정하고, 나중에 TrueNAS 같은 NAS 솔루션을 VM으로 올려서 NFS/SMB로 마운트하는 방식도 즐겨 사용합니다.

    # 새 디스크 파티션 및 포맷 (예시: /dev/sdb)
    # fdisk /dev/sdb # 파티션 생성
    # mkfs.ext4 /dev/sdb1 # 파일 시스템 포맷
    # mkdir /mnt/data # 마운트 포인트 생성
    # mount /dev/sdb1 /mnt/data # 마운트
    # echo "/dev/sdb1 /mnt/data ext4 defaults 0 2" >> /etc/fstab # 재부팅 시 자동 마운트 설정
    # Proxmox VE 웹 UI에서 "Directory" 타입으로 /mnt/data 추가
    

    ⚠️ 삽질 경험: Proxmox VE 설치 후 네트워크 문제 해결

    제가 겪었던 흔한 문제 중 하나는 바로 네트워크 드라이버 문제였어요. 특정 미니PC에 들어있는 Realtek NIC (Network Interface Card) 드라이버가 Proxmox VE 기본 커널에 포함되지 않아 설치 후 네트워크가 먹통이 되는 경우가 있더라고요. 처음엔 ‘아, 망했다!’ 싶었죠. 😅

    해결 방법은 다음과 같았거든요:

    1. 설치 중 네트워크 설정 스킵: 일단 네트워크 설정 없이 설치를 완료합니다.
    2. USB 테더링 또는 임시 유선 연결: 스마트폰 USB 테더링 등으로 임시 인터넷 연결을 확보하거나, 다른 NIC이 있는 경우 그쪽으로 연결합니다.
    3. 필요한 드라이버 수동 설치: Proxmox VE는 Debian 기반이므로, Realtek 공식 웹사이트에서 해당 NIC의 Linux 드라이버를 다운로드하여 컴파일 후 설치합니다. (dkms 패키지를 이용하면 커널 업데이트 시에도 드라이버가 유지되어 편리합니다.)
    # Realtek 드라이버 설치 예시 (r8168 드라이버)
    # apt update && apt install pve-headers-$(uname -r) build-essential dkms
    # wget https://www.realtek.com/Downloads/Upload/r8168-dkms_8.049.02-1_all.deb # 최신 버전 확인 후 다운로드
    # dpkg -i r8168-dkms_8.049.02-1_all.deb
    # modprobe -r r8169 # 기존 드라이버 언로드 (필요시)
    # modprobe r8168 # 새 드라이버 로드
    # systemctl restart networking # 네트워크 서비스 재시작
    

    이 과정을 거치고 나니 드디어 네트워크가 잡히고 웹 UI에 접속할 수 있더라고요. 이런 삽질 경험이 쌓여서 문제 해결 능력이 늘어나는 것 같습니다. ㅎㅎ

    Proxmox VE 웹 대시보드에서 시스템 자원 사용량을 한눈에 확인하는 모습. 제가 구축한 홈서버가 얼마나 효율적으로 작동하는지 보여줍니다.

    ✅ 결과 확인 및 자원 모니터링

    모든 설정이 끝나면 Proxmox VE 웹 UI에서 모든 것을 관리할 수 있습니다. Datacenter 레벨에서 전체 자원 사용량을 확인하고, 각 Node(미니PC)를 클릭하면 해당 노드의 CPU, 메모리, 디스크 I/O, 네트워크 트래픽 등의 상세 정보를 그래프로 볼 수 있어요. 제가 직접 VM과 LXC를 몇 개 생성해서 돌려봤는데, N100 기반 미니PC도 홈서버 용도로는 충분히 쾌적한 성능을 보여주더라고요. Plex Media Server, Home Assistant, AdGuard Home 등을 동시에 돌려도 CPU 사용률은 20%를 넘지 않았어요. 💡

    Proxmox VE vs. 다른 가상화 솔루션 비교

    구분 Proxmox VE VMware ESXi (무료 버전) Docker (Standalone)
    가상화 방식 KVM (VM), LXC (컨테이너) VM (하이퍼바이저) 컨테이너 (OS 위에서 실행)
    설치 용이성 쉬움 (전용 ISO) 보통 (전용 ISO) 설치된 OS 위에 설치
    웹 UI 지원 ✅ 매우 강력 ✅ 강력 (vSphere Client) ❌ (Portainer 등 추가 설치)
    오픈소스 여부 ✅ 완전 오픈소스 ❌ (제한적 무료) ✅ 핵심은 오픈소스
    HA/클러스터링 ✅ 기본 지원 ❌ (유료 버전) ❌ (Kubernetes 등 필요)
    권장 사용처 종합적인 홈서버, 랩 환경 VM 중심의 안정적인 환경 단일 애플리케이션 컨테이너

    미니PC와 Proxmox VE 조합의 시너지 효과를 한눈에 볼 수 있는 요약 인포그래픽입니다.

    마무리하며: 저전력 홈서버의 무한한 가능성!

    이렇게 저전력 미니PC로 Proxmox VE를 설치하고 초기 최적화하는 과정을 쭉 살펴봤습니다. 처음에는 조금 어렵게 느껴질 수도 있지만, 한 번 구축해두면 정말 무궁무진한 활용이 가능하거든요. 개인 NAS, 웹 서버, 미디어 서버(Plex), 스마트 홈 허브(Home Assistant), 광고 차단 서버(AdGuard Home) 등 원하는 모든 서비스를 VM이나 LXC 컨테이너로 올려서 사용할 수 있어요. 저는 이 조합으로 벌써 3년 넘게 안정적으로 홈랩을 운영하고 있는데, 전기세도 부담 없고, 성능도 만족스러워서 정말 후회 없는 선택이었어요.

    여러분도 이 가이드를 통해 자신만의 멋진 홈랩 구축에 성공하시길 바랍니다! 다음 글에서는 이 Proxmox VE 위에 Docker를 올리고 다양한 서비스를 컨테이너로 배포하는 방법에 대해 자세히 다뤄볼 예정입니다. 궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 제가 아는 선에서 최대한 도와드리겠습니다! 😉

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

  • [홈랩 가이드] 라즈베리 파이 5에 Home Assistant 설치 및 최적화 가이드

    [홈랩 가이드] 라즈베리 파이 5에 Home Assistant 설치 및 최적화 가이드

    [홈랩 가이드] 라즈베리 파이 5에 Home Assistant 설치 및 최적화 가이드

    안녕하세요, 13년차의 서버실 주인장입니다. 제가 서버실에서 굴러 먹은 지 어연 13년, 이제는 집에서도 서버를 굴리는(?) 홈랩(Home Lab) 엔지니어가 되어버렸네요. 요즘 스마트홈에 대한 관심이 뜨거운데, 상용 허브들은 뭔가 답답하고 내 맘대로 안 되는 경우가 많았어요. 저처럼 직접 스마트홈을 구축하고 자동화의 재미를 느껴보고 싶은 분들이 많으실 거라 생각합니다. 그래서 오늘은 라즈베리 파이 5에 Home Assistant를 설치하고 최적화하는 과정을 제 경험을 바탕으로 솔직하게 풀어보려고 합니다. 이 조합, 제가 직접 써보니 정말 강력하더라고요!

    스마트홈 허브로서 라즈베리 파이 5와 Home Assistant의 전체적인 아키텍처입니다.

    1. 왜 라즈베리 파이 5와 Home Assistant 조합일까요?

    제가 수많은 삽질 끝에 이 조합을 추천하는 데는 명확한 이유가 있습니다. 바로 강력한 성능과 무한한 확장성, 그리고 뛰어난 전성비 때문이죠.

    • Home Assistant (HA, 홈 어시스턴트): 쉽게 말해 여러분의 모든 스마트 기기를 한곳에 모아 관리하고 자동화할 수 있게 해주는 오픈소스 스마트홈 플랫폼입니다. 특정 제조사에 종속되지 않고, 수많은 통합(Integrations)을 통해 다양한 기기들을 연결할 수 있다는 게 가장 큰 장점이에요. 그리고 무엇보다 중요한 건, 모든 데이터가 로컬(Local)에서 처리되기 때문에 프라이버시 걱정이 덜하고, 인터넷 연결 없이도 스마트홈이 동작한다는 점입니다. 이 부분이 저 같은 인프라 엔지니어에게는 정말 매력적이었어요.

    • 라즈베리 파이 5 (Raspberry Pi 5, RPi5): 이 작은 보드 컴퓨터는 그야말로 홈랩의 게임 체인저입니다. 이전 세대 라즈베리 파이 4에 비해 CPU 성능은 2~3배, GPU 성능은 2배 이상 향상되었고, 무엇보다 PCIe 2.0 인터페이스가 추가되어 NVMe SSD를 고속으로 연결할 수 있게 되었어요. 이는 Home Assistant처럼 I/O(입출력) 작업이 많은 시스템에 엄청난 이점이거든요. 안정성과 반응 속도가 확 달라지는 걸 체감할 수 있습니다. 전력 효율도 좋아서 24/7(24시간 7일) 구동하는 스마트홈 허브로 안성맞춤이고요.

    이 둘의 조합은 마치 작은 슈퍼컴퓨터로 나만의 스마트홈을 구축하는 것과 같아요. 저는 이 조합으로 조명, 에어컨, 공기청정기, 로봇청소기 등 다양한 기기들을 연동해서 사용하고 있는데, 정말 편하더라고요.

    2. 설치 준비물: 시작하기 전에 챙겨야 할 것들

    설치를 시작하기 전에 몇 가지 준비물이 필요해요. 미리미리 챙겨두면 삽질을 줄일 수 있습니다. (제가 그랬거든요…)

    1. 라즈베리 파이 5 본체: 4GB 또는 8GB RAM 모델을 추천합니다. Home Assistant는 생각보다 리소스를 꽤 먹는 편이라 여유 있는 게 좋아요.

    2. 공식 27W USB-C PD 전원 어댑터 (5V 5A): ⚠️ 이거 정말 중요합니다! 라즈베리 파이 5는 이전 모델보다 훨씬 많은 전력을 필요로 합니다. 일반 스마트폰 충전기나 저용량 어댑터를 사용하면 부팅조차 안 되거나, 불안정하게 동작하다가 멈춰버리는 불상사가 생길 수 있어요. 제가 처음엔 집에 굴러다니는 USB-C 충전기를 썼다가 무한 재부팅 지옥을 경험했습니다… 꼭 공식 어댑터를 구매하세요.

    3. MicroSD 카드 (최소 32GB, Class 10 이상): OS 설치용입니다. 하지만 장기적으로는 NVMe SSD 사용을 강력히 권장합니다. MicroSD 카드는 쓰기/읽기 수명이 짧아 Home Assistant처럼 잦은 데이터 기록이 있는 시스템에서는 금방 고장 날 수 있거든요.

    4. NVMe SSD 및 케이스/HAT: 라즈베리 파이 5의 PCIe 인터페이스를 활용하기 위한 필수품입니다. USB 방식의 외장 SSD보다 훨씬 빠르고 안정적이에요. 저는 PCIe to NVMe HAT을 사용하고 있습니다.

    5. 이더넷 케이블 (LAN 케이블): 초기 설정 시 안정적인 네트워크 연결을 위해 유선 연결을 추천합니다.

    6. PC 또는 노트북: Home Assistant OS 이미지를 MicroSD 카드나 NVMe SSD에 구울 때 필요합니다.

    3. 단계별 설치 가이드: 라즈베리 파이 5에 Home Assistant OS 올리기

    이제 본격적으로 설치를 시작해볼까요? 가장 쉬운 방법인 Home Assistant OS를 설치하는 방법을 알려드릴게요. Raspberry Pi Imager를 사용하면 아주 간단합니다.

    3.1. Raspberry Pi Imager 다운로드 및 실행

    먼저 Raspberry Pi 공식 홈페이지에서 Raspberry Pi Imager를 다운로드하여 설치해주세요. 윈도우, macOS, 리눅스 모두 지원합니다.

    3.2. Home Assistant OS 이미지 선택

    1. Imager를 실행합니다.
    2. ‘CHOOSE OS’ (운영체제 선택) 버튼을 클릭합니다.
    3. ‘Other specific-purpose OS’ (다른 특정 목적 운영체제) 선택 > ‘Home Assistant and home automation’ (Home Assistant 및 홈 자동화) 선택 > ‘Home Assistant’를 선택합니다.
    4. 다음 화면에서 ‘Home Assistant OS for Raspberry Pi 5 (64-bit)’를 선택합니다.

    3.3. 저장 장치 선택

    1. ‘CHOOSE STORAGE’ (저장 장치 선택) 버튼을 클릭합니다.
    2. MicroSD 카드 리더에 삽입한 MicroSD 카드 또는 NVMe SSD를 선택합니다. (USB-C to NVMe 인클로저를 사용한다면 해당 장치를 선택하면 돼요.)

    3.4. 고급 옵션 설정 (선택 사항이지만 추천!)

    톱니바퀴 아이콘을 클릭하여 고급 옵션을 설정할 수 있습니다. 저는 항상 이렇게 설정하는 편입니다.

    • SSH 활성화 (Enable SSH): 문제 발생 시 원격 접속하여 디버깅할 수 있도록 활성화해두세요. 사용자 이름은 <code>homeassistant, 비밀번호는 본인이 원하는 것으로 설정합니다.
    • 무선 LAN 설정 (Configure wireless LAN): Wi-Fi를 사용할 경우 미리 설정해두면 편리해요. (초기에는 유선 LAN을 추천하지만, 나중에 Wi-Fi로 전환할 때 유용합니다.)
    • 호스트 이름 설정 (Set hostname): homeassistant 등으로 설정해두면 네트워크에서 쉽게 찾을 수 있습니다.
    Raspberry Pi Imager에서 라즈베리 파이 5용 Home Assistant OS를 선택하고 설정하는 화면

    Raspberry Pi Imager를 이용해 Home Assistant OS를 선택하고 초기 설정을 진행하는 모습입니다.

    3.5. 이미지 굽기 및 부팅

    1. 모든 설정을 마쳤다면 ‘WRITE’ (쓰기) 버튼을 클릭하여 이미지를 굽습니다. 이 과정은 몇 분 정도 소요돼요.
    2. 이미지 굽기가 완료되면 MicroSD 카드 또는 NVMe SSD를 라즈베리 파이 5에 삽입하고, 이더넷 케이블과 전원 어댑터를 연결한 후 전원을 켭니다.
    3. 처음 부팅 시 Home Assistant OS가 필요한 파일들을 다운로드하고 설치하는 과정이 진행돼요. 이 과정은 네트워크 환경과 저장 장치 속도에 따라 5분에서 20분 정도 걸릴 수 있습니다.

    4. 초기 설정 및 필수 최적화: 더 빠르고 안정적인 스마트홈을 위해

    성공적으로 부팅되었다면 이제 웹 브라우저를 통해 Home Assistant에 접속할 수 있어요. 보통 http://homeassistant.local:8123 또는 라즈베리 파이 5의 IP 주소로 접속하면 됩니다. IP 주소를 모른다면 공유기 관리 페이지에서 확인하거나, 네트워크 스캐너 앱(예: Fing)을 사용해보세요.

    4.1. Home Assistant 초기 설정

    1. 웹 브라우저로 접속하면 환영 화면이 나타나요. 관리자 계정 이름과 비밀번호를 설정합니다.
    2. 집 이름, 위치, 시간대 등을 설정합니다.
    3. 자동으로 검색된 통합(Integrations)이 있다면 설정 마법사를 따라 진행합니다.
    4. 모든 설정을 마치면 Home Assistant 대시보드(Dashboard)가 나타나요. 🎉 드디어 여러분의 스마트홈 허브가 완성된 겁니다!

    4.2. NVMe SSD로 부팅 최적화 (선택 사항이지만 강력 추천!)

    MicroSD 카드로 설치했다면, 안정성과 속도를 위해 NVMe SSD로 부팅하는 것을 고려해보세요. 라즈베리 파이 5는 PCIe 2.0을 지원하므로 NVMe SSD의 성능을 제대로 활용할 수 있어요. 이 과정은 Home Assistant OS 내에서 직접 마이그레이션 기능을 사용하거나, Raspberry Pi Imager로 NVMe에 직접 OS를 굽는 방식으로 진행할 수 있습니다. 자세한 방법은 다음 기회에 별도 글로 다뤄볼 예정입니다.

    💡 팁: NVMe SSD를 사용하면 부팅 시간 단축은 물론, Home Assistant의 반응 속도가 눈에 띄게 빨라져요. 로그 기록이나 애드온(Add-on) 설치 등 디스크 I/O가 많은 작업에서 특히 체감이 커요.

    4.3. 백업 전략 수립

    스마트홈 설정은 소중하니까요. ‘Supervisor’ > ‘Add-on Store’에서 ‘Google Drive Backup’과 같은 애드온을 설치하여 정기적으로 백업하는 것을 강력히 추천합니다. 제가 한번 설정을 날려먹고 밤새 복구하느라 삽질 좀 했습니다… ㅎㅎ

    4.4. Zigbee/Z-Wave 동글 연결

    만약 Zigbee나 Z-Wave 기반의 스마트 기기들을 사용한다면, USB 동글(예: ConBee II, Aeotec Z-Stick)을 라즈베리 파이 5에 연결해야 해요. Home Assistant는 이 동글들을 자동으로 인식하고 통합을 설정할 수 있도록 도와줄 거예요.

    설치 완료 후 Home Assistant 대시보드에서 스마트 기기를 제어하는 화면

    설치 및 최적화가 완료된 Home Assistant 대시보드에서 스마트홈 기기들을 제어하는 화면입니다.

    5. ⚠️ 삽질 경험 공유: 제가 겪었던 문제와 해결책

    13년차 엔지니어인 저도 새로운 시스템을 만질 때마다 삽질의 연속입니다. 여러분은 저와 같은 경험을 하지 않기를 바라며, 제가 겪었던 몇 가지 문제점과 해결책을 공유해볼게요.

    • 문제 1: 라즈베리 파이 5가 자꾸 재부팅되거나 부팅이 안 돼요!
      해결책: 전원 어댑터를 확인하세요. 위에서 강조했듯이, 라즈베리 파이 5는 공식 27W USB-C PD 전원 어댑터 (5V 5A)가 필수적입니다. 저도 처음엔 집에 있던 5V 3A짜리 어댑터를 썼다가 계속 재부팅되는 현상을 겪었거든요. 특히 USB 장치를 많이 연결할수록 더 많은 전력이 필요하니, 꼭 정품 어댑터를 사용하시길 바랍니다.

    • 문제 2: MicroSD 카드가 금방 망가져요.
      해결책: NVMe SSD로 전환하세요. Home Assistant는 잦은 로그 기록과 상태 변경 데이터를 MicroSD 카드에 저장해요. 일반 MicroSD 카드는 이처럼 잦은 쓰기 작업에 취약하여 수명이 짧습니다. 저도 여러 번 MicroSD 카드를 교체하다가 결국 NVMe SSD로 갈아탔어요. NVMe는 속도도 빠르고 내구성도 훨씬 좋아서 장기적으로 안정적인 운영에 필수라고 생각합니다.

    • 문제 3: Home Assistant 웹 UI 접속이 안 되거나 불안정해요.
      해결책: 네트워크 연결을 확인하고 고정 IP를 설정하세요. 초기에는 유선 이더넷 연결이 가장 안정적이에요. 그리고 공유기 설정에서 라즈베리 파이 5에 고정 IP(Static IP)를 할당하는 것이 좋습니다. DHCP로 IP가 바뀌면 접속 주소가 달라져서 불편할 뿐만 아니라, 간혹 네트워크 충돌로 인해 문제가 발생할 수도 있거든요. ping homeassistant.local 명령어로 라즈베리 파이 5에 접근 가능한지 확인해보는 것도 좋습니다.

    • 문제 4: 특정 스마트 기기가 Home Assistant에 연결이 안 돼요.
      해결책: 해당 기기의 통합(Integration)이 설치되어 있는지 확인하고, 로그를 자세히 살펴보세요. Home Assistant는 수많은 기기를 지원하지만, 모든 기기가 플러그 앤 플레이(Plug & Play)는 아니거든요. 공식 문서나 커뮤니티 포럼을 검색해보면 대부분 해결책을 찾을 수 있어요. 저는 Zigbee 동글 문제로 고생했는데, 드라이버를 다시 설치하고 Home Assistant에서 재인식시키니 해결되더라고요.

    라즈베리 파이 5와 Home Assistant 활용 핵심 특징 및 최적화 요약 인포그래픽

    라즈베리 파이 5와 Home Assistant를 활용한 스마트홈 구축의 핵심 포인트를 한눈에 볼 수 있는 요약 인포그래픽입니다.

    6. 마무리하며: 여러분의 홈랩, 라즈베리 파이 5로 시작해보세요!

    오늘은 라즈베리 파이 5에 Home Assistant를 설치하고 최적화하는 과정을 제 경험을 담아 자세히 설명해 드렸습니다. 처음에는 조금 복잡하게 느껴질 수도 있지만, 일단 구축하고 나면 상상 이상의 편리함과 자동화의 재미를 느낄 수 있을 거예요. 저도 처음엔 이게 뭔가 싶었는데, 이제는 이 작은 라즈베리 파이 5가 제 스마트홈의 심장 역할을 톡톡히 하고 있답니다.

    라즈베리 파이 5의 강력한 성능과 Home Assistant의 무한한 확장성을 활용하여 여러분만의 스마트홈을 구축해보세요. 다음 글에서는 Home Assistant 대시보드를 멋지게 꾸미는 방법이나, 특정 기기를 연동하는 심화 과정에 대해 다뤄볼까 합니다. 혹시 궁금한 점이나 제가 놓친 부분이 있다면 언제든 댓글 남겨주세요! 저도 배우는 자세로 함께 성장하고 싶습니다.

  • [HomeLabs] pfSense/OPNsense 홈랩 방화벽 구축: 네트워크 보안 강화 완벽 가이드

    홈랩에 방화벽이 필요한 이유 — 공유기로는 부족하더라고요

    홈서버를 처음 구축했을 때 저도 그랬어요. “집에서 쓰는 건데 뭐, 공유기 방화벽이면 충분하지 않나?” 싶었거든요. 그런데 포트포워딩 몇 개 열어두고 Jellyfin이랑 Nextcloud 운영하다 보니까 생각이 바뀌었습니다. 어느 날 서버 로그를 들여다봤더니 중국, 러시아 IP에서 SSH 브루트포스 시도가 하루에도 수백 건씩 들어오고 있는 거예요. 그때부터 진지하게 홈랩 방화벽 구축을 고민하기 시작했죠.

    일반 가정용 공유기의 NAT(Network Address Translation, 네트워크 주소 변환) 기능이 기본적인 외부 접근은 막아주지만, 세밀한 트래픽 제어나 IDS/IPS(침입 탐지/방지 시스템), VPN 게이트웨이 기능 같은 건 기대하기 어렵거든요. 그래서 선택한 게 바로 pfSense와 OPNsense였습니다.

    이 글에서는 제가 직접 구축하면서 겪었던 경험을 바탕으로, 두 솔루션의 차이점부터 실제 설치·설정까지 단계별로 정리해드릴게요. 홈서버 보안을 한 단계 끌어올리고 싶으신 분들께 도움이 됐으면 합니다.

    ▲ 일반적인 홈랩 방화벽 구성 — 인터넷 → 방화벽(pfSense/OPNsense) → 내부 네트워크 세그먼트로 트래픽이 흐르는 전체 아키텍처

    pfSense vs OPNsense — 뭐가 다른 건가요?

    둘 다 FreeBSD 기반의 오픈소스 방화벽 소프트웨어인데, 뿌리는 같지만 지향점이 조금 달라요. 저도 처음엔 “그냥 비슷한 거 아냐?” 했는데, 직접 써보니 체감 차이가 꽤 있더라고요.

    항목 pfSense CE (Community Edition) OPNsense
    기반 OS FreeBSD FreeBSD (HardenedBSD 기반)
    UI 스타일 전통적, 기능 중심 모던, 직관적
    업데이트 주기 비교적 느림 격주 릴리즈 (빠른 보안 패치)
    IDS/IPS Snort, Suricata Suricata (기본 통합)
    플러그인 생태계 pfSense 패키지 OPNsense 플러그인 (더 활발)
    라이선스 Apache 2.0 BSD 2-Clause
    상업적 지원 Netgate (유료 플랜) Deciso (유료 플랜)

    솔직히 말씀드리면, 저는 최근에는 OPNsense를 메인으로 쓰고 있어요. 이유는 단순한데, UI가 훨씬 깔끔하고 보안 업데이트가 빠르거든요. 특히 CVE(Common Vulnerabilities and Exposures, 공개된 보안 취약점)가 나왔을 때 OPNsense 쪽이 패치 대응이 빠르더라고요. 다만 pfSense가 커뮤니티 문서나 유튜브 튜토리얼이 훨씬 많아서, 처음 입문하시는 분들한테는 pfSense가 진입 장벽이 낮을 수 있어요.

    하드웨어 선택 — 어디에 설치할 건가요?

    방화벽 소프트웨어를 고르는 것만큼 중요한 게 하드웨어 선택이에요. 저는 세 가지 방법을 다 써봤는데, 각각 장단점이 있더라고요.

    옵션 1: 전용 x86 미니PC / 어플라이언스

    • Intel NIC(Network Interface Card, 네트워크 인터페이스 카드)가 달린 미니PC 추천 — Realtek NIC는 FreeBSD 드라이버 이슈가 있어서 고생할 수 있어요
    • 듀얼 포트 이상의 NIC가 필요 (WAN 1개, LAN 1개 이상)
    • 전력 소비가 낮고 팬리스 모델이면 24/7 운영에 유리
    • 💡 팁: AES-NI(하드웨어 암호화 가속) 지원 CPU를 선택하면 VPN 성능이 크게 올라가요

    옵션 2: 기존 홈서버의 VM (가상머신)

    • Proxmox 같은 하이퍼바이저에서 VM으로 운영 가능
    • NIC 패스스루(PCIe Passthrough)나 VLAN 트렁킹 설정이 필요
    • 서버가 꺼지면 인터넷도 끊기는 단점 있음 ⚠️

    옵션 3: Raspberry Pi (제한적)

    • pfSense/OPNsense 공식 지원은 x86/amd64 기준 — Pi는 공식 지원 아님
    • 소규모 트래픽 환경에서만 대안 고려 가능 (이 경우 OpenWrt 쪽이 더 현실적)

    OPNsense 설치 — 단계별 가이드

    이제 본격적으로 설치해봅시다. 제가 설치할 때 가장 헷갈렸던 부분을 중심으로 설명할게요.

    ▲ OPNsense 웹 관리 인터페이스(WebGUI) — 설치 후 처음 접속하면 보이는 대시보드 화면. 시스템 상태, 인터페이스 정보, 게이트웨이 상태를 한눈에 확인할 수 있어요.

    1. ISO 다운로드: opnsense.org 공식 사이트에서 최신 DVD ISO 이미지 다운로드 (amd64 기준)
    2. 부팅 USB 제작: Rufus(Windows) 또는 dd 명령어(Linux/Mac)로 부팅 USB 제작
    3. 설치 진행: 기본 계정으로 로그인 후 installer 실행
    4. 인터페이스 할당: WAN / LAN 인터페이스 지정 (가장 중요!)
    5. WebGUI 접속: LAN IP(기본 192.168.1.1)로 브라우저 접속

    부팅 USB 제작할 때 dd 명령어 쓰시는 분들 참고하세요:

    # Linux/macOS에서 USB 부팅 디스크 만들기
    # /dev/sdX 부분은 본인 USB 장치 경로로 변경 필요 (lsblk 명령어로 확인)
    sudo dd if=OPNsense-버전-dvd-amd64.iso of=/dev/sdX bs=4M status=progress
    sync

    ⚠️ 주의: dd 명령어는 잘못 입력하면 다른 디스크를 덮어쓸 수 있어요. of= 경로를 반드시 두 번 확인하세요. 저도 처음에 식은땀 흘렸던 기억이 있어요 ㅎㅎ

    기본 방화벽 규칙 설정 — 여기가 핵심이에요

    설치 후 WebGUI에 접속하면 Setup Wizard(설정 마법사)가 뜨는데, 이걸 따라가면 기본 설정은 금방 끝나요. 근데 여기서 멈추면 안 됩니다. 진짜 보안 강화는 방화벽 규칙 설정에서 시작하거든요.

    WAN 규칙 — 기본 원칙은 “모두 차단, 필요한 것만 허용”

    OPNsense/pfSense 모두 기본적으로 WAN에서 들어오는 모든 인바운드(Inbound, 외부→내부) 트래픽을 차단해요. 이 기본값을 유지하는 게 맞습니다.

    # OPNsense Shell에서 현재 방화벽 규칙 확인 (pfctl 명령어)
    pfctl -sr
    
    # 특정 인터페이스의 규칙만 보기
    pfctl -sr | grep WAN

    LAN 규칙 — VLAN으로 네트워크 세분화하기

    홈랩에서 제가 가장 효과적으로 쓰는 방법이 VLAN(Virtual LAN, 가상 네트워크 분리)이에요. 예를 들어 이런 식으로 나눌 수 있어요:

    • VLAN 10 (신뢰 네트워크): 개인 PC, 노트북
    • VLAN 20 (서버 네트워크): 홈서버, NAS
    • VLAN 30 (IoT 네트워크): 스마트 TV, 공기청정기 등 IoT 기기
    • VLAN 40 (게스트 네트워크): 방문객 Wi-Fi

    IoT 기기들을 별도 VLAN으로 격리하는 게 진짜 중요해요. 스마트 TV나 IP 카메라 같은 장치들은 보안이 취약한 경우가 많거든요. 이것들이 메인 네트워크에 있으면 한 기기가 뚫렸을 때 전체가 위험해지는 거니까요.

    OPNsense WebGUI에서 VLAN 추가하는 경로: Interfaces → Other Types → VLAN

    # 방화벽 규칙 예시 — IoT VLAN에서 서버 VLAN으로의 접근 차단
    # OPNsense WebGUI의 Firewall → Rules → VLAN30 에서 설정
    # Action: Block
    # Interface: VLAN30
    # Source: VLAN30 net
    # Destination: VLAN20 net
    # Description: IoT to Server VLAN Block

    Suricata IDS/IPS 활성화

    OPNsense에는 Suricata(수리카타)가 기본 플러그인으로 포함돼 있어요. IDS(Intrusion Detection System, 침입 탐지 시스템)와 IPS(Intrusion Prevention System, 침입 방지 시스템) 기능을 제공하는데, 활성화해두면 알려진 악성 트래픽 패턴을 자동으로 탐지하고 차단해줘요.

    활성화 경로: Services → Intrusion Detection → Administration

    • Enabled 체크
    • IPS Mode 체크 (탐지만 할지, 실제 차단까지 할지 결정)
    • Ruleset: ET Open 룰셋 무료로 사용 가능 — 이걸로도 충분해요

    💡 처음에 IPS 모드를 바로 켜면 정상 트래픽이 차단될 수 있어요. IDS 모드로 며칠 모니터링하면서 False Positive(오탐)를 확인한 다음에 IPS 모드로 전환하는 걸 추천합니다.

    VPN 게이트웨이 설정 — WireGuard로 원격 접속

    홈랩을 외부에서 안전하게 접속하려면 VPN이 필수예요. 예전엔 OpenVPN 많이 썼는데, 요즘은 WireGuard(와이어가드)로 완전히 넘어왔어요. 설정이 훨씬 간단하고 성능도 좋거든요.

    OPNsense에서 WireGuard 설치: System → Firmware → Plugins → os-wireguard 설치

    # WireGuard 키 쌍 생성 (서버에서 실행)
    wg genkey | tee server_private.key | wg pubkey > server_public.key
    wg genkey | tee client_private.key | wg pubkey > client_public.key
    
    # 키 내용 확인
    cat server_private.key
    cat server_public.key

    생성된 키는 OPNsense WebGUI의 VPN → WireGuard → Local / Endpoints 설정에 입력하면 돼요. 스마트폰에서는 WireGuard 공식 앱으로 QR 코드 스캔하면 바로 연결 가능하고, 이게 진짜 편하더라고요. 드디어 외부에서 집 서버에 안전하게 붙을 수 있게 됐을 때 기분이 얼마나 좋던지 🎉

    ▲ OPNsense 방화벽 규칙 설정 화면 및 Suricata IDS 경보 로그 — 실시간으로 차단된 트래픽과 탐지된 위협을 모니터링할 수 있어요.

    ⚠️ 삽질 모음 — 제가 겪은 트러블슈팅

    설치하면서 제가 실제로 막혔던 부분들이에요. 이거 보고 같은 삽질 반복하지 않으셨으면 해서 솔직하게 적어봤어요.

    문제 1: WAN 인터페이스 인식 안 됨

    증상: 설치 후 WAN 쪽 인터페이스가 잡히지 않음
    원인: Realtek NIC의 FreeBSD 드라이버 이슈 (FreeBSD에서 Realtek은 가끔 문제가 생겨요)
    해결: Intel 기반 NIC로 교체. em(Intel PRO/1000 계열) 또는 igb 드라이버가 인식되는 NIC 사용 추천

    문제 2: NAT Reflection 설정 안 해서 내부에서 외부 도메인 접속 불가

    증상: 외부에서는 되는데 내부 LAN에서 자기 도메인으로 접속 안 됨
    원인: NAT Reflection(헤어핀 NAT) 미설정
    해결: Firewall → Settings → Advanced → Reflection for port forwards: Enable

    문제 3: Suricata 켜고 나서 일부 사이트 접속 불가

    증상: IPS 모드 활성화 후 특정 스트리밍 사이트 접속이 끊김
    원인: 공격 패턴과 유사한 정상 트래픽을 오탐(False Positive)으로 차단
    해결: 해당 룰 ID를 Suppress List에 추가하거나, 해당 IP를 Whitelist에 등록

    # OPNsense Shell에서 Suricata 로그 실시간 확인
    tail -f /var/log/suricata/eve.json | python3 -m json.tool | grep -E '"alert"|"src_ip"|"dest_ip"'

    문제 4: 재부팅 후 방화벽 규칙이 일부 초기화

    증상: 수동으로 추가한 규칙이 재부팅 후 사라짐
    원인: WebGUI가 아닌 Shell에서 직접 pfctl로 임시 추가한 규칙
    해결: 반드시 WebGUI를 통해 규칙 추가. Shell 명령어는 테스트용으로만 사용

    ✅ 구축 결과 확인 — 이렇게 검증하세요

    설정 다 했다고 끝이 아니에요. 실제로 제대로 동작하는지 검증하는 게 중요해요.

    외부에서 포트 스캔으로 노출 여부 확인

    Shodan(shodan.io)이나 nmap으로 외부에서 내 IP를 스캔해보세요. 방화벽이 제대로 동작한다면 열어둔 포트 외에는 아무것도 안 보여야 해요.

    # 다른 네트워크(모바일 데이터 등)에서 내 WAN IP로 포트 스캔
    nmap -sV -p 1-1024 [내 WAN IP 주소]
    
    # 결과 예시 — 방화벽이 잘 동작하면 이렇게 나와야 함
    # All 1024 scanned ports on [IP] are in ignored states.

    Firewall Logs 확인

    OPNsense WebGUI에서 Firewall → Log Files → Live View로 실시간 차단 로그를 볼 수 있어요. 여기서 외부에서 들어오는 수상한 접근 시도를 확인할 수 있는데, 처음 보시면 “이렇게 많이 들어오고 있었어?” 하고 놀라실 거예요. 저도 그랬거든요 ㅎㅎ

    Dashboard 위젯으로 실시간 모니터링

    • Gateway 상태 (WAN 연결 안정성)
    • Interface 트래픽 그래프
    • Suricata 알림 카운트
    • 시스템 리소스 (CPU, 메모리)

    ▲ 방화벽 구축 완료 후 OPNsense 대시보드 — 게이트웨이 상태, 인터페이스 트래픽, IDS 탐지 현황을 실시간으로 모니터링하는 화면

    마무리 — 홈랩 네트워크 보안, 이제 시작이에요

    pfSense/OPNsense 기반의 홈랩 방화벽을 구축하고 나면 네트워크를 바라보는 눈이 달라져요. 예전엔 그냥 “인터넷 되면 됐지” 였다면, 이제는 트래픽 흐름이 보이기 시작하거든요. 어디서 뭐가 들어오고 나가는지, 어떤 시도가 차단되고 있는지.

    정리하자면 이렇게 구성하시면 됩니다:

    • ✅ Intel NIC 기반 하드웨어 선택
    • ✅ OPNsense 또는 pfSense 설치
    • ✅ WAN 기본 차단 정책 유지
    • ✅ VLAN으로 네트워크 세분화 (IoT 격리 필수!)
    • ✅ Suricata IDS/IPS 활성화
    • ✅ WireGuard VPN으로 원격 접속 구성
    • ✅ 외부 포트 스캔으로 노출 여부 검증

    다음 단계로는 pfBlockerNG(pfSense) 또는 OPNsense의 Unbound DNS 블랙리스트를 활용한 DNS 기반 광고/악성 도메인 차단을 다뤄볼 예정이에요. 이걸 적용하면 집 안 모든 기기에서 광고가 사라지는 마법을 경험할 수 있거든요 — Pi-hole 없이도요. 그 내용은 다음 글에서 자세히 다루겠습니다.

    궁금한 점이나 막히는 부분 있으시면 댓글로 남겨주세요. 같은 삽질을 덜 하셨으면 하는 마음으로 최대한 답변드릴게요 😊

    자주 묻는 질문 (FAQ)

    Q. pfSense와 OPNsense 중 초보자에게 어떤 걸 추천하나요?

    커뮤니티 자료가 많은 pfSense CE가 처음 입문하기엔 조금 더 수월해요. 다만 보안 업데이트 주기와 UI 현대성을 고려하면 OPNsense도 충분히 좋은 선택입니다. 둘 다 무료로 사용 가능하니 VM에서 먼저 테스트해보시는 걸 추천합니다.

    Q. 최소 사양이 어떻게 되나요?

    공식 권장 사양은 CPU 1GHz 이상, RAM 1GB 이상이지만, IDS/IPS나 VPN까지 쓰려면 최소 4GB RAM에 멀티코어 CPU를 권장해요. 기가비트 라인 풀로 쓰려면 더 여유 있는 스펙이 필요합니다.

    Q. 기존 공유기는 어떻게 되나요?

    pfSense/OPNsense가 공유기 역할을 대신하는 구성이 일반적이에요. 기존 공유기는 AP(액세스 포인트) 모드로 전환해서 Wi-Fi 전용으로 활용하면 됩니다.

    Q. Cloudflare Tunnel과 같이 쓸 수 있나요?

    네, 함께 사용 가능해요. Cloudflare Tunnel을 쓰면 WAN 포트포워딩 없이도 외부 접속이 가능해서 보안상 더 좋은 구성을 만들 수 있어요. 이 조합도 나중에 다뤄볼게요.

  • [HomeLabs] 홈랩 UPS 선택 및 전원 관리 가이드: 정전 대비 완벽 전략

    정전이 터진 그 순간, 홈랩이 그냥 꺼졌습니다 😱

    몇 년 전 여름, 갑작스러운 낙뢰로 아파트 전체가 순간 정전됐던 적이 있었어요. 그때 저는 홈랩에서 NAS 마이그레이션 작업을 한창 진행 중이었거든요. 결과는… 파일시스템 손상에 RAID 재구성까지, 꼬박 이틀을 날렸습니다. 그 뒤로 홈랩 UPS는 저한테 선택이 아니라 필수가 됐어요.

    혹시 이런 경험 있으신가요? 밤새 돌려놓은 컴파일 작업이 정전 한 방에 날아간다거나, 홈서버 데이터가 손상되는 상황이요. 이 글에서는 13년간 홈랩을 운영하면서 직접 겪고 배운 홈서버 UPS 선택 기준과 전원 관리 전략을 솔직하게 공유해 드리려 합니다. 정전 대비, 제대로 해봅시다.

    ▲ 일반적인 홈랩 전원 구성도. UPS는 서버와 네트워크 장비 사이에서 전원을 보호하는 핵심 역할을 합니다.


    UPS(무정전 전원 공급 장치)가 뭔지 제대로 알고 가자

    UPS는 Uninterruptible Power Supply의 약자로, 우리말로는 무정전 전원 공급 장치라고 부릅니다. 쉽게 말해, 상용 전원이 끊겼을 때 배터리로 일정 시간 동안 전기를 계속 공급해주는 장치죠.

    근데 UPS가 단순히 “정전 때 버텨주는 장치”라고만 생각하면 절반만 아는 거거든요. 실제로는 세 가지 핵심 기능이 있어요.

    • 정전 대비 (Backup Power): 상용 전원 차단 시 배터리로 전환하여 장비를 계속 가동
    • 전압 안정화 (Voltage Regulation): 순간적인 전압 강하(Sag)나 전압 급등(Surge)으로부터 장비 보호
    • 노이즈 필터링 (Line Conditioning): 전력선 노이즈를 제거해 민감한 전자 장비 보호

    저도 처음엔 “그냥 배터리 아닌가?” 싶었는데, 실제로 쓰다 보니 전압 안정화 기능이 얼마나 중요한지 체감하게 되더라고요. 특히 오래된 아파트나 상가 건물에서 홈랩을 운영하면 전압이 생각보다 많이 흔들립니다.

    홈랩 UPS의 세 가지 방식: 어떤 걸 고르면 좋을까?

    방식 특징 전환 시간 가격대 홈랩 적합도
    Standby (대기형) 평소엔 상용 전원 직접 공급, 정전 시 배터리 전환 4~8ms 저렴 ⭐⭐⭐
    Line-Interactive (라인 인터랙티브형) AVR로 전압 조정, 정전 시 배터리 전환 2~4ms 중간 ⭐⭐⭐⭐⭐
    Online Double Conversion (온라인 이중 변환형) 항상 배터리를 통해 전원 공급 (전환 없음) 0ms 고가 ⭐⭐⭐⭐ (대용량 구성 시)

    홈랩 용도라면 저는 Line-Interactive 방식을 강력 추천합니다. AVR(Automatic Voltage Regulator, 자동 전압 조정 기능)이 내장되어 있어서 전압이 불안정한 환경에서도 장비를 안정적으로 보호해주거든요. 가격 대비 성능도 가장 균형이 잡혀 있고요.


    홈랩 UPS 용량 계산하는 법 — 이거 모르면 낭패

    UPS를 고를 때 가장 많이 실수하는 부분이 바로 용량 계산이에요. 저도 처음에 “대충 1000VA면 되겠지” 하고 샀다가 나중에 바꾼 경험이 있습니다 ㅎㅎ.

    1단계: 연결할 장비의 소비 전력 파악

    우선 UPS에 연결할 모든 장비의 소비 전력(와트, W)을 파악해야 해요. 장비 뒷면 스티커나 제조사 스펙 시트에서 확인할 수 있습니다. 실측이 가장 정확한데, 저는 스마트 플러그의 전력 모니터링 기능을 활용합니다.

    # 예시: 일반적인 홈랩 구성 소비 전력 목록
    # (실제 수치는 장비마다 다르므로 반드시 직접 확인하세요)
    
    미니 PC / NUC 타입 서버:    30~65W (유휴 기준)
    타워형 홈서버 (HDD 포함):   80~150W
    네트워크 스위치 (8포트):    10~20W
    공유기/방화벽 어플라이언스: 15~30W
    NAS (4베이):                30~60W
    모니터 (필요시):            20~40W
    
    # 합산 예시 (미니 PC 2대 + NAS + 스위치 + 공유기)
    # 65 + 65 + 50 + 15 + 20 = 215W (유휴 상태)
    # 피크 부하는 유휴의 1.3~1.5배로 추산

    2단계: VA 용량 계산

    UPS 용량은 VA(Volt-Ampere)로 표기되는데, 실제 소비 전력(W)과는 약간 달라요. 역률(Power Factor)이라는 개념이 있거든요. 일반적으로 홈랩 장비는 역률이 0.6~0.8 정도입니다.

    # VA 용량 계산 공식
    # 필요 VA = 총 소비전력(W) ÷ 역률(Power Factor)
    
    # 예시 계산
    총 소비전력 = 215W
    역률 = 0.7 (일반적인 홈랩 장비 기준)
    필요 VA = 215 ÷ 0.7 ≈ 307VA
    
    # 안전 마진 적용 (UPS 용량의 70~80%만 사용 권장)
    # 307VA ÷ 0.75 ≈ 409VA
    
    # 결론: 최소 500VA, 여유 있게 650~800VA 제품 선택

    💡 팁: 저는 항상 계산된 필요 용량의 1.5~2배 여유분을 두고 선택합니다. 나중에 장비가 늘어날 수도 있고, UPS 배터리는 시간이 지나면서 용량이 줄어들거든요.

    3단계: 백업 시간 목표 설정

    UPS 백업 시간은 연결된 부하와 배터리 용량에 따라 달라집니다. 홈랩 UPS의 목표는 보통 두 가지예요.

    • 단기 정전 버티기: 수 초~수 분의 순간 정전 대응 (대부분의 경우)
    • 안전한 셧다운 시간 확보: 장시간 정전 시 서버가 안전하게 종료될 시간 (최소 5~10분)

    솔직히 홈랩 UPS로 몇 시간씩 버티려고 하면 배터리 용량이 엄청나게 커져서 비현실적이에요. 핵심은 안전한 셧다운 자동화입니다. 이건 뒤에서 자세히 다룰게요.


    실전: APC, Eaton 등 주요 UPS 브랜드와 선택 기준

    ▲ 홈랩에서 많이 사용되는 UPS 제품군. 브랜드별로 소프트웨어 지원 방식이 다르므로 구매 전 확인이 필요합니다.

    UPS 브랜드는 여러 곳이 있는데, 홈랩 커뮤니티에서 가장 많이 언급되는 건 역시 APC(by Schneider Electric)와 Eaton입니다. 두 브랜드 모두 오랜 역사를 가진 검증된 제조사예요.

    브랜드별 특징 비교

    항목 APC Eaton
    관리 소프트웨어 PowerChute (Windows/Linux) Intelligent Power Manager (IPM)
    Linux/오픈소스 연동 NUT(Network UPS Tools) 지원 우수 NUT 지원 (일부 모델)
    USB 통신 대부분 모델 지원 대부분 모델 지원
    국내 AS 비교적 용이 공식 유통 확인 필요
    교체 배터리 구하기 국내 구매 용이 모델에 따라 다름

    제 경험상 홈랩 입문자에게는 APC의 Back-UPS 또는 Smart-UPS 라인이 무난합니다. NUT(Network UPS Tools)와의 호환성이 좋고, 교체 배터리를 국내에서 쉽게 구할 수 있거든요. 배터리 수명이 보통 3~5년이라 교체 접근성이 중요해요.

    홈랩 규모별 추천 방향

    • 소형 홈랩 (미니PC 1~2대 + NAS): 650VA~1000VA, Line-Interactive, USB 통신 지원 모델
    • 중형 홈랩 (타워 서버 + 다수 장비): 1000VA~1500VA, Line-Interactive, USB/RS-232 통신 지원
    • 대형 홈랩 (랙 마운트 서버 다수): 1500VA 이상, 랙마운트형 UPS 고려, Online Double Conversion 검토

    ⚠️ 주의: 특정 모델의 현재 가격이나 최신 스펙은 제가 확인한 시점과 다를 수 있으니, 반드시 구매 전에 공식 사이트나 판매처에서 최신 정보를 확인하세요.


    NUT(Network UPS Tools)로 자동 셧다운 구현하기

    이게 진짜 핵심이에요. UPS가 있어도 정전 시 서버가 자동으로 안전하게 꺼지지 않으면 절반짜리 대책입니다. NUT(Network UPS Tools)는 리눅스 기반 홈랩에서 UPS를 제어하는 사실상 표준 오픈소스 도구거든요.

    NUT 설치 및 기본 설정 (Debian/Ubuntu 기준)

    # NUT 설치
    sudo apt update
    sudo apt install nut nut-client nut-server -y
    
    # UPS 자동 감지 시도
    sudo nut-scanner -U
    
    # USB로 연결된 UPS 확인
    lsusb | grep -i ups
    # 또는
    lsusb | grep -i apc
    # /etc/nut/nut.conf 설정
    # UPS가 이 서버에 직접 연결된 경우
    MODE=standalone
    # /etc/nut/ups.conf 설정 (APC USB 연결 예시)
    [myups]
      driver = usbhid-ups
      port = auto
      desc = "Home Lab UPS"
      # 폴링 간격 (초)
      pollinterval = 2
    # /etc/nut/upsd.conf 설정
    LISTEN 127.0.0.1 3493
    LISTEN ::1 3493
    
    # 네트워크의 다른 서버에서도 접근하려면:
    # LISTEN 0.0.0.0 3493
    # /etc/nut/upsd.users 설정
    [admin]
      password = your_secure_password
      actions = SET
      instcmds = ALL
    
    [monitor]
      password = your_monitor_password
      upsmon master
    # /etc/nut/upsmon.conf 설정
    MONITOR myups@localhost 1 monitor your_monitor_password master
    
    # 배터리 잔량이 이 값 이하로 떨어지면 셧다운
    MINSUPPLIES 1
    SHUTDOWNCMD "/sbin/shutdown -h +0"
    
    # 정전 후 배터리로 전환된 상태에서 대기 시간 (초)
    # 이 시간 동안 전원이 복구되지 않으면 셧다운 시작
    FINALDELAY 5
    
    # 배터리 잔량 경고 임계값 (%)
    POWERDOWNFLAG /etc/killpower
    # NUT 서비스 시작 및 활성화
    sudo systemctl enable nut-server nut-client
    sudo systemctl start nut-server
    sudo systemctl start nut-client
    
    # UPS 상태 확인
    upsc myups@localhost
    
    # 주요 상태값 확인
    upsc myups@localhost ups.status
    # 정상 시: OL (On Line)
    # 배터리 전환 시: OB (On Battery)
    # 배터리 부족 시: LB (Low Battery)
    
    upsc myups@localhost battery.charge  # 배터리 잔량 (%)
    upsc myups@localhost input.voltage   # 입력 전압 (V)
    upsc myups@localhost ups.load        # 현재 부하 (%)

    🎉 여기까지 하면 기본적인 자동 셧다운 설정이 완료됩니다! 정전 감지 → 배터리 잔량 모니터링 → 임계값 도달 시 자동 셧다운 흐름이 완성되는 거예요.

    여러 서버에 NUT 적용하기 (Master-Slave 구성)

    홈랩에 서버가 여러 대라면, UPS가 연결된 서버를 마스터(Master)로, 나머지를 슬레이브(Slave)로 구성하면 됩니다. 마스터가 정전을 감지하면 슬레이브들에게 셧다운 신호를 보내는 구조예요.

    # 슬레이브 서버의 /etc/nut/nut.conf
    MODE=netclient
    
    # 슬레이브 서버의 /etc/nut/upsmon.conf
    # 마스터 서버 IP로 변경
    MONITOR [email protected] 1 monitor your_monitor_password slave
    SHUTDOWNCMD "/sbin/shutdown -h +0"
    FINALDELAY 5

    여기서 한 가지 주의할 점이 있어요. 슬레이브 서버들은 마스터보다 먼저 셧다운되어야 합니다. 마스터가 마지막에 UPS에 셧다운 신호를 보내는 역할을 하거든요. NUT의 기본 동작이 이렇게 설계되어 있으니 걱정은 안 하셔도 되지만, 네트워크 방화벽 설정에서 3493 포트를 열어두는 걸 잊지 마세요.


    ⚠️ 삽질 경험담: 이런 것들 조심하세요

    이론은 이쯤 하고, 제가 실제로 겪은 문제들을 공유할게요. 미리 알면 시간을 많이 아낄 수 있습니다.

    삽질 1: USB 드라이버 인식 문제

    APC UPS를 USB로 연결했는데 NUT에서 인식을 못 하는 경우가 있었어요. lsusb로는 보이는데 NUT 드라이버가 안 붙는 상황이었거든요. 해결책은 udev 규칙 설정이었습니다.

    # USB 장치 권한 문제 해결
    # /etc/udev/rules.d/99-nut-ups.rules 파일 생성
    SUBSYSTEM=="usb", ATTRS{idVendor}=="051d", MODE="0660", GROUP="nut"
    
    # udev 규칙 리로드
    sudo udevadm control --reload-rules
    sudo udevadm trigger

    삽질 2: 배터리 용량 표시 오류

    처음 NUT를 설정했을 때 배터리 잔량이 항상 100%로 표시되는 문제가 있었어요. 알고 보니 UPS와 서버 간의 통신이 제대로 이루어지지 않았던 거였습니다. 이럴 땐 NUT 데몬을 재시작하고 로그를 확인해보면 돼요.

    # NUT 서비스 재시작
    sudo systemctl restart nut-server nut-client
    
    # 로그 확인
    sudo journalctl -u nut-server -n 50
    sudo journalctl -u nut-client -n 50

    삽질 3: 셧다운 명령 권한 문제

    NUT가 정전을 감지했는데 셧다운이 안 되는 경우도 있었어요. upsmon 프로세스가 root 권한으로 실행되지 않아서였습니다. 다음을 확인해보세요.

    # upsmon 프로세스 확인
    ps aux | grep upsmon
    
    # nut 사용자의 sudoers 설정 확인
    sudo visudo
    
    # 다음 라인 추가 (root 비밀번호 없이 shutdown 실행 가능)
    nut ALL=(ALL) NOPASSWD: /sbin/shutdown

    홈랩 UPS 운영 팁: 배터리 관리와 정기 점검

    UPS를 설치했다고 끝이 아니에요. 배터리는 소모품이거든요. 몇 가지 운영 팁을 공유합니다.

    정기 점검 리스트

    • 월 1회: NUT로 UPS 상태 확인 (배터리 잔량, 입력 전압 등)
    • 분기 1회: 배터리 자가진단 테스트 실행 (UPS 본체 버튼 또는 소프트웨어)
    • 반년 1회: 간단한 부하 테스트 (실제 정전 상황 시뮬레이션)
    • 매년: 배터리 교체 여부 판단 (보통 3~5년 수명)

    배터리 수명 연장 팁

    UPS 배터리는 고온 환경에서 빨리 열화됩니다. 가능하면 서늘한 곳에 배치하세요. 저는 홈랩 선반 아래쪽에 UPS를 두고, 위에 환풍구를 설치해 공기가 잘 통하도록 했습니다. 이렇게 하니 배터리 수명이 눈에 띄게 늘었어요.


    정리: 홈랩 UPS, 이렇게 선택하고 운영하세요

    정전 대비는 홈랩 운영의 필수 요소입니다. 정리하면 다음과 같아요.

    1. UPS 방식은 Line-Interactive형 — 전압 안정화와 정전 대비를 모두 충족
    2. 용량 계산은 신중하게 — 현재 부하의 1.5~2배 여유분 확보
    3. APC 또는 Eaton 추천 — 국내 AS와 배터리 구매 용이
    4. NUT로 자동 셧다운 구현 — 정전 시 데이터 손상 방지
    5. 정기 점검과 배터리 관리 — 배터리 수명 3~5년, 환기 중요

    처음엔 복잡해 보일 수 있지만, 한 번 제대로 설정해두면 마음이 놓이더라고요. 여름철 낙뢰나 갑작스러운 정전으로부터 홈랩을 지킬 수 있으니까요. 혹시 설정 중에 막히는 부분이 있으면 댓글로 질문해 주세요. 도와드리겠습니다!

  • [HomeLabs] 저전력 미니PC 홈서버 구축 가이드: 하드웨어 선택부터 Proxmox VE 설치까지

    [HomeLabs] 저전력 미니PC 홈서버 구축 가이드: 하드웨어 선택부터 Proxmox VE 설치까지

    안녕하세요, 저는 13년차 인프라 엔지니어입니다!

    오늘은 제가 홈랩(Homelab)을 운영하면서 정말 유용하게 쓰고 있는 저전력 미니PC 홈서버 구축 경험을 공유해 드리려고 합니다. 13년 동안 데이터센터를 지키면서 수많은 서버를 다뤄봤지만, 집에서 나만의 서버를 24시간 돌리는 경험은 정말 다르더라고요. 무엇보다 전기 요금 걱정 없이 운영할 수 있는 저전력 홈서버는 인프라 엔지니어의 로망이라고 봅니다.

    처음엔 복잡하게만 느껴졌는데, 막상 직접 해보니 생각보다 진입 장벽이 낮더라고요. 이 글을 통해 여러분도 나만의 홈서버를 구축하고 다양한 기술을 실험할 수 있길 바랍니다. 특히 요즘 핫한 N100 미니PC를 활용한 가이드를 준비했으니, 차근차근 따라오시면 분명 성공하실 거예요! 🎉

    저전력 미니PC, 왜 홈서버로 딱일까요?

    홈서버를 구축할 때 가장 먼저 고민하게 되는 부분이 바로 ‘어떤 하드웨어를 쓸까?’ 하는 점일 겁니다. 과거에는 남는 데스크톱 PC를 활용하거나, 서버용 부품을 사서 조립하는 경우도 많았죠. 하지만 이런 방식들은 몇 가지 단점이 있었어요.

    • 높은 전력 소비량: PC 부품은 아무래도 서버용보다 전력 효율이 떨어지는 경우가 많습니다. 24시간 켜두면 전기 요금이 상당하더라고요.
    • 소음과 발열: 일반 PC는 서버실처럼 냉각이 잘 되는 환경이 아니면 소음과 발열이 만만치 않습니다.
    • 부피: 크고 무거워서 공간을 많이 차지하고, 미관상으로도 좋지 않을 수 있습니다.

    이런 단점들을 한 번에 해결해주는 게 바로 미니PC, 그중에서도 최근에 각광받고 있는 인텔 N100 프로세서 기반의 미니PC입니다. N100은 저전력에 고성능을 겸비한 CPU로, 홈서버에 정말 최적화되어 있어요. 제가 직접 써보니 전력 소비량은 스마트폰 충전기 수준인데, 웬만한 작업은 다 소화해 내더라고요. 진짜 물건입니다 이거!

    ▲ 저전력 미니PC 홈서버의 일반적인 구성 다이어그램입니다. 작은 본체 하나로 다양한 서비스를 돌릴 수 있죠.

    하드웨어 선택 가이드: N100 미니PC, 이것만 보세요!

    이제 본격적으로 미니PC 추천 및 선택 기준을 말씀드릴게요. N100 미니PC는 다양한 제조사에서 나오고 있지만, 홈서버로 활용할 때는 몇 가지 포인트를 꼭 확인하셔야 합니다.

    1. RAM (메모리): 최소 8GB, 가능하다면 16GB를 추천합니다. 가상머신(VM)이나 컨테이너(Container)를 여러 개 돌리려면 램 용량이 충분해야 해요. 제가 처음에 8GB로 시작했다가 몇 달 못 가서 16GB로 업그레이드했거든요. 😅
    2. Storage (저장 공간): NVMe SSD 슬롯이 있는 모델을 고르는 게 좋습니다. OS용으로 NVMe SSD 250GB~500GB를 장착하고, 데이터 저장용으로는 SATA 방식의 2.5인치 SSD나 HDD를 추가할 수 있는지 확인하세요. NVMe는 압도적인 속도를 제공합니다.
    3. Network (네트워크 인터페이스): 듀얼 LAN 포트(Dual NIC)가 있는 모델을 강력히 추천합니다! 하나는 외부망 연결, 다른 하나는 내부망(DMZ나 관리망)용으로 분리하면 보안에도 좋고, 네트워크 구성의 유연성이 훨씬 높아집니다. 나중에 방화벽(Firewall)이나 라우터(Router)로 활용할 때도 필수적이죠.
    4. Cooling (냉각): 팬(Fan)이 있는 모델과 팬리스(Fanless) 모델이 있는데, 팬리스는 소음이 전혀 없지만 발열 관리가 중요합니다. 팬이 있는 모델도 저전력 CPU라 조용하지만, 그래도 아주 미세한 소음은 있을 수 있습니다. 저는 개인적으로 안정성을 위해 팬이 있는 모델을 선호하는 편입니다.

    대부분의 N100 미니PC는 비슷한 성능을 내주기 때문에, 위 네 가지 기준을 만족하는 선에서 예산에 맞춰 고르시면 됩니다. 저도 여러 모델을 비교해보고 최종적으로 듀얼 LAN 포트를 가진 모델을 선택했습니다.

    홈서버 OS, 어떤 걸 설치해야 할까요?

    하드웨어를 정했다면 이제 홈서버의 ‘뇌’가 될 운영체제(Operating System, OS)를 선택해야 합니다. 선택지는 크게 세 가지로 나눌 수 있어요.

    OS 종류 특징 장점 단점 추천 용도
    Proxmox VE (Virtual Environment) 가상화 전용 OS (하이퍼바이저) VM, 컨테이너(LXC) 관리 용이, 웹 UI 편리 초기 설정이 다소 복잡할 수 있음 다양한 서비스 운영, 홈랩의 중추
    TrueNAS SCALE NAS(네트워크 저장장치) 및 컨테이너 플랫폼 강력한 ZFS 파일 시스템, 컨테이너(Docker, K3s) 지원 RAM 요구량이 높고, NAS 기능이 주력 대용량 파일 서버, 미디어 서버
    Ubuntu Server/Debian 범용 리눅스 서버 OS 가볍고 안정적, 광범위한 자료, 높은 자유도 모든 것을 직접 설정해야 함 (CLI 위주) 특정 서비스 단독 운영, CLI에 익숙한 사용자

    저는 다양한 가상 환경을 구축하고 싶어서 Proxmox VE를 선택했습니다. 웹 인터페이스가 직관적이라 VM이나 컨테이너를 생성하고 관리하는 게 정말 편하거든요. 처음엔 CLI만 쓰는 게 좀 부담스러웠는데, Proxmox 덕분에 GUI로 편리하게 관리하고 있습니다. 홈랩 OS 설치를 처음 해보시는 분들께 강력히 추천드려요!

    ▲ Proxmox VE 설치 과정 중 네트워크 설정 화면입니다. 듀얼 NIC가 있다면 여기서부터 설정을 잘 해줘야 하죠.

    Proxmox VE 설치, 저랑 같이 해봐요!

    이제 제가 직접 Proxmox VE를 설치했던 과정을 단계별로 설명해 드릴게요. 어렵지 않으니 천천히 따라오세요!

    1. 설치 미디어 준비

    1. Proxmox VE 공식 홈페이지에서 ISO 파일을 다운로드합니다. (반드시 최신 안정화 버전을 받으세요!)
    2. Rufus나 Ventoy 같은 툴을 사용해서 USB 드라이브에 ISO 파일을 구워(Burn) 부팅 가능한 USB를 만듭니다.

    2. 미니PC BIOS 설정

    1. 미니PC에 부팅 가능한 USB를 꽂고 전원을 켭니다.
    2. 부팅 시 DEL, F2, F7, F10, F12 등 제조사별로 다른 키를 눌러 BIOS(Basic Input/Output System) 설정 화면으로 진입합니다.
    3. Boot Order(부팅 순서)에서 USB 드라이브를 최상위로 설정하거나, Boot Override(강제 부팅) 메뉴에서 USB를 선택해 부팅합니다.
    4. UEFI 부팅이 가능한지 확인하고, 가능하다면 UEFI 모드로 설치하는 것을 권장합니다.

    3. Proxmox VE 설치 진행

    1. 부팅이 완료되면 Proxmox VE 설치 화면이 나타납니다. Install Proxmox VE를 선택하고 Enter를 누릅니다.
    2. EULA (End User License Agreement)에 동의합니다.
    3. 설치할 디스크를 선택합니다. NVMe SSD를 OS용으로 선택하는 것이 좋습니다. 여러 디스크가 있다면 헷갈리지 않게 잘 확인하세요!
    4. 국가, 시간대, 키보드 레이아웃을 설정합니다.
    5. 관리자(root) 비밀번호를 설정하고 이메일 주소를 입력합니다.
    6. 네트워크 설정을 합니다. 중요한 부분이죠!
      • Hostname (호스트 이름): 원하는 이름을 입력합니다 (예: homelab-pve).
      • IP Address (IP 주소): 고정 IP를 설정하는 것이 좋습니다 (예: 192.168.1.100/24).
      • Gateway (게이트웨이): 보통 공유기 IP 주소입니다 (예: 192.168.1.1).
      • DNS Server (DNS 서버): 게이트웨이 IP나 공용 DNS (8.8.8.8 등)를 입력합니다.
      • Management Interface (관리 인터페이스): 듀얼 LAN 포트라면 어떤 포트를 관리용으로 쓸지 선택합니다. 저는 보통 첫 번째 포트(enp1s0 같은)를 사용합니다.
    7. 설정 요약을 확인하고 Install 버튼을 눌러 설치를 시작합니다.
    8. 설치가 완료되면 USB를 제거하고 재부팅합니다.

    4. 초기 설정 (선택 사항)

    재부팅 후 웹 브라우저에서 설정한 IP 주소(예: https://192.168.1.100:8006)로 접속하면 Proxmox VE 웹 인터페이스를 만날 수 있습니다. 로그인 후 몇 가지 초기 설정을 해두면 좋습니다.

    # 엔터프라이즈 저장소 비활성화
    sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list
    
    # 무료 저장소 활성화
    cat > /etc/apt/sources.list.d/pve-no-subscription.list << 'EOF'
    deb http://ftp.debian.org/debian bookworm main contrib
    deb http://ftp.debian.org/debian bookworm-updates main contrib
    deb http://security.debian.org debian-security bookworm-security main contrib
    deb http://ftp.proxmox.com/debian/pve bookworm pve-no-subscription
    EOF
    
    # 시스템 업데이트
    apt update
    apt upgrade -y
    

    저는 유료 구독 알림이 뜨는 게 싫어서 위 명령어로 저장소를 변경해줬습니다. 이렇게 하면 무료 버전에서도 업데이트를 원활하게 받을 수 있어요.

    ⚠️ 삽질 대잔치! 흔히 겪는 문제와 해결 팁

    제가 홈랩 OS 설치를 하면서 겪었던 대표적인 삽질 경험과 해결 방법을 공유해 드릴게요. 여러분은 저처럼 밤새지 마시라고요! 😅

    • UEFI 부팅 vs Legacy 부팅 문제: 일부 미니PC는 기본적으로 Legacy 모드로 설정되어 있거나, UEFI 부팅 옵션이 숨겨져 있는 경우가 있습니다. Proxmox는 UEFI 부팅을 권장하는데, Legacy로 설치하면 나중에 부팅 문제가 생길 수 있어요. BIOS에서 UEFI 모드를 활성화하고 Secure Boot(보안 부팅)는 끄는 것이 좋습니다.
    • 네트워크 드라이버 미인식: 특히 Realtek사의 네트워크 칩셋을 사용하는 저가형 미니PC에서 Proxmox가 드라이버를 제대로 인식하지 못하는 경우가 종종 있었습니다. 이럴 때는 설치 시 네트워크 설정을 건너뛰고, 설치 완료 후 다른 PC에서 드라이버 파일을 다운받아 USB 등으로 옮겨서 수동으로 설치하거나, Proxmox 포럼에서 관련 해결책을 찾아야 합니다. 다행히 N100 미니PC는 대부분 Intel 칩셋을 써서 이런 문제는 덜하더라고요. 휴~
    • 저장 공간 인식 문제: NVMe SSD가 BIOS에서는 보이는데 Proxmox 설치 시 선택 목록에 나타나지 않는 경우가 있습니다. 보통 SATA Mode가 AHCI로 설정되어 있는지 확인하고, BIOS 업데이트를 해보는 것이 해결책이 될 수 있습니다.

    혹시 이런 경험 있으신가요? 저도 처음엔 이게 뭔가 싶었는데, 결국엔 다 해결되더라고요. 삽질은 인프라 엔지니어의 숙명이죠! ㅎㅎ

    ▲ Proxmox VE 웹 인터페이스 대시보드입니다. 한눈에 서버의 상태와 가상머신들을 확인할 수 있어서 정말 편리합니다.

    드디어 완성! 우리만의 저전력 홈서버

    자, 이제 여러분의 저전력 미니PC 홈서버가 성공적으로 구축되었습니다! 🎉 웹 브라우저에서 Proxmox VE 관리자 페이지에 접속해 보세요. 로그인하면 서버의 CPU, RAM, 스토리지 사용량을 한눈에 볼 수 있는 대시보드가 나타날 겁니다. 이곳에서 가상머신(VM)을 만들고, 컨테이너(LXC)를 배포하며 여러분만의 서비스를 운영할 수 있습니다.

    제가 실제로 N100 미니PC 기반의 홈서버를 운영해 보니, 전력 소비량이 정말 인상적이었어요. 아이들(Idle) 상태에는 10W 미만, VM 몇 개 돌려도 20W를 넘기기 어렵더라고요. 이 정도면 24시간 켜둬도 전기 요금 걱정은 거의 없다고 봅니다. 소음도 거의 없어서 거실 한켠에 두어도 전혀 신경 쓰이지 않고요.

    이 작은 미니PC 하나로 다음과 같은 다양한 일들을 할 수 있습니다.

    • 개인 NAS (Nextcloud, PLEX 등)
    • 도커(Docker) 컨테이너 서비스 (홈 어시스턴트, 워드프레스, 각종 웹 서비스)
    • VPN 서버 (WireGuard, OpenVPN)
    • 개인용 백업 서버
    • 개발/테스트용 가상 환경

    마무리하며: 홈랩, 이제 시작입니다!

    오늘은 저전력 미니PC 홈서버 구축 가이드를 통해 하드웨어 선택부터 Proxmox VE OS 설치까지 제 경험을 바탕으로 자세히 알려드렸습니다. N100 미니PC는 저렴한 가격, 낮은 전력 소비량, 그리고 충분한 성능으로 홈서버를 시작하기에 정말 완벽한 선택이라고 생각합니다.

    물론 처음엔 시행착오도 겪고, 밤샘 삽질도 할 수 있습니다. 저도 그랬거든요! 하지만 그 과정에서 얻는 지식과 문제 해결 능력은 여러분의 인프라 엔지니어 역량을 한 단계 더 높여줄 거예요. 드디어 됐다! 하고 성공했을 때의 그 짜릿함은 해본 사람만이 알 수 있죠. 🤩

    이제 여러분의 미니PC 홈서버는 무궁무진한 가능성을 품고 있습니다. 다음 글에서는 이렇게 구축한 홈서버 위에 도커(Docker)를 설치하고 다양한 서비스를 배포하는 방법에 대해 다뤄볼 예정이니 기대해주세요! 여러분의 멋진 홈랩 라이프를 응원합니다!

    ▲ 미니PC 홈서버로 구현할 수 있는 다양한 활용 예시들을 시각화한 인포그래픽입니다.

  • [HomeLabs] 라즈베리파이 4로 홈 어시스턴트 구축 — 스마트홈 초보자 완벽 가이드

    라즈베리파이 4로 홈 어시스턴트 구축하기 — 스마트홈 구축 실전 가이드

    솔직히 처음엔 스마트홈이 그냥 비싼 장난감이라고 생각했어요. 삼성 스마트싱스, 애플 홈킷 같은 것들도 월정액이 나가고, 집 데이터가 외부 서버로 나가는 게 찜찜했거든요. 그러다 홈랩 커뮤니티에서 Home Assistant(홈 어시스턴트)를 알게 됐어요. 오픈소스, 로컬 실행, 수천 가지 기기 연동… 정말 원하던 그것이더라고요.

    그래서 서랍 속 라즈베리파이 4를 꺼냈습니다. 처음 설치하는 데 두 시간쯤 삽질했는데, 지금은 집에 들어오면 자동으로 불이 켜지고, 외출하면 에어컨이 꺼져요. 한번 써보면 정말 못 돌아가요. 이 글에서는 그 과정을 처음부터 끝까지 함께 해보겠습니다.

    라즈베리파이 4를 중심으로 한 홈 어시스턴트 스마트홈 구성도 — 허브 하나로 조명, 센서, 가전을 모두 연결합니다.

    홈 어시스턴트란 무엇일까요

    Home Assistant는 집 안의 스마트 기기들을 한 곳에서 통합 관리하는 오픈소스 홈 오토메이션 플랫폼입니다. 구글 홈이나 아마존 알렉사처럼 외부 클라우드에 의존하지 않고, 내 서버(라즈베리파이)에서 직접 돌아가는 게 핵심이에요.

    제가 가장 좋아하는 점은 프라이버시입니다. 집 데이터가 어느 미국 회사 서버에 올라가지 않고, 내 라즈베리파이에서만 처리된다는 거죠. 인터넷이 끊겨도 자동화가 작동하고요.

    설치 방식 비교

    설치 방식 특징 초보자 추천
    HAOS (Home Assistant OS) 전용 OS 이미지, 가장 간단한 설치, 공식 권장 ✅ 강력 추천
    Home Assistant Supervised 기존 Debian 위에 설치, 유연하지만 복잡 중급자 이상
    Home Assistant Container Docker 위에서 실행, 애드온 없음 고급 사용자
    Home Assistant Core Python 환경에 직접 설치, 가장 복잡 개발자용

    초보자라면 고민할 것도 없이 HAOS(Home Assistant Operating System)로 가세요. 저도 처음엔 Docker로 시작했다가 결국 HAOS로 갈아탔거든요. 애드온 생태계가 워낙 편리해서요.

    라즈베리파이 4 홈 어시스턴트 설치 — 준비물 체크리스트

    시작 전에 뭐가 필요한지 먼저 확인해 봅시다. 없으면 설치 중간에 멈추게 되니까요. 저는 SD카드가 없어서 한 번 멈췄거든요.

    • ✅ 라즈베리파이 4 (RAM 4GB 이상 권장, 2GB도 동작은 함)
    • ✅ MicroSD 카드 (32GB 이상, Class 10 이상 권장 — 저는 64GB 씁니다)
    • ✅ MicroSD 카드 리더기 (노트북에 내장된 것 있으면 OK)
    • ✅ USB-C 전원 어댑터 (라즈베리파이 4 공식 권장 5V/3A)
    • ✅ 유선 랜 케이블 (초기 설정 시 와이파이보다 안정적)
    • ✅ Raspberry Pi Imager 또는 Balena Etcher (이미지 굽는 소프트웨어, 무료)

    💡 팁: SSD로 부팅하는 방법도 있는데, 처음엔 SD카드로 시작하세요. 안정화되면 그때 SSD로 옮기는 게 훨씬 수월합니다.

    라즈베리파이 4 홈 어시스턴트 설치 — 단계별 실전 가이드

    1단계 — Home Assistant OS 이미지 다운로드 및 굽기

    먼저 Raspberry Pi Imager를 PC나 맥에 설치합니다. 공식 홈페이지(raspberrypi.com)에서 무료로 받을 수 있어요.

    1. Raspberry Pi Imager 실행
    2. “Choose OS” 클릭 → “Other specific-purpose OS” 선택
    3. “Home assistants and home automation” → “Home Assistant” 선택
    4. 라즈베리파이 4용 이미지 선택
    5. “Choose Storage”에서 SD카드 선택
    6. “Write” 클릭 — 다 쓰는 데 5~10분 정도 걸려요

    ⚠️ 주의: SD카드에 있던 데이터는 전부 지워집니다. 중요한 파일 있으면 미리 백업하세요!

    2단계 — 라즈베리파이 첫 부팅

    이미지를 다 구웠으면, SD카드를 라즈베리파이에 꽂고 랜 케이블을 연결한 후 전원을 넣어주세요. 처음 부팅은 조금 오래 걸려요. 저는 약 5분 정도 기다렸어요.

    부팅이 완료되면 같은 네트워크에 연결된 PC 브라우저에서 아래 주소로 접속합니다:

    http://homeassistant.local:8123

    혹시 위 주소로 안 된다면, 공유기 관리 페이지에서 라즈베리파이에 할당된 IP를 확인하고 직접 입력해 보세요:

    http://192.168.x.x:8123

    3단계 — 초기 설정 마법사

    접속하면 초기 설정 화면이 뜹니다. 여기서는 별로 어려운 게 없어요.

    1. 계정 생성: 이름, 아이디, 비밀번호 입력 (이게 홈 어시스턴트 관리자 계정이 됩니다)
    2. 위치 설정: 집 위치를 설정하면 일출/일몰 기반 자동화가 가능해져요
    3. 기기 자동 탐색: 같은 네트워크에 있는 스마트 기기를 자동으로 찾아줍니다 — 저는 여기서 필립스 휴 전구가 바로 잡히더라고요 🎉

    홈 어시스턴트 초기 설정 마법사 화면 — 몇 가지 기본 정보만 입력하면 바로 대시보드가 활성화됩니다.

    4단계 — 첫 통합(Integration) 추가하기

    Integration(통합)이란 홈 어시스턴트가 특정 기기나 서비스와 통신하는 방법을 정의한 모듈이에요. 쉽게 말해 드라이버 같은 거죠.

    설정 → 기기 및 서비스 → 통합 추가 버튼을 누르면 수백 가지 통합 목록이 나옵니다. 자주 쓰는 것들을 몇 가지 소개하면:

    • Philips Hue: 휴 조명 연동
    • MQTT: 다양한 IoT 센서 연동 프로토콜
    • ESPHome: ESP8266/ESP32 기반 DIY 센서 연동
    • Google Cast: 구글 홈, 크롬캐스트 연동
    • Samsung SmartThings: 삼성 스마트싱스 기기 연동

    5단계 — 첫 자동화(Automation) 만들기

    자동화야말로 홈 어시스턴트의 핵심이에요. 저는 처음에 UI로 만들었다가, 나중에 YAML로 직접 작성하는 방식으로 넘어갔어요. 일단 UI부터 익히는 게 좋습니다.

    설정 → 자동화 및 장면 → 자동화 만들기 순서로 들어가세요. 아래는 “해질 무렵 거실 조명 켜기” 자동화 예시입니다:

    alias: "해질 무렵 거실 조명 켜기"
    description: "일몰 30분 전에 거실 조명을 자동으로 켭니다"
    trigger:
      - platform: sun
        event: sunset
        offset: "-00:30:00"
    condition: []
    action:
      - service: light.turn_on
        target:
          entity_id: light.living_room
        data:
          brightness_pct: 80
    mode: single

    YAML이 낯설어도 괜찮아요. UI에서 클릭 몇 번으로 똑같이 만들 수 있거든요. 위 코드는 나중에 “아, 이런 구조구나” 참고용으로 봐두시면 됩니다.

    홈 어시스턴트 설치 후 트러블슈팅 — 제가 겪은 문제들

    설치하면서 막혔던 부분들, 솔직하게 공유합니다. 저만 겪은 게 아닐 거예요.

    문제 1 — homeassistant.local 주소로 접속이 안 돼요

    mDNS(멀티캐스트 DNS)가 막혀 있는 네트워크 환경에서 종종 발생합니다. 해결법은 간단해요.

    1. 공유기 관리 페이지(보통 192.168.0.1 또는 192.168.1.1)에 접속
    2. 연결된 기기 목록에서 “homeassistant” 또는 “raspberrypi” 항목 찾기
    3. 해당 IP 주소로 직접 접속: http://192.168.x.x:8123

    💡 팁: 라즈베리파이에 고정 IP(Static IP)를 할당해 두면 IP가 바뀌는 불상사를 막을 수 있어요. 공유기 DHCP 설정에서 MAC 주소 기반으로 IP를 고정해 주세요.

    문제 2 — SD카드 속도가 너무 느려요

    이거 진짜 많이들 겪는 문제예요. 홈 어시스턴트는 데이터베이스를 SD카드에 계속 쓰는데, 저가형 SD카드면 엄청 느려집니다. 해결 방법은 두 가지예요:

    • 단기: 좋은 SD카드로 교체 (A2 등급 이상 권장)
    • 장기: USB 3.0 SSD로 부팅 전환 — 이 방법은 나중에 별도 글로 다룰게요

    문제 3 — 특정 기기가 자동 탐색이 안 돼요

    같은 네트워크에 있는데 기기가 안 잡히는 경우, 공유기에서 AP 격리(AP Isolation) 기능이 켜져 있는 게 원인인 경우가 많아요. 공유기 설정에서 AP 격리를 꺼주세요. 그래도 안 되면 해당 기기 전용 Integration을 수동으로 추가해야 합니다.

    자동화와 기기 연동이 완료된 홈 어시스턴트 대시보드 — 조명, 온도, 에너지 사용량을 한눈에 확인할 수 있습니다.

    설치 완료 — 결과 확인해 봅시다

    설치가 다 됐다면 대시보드에서 이런 것들이 보여야 정상입니다:

    • ✅ 연결된 기기들이 엔티티(Entity)로 표시됨
    • ✅ 기기 상태(켜짐/꺼짐, 온도 등)가 실시간으로 업데이트됨
    • ✅ 만들어 둔 자동화가 활성화 상태로 표시됨
    • ✅ 설정 → 시스템 → 정보에서 버전 정보 확인 가능

    스마트폰 앱도 설치하고 싶으시면, iOS/안드로이드 모두 “Home Assistant” 공식 앱이 있어요. 같은 네트워크에서는 물론이고, 외부에서도 접속하려면 Nabu Casa(나부 카사) 클라우드 서비스나 Tailscale(테일스케일, VPN 서비스)을 활용하면 됩니다. 이 부분은 다음 글에서 자세히 다룰 예정이에요.

    홈 어시스턴트 확장하기 — 추천 애드온

    HAOS의 장점이 바로 Add-on(애드온) 생태계입니다. 설정 → 애드온 메뉴에서 클릭 몇 번으로 추가 기능을 설치할 수 있어요. 제가 쓰는 것들 몇 가지 소개합니다:

    • Mosquitto Broker: MQTT 브로커, IoT 센서 연동의 핵심
    • ESPHome: ESP 기반 DIY 센서를 홈 어시스턴트에 연결
    • Node-RED: 시각적 자동화 편집기, 복잡한 자동화 만들 때 편함
    • File Editor: 브라우저에서 바로 설정 파일 편집 가능
    • Samba Share: 윈도우 파일 공유로 설정 파일 접근

    처음엔 File Editor 하나만 설치해도 충분해요. 나머지는 필요할 때 하나씩 추가하면 됩니다.

    홈 어시스턴트 vs 상용 스마트홈 플랫폼 비교 요약 — 프라이버시, 비용, 확장성 모든 면에서 홈 어시스턴트가 홈랩 환경에 적합합니다.

    홈 어시스턴트 설치 — 자주 묻는 질문 (FAQ)

    Q. 라즈베리파이 4 말고 다른 기기로도 되나요?

    네, 됩니다. 인텔 NUC, 구형 미니PC, 심지어 가상머신 위에서도 돌아가요. 다만 라즈베리파이 4는 전력 소모가 적고 가격 대비 성능이 좋아서 홈 어시스턴트 전용으로 쓰기 딱 좋습니다.

    Q. 한국 스마트 기기들도 연동이 되나요?

    삼성 스마트싱스 기기들은 공식 통합이 있고, LG ThinQ도 커뮤니티 통합이 있어요. 다만 국내 제조사 기기들은 공식 지원이 없는 경우도 있어서 사전에 호환성 확인이 필요합니다.

    Q. 인터넷이 끊기면 자동화도 안 되나요?

    홈 어시스턴트 자체는 로컬에서 돌아가기 때문에 인터넷이 끊겨도 로컬 자동화는 정상 작동해요. 다만 클라우드 기반 기기(일부 스마트 플러그 등)는 영향을 받을 수 있습니다.

    마무리 — 이제 진짜 스마트홈 시작입니다

    라즈베리파이 4로 홈 어시스턴트를 구축하는 것, 생각보다 어렵지 않죠? 처음 설치하고 거실 조명이 자동으로 켜지던 그 순간이 아직도 기억나요. 진짜 뿌듯하더라고요 🎉

    정리하자면 이렇습니다:

    1. 라즈베리파이 4 + 64GB SD카드 준비
    2. Raspberry Pi Imager로 HAOS 이미지 굽기
    3. 부팅 후 homeassistant.local:8123 접속
    4. 계정 생성 및 기기 연동
    5. 첫 자동화 만들기

    다음 글에서는 외부에서 홈 어시스턴트에 안전하게 접속하는 방법 — Tailscale VPN 연동을 다룰 예정입니다. 이 부분이 설정되면 집 밖에서도 스마트홈을 완전히 제어할 수 있어요.

    질문 있으시면 댓글로 남겨주세요. 제가 직접 겪은 문제라면 같이 해결해 드릴 수 있을 것 같습니다 😊

  • [HomeLabs] 라즈베리파이 5 홈랩 구축: 저전력 미니PC 활용 완전 가이드

    전기세 걱정 없는 홈서버, 라즈베리파이 5로 시작해보세요

    홈랩(Home Lab)을 처음 꾸릴 때 저도 똑같은 고민을 했거든요. “중고 서버 살까? 미니PC 살까?” 근데 막상 중고 타워 서버를 들여놨더니 소음이 장난이 아니더라고요. 한밤중에 서버실(사실 제 방 한 켠이지만) 앞을 지나갈 때마다 데이터센터 온 느낌이랄까요. 그리고 전기 요금 고지서 받아보고 진짜 식겁했습니다.

    그래서 찾게 된 게 라즈베리파이 5(Raspberry Pi 5) 홈랩이에요. 저전력 홈서버로 이만한 게 없더라고요. 처음엔 “이 작은 게 뭘 할 수 있겠어?” 싶었는데, 막상 세팅하고 나니까 놀라웠습니다. 이 글에서는 제가 직접 구축하면서 겪은 삽질과 함께, 라즈베리파이 5 홈랩을 제대로 활용하는 방법을 공유해 드릴게요.

    라즈베리파이 5 기반 홈랩의 전체 구성도 — 단일 보드 컴퓨터 하나로 이렇게 많은 서비스를 돌릴 수 있습니다.

    라즈베리파이 5가 홈랩에 적합한 이유

    라즈베리파이 시리즈는 워낙 유명하지만, 5세대로 넘어오면서 진짜 “쓸만한” 홈서버로 거듭났어요. 이전 세대와 비교하면 체감 성능 차이가 꽤 납니다.

    라즈베리파이 5의 주요 스펙을 간단히 정리하면:

    • CPU: Broadcom BCM2712, Arm Cortex-A76 쿼드코어
    • RAM: 4GB 또는 8GB LPDDR4X (홈랩용이라면 8GB 추천)
    • 스토리지 인터페이스: PCIe 2.0 슬롯 추가 (NVMe SSD 연결 가능)
    • 네트워크: 기가비트 이더넷
    • USB: USB 3.0 포트 2개, USB 2.0 포트 2개

    여기서 제가 특히 주목한 건 PCIe 슬롯이에요. 이전 세대까지는 microSD 카드에 전적으로 의존하거나 USB 방식 외장 SSD를 써야 했거든요. 5세대부터는 공식 HAT(Hardware Attached on Top, 확장 보드)나 서드파티 어댑터를 통해 NVMe SSD를 직접 연결할 수 있어요. 속도 차이가 체감상 확연합니다.

    저전력 홈서버로서의 장점

    • ✅ 소음 없음: 액티브 쿨러를 달아도 일반 PC 대비 훨씬 조용
    • ✅ 저전력: 일반 데스크탑 PC 대비 전력 소모가 현저히 낮음
    • ✅ 공간 효율: 손바닥 크기라 어디든 놓을 수 있음
    • ✅ 활발한 커뮤니티: 문제 생기면 검색하면 다 나옴 (이게 진짜 중요해요)
    • ✅ 합리적인 가격: 진입 장벽이 낮음

    물론 단점도 있어요. x86 아키텍처가 아닌 ARM이라 일부 소프트웨어는 ARM 빌드를 따로 찾아야 하고, 고성능 컴퓨팅 작업에는 한계가 있습니다. 하지만 홈랩 용도, 특히 네트워크 서비스, 모니터링, 미디어 서버, 자동화 같은 작업에는 충분하더라고요.

    준비물 체크리스트

    본격적으로 시작하기 전에 뭐가 필요한지 정리해 드릴게요. 제가 처음에 이것저것 빠뜨려서 두 번 주문했던 기억이 나서 말이에요. ㅎㅎ

    항목 필수 여부 비고
    라즈베리파이 5 (8GB 모델 권장) ✅ 필수 홈랩이라면 8GB로
    공식 전원 어댑터 (27W USB-C PD) ✅ 필수 5세대는 전원 요구사항 달라짐
    microSD 카드 (32GB 이상) 또는 NVMe SSD ✅ 필수 NVMe 강력 추천
    케이스 + 쿨러 권장 발열 관리 필요
    NVMe HAT (M.2 어댑터) 선택 NVMe SSD 쓸 경우 필요
    이더넷 케이블 권장 Wi-Fi보다 유선 안정적

    💡 팁: 라즈베리파이 5는 공식 27W USB-C PD 어댑터를 권장합니다. 전력이 부족하면 부팅 중 경고 메시지가 뜨거나 불안정해질 수 있어요. 저도 처음에 아무 충전기나 꽂았다가 낭패 봤습니다.

    OS 설치 및 초기 설정

    자, 이제 본격적으로 세팅 시작해볼게요. 생각보다 어렵지 않습니다.

    1단계: Raspberry Pi OS 설치

    가장 쉬운 방법은 Raspberry Pi Imager를 사용하는 거예요. 공식 도구라 믿을 수 있고, 설치 전에 SSH 활성화, Wi-Fi 설정, 사용자 계정 설정까지 다 할 수 있거든요.

    1. Raspberry Pi 공식 사이트에서 Raspberry Pi Imager 다운로드
    2. OS 선택: Raspberry Pi OS Lite (64-bit) — 홈서버용이라면 GUI 없는 Lite 버전이 리소스 효율적
    3. 고급 설정(⚙️ 아이콘)에서 SSH 활성화, 사용자명/비밀번호 설정
    4. microSD 또는 NVMe에 Write

    설치 완료 후 첫 부팅, SSH로 접속해서 기본 설정부터 해줍니다.

    # 시스템 업데이트 (항상 첫 번째로 해야 할 일)
    sudo apt update && sudo apt upgrade -y
    
    # 한국 타임존 설정
    sudo timedatectl set-timezone Asia/Seoul
    
    # 호스트명 변경 (나중에 여러 대 운영할 때 헷갈리지 않으려면)
    sudo hostnamectl set-hostname homelab-pi5
    
    # 자동 보안 업데이트 설치
    sudo apt install unattended-upgrades -y
    sudo dpkg-reconfigure --priority=low unattended-upgrades

    2단계: 고정 IP 설정

    홈서버는 IP가 바뀌면 진짜 골치 아파요. 라우터에서 DHCP 예약을 하거나, 직접 고정 IP를 설정해 줍니다. 저는 라우터 DHCP 예약 방식을 선호하는데, 그게 관리하기 편하더라고요.

    직접 설정하고 싶다면 NetworkManager를 씁니다.

    # 현재 연결 이름 확인
    nmcli connection show
    
    # 고정 IP 설정 (예: 192.168.1.100)
    nmcli connection modify "Wired connection 1" \
      ipv4.method manual \
      ipv4.addresses 192.168.1.100/24 \
      ipv4.gateway 192.168.1.1 \
      ipv4.dns "1.1.1.1,8.8.8.8"
    
    # 적용
    nmcli connection up "Wired connection 1"

    3단계: Docker 설치

    홈랩의 핵심은 Docker(도커, 컨테이너 기반 가상화 플랫폼)예요. 여러 서비스를 격리된 환경에서 깔끔하게 관리할 수 있거든요. ARM64 지원이 많이 좋아져서 이제는 대부분의 인기 이미지가 ARM64 빌드를 제공합니다.

    # Docker 공식 설치 스크립트
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    
    # 현재 사용자를 docker 그룹에 추가 (sudo 없이 docker 명령 사용)
    sudo usermod -aG docker $USER
    
    # 변경사항 적용을 위해 재로그인 필요
    newgrp docker
    
    # 설치 확인
    docker --version
    docker run hello-world

    Docker Compose도 함께 설치해 줍니다. 여러 컨테이너를 한 번에 관리할 때 필수예요.

    # Docker Compose V2는 Docker 설치 시 플러그인으로 포함됨
    # 확인
    docker compose version

    Docker 컨테이너로 구성한 홈랩 서비스 스택 — 각 서비스가 독립된 컨테이너로 동작하는 구조입니다.

    핵심 서비스 구축: 실전 Docker Compose 설정

    이제 진짜 재미있는 부분이에요. 어떤 서비스를 돌릴지가 홈랩의 핵심이거든요. 제가 실제로 운영 중인 서비스 스택을 공유해 드릴게요.

    홈랩 필수 서비스 구성

    # ~/homelab/docker-compose.yml
    version: '3.8'
    
    services:
    
      # Portainer: 도커 컨테이너 웹 UI 관리 도구
      portainer:
        image: portainer/portainer-ce:latest
        container_name: portainer
        restart: unless-stopped
        ports:
          - "9000:9000"
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - portainer_data:/data
    
      # Pi-hole: 네트워크 전체 광고 차단 DNS 서버
      pihole:
        image: pihole/pihole:latest
        container_name: pihole
        restart: unless-stopped
        ports:
          - "53:53/tcp"
          - "53:53/udp"
          - "8080:80/tcp"
        environment:
          TZ: 'Asia/Seoul'
          WEBPASSWORD: 'your_secure_password'  # 반드시 변경하세요!
        volumes:
          - pihole_data:/etc/pihole
          - dnsmasq_data:/etc/dnsmasq.d
        cap_add:
          - NET_ADMIN
    
      # Uptime Kuma: 서비스 모니터링 대시보드
      uptime-kuma:
        image: louislam/uptime-kuma:latest
        container_name: uptime-kuma
        restart: unless-stopped
        ports:
          - "3001:3001"
        volumes:
          - uptime_kuma_data:/app/data
    
    volumes:
      portainer_data:
      pihole_data:
      dnsmasq_data:
      uptime_kuma_data:
    # 서비스 시작
    cd ~/homelab
    docker compose up -d
    
    # 실행 상태 확인
    docker compose ps
    
    # 로그 확인
    docker compose logs -f

    🎉 이렇게 하면 세 가지 핵심 서비스가 한 번에 뜹니다. Portainer(포테이너)로 컨테이너를 웹에서 관리하고, Pi-hole(파이홀)로 집 안 모든 기기의 광고를 차단하고, Uptime Kuma(업타임 쿠마)로 서비스 가용성을 모니터링할 수 있어요.

    홈 미디어 서버 추가 (선택)

    미디어 서버도 많이들 구성하시는데, Jellyfin(젤리핀, 오픈소스 미디어 서버)이 ARM64 지원도 잘 되고 무료라서 추천드려요.

    # docker-compose.yml에 추가
      jellyfin:
        image: jellyfin/jellyfin:latest
        container_name: jellyfin
        restart: unless-stopped
        network_mode: host  # DLNA 사용 시 host 모드 권장
        volumes:
          - jellyfin_config:/config
          - jellyfin_cache:/cache
          - /mnt/media:/media:ro  # 미디어 파일 경로
        environment:
          - TZ=Asia/Seoul

    ⚠️ 삽질 경험담: 이것만 주의하세요

    13년 경력이라도 새 장비 세팅할 때는 항상 뭔가 하나씩 걸리더라고요. 제가 겪은 주요 문제들을 공유해 드릴게요.

    문제 1: 발열 관리

    라즈베리파이 5는 이전 세대보다 성능이 오른 만큼 발열도 있어요. 케이스 없이 쓰다가 CPU 쓰로틀링(Throttling, 과열 시 성능 제한)이 걸리는 걸 모니터링으로 발견했습니다.

    # CPU 온도 확인
    vcgencmd measure_temp
    
    # 실시간 모니터링
    watch -n 2 vcgencmd measure_temp
    
    # 쓰로틀링 여부 확인 (0x0이면 정상)
    vcgencmd get_throttled

    액티브 쿨러(팬)를 달거나, 방열판이 포함된 케이스를 사용하는 게 좋아요. 라즈베리파이 공식 액티브 쿨러 제품도 있고, 서드파티 케이스들도 많습니다.

    문제 2: ARM64 이미지 없는 경우

    가끔 원하는 Docker 이미지가 ARM64(aarch64)를 지원 안 하는 경우가 있어요. 이럴 때 확인하는 방법:

    # 이미지 아키텍처 확인
    docker manifest inspect [이미지명] | grep architecture
    
    # 만약 arm64 없으면 대안 이미지 검색 필요
    # 또는 QEMU 에뮬레이션 (성능 저하 있음)
    docker run --platform linux/amd64 [이미지명]

    ⚠️ QEMU 에뮬레이션으로 x86 이미지를 돌리면 성능이 많이 떨어집니다. 가능하면 ARM64 네이티브 이미지를 쓰세요.

    문제 3: microSD 카드 수명 문제

    Docker를 microSD에 올리고 로그를 막 쌓다 보면 카드 수명이 급격히 줄어요. 실제로 저 첫 번째 카드 6개월 만에 날렸습니다. 해결책은 두 가지예요.

    • NVMe SSD로 부팅 드라이브 변경 (가장 좋은 방법)
    • 로그 설정 최적화로 쓰기 횟수 줄이기
    # Docker 로그 크기 제한 설정
    # /etc/docker/daemon.json 생성 또는 수정
    sudo nano /etc/docker/daemon.json
    {
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "10m",
        "max-file": "3"
      }
    }
    # Docker 재시작으로 적용
    sudo systemctl restart docker

    운영 결과 확인: 이렇게 쓰고 있습니다

    세팅 완료 후 실제로 어떻게 돌아가는지 확인해 보는 시간이에요. 드디어 됐다! 싶은 순간이기도 하고요.

    시스템 리소스 모니터링

    # 전체 시스템 상태 한눈에 보기
    htop
    
    # Docker 컨테이너별 리소스 사용량
    docker stats
    
    # 디스크 사용량
    df -h
    
    # 메모리 상세
    free -h

    제 경우 위에 소개한 서비스들을 다 올려도 RAM 사용량이 여유 있더라고요. 8GB 모델이라면 훨씬 더 여유롭게 쓸 수 있어요.

    Uptime Kuma 모니터링 대시보드 — 홈랩의 모든 서비스 상태를 한눈에 확인할 수 있습니다.

    자동 시작 설정

    정전이나 재부팅 후에도 서비스가 자동으로 올라오도록 설정해 줍니다.

    # Docker 서비스 자동 시작
    sudo systemctl enable docker
    
    # docker-compose를 systemd 서비스로 등록
    sudo nano /etc/systemd/system/homelab.service
    [Unit]
    Description=Homelab Docker Compose
    Requires=docker.service
    After=docker.service
    
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    WorkingDirectory=/home/pi/homelab
    ExecStart=/usr/bin/docker compose up -d
    ExecStop=/usr/bin/docker compose down
    TimeoutStartSec=0
    
    [Install]
    WantedBy=multi-user.target
    # 서비스 등록 및 활성화
    sudo systemctl daemon-reload
    sudo systemctl enable homelab.service
    sudo systemctl start homelab.service

    다음 단계로 확장하기

    기본 세팅이 끝났다면 이제 더 재미있는 것들을 추가할 수 있어요. 제가 다음 글에서 다룰 예정인 주제들이기도 합니다.

    추천 확장 서비스 목록

    서비스 용도 ARM64 지원
    Nginx Proxy Manager 리버스 프록시, SSL 인증서 관리 ✅
    Grafana + Prometheus 메트릭 수집 및 시각화 대시보드 ✅
    Home Assistant 스마트홈 자동화 허브 ✅
    Vaultwarden 자체 호스팅 비밀번호 관리자 ✅
    Nextcloud 개인 클라우드 스토리지 ✅
    WireGuard VPN 서버 ✅

    💡 WireGuard(와이어가드, 경량 VPN 프로토콜)를 설정해 두면 외출 중에도 집 홈랩에 안전하게 접속할 수 있어요. 이건 다음 글에서 자세히 다루겠습니다.

    라즈베리파이 5 홈랩에서 활용 가능한 서비스 비교 — 용도에 맞게 골라서 구성해 보세요.

    자주 묻는 질문 (FAQ)

    Q. 라즈베리파이 5 홈랩, 24시간 켜놔도 되나요?

    네, 됩니다. 저도 항상 켜놓고 있어요. 다만 발열 관리(케이스 + 쿨러)와 안정적인 전원 공급이 중요합니다. UPS(무정전 전원 장치)까지 달면 더욱 안정적이에요.

    Q. microSD vs NVMe SSD, 어떤 게 낫나요?

    홈랩 용도라면 NVMe SSD를 강력히 추천드려요. 속도도 빠르고 수명도 훨씬 길거든요. 처음 세팅 비용이 조금 더 들지만, microSD 갈아 엎는 수고를 생각하면 훨씬 이득입니다.

    Q. 라즈베리파이 5 8GB vs 4GB, 뭐가 더 나을까요?

    홈랩 목적이라면 8GB를 권장합니다. Docker 컨테이너 여러 개 올리다 보면 4GB는 빠듯해질 수 있어요. 처음부터 8GB로 가는 게 나중에 후회가 없더라고요.

    마무리: 작게 시작해서 크게 배웁니다

    라즈베리파이 5 홈랩, 생각보다 어렵지 않죠? 처음엔 “이게 진짜 되겠어?” 싶었는데, 막상 세팅하고 나면 진짜 신세계가 열려요.

    제가 13년 동안 인프라 엔지니어로 일하면서 느낀 건, 홈랩이야말로 가장 빠르게 실력이 느는 방법이라는 거예요. 회사 서버는 함부로 건드릴 수 없으니까요. 집에서 마음껏 실험하고, 망가뜨려 보고, 복구해 보는 과정에서 진짜 실력이 쌓입니다.

    오늘 다룬 내용을 정리하면:

    • ✅ 라즈베리파이 5의 하드웨어 특성과 홈랩 적합성 이해
    • ✅ OS 설치 및 기본 시스템 설정
    • ✅ Docker 기반 서비스 스택 구성 (Portainer, Pi-hole, Uptime Kuma)
    • ✅ 발열, ARM64 호환성, 스토리지 수명 등 주요 이슈 해결
    • ✅ 시스템 안정성을 위한 자동 시작 설정

    다음 글에서는 Nginx Proxy Manager와 Let’s Encrypt를 활용한 HTTPS 설정을 다룰 예정이에요. 외부에서 홈랩 서비스에 안전하게 접속하는 방법인데, 이게 또 재미있거든요. 기대해 주세요! 😄

    궁금한 점이나 다른 삽질 경험이 있으시면 댓글로 공유해 주세요. 같이 고민해 봐요!

  • [HomeLabs] 저전력 미니 서버 구축: N100/N305 미니PC 홈서버 완벽 가이드

    [HomeLabs] 저전력 미니 서버 구축: N100/N305 미니PC 홈서버 완벽 가이드

    전기세 걱정 없는 홈서버, N100/N305 미니PC로 시작하기

    홈서버 구축을 처음 고민할 때 가장 많이 받는 질문이 있어요. “전기세 얼마나 나와요?” 저도 처음에 타워형 서버로 홈랩을 시작했다가 한 달 전기세 고지서 보고 잠깐 멘붕이 왔었거든요. 그때부터 저전력 미니 서버 쪽으로 눈을 돌리기 시작했습니다.

    요즘 홈랩 커뮤니티에서 가장 핫한 조합이 바로 인텔 N100, N305 칩셋을 탑재한 미니PC예요. 가격도 합리적이고, 전력 소비는 놀라울 정도로 낮고, 성능은 웬만한 홈랩 워크로드를 충분히 소화해내거든요. 오늘은 제가 직접 구축하고 운영해온 경험을 바탕으로 N100/N305 미니PC 홈서버 구축 완벽 가이드를 정리해봤습니다.

    N100 N305 미니PC 홈서버 전체 구성도 및 홈랩 아키텍처 다이어그램

    ▲ N100/N305 기반 저전력 홈랩의 전체 구성도 — 미니PC 본체부터 네트워크 스위치, NAS 연결까지 한눈에 볼 수 있는 레이아웃입니다.


    N100과 N305, 뭐가 다른가요?

    처음 보시는 분들은 “N100이랑 N305가 뭔데요?” 하실 수 있어요. 쉽게 말해서, 인텔이 저전력 소형 기기용으로 내놓은 Alder Lake-N 시리즈 프로세서입니다. 기존 Celeron/Pentium 라인을 대체하는 포지션이라고 보시면 돼요.

    N100 vs N305 핵심 차이점

    항목 Intel N100 Intel N305
    코어 구성 4코어 (E-core) 8코어 (E-core)
    TDP (열설계전력) 6W 15W
    최대 부스트 클럭 3.4GHz 3.8GHz
    ECC 메모리 지원 미지원 지원 (일부 보드)
    적합한 용도 단독 서비스, 가벼운 컨테이너 다수 VM, 복잡한 워크로드
    대략적 가격대 상대적으로 저렴 N100 대비 높음

    제 경험상 처음 홈서버를 시작하는 분이라면 N100으로도 충분합니다. Docker 컨테이너 10~20개 정도는 거뜬히 돌아가요. 반면에 Proxmox VE(프록스목스, 오픈소스 가상화 플랫폼)로 여러 개의 VM을 동시에 굴리거나, 미디어 트랜스코딩(실시간 영상 변환)을 함께 할 계획이라면 N305 쪽이 더 여유롭습니다.

    💡 팁: N100/N305 모두 Intel Quick Sync(퀵 싱크, 하드웨어 가속 영상 처리) 기능을 지원합니다. Plex나 Jellyfin(젤리핀, 미디어 서버) 트랜스코딩에 이걸 활용하면 CPU 부하가 확 줄어들어요.


    하드웨어 선택 가이드 — 뭘 사야 하나요?

    미니PC 시장에는 정말 다양한 제품이 있는데, 처음엔 어떤 걸 골라야 할지 막막하더라고요. 제가 실제로 고려했던 체크리스트를 공유할게요.

    미니PC 선택 시 핵심 체크리스트

    • LAN 포트 개수: 홈서버용이라면 2.5GbE(2.5기가비트 이더넷) 포트가 2개 이상인 게 좋아요. 하나는 업스트림, 하나는 관리용이나 추가 네트워크 분리에 씁니다.
    • RAM 확장성: 최소 16GB는 되어야 해요. 처음엔 8GB로 버티다가 결국 업그레이드했는데, 처음부터 넉넉하게 가는 게 낫더라고요.
    • 스토리지 슬롯: M.2 NVMe 슬롯이 2개 이상이면 OS용 + 데이터용으로 분리 운영이 가능해서 편합니다.
    • USB 포트: USB 3.0 이상 포트가 넉넉한지 확인. 외장 스토리지 연결할 때 필요해요.
    • 팬리스 vs 쿨링팬 여부: 24시간 돌아가는 서버라면 팬 소음이 생각보다 거슬릴 수 있어요.
    • Wake-on-LAN (WoL) 지원: 원격으로 전원을 켤 수 있는 기능. 홈서버에선 거의 필수입니다.

    시중에 N100 탑재 미니PC는 여러 브랜드에서 다양한 모델로 출시되어 있어요. 구매 전에 커뮤니티 리뷰와 실제 사용자 후기를 꼭 확인하시는 걸 추천드려요. 특히 바이오스(BIOS) 업데이트 지원이 잘 되는지, 리눅스 드라이버 호환성은 어떤지가 중요하거든요.


    OS 설치 — Proxmox VE로 홈랩 기반 다지기

    저는 홈서버 OS로 Proxmox VE(프록스목스 버추얼 인바이런먼트)를 강력 추천합니다. 오픈소스 하이퍼바이저(가상화 플랫폼)인데, 웹 UI로 VM과 LXC 컨테이너를 쉽게 관리할 수 있어서 홈랩에 딱이거든요.

    Proxmox VE 설치 순서

    1. Proxmox 공식 사이트에서 ISO 이미지 다운로드
    2. Rufus 또는 Balena Etcher로 USB 부팅 디스크 생성
    3. 미니PC에 USB 꽂고 부팅, BIOS에서 USB 부팅 우선순위 설정
    4. 설치 마법사 진행 — IP 주소, 게이트웨이, DNS 설정
    5. 설치 완료 후 웹 브라우저에서 https://[IP주소]:8006 접속

    설치 자체는 어렵지 않아요. 근데 여기서 한 가지 꼭 챙겨야 할 게 있습니다.

    ⚠️ 주의: Proxmox 기본 설치 후 엔터프라이즈 저장소(Enterprise Repository)가 활성화되어 있어서, 라이선스 없이 apt update를 하면 오류가 납니다. 아래 설정으로 무료 커뮤니티 저장소로 바꿔주세요.

    # Proxmox 엔터프라이즈 저장소 비활성화
    echo "# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list
    
    # 무료 커뮤니티 저장소 추가
    echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
    
    # 패키지 업데이트
    apt update && apt upgrade -y

    저도 처음에 이거 모르고 한참 헤맸습니다 ㅎㅎ. 설치 직후에 꼭 해주세요.

    N100/N305에서 Intel GPU 패스스루 설정

    미디어 서버를 돌릴 계획이라면 내장 GPU를 LXC 컨테이너나 VM에 넘겨주는 GPU 패스스루(Pass-through) 설정이 중요합니다.

    # LXC 컨테이너 설정 파일 예시 (/etc/pve/lxc/[CTID].conf)
    # i915 드라이버를 통한 Intel Quick Sync 공유 방식 설정
    
    lxc.cgroup2.devices.allow: c 226:0 rwm
    lxc.cgroup2.devices.allow: c 226:128 rwm
    lxc.cgroup2.devices.allow: c 29:0 rwm
    lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file
    lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
    lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file

    이렇게 하면 Jellyfin 같은 미디어 서버 컨테이너에서 Intel Quick Sync 하드웨어 가속을 바로 쓸 수 있어요. 체감 차이가 꽤 큽니다.

    Proxmox VE 웹 대시보드에서 N100 미니PC 홈서버 노드와 컨테이너 관리 화면

    ▲ Proxmox VE 웹 대시보드 — CPU 사용률, 메모리, 스토리지 현황을 한눈에 파악할 수 있어요. N100 기반임에도 여러 컨테이너가 여유롭게 돌아가고 있습니다.


    Docker로 핵심 서비스 올리기

    Proxmox 위에 Debian LXC 컨테이너를 만들고, 그 안에 Docker를 설치하는 방식을 저는 선호합니다. VM보다 오버헤드가 적고, 그렇다고 호스트를 직접 건드리지 않아도 되거든요.

    Docker + Docker Compose 설치

    # 기존 구버전 Docker 제거
    apt remove docker docker-engine docker.io containerd runc
    
    # 필수 패키지 설치
    apt update
    apt install -y ca-certificates curl gnupg lsb-release
    
    # Docker 공식 GPG 키 추가
    mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
    # Docker 저장소 추가
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
      $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    # Docker 엔진 설치
    apt update
    apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

    홈랩 필수 서비스 Docker Compose 예시

    제가 실제로 돌리고 있는 스택의 일부를 공유할게요. Traefik(트래픽, 리버스 프록시)을 앞단에 두고, 각 서비스를 뒤에 배치하는 구조입니다.

    version: '3.8'
    
    services:
      traefik:
        image: traefik:v2.10
        container_name: traefik
        restart: unless-stopped
        ports:
          - "80:80"
          - "443:443"
          - "8080:8080"  # Traefik 대시보드
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock:ro
          - ./traefik/traefik.yml:/traefik.yml:ro
          - ./traefik/acme.json:/acme.json  # Let's Encrypt 인증서
        networks:
          - proxy
    
      portainer:
        image: portainer/portainer-ce:latest
        container_name: portainer
        restart: unless-stopped
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - portainer_data:/data
        labels:
          - "traefik.enable=true"
          - "traefik.http.routers.portainer.rule=Host(`portainer.homelab.local`)"
        networks:
          - proxy
    
      jellyfin:
        image: jellyfin/jellyfin:latest
        container_name: jellyfin
        restart: unless-stopped
        devices:
          - /dev/dri:/dev/dri  # Intel Quick Sync GPU 패스스루
        volumes:
          - ./jellyfin/config:/config
          - /mnt/media:/media:ro
        labels:
          - "traefik.enable=true"
          - "traefik.http.routers.jellyfin.rule=Host(`jellyfin.homelab.local`)"
        networks:
          - proxy
    
    volumes:
      portainer_data:
    
    networks:
      proxy:
        external: true

    Traefik을 쓰면 각 서비스마다 포트 번호를 외울 필요 없이 도메인 이름으로 접근할 수 있어서 진짜 편해요. 처음엔 설정이 좀 복잡해 보이는데, 한 번 익히면 계속 쓰게 됩니다.

    홈랩에서 자주 쓰는 서비스 목록

    • Portainer(포테이너): Docker 컨테이너 웹 UI 관리
    • Jellyfin(젤리핀): 오픈소스 미디어 서버
    • Home Assistant(홈 어시스턴트): 스마트홈 허브
    • Pi-hole(파이홀): 네트워크 광고 차단 DNS
    • Uptime Kuma(업타임 쿠마): 서비스 모니터링
    • Vaultwarden(볼트워든): 셀프호스팅 비밀번호 관리자 (Bitwarden 호환)
    • Nextcloud(넥스트클라우드): 셀프호스팅 클라우드 스토리지

    ⚠️ 삽질 포인트 — 이것만 주의하면 됩니다

    13년 경력이라고 해도 새로운 환경에서는 삽질을 합니다 ㅎㅎ. 제가 N100 미니PC 홈서버 세팅하면서 걸렸던 포인트들을 정리해봤어요.

    문제 1: 절전 모드로 인한 서버 다운

    처음에 며칠 잘 돌다가 갑자기 서버가 응답을 안 하는 거예요. 가서 보면 켜져 있는데 핑이 안 되더라고요. 알고 보니 BIOS의 절전 설정이 문제였습니다.

    # Linux에서 절전 모드 비활성화
    # /etc/systemd/sleep.conf 수정
    
    [Sleep]
    AllowSuspend=no
    AllowHibernation=no
    AllowSuspendThenHibernate=no
    AllowHybridSleep=no

    BIOS에서도 S3 Sleep State를 비활성화하거나, AC 전원 연결 시 자동 부팅 옵션을 켜두세요. 정전 후 자동 복구에도 필요합니다.

    문제 2: NTP 시간 동기화 오류로 인한 인증서 오류

    LXC 컨테이너에서 HTTPS 인증서 관련 오류가 간헐적으로 났었는데, 원인이 시간 동기화 문제였어요. 컨테이너 내부 시간이 호스트와 달라지는 경우가 있거든요.

    # 호스트 시간대 설정
    timedatectl set-timezone Asia/Seoul
    
    # systemd-timesyncd 활성화
    systemctl enable systemd-timesyncd
    systemctl start systemd-timesyncd
    
    # 동기화 상태 확인
    timedatectl status

    문제 3: 저장 공간 부족 — /var/lib/docker 폭탄

    Docker를 쓰다 보면 사용하지 않는 이미지, 볼륨, 네트워크가 쌓여서 디스크를 잡아먹습니다. 주기적으로 정리해줘야 해요.

    # 사용하지 않는 Docker 리소스 전체 정리
    docker system prune -a --volumes
    
    # 또는 개별 정리
    docker image prune -a    # 미사용 이미지 삭제
    docker volume prune      # 미사용 볼륨 삭제
    docker network prune     # 미사용 네트워크 삭제
    
    # 현재 디스크 사용량 확인
    docker system df

    저는 이걸 cron(크론, 리눅스 작업 스케줄러)으로 매주 한 번씩 자동 실행되도록 해뒀습니다.


    전력 소비 모니터링 — 진짜 얼마나 아낄 수 있나요?

    홈서버 구축할 때 가장 궁금한 게 “전기세 얼마나 나오냐”잖아요. N100 미니PC는 아이들(idle, 대기 상태) 시 소비 전력이 매우 낮습니다. 물론 실제 수치는 구체적인 모델과 구성에 따라 다르지만, 일반적으로 구형 타워 서버나 데스크탑 대비 전력 소비가 크게 낮은 편이에요.

    Proxmox에서 전력 관련 상태를 간단히 확인하는 방법이에요.

    # CPU 현재 주파수 및 거버너 확인
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
    # powertop 설치 및 실행 (전력 소비 분석 툴)
    apt install powertop -y
    powertop
    
    # CPU 절전 모드 활성화 (powertop 자동 튜닝)
    powertop --auto-tune

    💡 팁: powertop --auto-tune을 /etc/rc.local에 추가해두면 부팅 시 자동으로 전력 최적화가 적용됩니다. 체감상 아이들 소비 전력이 더 낮아지더라고요.

    홈서버 Grafana 모니터링 대시보드에서 저전력 미니PC 전력 소비 및 컨테이너 현황 확인

    ▲ Grafana(그라파나) + Prometheus(프로메테우스)로 구성한 홈서버 모니터링 대시보드 — CPU, 메모리, 네트워크, 전력 소비까지 실시간으로 확인할 수 있어요.


    자주 묻는 질문 (FAQ)

    Q. N100 미니PC로 NAS(나스, 네트워크 연결 스토리지)도 되나요?

    됩니다! USB 3.0으로 외장 HDD를 연결하거나, M.2 슬롯에 NVMe를 꽂아서 TrueNAS Scale이나 OpenMediaVault를 올릴 수 있어요. 다만 대용량 HDD를 여러 개 연결하고 싶다면 SATA 포트가 없는 모델이 많아서, 이 경우엔 USB 3.0 허브나 별도 NAS를 따로 두는 걸 추천합니다.

    Q. N100으로 쿠버네티스(Kubernetes) 운영 가능한가요?

    가능하긴 한데, 단일 노드라면 K3s(케이쓰리에스, 경량 쿠버네티스)를 추천합니다. 풀 쿠버네티스보다 리소스를 훨씬 적게 먹거든요. 저도 다음 글에서 K3s 홈랩 구축 과정을 다룰 예정이에요.

    Q. 외부에서 접속하려면 어떻게 해야 하나요?

    가장 안전한 방법은 Tailscale(테일스케일, 메시 VPN 서비스) 또는 WireGuard(와이어가드, 오픈소스 VPN)를 사용하는 거예요. 포트 포워딩으로 직접 노출하는 건 보안상 권장하지 않습니다.

    Q. 처음 시작할 때 예산은 얼마나 잡아야 하나요?

    N100 미니PC 본체, RAM, NVMe SSD를 합쳐서 구성할 수 있어요. 중고 시장도 잘 활용하면 더 절약할 수 있고요. 정확한 가격은 시기와 판매처에 따라 다르니 구매 시점에 직접 비교해보시는 게 좋습니다.


    마무리 — 저전력 홈서버, 이제 시작해보세요

    N100 N305 미니PC 홈서버 구축 단계별 로드맵 요약 인포그래픽

    ▲ N100/N305 미니PC 홈서버 구축 로드맵 요약 — OS 설치부터 서비스 배포까지의 단계를 한눈에 정리한 인포그래픽입니다.

    저전력 미니 서버는 홈랩 입문자에게도, 기존 서버 전기세에 지친 분들에게도 정말 매력적인 선택지입니다. N100/N305 기반 미니PC는 낮은 전력 소비, 조용한 운영, 합리적인 가격이라는 세 가지 장점을 동시에 갖추고 있거든요.

    오늘 다룬 내용을 정리하면:

    • ✅ N100(4코어, 6W)은 입문용, N305(8코어, 15W)는 더 무거운 워크로드에 적합
    • ✅ Proxmox VE로 가상화 기반을 구축하면 확장성이 뛰어남
    • ✅ Docker + Traefik 조합으로 다양한 셀프호스팅 서비스를 깔끔하게 관리
    • ✅ 절전 모드, 시간 동기화, 디스크 정리는 초기에 꼭 챙겨야 할 포인트
    • ✅ Intel Quick Sync 활용으로 미디어 트랜스코딩 효율 극대화 가능

    다음 글에서는 이 환경 위에 K3s 경량 쿠버네티스 클러스터를 구축하는 방법을 다룰 예정입니다. 미니PC 여러 대를 묶어서 클러스터를 만드는 건데, 생각보다 훨씬 재미있는 경험이거든요. 기대해주세요!

    궁금한 점이나 다른 삽질 경험이 있으시면 댓글로 남겨주세요. 같이 해결해봐요 🎉

  • [HomeLabs] N100/N305 미니PC 저전력 홈서버 구축 완벽 가이드

    [HomeLabs] N100/N305 미니PC 저전력 홈서버 구축 완벽 가이드

    전기세 걱정 없이 24시간 서버를 돌릴 수 있다면?

    홈서버를 처음 구성할 때 저도 제일 먼저 찾아본 게 전기요금 계산기였어요. 구형 데스크탑이나 워크스테이션 서버를 집에서 24시간 돌리면 한 달에 전기세가 얼마나 나오는지 계산해보고 바로 포기했던 기억이 납니다. 100W짜리 PC를 연속 가동하면 한 달에 약 72kWh, 요금으로 따지면 적지 않은 금액이거든요.

    그런데 N100 미니PC를 홈서버로 쓰기 시작하면서 그 걱정이 싹 사라졌어요. 인텔 N100, N305 같은 저전력 프로세서가 탑재된 미니PC는 실사용 시 전력 소비가 극도로 낮아서 홈랩(Home Lab) 구축에 딱 맞거든요. 오늘은 제가 직접 구성하고 운영 중인 N100/N305 미니PC 기반 저전력 홈서버 구축 방법을 처음부터 끝까지 공유해 드릴게요.

    이 글은 홈서버를 처음 시도하시는 분, 기존 서버의 전기세가 부담스러운 분, 조용하고 작은 서버를 원하시는 분 모두에게 도움이 될 거라 생각합니다.

    N100 미니PC 홈서버 전체 구성 아키텍처 다이어그램

    N100 미니PC를 중심으로 한 저전력 홈서버 구성 개요 — 공유기, NAS, 미니PC가 유기적으로 연결된 홈랩 아키텍처

    인텔 N100 / N305, 이게 대체 뭔가요?

    잠깐 프로세서 이야기를 짚고 넘어갈게요. 처음 접하시는 분들은 N100, N305가 생소하실 수 있거든요.

    인텔 Alder Lake-N 시리즈란?

    N100과 N305는 인텔의 Alder Lake-N 아키텍처 기반 저전력 프로세서예요. 원래 크롬북이나 초저가 노트북용으로 설계됐는데, 성능 대비 전력 효율이 워낙 뛰어나다 보니 미니PC 홈서버 시장에서 엄청난 인기를 끌고 있어요.

    항목 Intel N100 Intel N305
    코어 구성 4코어 (E코어) 8코어 (E코어)
    TDP (열설계전력) 6W 15W
    내장 그래픽 Intel UHD 24EU Intel UHD 32EU
    메모리 지원 DDR4/DDR5 LPDDR5 DDR4/DDR5 LPDDR5
    적합한 용도 단일 서비스, 가벼운 홈서버 다중 서비스, 컨테이너 다수 운영

    쉽게 말해서, N100은 가성비 끝판왕이고 N305는 멀티태스킹 여유가 필요할 때 선택하는 거라고 보시면 돼요. 저는 처음엔 N100으로 시작해서 지금은 N305 머신도 하나 추가로 굴리고 있어요.

    미니PC 선택 기준 — 이것만 보세요

    미니PC 시장에 모델이 워낙 많아서 처음엔 뭘 사야 할지 막막하실 거예요. 저도 처음에 한참 고민했거든요. 제가 실제로 중요하게 봤던 기준들을 정리해 드릴게요.

    ✅ 반드시 확인할 스펙

    • RAM 확장 가능 여부: 온보드(납땜) 방식이 아닌 SO-DIMM 슬롯이 있는 모델을 고르세요. 홈서버는 메모리가 생명이거든요
    • M.2 슬롯 개수: M.2 NVMe SSD 슬롯이 2개 이상이면 OS 드라이브와 데이터 드라이브를 분리할 수 있어요
    • 2.5GbE 이상 네트워크 포트: 요즘 나오는 미니PC 중에 2.5GbE 포트를 기본 제공하는 모델들이 많아요. 홈서버라면 최소 1GbE, 가능하면 2.5GbE를 추천드립니다
    • USB 포트 종류와 개수: USB 3.x 포트가 넉넉한지 확인하세요
    • BIOS에서 Wake-on-LAN(WOL) 지원 여부: 원격 부팅을 위해 필수예요
    • 팬 소음 수준: 거실이나 침실 근처에 둔다면 팬리스(fanless) 또는 초저소음 모델을 선택하세요

    💡 저전력 홈서버로 뭘 할 수 있나요?

    N100/N305 미니PC 홈서버로 실제로 운영 가능한 서비스들입니다. 제가 직접 돌리고 있는 것들 위주로요.

    • Docker(도커) 컨테이너 다수 운영: Portainer, Nginx Proxy Manager, Uptime Kuma 등
    • Proxmox VE(프록스목스): 가상화 플랫폼으로 여러 VM/LXC 컨테이너 운영
    • Home Assistant(홈 어시스턴트): 스마트홈 허브
    • Jellyfin(젤리핀): 미디어 서버 (하드웨어 가속 트랜스코딩 가능)
    • Pi-hole(파이홀): 광고 차단 DNS 서버
    • WireGuard(와이어가드): VPN 서버
    • Nextcloud(넥스트클라우드): 개인 클라우드 스토리지

    저전력 홈서버 구축 — 단계별 실전 가이드

    이제 본격적으로 구축 과정을 따라가 볼게요. 저는 OS로 Proxmox VE(프록스목스 VE)를 기반으로 설명드리겠습니다. Proxmox는 KVM 가상화와 LXC 컨테이너를 모두 지원하는 무료 오픈소스 하이퍼바이저(Hypervisor, 가상화 관리 플랫폼)라서 홈랩 구축에 최적이에요.

    1단계: 부팅 USB 만들기

    Proxmox 공식 사이트에서 ISO 이미지를 다운받고, Balena Etcher나 Rufus로 USB에 구워주세요.

    # Rufus 없이 Linux/macOS 환경에서 USB 굽기
    # /dev/sdX는 본인의 USB 장치로 변경
    sudo dd if=proxmox-ve_*.iso of=/dev/sdX bs=1M status=progress

    2단계: Proxmox 설치

    1. 미니PC에 부팅 USB를 꽂고 BIOS에서 USB 부팅 순서를 첫 번째로 설정
    2. Proxmox 설치 마법사 실행 — 디스크 선택, 호스트명, IP 주소 설정
    3. 고정 IP(Static IP)를 반드시 설정하세요. 서버는 IP가 바뀌면 안 돼요
    4. 설치 완료 후 https://[서버IP]:8006으로 웹 UI 접속

    ⚠️ 설치 후 첫 번째 할 일: 엔터프라이즈 저장소를 커뮤니티 저장소로 교체해야 해요. 그렇지 않으면 업데이트할 때 오류가 나거든요. 저도 처음에 이거 몰라서 한참 헤맸어요 ㅎㅎ

    # Proxmox 서버 SSH 접속 후 실행
    # 엔터프라이즈 저장소 비활성화
    sed -i 's/^deb/# deb/' /etc/apt/sources.list.d/pve-enterprise.list
    sed -i 's/^deb/# deb/' /etc/apt/sources.list.d/ceph.list
    
    # 커뮤니티(무료) 저장소 추가
    echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-community.list
    
    # 업데이트
    apt update && apt dist-upgrade -y

    3단계: Docker 컨테이너 환경 구성 (LXC 활용)

    Proxmox 위에 LXC(Linux Containers, 리눅스 컨테이너) 컨테이너를 만들고 그 안에 Docker를 설치하는 방식이 가장 효율적이에요. VM보다 오버헤드가 적거든요.

    Proxmox 웹 UI에서 CT(컨테이너) 생성 → Debian 또는 Ubuntu 템플릿 선택 → 생성 후 SSH 접속

    # LXC 컨테이너 내부에서 Docker 설치
    curl -fsSL https://get.docker.com | sh
    
    # Docker 서비스 활성화
    systemctl enable docker
    systemctl start docker
    
    # 현재 사용자를 docker 그룹에 추가
    usermod -aG docker $USER
    
    # 설치 확인
    docker --version
    Proxmox VE 웹 대시보드와 N100 미니PC 자원 사용률 화면

    Proxmox VE 웹 대시보드 — N100 미니PC에서 여러 LXC 컨테이너와 VM이 낮은 자원 사용률로 동작 중인 모습

    4단계: Docker Compose로 핵심 서비스 배포

    Docker Compose(도커 컴포즈)를 사용하면 여러 컨테이너를 한 번에 관리할 수 있어요. 제가 기본으로 올려두는 스택입니다.

    # /opt/homelab/docker-compose.yml
    version: '3.8'
    
    services:
      # Portainer - 도커 컨테이너 웹 관리 UI
      portainer:
        image: portainer/portainer-ce:latest
        container_name: portainer
        restart: unless-stopped
        ports:
          - "9000:9000"
          - "9443:9443"
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - portainer_data:/data
    
      # Nginx Proxy Manager - 리버스 프록시 + SSL 자동화
      npm:
        image: jc21/nginx-proxy-manager:latest
        container_name: nginx-proxy-manager
        restart: unless-stopped
        ports:
          - "80:80"
          - "443:443"
          - "81:81"  # 관리 UI
        volumes:
          - npm_data:/data
          - npm_letsencrypt:/etc/letsencrypt
    
      # Uptime Kuma - 서비스 모니터링
      uptime-kuma:
        image: louislam/uptime-kuma:latest
        container_name: uptime-kuma
        restart: unless-stopped
        ports:
          - "3001:3001"
        volumes:
          - uptime_kuma_data:/app/data
    
    volumes:
      portainer_data:
      npm_data:
      npm_letsencrypt:
      uptime_kuma_data:
    # 스택 실행
    cd /opt/homelab
    docker compose up -d
    
    # 실행 중인 컨테이너 확인
    docker compose ps

    5단계: 전력 최적화 설정

    N100/N305는 기본적으로 저전력이지만, 소프트웨어 설정으로 더 아낄 수 있어요.

    # CPU 거버너(Governor) 확인
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
    # powersave 모드로 설정 (홈서버 용도에 적합)
    echo powersave | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    
    # 부팅 시 자동 적용 (cpufrequtils 패키지 필요)
    apt install cpufrequtils -y
    echo 'GOVERNOR="powersave"' > /etc/default/cpufrequtils

    ⚠️ 삽질 모음 — 제가 겪은 트러블슈팅

    구축하면서 제가 실제로 만났던 문제들이에요. 미리 알면 시간을 많이 아낄 수 있어요.

    문제 1: LXC 컨테이너에서 Docker가 안 뜰 때

    LXC 컨테이너 기본 설정에서는 Docker가 제대로 작동하지 않거든요. Proxmox 호스트에서 컨테이너 설정 파일을 수정해야 해요.

    # Proxmox 호스트에서 실행 (CT ID가 100인 경우)
    # /etc/pve/lxc/100.conf 파일에 다음 줄 추가
    nano /etc/pve/lxc/100.conf
    
    # 아래 내용 추가
    lxc.apparmor.profile: unconfined
    lxc.cgroup2.devices.allow: a
    lxc.cap.drop:

    문제 2: N100 미니PC에서 HDMI 출력이 없는데 부팅 안 될 때

    일부 미니PC는 모니터가 연결되지 않으면 부팅 과정에서 멈추는 경우가 있어요. BIOS에서 “No Monitor Boot” 또는 “Fast Boot” 관련 옵션을 활성화하거나, 저렴한 HDMI 더미 플러그(Dummy Plug)를 꽂아두면 해결돼요.

    문제 3: 재부팅 후 컨테이너가 자동 시작 안 될 때

    Proxmox 웹 UI에서 각 CT/VM의 옵션(Options) 탭 → Start at boot를 활성화해야 해요. 기본값이 꺼져 있거든요. 이거 몰라서 재부팅 후 서비스 다 죽어있던 경험 한 번쯤은 다들 하시더라고요.

    문제 4: 발열이 걱정될 때

    N100은 TDP가 6W라서 발열이 거의 없지만, 장시간 부하를 주면 스로틀링(Throttling, 과열 방지를 위한 성능 저하)이 걸릴 수 있어요. 온도 모니터링을 꼭 해두세요.

    # 온도 모니터링 도구 설치
    apt install lm-sensors -y
    sensors-detect --auto
    watch -n 2 sensors

    구축 결과 확인 — 이렇게 쓰고 있습니다

    드디어 다 올라갔을 때 그 뿌듯함은 진짜 말로 못 해요 🎉 제가 현재 N100 기반 홈서버에서 운영 중인 서비스 목록이에요.

    Uptime Kuma 모니터링 대시보드 — N100 미니PC 홈서버에서 운영 중인 서비스들의 가동 상태와 응답 시간 현황

    • ✅ Portainer — 도커 컨테이너 전체 관리
    • ✅ Nginx Proxy Manager — 리버스 프록시 및 HTTPS 자동화
    • ✅ Home Assistant — 스마트홈 기기 통합 제어
    • ✅ Jellyfin — 가족 미디어 서버 (Intel Quick Sync 하드웨어 가속 활용)
    • ✅ Pi-hole — 가정 내 광고 차단 DNS
    • ✅ WireGuard — 외부 접속용 VPN
    • ✅ Uptime Kuma — 전체 서비스 헬스 체크
    • ✅ Vaultwarden — 개인 비밀번호 관리 서버 (Bitwarden 호환)

    이 모든 서비스가 N100 미니PC 하나에서 동작하는데, CPU 사용률은 평상시 기준으로 크게 높지 않아요. Jellyfin에서 영상 트랜스코딩이 걸릴 때 순간적으로 올라가긴 하는데, 이것도 Intel 내장 GPU의 Quick Sync(퀵 싱크, 하드웨어 가속 인코딩/디코딩) 덕분에 CPU 부하가 생각보다 낮거든요.

    Jellyfin 하드웨어 가속 설정

    # Proxmox 호스트에서 iGPU 패스스루 준비
    # LXC 컨테이너 설정 파일에 추가 (/etc/pve/lxc/100.conf)
    lxc.cgroup2.devices.allow: c 226:0 rwm
    lxc.cgroup2.devices.allow: c 226:128 rwm
    lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
    # Jellyfin Docker Compose 설정에 device 추가
      jellyfin:
        image: jellyfin/jellyfin:latest
        container_name: jellyfin
        restart: unless-stopped
        devices:
          - /dev/dri/renderD128:/dev/dri/renderD128
        ports:
          - "8096:8096"
        volumes:
          - jellyfin_config:/config
          - /mnt/media:/media:ro

    N100 vs N305 — 어떤 걸 선택해야 할까?

    N100과 N305 미니PC 비교 인포그래픽과 홈서버 선택 가이드

    N100과 N305 미니PC 저전력 홈서버 비교 — 용도별 선택 기준과 전력 효율 차이를 한눈에 정리한 가이드

    구분 N100 선택 N305 선택
    운영 서비스 수 5개 이하 10개 이상
    가상화 VM 수 1~2개 3개 이상
    컴파일/빌드 작업 가끔 가벼운 작업 자주 필요할 때
    미디어 트랜스코딩 1080p 단일 스트림 4K 또는 다중 스트림
    전력 소비 더 낮음 (TDP 6W) 상대적으로 높음 (TDP 15W)
    예산 절약 우선 성능 여유 우선

    처음 홈서버를 시작하신다면 솔직히 N100으로 시작하는 걸 추천드려요. 나중에 부족하다 싶으면 N305로 넘어가거나, N100 머신을 보조 서버로 유지하면서 N305를 메인으로 추가하는 식으로 확장하면 돼요. 저도 그렇게 했거든요.

    자주 묻는 질문 (FAQ)

    Q. 미니PC 홈서버에 별도 NAS를 연결할 수 있나요?

    네, USB 3.x 외장 HDD나 NAS(Network Attached Storage, 네트워크 연결 저장장치)를 연결해서 스토리지를 확장할 수 있어요. 미니PC 내부 M.2 슬롯이 2개라면 OS용 SSD + 데이터용 SSD로 분리 구성하는 것도 좋습니다.

    Q. 외부에서 집 서버에 접속하려면 어떻게 하나요?

    WireGuard나 Tailscale(테일스케일, 메시 VPN 서비스) 같은 VPN을 설치하면 외부에서도 안전하게 접속할 수 있어요. 포트포워딩 없이 쓸 수 있는 Tailscale을 특히 추천드려요. 관련 내용은 다음 글에서 자세히 다룰 예정입니다.

    Q. 정전이 나면 데이터가 날아가지 않나요?

    중요한 포인트네요! UPS(Uninterruptible Power Supply, 무정전 전원장치)를 연결하시는 게 좋아요. 저는 소형 UPS를 연결해서 정전 시 자동 셧다운 스크립트가 돌아가도록 설정해 뒀거든요. 미니PC는 전력 소비가 낮아서 소형 UPS로도 꽤 오래 버텨요.

    Q. 소음은 어느 정도인가요?

    대부분의 N100/N305 미니PC는 팬이 있긴 하지만 부하가 낮을 때는 팬이 거의 안 돌거나 아주 조용해요. 거실에 두고 TV 볼 때 신경 쓰이는 수준은 아니에요. 팬리스 모델도 있으니 소음이 아예 걱정되신다면 그쪽을 찾아보세요.

    마무리 — 홈랩의 시작은 작게, 꿈은 크게

    13년 동안 인프라 엔지니어로 일하면서 느낀 건, 기술은 직접 해봐야 는다는 거예요. 회사에서 다루는 엔터프라이즈 장비와 홈랩의 미니PC는 규모가 다르지만, 개념과 원리는 똑같거든요. Proxmox, Docker, 네트워크 설정, VPN 구성 — 이 모든 게 홈서버에서 손으로 직접 만지다 보면 자연스럽게 체득이 돼요.

    N100/N305 미니PC로 저전력 홈서버를 구축하는 건 진입장벽이 낮고, 운영 비용도 부담이 없어서 홈랩 시작점으로 정말 딱이에요. 처음엔 Docker 하나 올리는 것도 버벅거리지만, 한 달만 지나면 새로운 서비스 올리는 게 재밌어지거든요.

    이 글에서 다루지 못한 Tailscale VPN 설정, Nginx Proxy Manager로 HTTPS 도메인 연결하기, Home Assistant 자동화 구성 같은 주제들은 다음 글들에서 이어서 다룰게요. 궁금한 점이나 삽질하신 부분 있으면 댓글로 남겨주세요. 같이 고민해 드릴 수 있어서 좋거든요 😊