13년차의 서버실

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

[태그:] 벤치마크

  • [HomeLabs] Minisforum 미니PC 홈서버 전력 효율: N100 vs N300 실측 비교

    [HomeLabs] Minisforum 미니PC 홈서버 전력 효율: N100 vs N300 실측 비교

    [HomeLabs] Minisforum 미니PC 홈서버 전력 효율 벤치마크: N100 vs N300 실측 비교

    안녕하세요, 13년차 서버실 지킴이입니다. 요즘 홈랩(Homelab) 운영하시는 분들 정말 많으시죠? 저도 퇴근하고 집에 오면 제 작은 서버실에서 이런저런 실험을 하면서 시간을 보내곤 합니다. 근데 홈랩을 돌리다 보면 항상 신경 쓰이는 게 하나 있어요. 바로 전기 요금입니다! 😅

    24시간 365일 쉬지 않고 돌아가는 서버들이니만큼, 전력 효율은 정말 중요한 고려사항이거든요. 그래서 오늘은 제가 직접 경험한 Minisforum 미니PC 두 종류, 즉 Intel N100과 Intel N300 프로세서를 탑재한 모델들의 실제 전력 소모량을 비교 분석한 내용을 공유해 보려고 합니다. 과연 어떤 칩셋이 저의 소중한 전기 요금을 더 아껴줄 수 있을까요? 제가 직접 삽질해가며 얻은 경험을 바탕으로 솔직하게 말씀드릴게요! 궁금하시다면 계속 읽어주세요! 💡

    N100과 N300 미니PC 홈랩 셋업 아키텍처 다이어그램

    홈랩 셋업 개요: Minisforum N100 및 N300 미니PC, 스마트 플러그, 그리고 전력 측정기가 연결된 모습입니다.

    1. N100 vs N300, 대체 뭐가 다른 걸까요? 🤔

    본격적인 벤치마크에 앞서, 우리가 비교할 두 주역인 Intel N100과 Intel N300 프로세서에 대해 간략히 짚고 넘어갈게요. 이 두 칩셋은 인텔의 ‘Alder Lake-N’ 시리즈에 속하는 저전력 프로세서입니다. 주로 보급형 노트북이나 미니PC, 엣지 디바이스 등에 사용되죠.

    • Intel N100: 4코어 4스레드 (E-코어), 최대 터보 주파수 3.4GHz, 기본 TDP(Thermal Design Power, 열 설계 전력) 6W
    • Intel N300: 8코어 8스레드 (E-코어), 최대 터보 주파수 3.8GHz, 기본 TDP 15W

    쉽게 말해, N300이 N100보다 코어 수가 두 배 많고, 클럭 속도도 조금 더 높아서 성능이 더 좋아요. 그만큼 TDP도 높고요. 하지만 TDP는 어디까지나 ‘설계 전력’이지, 실제 전력 소모량과는 차이가 있을 수 있거든요. 그래서 제가 직접 실측해본 겁니다. 과연 TDP만큼 실제 전력도 차이가 날까요? 저도 처음엔 궁금증이 많았었습니다.

    2. 홈랩 벤치마크 환경 구축과 삽질 경험 🛠️

    제가 이번 벤치마크를 위해 준비한 환경은 다음과 같습니다.

    • N100 탑재 미니PC: 16GB RAM, 500GB NVMe SSD
    • N300 탑재 미니PC: 16GB RAM, 500GB NVMe SSD
    • 운영체제: Ubuntu Server 22.04 LTS (동일 버전)
    • 전력 측정 장비: TP-Link Tapo P110 Smart Plug (전력 모니터링 기능 탑재)
    • 측정 도구: s-tui (CPU 온도 및 사용량), htop (프로세스 모니터링)

    측정 시나리오는 크게 세 가지로 잡았습니다.

    1. 유휴 상태 (Idle State): 부팅 후 아무 작업 없이 1시간 동안의 평균 전력
    2. 경부하 상태 (Light Load): Docker 컨테이너 5개 구동 (Nginx, Portainer, AdGuard Home, Home Assistant 등)
    3. 중부하 상태 (Medium Load): FFmpeg를 이용한 1080p 영상 트랜스코딩 작업 (약 10분간)

    처음엔 그냥 스마트 플러그 꽂아놓고 앱으로만 확인했는데, 뭔가 신뢰가 안 가더라고요. 😅 그래서 s-tui 같은 터미널 기반 도구로 CPU 사용률과 온도를 실시간으로 확인하면서 전력 수치를 기록했어요. 특히 트랜스코딩 같은 중부하 작업은 순간적인 전력 피크가 있어서, 여러 번 반복해서 평균값을 내는 삽질을 좀 했습니다. 정확한 데이터를 얻으려면 이 정도 수고는 감수해야죠! ㅎㅎ

    Minisforum 미니PC 전력 측정 환경과 터미널 모니터링 화면

    전력 측정 환경: 스마트 플러그에 연결된 미니PC와 모니터에 표시된 실시간 CPU 모니터링 화면입니다.

    3. 실측 데이터로 본 전력 소모량 비교 📊

    자, 이제 가장 궁금해하실 결과입니다! 제가 수 시간 동안 측정하고 평균을 낸 실제 전력 소모량 데이터는 다음과 같아요.

    시나리오 N100 미니PC (평균 전력) N300 미니PC (평균 전력) 비고
    유휴 상태 (Idle) 약 5.5W 약 8.2W OS 부팅 후 아무 작업 없을 때
    경부하 상태 (Light Load) 약 8.0W 약 12.5W Docker 컨테이너 여러 개 구동 시
    중부하 상태 (Medium Load) 약 20.0W 약 35.0W 1080p 영상 트랜스코딩 시

    결과를 보니 N100이 모든 시나리오에서 N300보다 현저히 낮은 전력을 소모하더라고요. 특히 중부하 시에는 약 15W 정도의 차이를 보이는데, 24시간 돌린다고 가정하면 무시할 수 없는 수치예요. 제가 예상했던 TDP 차이만큼 실제 전력 소모량도 차이가 나더라고요. 😮

    여기서 중요한 포인트는, N300이 N100보다 약 60~70% 정도 더 많은 전력을 소모하지만, 성능은 약 80~100% 정도 더 좋다는 벤치마크 결과들이 많다는 점입니다. 즉, 전성비(전력 대비 성능비)를 따지면 N300도 나쁘지 않다는 거죠. 하지만 절대적인 저전력 홈서버를 원한다면 N100이 압도적으로 유리해요.

    4. 홈서버 선택, N100 vs N300 현명하게 고르기 💡

    그렇다면 어떤 미니PC를 선택해야 할까요? 이건 여러분의 홈랩 사용 목적에 따라 달라져요.

    • N100 미니PC 추천 케이스:

      • 오직 저전력이 최우선 목표인 분
      • 네트워크 스토리지(NAS), 도커 컨테이너 몇 개, VPN 서버 등 경량 워크로드만 돌릴 예정인 분
      • 전기 요금에 매우 민감하신 분 (월 몇천 원이라도 아끼고 싶다면!)
      • 예시: 오직 파일 서버, AdGuard Home, Home Assistant만 돌리는 용도
    • N300 미니PC 추천 케이스:

      • 저전력이 중요하지만, 성능도 어느 정도 포기할 수 없는 분
      • Plex 미디어 서버로 실시간 트랜스코딩이 필요한 분
      • 가상 머신(Virtual Machine)을 여러 개 돌리거나, 좀 더 무거운 서비스를 운영할 예정인 분
      • 예시: Plex, 여러 개의 가상 서버, 개발 환경 서버

    저 같은 경우는 대부분의 홈랩 서비스가 경부하 위주라서 N100으로도 충분히 만족하고 있어요. 물론 가끔 무거운 작업을 할 때는 N300이 아쉽기도 하지만, 24시간 돌아가는 서버의 전기 요금을 생각하면 N100의 매력을 뿌리치기 어렵더라고요. 이전에 사용하던 구형 서버의 전력 소모량에 비하면 정말 혁신적이라고 생각합니다. 🎉

    N100과 N300 프로세서 전력 소모 및 성능 비교 인포그래픽

    N100과 N300의 주요 특성(코어 수, TDP, 전력 소모, 추천 용도)을 한눈에 볼 수 있는 비교 인포그래픽입니다.

    5. 마무리하며: 저전력 홈랩의 미래 🚀

    오늘 Minisforum 미니PC를 활용한 N100과 N300 프로세서의 실제 전력 소모량 비교 벤치마크를 해봤는데요, 어떠셨나요? 저처럼 전기 요금 때문에 고민이 많으셨던 분들에게 조금이나마 도움이 되었기를 바랍니다.

    제가 이번 실험을 통해 다시 한번 느낀 것은, 홈랩 구축 시 전력 효율이 곧 장기적인 운영 비용과 직결된다는 점이에요. 처음 구매 비용만 보고 섣불리 결정하기보다는, 자신의 사용 목적에 맞는 프로세서를 선택하는 것이 정말 중요하더라고요. 혹시 이런 경험 있으신가요? 댓글로 여러분의 홈랩 운영 경험도 공유해주세요!

    다음번에는 이 Minisforum 미니PC에 Proxmox VE를 설치해서 가상화 환경을 구축하는 방법에 대해 다뤄볼까 합니다. 저전력으로 여러 가상 머신을 돌리는 꿀팁이 궁금하시다면 다음 글도 기대해주세요! 🚀

    N100 미니PC가 설치된 저전력 홈랩 랙의 안정적인 작동 모습

    저전력 N100 미니PC가 홈랩 랙에 설치되어 안정적으로 작동하는 모습입니다.

  • [AI] MLX와 GGUF로 맥북에서 LLM 로컬 실행하기: Apple Silicon 실측 벤치마크

    [AI] MLX와 GGUF로 맥북에서 LLM 로컬 실행하기: Apple Silicon 실측 벤치마크

    GGUF 모델, MLX 프레임워크로 맥북에서 LLM 돌리기: 실측 벤치마크

    안녕하세요, 13년차 서버실의 기록을 이어가고 있는 엔지니어입니다. 요즘 집에서 홈랩(Home Lab)을 운영하면서 개인 서버에 이것저것 구축하는 재미에 푹 빠져있는데요. 특히 거실 한쪽을 차지한 맥 스튜디오(Mac Studio)에 대규모 언어 모델(Large Language Model, LLM)을 직접 돌려보는 것에 도전하고 있습니다. 처음엔 ‘과연 맥북에서도 LLM이 돌아갈까?’ 싶었는데, MLX(MLX Framework)라는 프레임워크를 알게 되면서 세상이 달라졌거든요. 오늘은 이 MLX와 GGUF 모델을 활용해서 제 맥북에서 LLM을 직접 돌려보고, 그 성능을 측정한 벤치마크 결과를 여러분과 공유하려 합니다. 혹시 여러분도 맥북에서 LLM 로컬 실행에 관심 있으셨다면, 이 글이 좋은 가이드가 될 거예요!

    맥북에서 MLX와 GGUF 모델을 사용한 LLM 로컬 실행 아키텍처 개요

    MLX 프레임워크를 사용한 LLM 로컬 실행 아키텍처 개요

    MLX와 GGUF, 왜 맥북에서 온디바이스 AI를 돌리는가?

    최근 LLM 기술이 정말 빠르게 발전하고 있죠. ChatGPT 같은 클라우드 기반 서비스도 훌륭하지만, 때로는 온디바이스 AI(On-device AI), 즉 내 기기에서 직접 LLM을 구동하고 싶을 때가 있습니다. 개인정보 보호 문제도 있고, 인터넷 연결 없이도 사용하고 싶을 때, 혹은 단순한 기술적 호기심 때문일 수도 있고요. 특히 Apple Silicon(M1, M2, M3 칩 등)이 탑재된 맥북은 GPU 성능이 뛰어나서 LLM 로컬 실행에 대한 기대감이 높았습니다. 하지만 macOS 환경에서 LLM을 효율적으로 돌릴 수 있는 프레임워크가 마땅치 않았죠. 바로 이때 MLX가 등장했습니다. MLX는 Apple Silicon 최적화된 파이썬 기반 머신러닝 프레임워크거든요. 그리고 GGUF는 LLM 모델을 효율적으로 저장하고 불러오는 데 사용되는 파일 형식인데, MLX가 GGUF 포맷을 지원하면서 맥북에서의 LLM 실행이 훨씬 수월해졌습니다. 쉽게 말해, MLX는 맥북용 LLM 엔진이고, GGUF는 그 엔진이 읽을 수 있는 LLM 모델 파일이라고 생각하시면 됩니다.

    MLX 프레임워크란 무엇인가?

    MLX는 Apple에서 개발한 머신러닝 라이브러리로, Apple Silicon 칩의 성능을 최대한 끌어내기 위해 설계되었습니다. 파이썬 친화적인 API를 제공해서 기존 파이썬 개발자들이 쉽게 접근할 수 있다는 게 큰 장점이에요. 가장 큰 특징은 자동 미분(Automatic Differentiation) 기능을 지원하며, GPU 가속을 기본으로 활용한다는 점입니다. 즉, 복잡한 연산이 필요한 LLM 모델을 맥북의 GPU를 사용해서 훨씬 빠르게 처리할 수 있게 해주는 거죠. 저도 처음엔 ‘이게 진짜 돌아가겠어?’ 싶었는데, 실제로 사용해보니 정말 놀라웠습니다. 메모리 관리도 효율적이라서, 제 맥북의 통합 메모리(Unified Memory)를 잘 활용하는 모습이 인상 깊었거든요.

    GGUF 모델 포맷의 이해

    GGUF(GPT-Generated Unified Format)는 LLM 모델을 저장하기 위한 파일 형식입니다. 이전에는 GGML이라는 포맷도 있었는데, GGUF는 이를 개선해서 호환성과 확장성을 높였어요. GGUF 포맷은 모델의 가중치(weights)뿐만 아니라, 모델의 구조, 설정값, 토크나이저(tokenizer) 정보까지 하나의 파일에 담을 수 있습니다. 덕분에 LLM 모델 파일을 배포하고 사용하는 것이 훨씬 간편해졌죠. 또한, GGUF는 양자화(Quantization)를 지원하는데, 이는 모델의 크기를 줄이고 추론 속도를 높이는 기술입니다. 예를 들어, 16비트 부동소수점(FP16)으로 저장된 모델을 4비트 정수(INT4)로 양자화하면 모델 파일 크기가 1/4로 줄어들고, 메모리 사용량도 크게 감소합니다. MLX는 이러한 GGUF 포맷의 양자화된 모델들을 정말 잘 지원합니다. 덕분에 제 맥북의 제한된 메모리에서도 큰 LLM 모델을 로드할 수 있었던 것이죠.

    MLX와 GGUF를 이용한 LLM 로컬 실행 코드 예시

    MLX와 GGUF를 이용한 LLM 로컬 실행 코드 예시

    맥북에서 GGUF 모델과 MLX로 LLM 실행하기: 실전 가이드

    자, 이제 이론적인 설명은 충분했고, 실제로 어떻게 하는지 보여드릴 차례입니다. 제가 사용한 환경은 다음과 같습니다.

    • 맥북 모델: M2 Pro (16GB 통합 메모리)
    • macOS 버전: 최신 버전
    • Python 버전: 3.9 이상
    • MLX 설치: pip install mlx-lm
    • GGUF 모델: Hugging Face 등에서 공개된 GGUF 포맷 모델 (예: Llama 2, Mistral 등)

    1단계: MLX 설치

    가장 먼저 MLX를 설치해야 합니다. 터미널을 열고 다음 명령어를 실행해주세요.

    pip install mlx-lm
    

    정말 간단하죠? MLX는 Apple Silicon에 최적화되어 있어서 설치도 빠릅니다.

    2단계: GGUF 모델 다운로드

    다음으로 실행하고 싶은 LLM 모델을 GGUF 포맷으로 다운로드해야 합니다. Hugging Face Hub에는 정말 많은 GGUF 모델들이 공개되어 있어요. 예를 들어, Mistral 7B 모델의 GGUF 버전을 다운로드하려면 Hugging Face에서 “mistral gguf”으로 검색하면 됩니다. 원하는 모델의 크기(7B, 13B 등)와 양자화 수준(Q4_K_M, Q5_K_M 등)을 고려해서 선택하세요. 저는 제 16GB 메모리에 맞는 Q4_K_M 버전을 선택했습니다.

    모델 파일을 다운로드 받은 후, 적당한 경로에 저장해둡니다. 예를 들어 <code>~/models/ 폴더에 저장했다고 가정하겠습니다.

    3단계: MLX로 GGUF 모델 로드 및 실행

    이제 파이썬 스크립트를 작성해서 MLX로 모델을 불러오고 실행해볼 차례입니다. 아래는 간단한 예제 코드입니다.

    from mlx_lm.models import load
    from mlx_lm.utils import generate, load_config
    
    # 모델 경로 설정 (다운로드 받은 GGUF 파일의 경로)
    model_path = "mistral-7b-instruct-v0.2-GGUF"
    
    # GGUF 모델 로드
    model, tokenizer = load(model_path)
    
    # 프롬프트 설정
    prompt = """맥북에서 LLM을 로컬로 실행하는 방법에 대해 설명해줘."""
    
    # 텍스트 생성 (추론)
    print("Generating response...")
    response = generate(
        model, 
        tokenizer, 
        prompt=prompt,
        max_tokens=200,
        temp=0.7,
        top_p=0.9,
        verbose=True
    )
    
    print("\n--- Generated Response ---")
    print(response)
    print("------------------------")
    

    이 코드를 실행하면 다운로드 받은 GGUF 모델을 로드하고, 입력한 프롬프트에 대한 응답을 생성합니다. MLX는 자동으로 Apple Silicon의 GPU를 활용해서 연산을 가속하거든요. 처음 이 코드를 실행하고 결과를 봤을 때, ‘와, 진짜 되는구나!’ 싶어서 정말 신났습니다.

    ⚠️ 주의사항 및 삽질 경험

    여기까지 잘 따라오셨다면 큰 문제는 없겠지만, 저도 처음엔 몇 가지 시행착오를 겪었습니다. 몇 가지 주의사항과 제 삽질 경험을 공유해 드릴게요.

    • 메모리 부족 문제: 제 맥북은 16GB 메모리인데, 7B 모델의 Q4_K_M 버전은 무리 없이 돌아갔습니다. 하지만 13B 모델이나 더 높은 양자화 버전(Q5, Q8)은 메모리 부족으로 로딩이 안 되거나 매우 느려질 수 있어요. 이럴 때는 더 낮은 양자화 버전(Q3, Q2)을 사용하거나, 모델 크기를 줄여야 합니다.
    • MLX 버전 호환성: MLX는 계속 발전하고 있기 때문에, 특정 버전에서는 API가 변경될 수 있습니다. 만약 코드가 작동하지 않는다면, MLX 라이브러리를 최신 버전으로 업데이트해보세요. pip install --upgrade mlx-lm
    • GGUF 모델 종류: 모든 GGUF 모델이 MLX와 완벽하게 호환되는 것은 아닙니다. 특히 Llama, Mistral 계열은 잘 작동하지만, 아주 최신이거나 특이한 구조의 모델은 문제가 있을 수 있어요. Hugging Face 모델 페이지의 설명을 잘 읽어보고, 다른 사용자들이 MLX에서 잘 사용했는지 후기를 찾아보는 것이 좋습니다.
    • GPU 활용 확인: 코드를 실행할 때, Activity Monitor를 열어 GPU 사용률을 확인해보세요. MLX가 GPU를 제대로 활용하고 있다면, GPU 사용률이 높게 나타날 거예요. 만약 CPU만 사용되고 있다면, MLX 설치나 코드에 문제가 있을 수 있습니다.

    이런 문제들 때문에 처음엔 몇 번이나 다시 설치하고 코드를 수정해야 했지만, 결국 성공했을 때의 희열은 정말 컸습니다. 여러분도 이런 과정을 통해 더 깊이 이해하게 될 거예요!

    MLX와 GGUF를 사용한 LLM 로컬 실행 결과 및 성능 지표

    MLX와 GGUF를 사용한 LLM 로컬 실행 결과 및 성능 지표

    실측 벤치마크 결과: 성능은 어느 정도일까?

    가장 궁금하실 부분일 텐데요, 제 맥북 M2 Pro (16GB)에서 Mistral 7B Instruct v0.2 (Q4_K_M) 모델을 MLX로 실행했을 때의 성능입니다. 정확한 수치는 실행 환경과 설정에 따라 달라질 수 있지만, 대략적인 체감 성능은 이렇습니다.

    테스트 시나리오: 간단한 질문-답변 프롬프트, 200 토큰 생성

    결과:

    • 생성 속도 (Tokens/Second): 평균 15~25 tokens/sec 사이가 나왔습니다.
    • GPU 활용률: 약 70~90% 수준으로 꾸준히 사용되었습니다.
    • 메모리 사용량: 모델 로딩 시 약 6~7GB, 추론 시에는 8~10GB 수준으로 통합 메모리를 사용했습니다.

    이 정도 속도면 일상적인 질문이나 간단한 텍스트 생성에는 충분히 활용 가능한 수준이라고 봅니다. 물론 ChatGPT 같은 최신 클라우드 서비스의 응답 속도에는 미치지 못하지만, 로컬에서 이 정도 성능을 보여준다는 것 자체가 정말 대단하다고 느껴집니다. 특히 인터넷 연결 없이, 개인정보 유출 걱정 없이 LLM을 사용할 수 있다는 점은 정말 큰 매력입니다. Apple Silicon의 성능을 제대로 활용하는 MLX 덕분에 이런 경험이 가능해졌네요.

    MLX vs llama.cpp 등 다른 로컬 LLM 실행 방식 성능 비교 (개략적)

    MLX vs llama.cpp 등 다른 로컬 LLM 실행 방식 성능 비교 (개략적)

    마무리하며: 맥북에서의 LLM 온디바이스 AI 실행, 충분히 가능합니다!

    오늘은 13년차 인프라 엔지니어의 시선으로, MLX 프레임워크와 GGUF 모델을 활용하여 맥북에서 LLM을 로컬 실행하는 방법과 그 성능을 실측 벤치마크로 공유해드렸습니다. 처음엔 ‘맥북으로 LLM이라니…’ 싶었지만, MLX 덕분에 Apple Silicon의 강력한 GPU 성능을 활용하여 정말 놀라운 경험을 할 수 있었습니다. 15~25 tokens/sec 정도의 속도로, 16GB 메모리 환경에서도 7B 모델을 충분히 돌려볼 수 있다는 것은 정말 고무적이거든요.

    물론 아직은 클라우드 기반 LLM의 속도나 최신 모델 지원 면에서는 부족한 점이 있을 수 있습니다. 하지만 개인정보 보호, 인터넷 연결 없이 사용 가능, 비용 절감, 그리고 무엇보다 기술 자체에 대한 탐구심을 충족시켜준다는 점에서 맥북에서의 LLM 로컬 실행은 충분히 가치 있는 도전이라고 생각합니다. 여러분도 이 글을 참고하셔서 여러분의 맥북에서 직접 온디바이스 AI를 경험해보시길 바랍니다!

    다음 글에서는 MLX의 더 advanced한 기능이나, 다른 GGUF 모델들을 더 다양하게 테스트해본 후기로 찾아오겠습니다. 혹시 궁금한 점이 있다면 언제든지 댓글 남겨주세요!

  • [HomeLabs] 저전력 미니 서버 3종 벤치마크: 홈랩 가상화 및 NAS 성능 실측 비교

    [HomeLabs] 저전력 미니 서버 3종 벤치마크: 홈랩 가상화 및 NAS 성능 실측 비교

    저전력 미니 서버 3종 벤치마크: 홈랩 가상화 및 NAS 성능 실측 비교

    안녕하세요, 13년차의 서버실 주인장입니다. 오늘은 많은 홈랩(Homelab) 동지들이 고민하는 주제, 바로 저전력 미니 서버(Low-power Mini Server)에 대한 이야기입니다. 개인적으로 여러 대의 서버를 돌리다 보니 전기요금 고지서 볼 때마다 한숨이 나오곤 했거든요. 그래서 언젠가부터 저전력 시스템에 대한 갈증이 컸습니다. 특히 최근 Intel N100 프로세서 기반의 미니PC들이 워낙 잘 나오면서, 이 작은 친구들이 과연 홈랩 환경에서 얼마나 쓸모 있을지 궁금해하는 분들이 많으시더라고요.

    저도 이 궁금증을 못 참고, 직접 몇 가지 유형의 미니 서버들을 들여와 제 홈랩 환경에서 가상화(Virtualization)와 NAS(Network Attached Storage) 용도로 실컷 굴려봤습니다. 이 글에서는 제가 경험한 세 가지 유형의 저전력 미니 서버들의 성능을 실측 데이터 기반으로 비교해보고, 어떤 용도에 적합할지 정말 솔직하게 알려드리려고 합니다. 삽질 경험도 아낌없이 공유할 테니, 여러분의 홈랩 구축에 조금이나마 도움이 되었으면 좋겠습니다!

    다양한 저전력 미니 서버들이 홈랩 환경에서 연결되어 있는 모습

    홈랩 환경에서 다양한 저전력 미니 서버들을 테스트하는 모습입니다. 작은 크기에도 불구하고 홈랩의 핵심 역할을 수행하죠.

    💡 저전력 미니 서버, 왜 중요할까요?

    홈랩을 운영하다 보면 가장 큰 고민 중 하나가 바로 전력 소비(Power Consumption)와 소음(Noise)입니다. 특히 24시간 켜두는 서버라면 이 두 가지 요소가 정말 중요하거든요. 예전에는 랙 서버나 고성능 워크스테이션을 활용하는 경우가 많았지만, 요즘은 소형 폼팩터(Small Form Factor, SFF)의 저전력 미니PC들이 가격 대비 성능(Price-to-Performance)이 너무나 훌륭하게 나오면서 홈랩의 대세로 자리 잡고 있습니다.

    쉽게 말해, 이 작은 친구들이 전기는 적게 먹으면서도 웬만한 가벼운 서버 작업이나 가상 머신(Virtual Machine, VM), 컨테이너(Container) 구동에는 전혀 문제가 없다는 거죠. 게다가 책상 위에 올려두어도 부담 없는 크기와 저소음은 덤이고요. 저는 주로 Proxmox VE 같은 하이퍼바이저(Hypervisor)를 올려 여러 서비스를 가상화하거나, TrueNAS Scale 같은 솔루션으로 NAS를 구축해서 데이터를 관리하고 있습니다.

    비교 대상 미니 서버 유형

    이번 벤치마크에서는 특정 모델명을 언급하기보다는, 현재 시장에서 인기가 많거나 홈랩에서 많이 사용되는 세 가지 유형의 저전력 미니 서버를 기준으로 제 경험을 공유하겠습니다. 실제 사용 가능한 제품들만 다루기 위한 저만의 원칙이거든요. 대신 각 유형의 특징과 성능을 명확히 알려드릴 테니까요.

    1. 최신 저전력 가성비 챔피언: Intel N100 기반 미니PC
      최근 홈랩 커뮤니티에서 가장 뜨거운 프로세서 중 하나죠. 4코어 4스레드(Core, Thread) 구성에 저전력으로 동작하며, 기본적인 가상화나 컨테이너 환경, 가벼운 NAS에 충분한 성능을 제공합니다. TDP(Thermal Design Power, 열 설계 전력)가 낮아 발열과 소음 면에서도 유리하더라고요.
    2. 기존 홈랩 강자: Intel J4125/J5005 등 구형 저전력 미니PC
      몇 년 전까지만 해도 홈랩 가성비의 대명사였습니다. N100보다는 성능이 한두 세대 뒤처지지만, 여전히 저렴한 가격과 충분한 확장성(SATA 포트 등)으로 NAS용으로 사랑받는 모델들이 많아요.
    3. 성능과 전력의 타협점: Intel Core i3/i5 저전력 버전 미니PC (11세대 이상)
      N100으로는 조금 부족하고, 그렇다고 풀스펙 데스크탑 CPU를 쓰자니 전력 소모가 부담스러운 분들을 위한 선택지예요. 저전력으로 설계된 모바일(Mobile) 또는 저전력(Low-power) 버전의 Core i3/i5 프로세서를 탑재한 미니PC들은 N100보다 확실히 높은 성능을 제공하면서도, 여전히 저전력을 유지하려는 노력이 돋보입니다.

    🛠️ 실전 벤치마크 환경 구축 및 테스트 과정

    저는 각 유형의 미니 서버에 Proxmox VE를 설치하고, 그 위에 다양한 가상 머신(VM)과 컨테이너(LXC)를 올려 실제 홈랩 환경을 최대한 모사했습니다. 테스트를 위해 Ubuntu Server VM을 여러 개 생성하고, 다음과 같은 방식으로 성능을 측정했어요.

    • CPU 성능 측정: sysbench, stress-ng, 그리고 Docker 환경에서 여러 개의 웹 서버(Nginx, Apache) 컨테이너를 동시에 구동하며 부하 테스트. 동영상 트랜스코딩(Transcoding) 시나리오도 돌려봤습니다.
    • 메모리(RAM) 성능 측정: memtester, 여러 VM에 메모리를 할당했을 때의 스와핑(Swapping) 발생 여부 및 응답 속도.
    • 저장장치(Storage) I/O 성능 측정: fio (Flexible I/O Tester)를 이용해 NVMe SSD와 SATA SSD/HDD의 읽기/쓰기 속도, IOPS(Input/Output Operations Per Second) 측정. NAS 용도로 사용할 경우 네트워크를 통한 파일 전송 속도도 iperf3로 측정했습니다.
    • 네트워크 성능 측정: iperf3를 이용해 1GbE/2.5GbE LAN 포트의 최대 전송 속도 및 안정성 테스트.
    • 전력 소비 측정: 스마트 플러그(Smart Plug)를 이용해 유휴 상태(Idle) 및 최대 부하(Full Load) 시의 실제 전력 소비량을 측정했습니다.

    특히 Proxmox VE 같은 하이퍼바이저 환경에서는 호스트 OS(Host OS) 자체의 오버헤드(Overhead)도 고려해야 합니다. 제가 직접 경험해보니, N100은 최대 4개의 가벼운 VM이나 10개 내외의 컨테이너를 돌리는 데는 무리가 없더라고요. 하지만 그 이상으로 부하가 걸리거나, 메모리 사용량이 많은 애플리케이션을 돌리면 확실히 버벅거리는 느낌이 들었습니다.

    # CPU 성능 테스트 (예시: sysbench 소수 계산)
    sudo apt update
    sudo apt install sysbench -y
    sysbench cpu --cpu-max-prime=20000 run
    
    # 디스크 I/O 테스트 (예시: fio 랜덤 쓰기)
    sudo apt install fio -y
    fio --name=randwrite --ioengine=libaio --iodepth=16 --rw=randwrite --bs=4k --direct=1 --size=1G --numjobs=1 --runtime=60 --group_reporting
    
    Proxmox VE 대시보드에서 가상화 환경의 리소스 사용률을 모니터링하는 화면

    Proxmox VE 환경에서 다양한 가상 머신과 컨테이너의 리소스 사용량을 모니터링하는 대시보드입니다.

    ⚠️ 삽질 경험: 주의사항 및 트러블슈팅

    이런 벤치마크를 진행하면서 저도 몇 번의 삽질을 피할 수 없었습니다. 😅 여러분은 저 같은 실수를 하지 않으시길 바라며 몇 가지 팁을 공유합니다.

    • RAM 호환성 문제: 일부 미니PC는 특정 브랜드나 속도의 RAM 모듈과 호환성 문제가 있더라고요. 특히 저전력 모델들은 SODIMM(Small Outline Dual In-line Memory Module)을 사용하는데, 제조사 QVL(Qualified Vendor List)을 확인하거나, 아니면 널리 사용되는 삼성/하이닉스 제품을 선택하는 게 안전합니다. 제가 예전에 어떤 미니PC에서 DDR4 3200MHz RAM을 꽂았다가 부팅이 안 돼서 한참 헤맨 적이 있었거든요. 결국 클럭을 낮춰서 쓰거나 다른 RAM으로 교체해야 했습니다.
    • NVMe SSD 발열 관리: 작은 폼팩터에 고성능 NVMe SSD를 장착하면 발열이 심해질 수 있어요. 특히 연속적인 읽기/쓰기 작업이 많은 NAS 용도로 사용한다면 방열판(Heatsink)을 꼭 달아주는 것이 좋습니다. 방열판 없이 쓰다가 스로틀링(Throttling)이 걸려 성능이 저하되는 경험을 해봤거든요.
    • 네트워크 드라이버 이슈: 저가형 미니PC 중에는 리얼텍(Realtek) NIC(Network Interface Card)을 사용하는 경우가 종종 있습니다. 리눅스(Linux) 기반 OS에서는 드라이버 호환성 문제가 발생하기도 하니, 가능하면 인텔(Intel) NIC이 장착된 모델을 고르시는 게 좋아요. 특히 2.5GbE NIC에서 이런 문제가 불거지는 경우가 많더라고요.
    • BIOS(바이오스) 설정: 가상화 기능을 사용하려면 BIOS에서 VT-x (Virtualization Technology for x86) 또는 SVM(Secure Virtual Machine) 기능을 활성화해야 합니다. 이걸 깜빡하고 “왜 가상화가 안 되지?” 하며 시간을 보낸 적도 있네요. 😅

    📊 저전력 미니 서버 성능 실측 결과 및 비교

    이제 가장 중요한 벤치마크 결과입니다. 제가 측정한 데이터를 바탕으로 각 유형의 저전력 미니 서버가 어떤 성능 특성을 보였는지 정리해봤습니다. (수치 자체는 제가 직접 여러 번 테스트하고 종합한 경험적 데이터이므로, 절대적인 값이라기보다는 상대적인 성능 비교에 중점을 두었습니다.)

    구분 Intel N100 기반 Intel J4125/J5005 기반 Intel Core i3/i5 (저전력) 기반
    주요 특징 최신 아키텍처, 뛰어난 전성비, 저렴한 가격 오랜 기간 검증된 저전력, SATA 확장성 우수, 저렴 N100 대비 월등한 성능, 여전히 낮은 전력 소비
    CPU 성능 (상대적) ⭐⭐⭐ (가벼운 VM/컨테이너, 웹서버, DNS 등) ⭐⭐ (기본적인 NAS, 라우터, 모니터링) ⭐⭐⭐⭐⭐ (다수 VM, 미디어 서버, 개발 환경)
    RAM 확장성 최대 16GB (대부분 1개 슬롯) 최대 8GB (대부분 1개 슬롯) 최대 32GB/64GB (2개 슬롯)
    저장장치 확장성 NVMe 1개, SATA 1개 (일부 모델 2개) NVMe 1개, SATA 2~4개 (NAS용 강점) NVMe 1~2개, SATA 1~2개
    네트워크 1GbE 또는 2.5GbE (1~2개) 1GbE (1~2개) 2.5GbE (2개 이상)
    유휴 전력 소비 (W) 약 5~10W 약 8~15W 약 10~20W
    최대 부하 전력 소비 (W) 약 20~30W 약 25~35W 약 40~60W
    적합한 용도 가벼운 홈랩 서버, DNS, VPN, 웹 서버, Docker 호스트 저전력 NAS, pfSense/OpenWrt 라우터, CCTV NVR 고성능 NAS, 미디어 서버(Plex), 개발/테스트 VM, 다수 서비스 호스팅

    제 경험으로는 Intel N100은 정말 기대 이상이었어요. 가벼운 웹 서버 몇 개, PostgreSQL 같은 데이터베이스, 그리고 Pi-hole 같은 DNS 서버를 Docker 컨테이너로 돌리는데 전혀 문제가 없었거든요. 심지어 Plex 미디어 서버에서 가벼운 트랜스코딩 작업(720p~1080p SDR)도 무리 없이 처리하더라고요. 전성비(Performance per Watt)는 단연 최고였습니다. 하지만 동시에 여러 개의 VM을 돌리거나, 4K 트랜스코딩 같은 고부하 작업에는 한계가 명확했습니다.

    구형 J4125/J5005 기반 시스템들은 NAS 용도로는 여전히 매력적이에요. 특히 SATA 포트가 넉넉하게 제공되는 모델들이 많아서 여러 개의 HDD를 연결하기 좋거든요. 하지만 CPU 성능은 N100보다 확실히 밀리는 감이 있어서, 가상화보다는 단순 파일 서버나 라우터(Router) 같은 단일 목적 서버에 더 적합하다고 느꼈습니다.

    마지막으로 저전력 Core i3/i5 기반 미니PC는 말 그대로 “성능이 필요한데 전력도 포기 못 하는” 분들을 위한 완벽한 대안이었어요. N100으로는 부족했던 고사양 VM이나 복잡한 개발 환경, 여러 명이 동시에 접속하는 Plex 서버 등에는 이쪽이 훨씬 쾌적했거든요. 물론 N100보다는 전기를 더 먹지만, 데스크탑 CPU에 비하면 여전히 착한 수준이었습니다.

    저전력 미니 서버 3가지 유형의 성능, 전력, 확장성, 용도를 비교한 인포그래픽

    세 가지 유형의 저전력 미니 서버를 성능, 전력, 확장성, 적합한 용도 측면에서 비교한 요약 인포그래픽입니다.

    🎉 마무리: 나에게 맞는 저전력 미니 서버는?

    결론적으로, 저전력 미니 서버는 홈랩 환경에서 전력 소비와 소음 문제를 해결해 줄 수 있는 아주 훌륭한 대안입니다. 어떤 것을 선택할지는 여러분의 주요 사용 목적과 예산에 달려 있어요.

    • 가성비를 최우선으로, 가벼운 서비스 위주로 홈랩을 운영하고 싶다면?
      ✅ Intel N100 기반 미니PC를 강력 추천합니다. 대부분의 기본적인 홈랩 서비스(DNS, VPN, 웹서버, Docker 컨테이너)는 충분히 소화해낼 거예요.
    • 데이터 저장 공간을 최우선으로, 안정적인 NAS 구축이 필요하다면?
      ✅ SATA 포트 확장성이 좋은 구형 J4125/J5005 기반 저전력 미니PC나, 혹은 최근 N100 중에서도 SATA 포트가 여유로운 모델을 찾아보는 것도 좋은 방법입니다.
    • N100으로는 부족한 고성능 VM, 미디어 트랜스코딩, 개발 환경 등 다목적 활용이 필요하다면?
      ✅ 조금 더 예산을 투자해서 Intel Core i3/i5 저전력 버전 미니PC를 고려해 보세요. 만족도가 훨씬 높을 겁니다.

    저도 처음엔 “이 작은 게 얼마나 하겠어?” 싶었는데, 실제로 써보니까 요즘 미니PC들이 정말 똑똑하게 잘 나온다는 것을 느꼈어요. 여러분도 자신의 워크로드(Workload)를 잘 파악해서 현명한 선택을 하시길 바랍니다. 다음 글에서는 특정 미니 서버에 TrueNAS Scale을 설치하고 최적화하는 과정에 대해 더 자세히 다뤄보도록 하겠습니다. 기대해주세요! 궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 제가 아는 선에서 성심성의껏 답변해 드리겠습니다. 😊

  • [Proxmox] ZFS vs Btrfs 비교: Proxmox 홈랩에서의 실측 성능과 데이터 무결성 분석

    [Proxmox] ZFS vs Btrfs 비교: Proxmox 홈랩에서의 실측 성능과 데이터 무결성 분석

    안녕하세요! 13년차 인프라 엔지니어, ’13년차의 서버실’ 주인장입니다.

    홈랩을 운영하다 보면 늘 새로운 기술에 대한 갈증과 함께 ‘어떻게 하면 더 효율적이고 안정적으로 운영할 수 있을까?’ 하는 고민에 빠지게 됩니다. 특히 스토리지 선택은 홈랩의 심장이나 다름없죠. Proxmox VE(Virtual Environment)를 사용하시는 분들이라면 한 번쯤은 ZFS와 Btrfs 사이에서 깊은 고민에 빠져보셨을 겁니다. 저도 처음엔 뭐가 뭔지 복잡하고, 어떤 게 제 홈랩 환경에 최적일지 갈피를 잡기 어려웠거든요. 스펙 시트만 봐서는 답이 안 나오더라고요.

    그래서 오늘은 제가 직접 Proxmox 홈랩에서 ZFS와 Btrfs 스토리지를 구성하고 사용해보면서 겪었던 경험과 함께, 실측 성능 (물론 ‘실측’이라는 게 제 개인적인 체감과 간단한 테스트 기준입니다만) 그리고 데이터 무결성 측면에서 두 파일 시스템을 꼼꼼하게 비교 분석해 보려고 합니다. 이 글이 여러분의 홈랩 스토리지 성능 고민과 ZFS, Btrfs 선택에 작은 이정표가 되었으면 좋겠네요. 삽질 끝에 얻은 저의 인사이트를 솔직하게 공유해 드릴게요! 🎉

    ZFS와 Btrfs는 Copy-on-Write(CoW) 개념을 기반으로 하는 최신 파일 시스템입니다. 이미지에서는 두 파일 시스템의 주요 특징과 구조를 시각적으로 비교하여 보여줍니다.

    ZFS와 Btrfs, 대체 뭐가 다른가요? (핵심 개념 파헤치기)

    본격적인 비교에 앞서, 두 파일 시스템의 핵심 개념을 먼저 짚고 넘어가야겠죠? 쉽게 말해 ZFS와 Btrfs 모두 ‘차세대 파일 시스템’으로 불리며, 기존 ext4 같은 파일 시스템보다 훨씬 강력한 기능들을 제공합니다.

    • Copy-on-Write (CoW, 카피 온 라이트): 이게 두 파일 시스템의 가장 중요한 공통점입니다. 데이터를 덮어쓰지 않고, 변경 사항이 생기면 새로운 블록에 쓰고 메타데이터만 업데이트하는 방식이죠. 덕분에 스냅샷(Snapshot) 생성이나 데이터 손상 복구에 아주 유리합니다.
    • 데이터 무결성 (Data Integrity): CoW 덕분에 데이터가 손상될 위험이 훨씬 적습니다. 체크섬(Checksum)을 사용해서 데이터가 올바른지 지속적으로 검증하거든요.

    ZFS(Zettabyte File System): 엔터프라이즈급 안정성의 대명사

    ZFS는 Oracle Solaris에서 시작되어 현재는 OpenZFS 프로젝트로 활발히 개발되고 있는 파일 시스템입니다. ‘강력한 데이터 무결성’이라는 키워드가 가장 잘 어울립니다. 제가 써보니 이 친구는 정말 든든하더라고요. 주요 특징은 다음과 같습니다.

    • 트랜잭션 기반 (Transactional): 모든 쓰기 작업이 트랜잭션으로 처리되어 데이터 손실 위험이 거의 없습니다.
    • 풀 관리 (Pool Management): 여러 디스크를 묶어 스토리지 풀(Storage Pool)을 구성하고, 그 위에 파일 시스템을 생성합니다. RAID-Z (RAID-Z1, RAID-Z2, RAID-Z3)와 같은 소프트웨어 RAID 기능이 내장되어 있어 별도의 하드웨어 RAID 컨트롤러 없이도 강력한 데이터 보호 기능을 제공합니다.
    • 자가 복구 (Self-Healing): 데이터 손상이 감지되면 체크섬을 통해 자동으로 복구하려고 시도합니다. 이게 진짜 매력적이죠.
    • 스냅샷 (Snapshot) 및 클론 (Clone): 거의 즉각적으로 스냅샷을 생성하고 관리할 수 있습니다. 백업이나 테스트 환경 구성에 아주 유용하죠.
    • 압축 (Compression) 및 중복 제거 (Deduplication): 데이터를 압축하여 공간을 절약하고, 중복되는 데이터를 제거하여 효율성을 높일 수 있습니다. 다만, 중복 제거는 RAM을 많이 사용해서 홈랩에서는 신중하게 접근해야 합니다.

    Btrfs (B-tree File System): 리눅스 친화적인 유연성

    Btrfs는 Linux 커널에 통합되어 개발된 파일 시스템으로, ZFS와 유사한 CoW 기반의 고급 기능을 제공하면서도 좀 더 리눅스 친화적인 면모를 보입니다. 제가 처음 Btrfs를 접했을 땐 ‘오, ZFS만큼 강력한데 더 가볍고 유연하네?’ 싶었거든요.

    • 서브볼륨 (Subvolume): 파티션처럼 작동하지만 훨씬 유연하게 생성하고 관리할 수 있습니다. 스냅샷의 기반이 되기도 하고요.
    • 파일 시스템 수준 RAID (File System Level RAID): ZFS의 RAID-Z처럼 디스크 여러 개를 묶어 RAID0, RAID1, RAID10 등을 구성할 수 있습니다. 다만, RAID5/6은 아직 안정성 문제로 권장되지 않는 경우가 많습니다. 제가 한 번 써봤는데, 썩 만족스럽지 못했죠. ⚠️
    • 스냅샷 (Snapshot): ZFS와 마찬가지로 빠르고 효율적인 스냅샷 기능을 제공합니다. 서브볼륨 기반이라 관리도 편리하고요.
    • 데이터 및 메타데이터 체크섬 (Data and Metadata Checksum): ZFS와 유사하게 데이터 무결성을 검증합니다.
    • 온라인 리사이징 (Online Resizing): 파일 시스템 크기를 온라인 상태에서 유연하게 조절할 수 있습니다.

    두 파일 시스템의 주요 특징을 표로 비교해볼까요?

    특징 ZFS Btrfs
    개발 주체 Oracle Solaris (현재 OpenZFS) Linux 커널
    기반 기술 Copy-on-Write (CoW) Copy-on-Write (CoW)
    데이터 무결성 매우 강력 (체크섬, 자가 복구, 트랜잭션) 강력 (체크섬)
    RAID 기능 내장 (RAID-Z1/2/3) 내장 (RAID0/1/10, 5/6은 주의 필요)
    스냅샷 매우 효율적, 클론 가능 매우 효율적, 서브볼륨 기반
    중복 제거 지원 (RAM 소모 큼) 지원 (RAM 소모 큼)
    압축 지원 지원
    메모리 요구량 높음 (ARC 캐시) 상대적으로 낮음
    주요 사용처 NAS, 서버, 엔터프라이즈 스토리지 데스크톱, 홈랩, 경량 서버

    Proxmox에서 ZFS, Btrfs 스토리지 구성하기 (실전 구현)

    이제 Proxmox 환경에서 실제로 두 스토리지를 어떻게 구성할 수 있는지 알아볼 시간입니다. 제가 직접 해보니 Proxmox 설치 시 ZFS 루트 파일 시스템을 선택하는 게 가장 편하더라고요. 설치 단계에서 바로 ZFS 풀을 구성할 수 있거든요. 하지만 이미 설치된 Proxmox에 추가하거나 Btrfs를 사용하려면 몇 가지 수동 설정이 필요합니다.

    ZFS 스토리지 구성 예시 (Proxmox 설치 후 추가)

    Proxmox에 새로운 디스크로 ZFS 풀을 추가하는 과정입니다.

    1. 디스크 확인: 먼저 사용할 디스크의 경로를 확인합니다.
    2. lsblk

      예를 들어 /dev/sdb, /dev/sdc를 사용할 경우입니다.

    3. ZFS 풀 생성: RAID-Z1 (패리티 디스크 1개)으로 풀을 생성합니다.
    4. zpool create -f myzfsraidz1 raidz1 /dev/sdb /dev/sdc /dev/sdd

      여기서 myzfsraidz1은 제가 임의로 정한 풀 이름입니다. 실제 환경에서는 디스크 개수와 보호 수준에 맞춰 RAID-Z2 등을 선택할 수 있습니다.

    5. Proxmox에 ZFS 스토리지 추가: Proxmox Web UI에 접속하여 데이터센터 > 스토리지 > 추가 > ZFS를 선택하고, 생성한 myzfsraidz1 풀을 연결해 줍니다. 콘텐츠 타입(Content type)은 VM 디스크 이미지, 컨테이너, 백업 등 필요한 것을 선택하면 됩니다.

    Btrfs 스토리지 구성 예시 (Proxmox 설치 후 추가)

    Btrfs는 Proxmox의 기본 스토리지 타입으로 직접 지원하지 않아, 일반 디렉토리 스토리지로 활용해야 합니다. 이 부분이 Btrfs를 홈랩에서 쓰려는 분들께는 첫 번째 삽질 포인트가 되더라고요. ⚠️

    1. 디스크 확인 및 Btrfs 파일 시스템 생성:
    2. lsblk
      mkfs.btrfs -f /dev/sde

      /dev/sde는 예시 디스크입니다. 여러 디스크를 Btrfs RAID로 묶으려면 mkfs.btrfs -d raid1 -m raid1 /dev/sde /dev/sdf 와 같이 명령어를 사용합니다.

    3. 마운트 포인트 생성 및 마운트:
    4. mkdir /mnt/mybtrfs
      mount /dev/sde /mnt/mybtrfs
    5. fstab에 등록 (재부팅 시 자동 마운트): UUID를 사용해 등록하는 것이 좋습니다.
    6. echo "UUID=$(blkid -s UUID -o value /dev/sde) /mnt/mybtrfs btrfs defaults 0 0" >> /etc/fstab
    7. Proxmox에 디렉토리 스토리지 추가: Proxmox Web UI에서 데이터센터 > 스토리지 > 추가 > 디렉토리를 선택하고, 경로를 /mnt/mybtrfs로 지정합니다. 콘텐츠 타입은 ZFS와 마찬가지로 필요에 따라 선택합니다.
    Proxmox 웹 인터페이스에서 새로운 ZFS 또는 Btrfs 기반 디렉토리 스토리지를 추가하는 설정 화면입니다.

    Proxmox 웹 인터페이스에서 새로운 스토리지를 추가하는 화면입니다. ZFS 풀이나 Btrfs 서브볼륨을 Proxmox에 연결하는 과정을 보여줍니다.

    삽질 경험: 성능과 데이터 무결성 사이의 고민

    솔직히 말씀드리면, 처음엔 Btrfs의 유연성과 서브볼륨 기능에 혹했었습니다. ‘오, 이거 하나로 다 되겠네!’ 싶었거든요. 그런데 막상 홈랩 환경에서 여러 VM과 컨테이너를 돌려보니, 생각보다 여러 부분에서 차이를 느끼게 되더라고요.

    ZFS는 메모리 사용량(ARC, Adaptive Replacement Cache)이 높은 편입니다. 그래서 Proxmox 호스트의 RAM이 충분하지 않으면 성능 저하가 올 수 있다는 경고를 많이 봤었죠. 제 홈랩 서버는 RAM이 넉넉한 편이라 크게 문제는 없었습니다만, 만약 8GB 같은 최소 사양으로 Proxmox를 운영한다면 ZFS는 조금 부담스러울 수 있습니다. 반면 Btrfs는 상대적으로 메모리 요구량이 낮아 경량 환경에 더 적합할 수 있습니다. 하지만 이게 다가 아니더라고요.

    특히 랜덤 I/O 성능에서 ZFS가 강점을 보였습니다. VM 부팅이나 데이터베이스 작업처럼 작은 파일들이 불규칙하게 읽고 쓰이는 작업에서는 ZFS가 확실히 더 빠릿빠릿한 체감을 줬습니다. SSD 환경에서는 그 차이가 더 두드러지더라고요. Btrfs는 스냅샷 관리나 서브볼륨의 유연성에서는 좋았지만, 특정 I/O 패턴에서는 ZFS만큼의 안정적인 성능을 보여주지는 못했습니다. 특히 Btrfs에서 RAID5/6은 아직 프로덕션 환경에서는 조심해야 한다는 이야기가 많죠? 저도 홈랩에서 시도했다가 데이터 날릴 뻔했습니다. ⚠️ 그래서 Btrfs로 RAID를 구성할 때는 RAID1이나 RAID10을 권장하는 편입니다.

    홈랩 환경에서의 실측 성능 분석 (결과 검증)

    구체적인 벤치마크 수치를 나열하는 것은 의미가 없다고 생각합니다. 왜냐하면 제 홈랩 환경과 여러분의 환경은 디스크 종류, CPU, RAM, 워크로드 등 모든 것이 다르기 때문이죠. 하지만 제가 ‘체감’하고 ‘관찰’한 바는 명확합니다.

    • VM/컨테이너 I/O 성능:
      • ZFS: SSD 환경에서 VM의 부팅 속도나 디스크 집약적인 애플리케이션(예: 데이터베이스, CI/CD 빌드 에이전트) 실행 시, 더 안정적이고 예측 가능한 성능을 보여줬습니다. 특히 ARC 캐시가 활성화되면 읽기 성능이 매우 뛰어났습니다.
      • Btrfs: 일반적인 VM 운영에는 무리가 없었지만, 고부하 랜덤 I/O 상황에서는 ZFS 대비 미세하게 느리거나 불안정한 모습을 보일 때가 있었습니다. 하지만 스냅샷 생성 및 복구는 ZFS보다 빠르고 가벼운 느낌을 줬습니다.
    • 데이터 무결성 및 복구:
      • ZFS: 이건 정말 ‘철옹성’ 같다는 느낌을 받았습니다. 한 번은 불안정한 전원 공급으로 인해 시스템이 갑자기 꺼진 적이 있었는데, ZFS 풀은 아무 문제 없이 잘 복구되더라고요. 체크섬 기반의 자가 복구 기능 덕분인 것 같습니다. zpool scrub 명령어로 주기적으로 풀 상태를 확인하면 마음이 편안해집니다.
      • Btrfs: Btrfs 역시 체크섬을 사용하기 때문에 데이터 무결성이 우수합니다. 하지만 ZFS만큼 ‘강력하다’는 인상은 받지 못했습니다. 커뮤니티에서도 ZFS가 데이터 손상 방지 및 복구 측면에서 좀 더 검증된 안정성을 가지고 있다고 평가하는 분위기입니다.

    결론적으로, 제 홈랩 환경(주로 VM 여러 개와 컨테이너, 그리고 미디어 서버)에서는 SSD를 기반으로 한 ZFS가 전반적인 성능과 안정성, 그리고 무엇보다 ‘데이터 무결성’ 측면에서 더 높은 만족도를 줬습니다. Btrfs는 스냅샷을 자주 사용하고, 유연한 볼륨 관리가 필요하며, RAM 사용량에 민감한 특정 워크로드에서 진가를 발휘할 수 있을 것 같더라고요.

    Proxmox 가상 머신의 디스크 읽기 및 쓰기 I/O 성능를 시간대별로 보여주는 모니터링 그래프입니다.

    Proxmox 가상 머신의 디스크 I/O 성능 모니터링 그래프입니다. ZFS와 Btrfs 스토리지에서 각각 운영되는 VM의 I/O 처리량을 시각적으로 비교할 수 있습니다.

    그래서, 어떤 걸 선택해야 할까요? (결론 및 제안)

    제 경험을 바탕으로 여러분의 홈랩 스토리지 선택에 대한 가이드를 드려볼게요. 정답은 없지만, 어떤 상황에 더 적합한지는 분명히 있습니다.

    • ZFS를 추천하는 경우:
      • ✅ 데이터 무결성과 안정성을 최우선으로 생각한다면 ZFS가 최고의 선택입니다.
      • ✅ Proxmox 호스트의 RAM이 충분하다면 (최소 16GB 이상, 많을수록 좋습니다).
      • ✅ 하드웨어 RAID 컨트롤러 없이 소프트웨어 RAID (RAID-Z)로 강력한 데이터 보호를 원한다면.
      • ✅ VM 디스크 I/O 성능이 중요한 워크로드(데이터베이스, 개발 환경 등)를 운영한다면.
    • Btrfs를 고려할 수 있는 경우:
      • ✅ 유연한 스냅샷 관리와 서브볼륨 기능을 적극적으로 활용하고 싶다면.
      • ✅ Proxmox 호스트의 RAM이 상대적으로 부족한 환경에서 CoW 기반 파일 시스템을 쓰고 싶다면.
      • ✅ 특정 실험적인 워크로드나, 파일 시스템 수준의 RAID1/10을 구성하려 한다면 (단, RAID5/6은 아직 주의).
      • ✅ 스토리지를 자주 확장하거나 축소하는 등 유연한 볼륨 관리가 필요하다면.

    결론적으로, 저는 안정성과 강력한 데이터 무결성 때문에 Proxmox 루트 파일 시스템은 ZFS로, 그리고 특정 실험용 VM이나 컨테이너 스토리지로는 Btrfs를 별도로 구성하는 하이브리드 방식을 선호하게 되더라고요. 이렇게 하면 두 파일 시스템의 장점을 모두 활용할 수 있습니다. 💡

    ZFS와 Btrfs 파일 시스템의 주요 장점과 단점을 직관적으로 비교하는 인포그래픽입니다.

    ZFS와 Btrfs 파일 시스템의 주요 장점과 단점을 한눈에 비교할 수 있는 인포그래픽입니다. 홈랩 환경에서의 스토리지 성택에 도움을 줄 수 있는 핵심 정보를 담고 있습니다.

    마무리하며: 나의 홈랩, 나의 스토리지

    오늘 글을 통해 Proxmox 환경에서 ZFS와 Btrfs 비교를 해봤습니다. 저의 13년차 인프라 엔지니어의 경험과 홈랩에서의 삽질(?)을 바탕으로 이야기했지만, 결국 여러분의 환경과 목적에 맞는 최적의 선택을 하는 것이 가장 중요합니다. 어떤 파일 시스템을 선택하시든, 스냅샷과 백업은 선택이 아닌 필수라는 점, 잊지 마세요!

    이 글이 여러분의 홈랩 스토리지 성능과 데이터 무결성 고민에 작은 도움이 되었으면 좋겠습니다. 혹시 더 궁금한 점이나 여러분의 경험이 있다면 댓글로 공유해 주세요! 다음에는 ZFS ARC 캐싱 최적화에 대해 좀 더 깊이 다뤄볼 예정이니 기대해 주세요!

  • [HomeLabs] 저전력 미니PC 홈서버: Beelink S12 Pro vs UN100L 성능 비교

    [HomeLabs] 저전력 미니PC 홈서버: Beelink S12 Pro vs UN100L 성능 비교

    저전력 미니PC 홈서버: Beelink S12 Pro vs UN100L 성능 비교

    안녕하세요! 13년차 인프라 엔지니어, ’13년차의 서버실’ 운영자입니다. 오늘은 홈서버 구축에 관심 있는 분들이라면 한 번쯤 고민해봤을 법한, 바로 저전력 미니PC에 대한 이야기를 풀어볼까 합니다. 특히 요즘 핫한 Beelink S12 Pro와 Minisforum UN100L, 이 두 모델을 두고 어떤 걸 고르지 말아야 할지 고민하시는 분들이 정말 많더라고요. 저도 홈랩에서 이것저것 테스트해보면서 느낀 점들을 바탕으로, 두 미니PC의 성능을 직접 비교해보고 홈서버로서의 활용 가능성을 짚어보겠습니다. 여러분의 선택에 조금이나마 도움이 되기를 바랍니다.

    Beelink S12 Pro와 Minisforum UN100L 저전력 미니PC 외관 비교

    두 제품 모두 인텔의 최신 저전력 CPU인 N100을 탑재하고 있다는 점에서 많은 기대를 모으고 있죠. 하지만 CPU만 같다고 해서 성능이 똑같지는 않다는 거, 다들 알죠? RAM, SSD, 그리고 제조사별 튜닝 방식에 따라 체감 성능은 정말 천차만별이거든요. 저도 처음에는 ‘어차피 N100인데 뭐가 다르겠어?’ 싶었는데, 직접 써보니 정말 다른 결과가 나왔어요.

    홈서버, 왜 저전력 미니PC인가?

    홈서버를 구축하려는 이유는 정말 다양합니다. 개인 NAS(Network Attached Storage)로 파일을 저장하고 공유하거나, Docker를 이용해 웹 서버, 개발 환경, 미디어 서버 등을 운영하기도 하죠. 예전에는 이런 용도로 일반 데스크톱 PC나 중고 서버를 활용하는 경우가 많았지만, 전력 소비량과 소음, 그리고 공간 차지 문제가 늘 발목을 잡았습니다. 하지만 저전력 미니PC는 이런 고민을 한 번에 해결해준다는 게 정말 매력적이거든요. 작고 조용하며, 하루 종일 켜놔도 전기 요금 걱정이 덜하니까요. 특히 인텔 N100 같은 CPU는 이전 세대 대비 성능은 높이면서도 전력 소비는 획기적으로 줄여서 홈서버용으로 정말 매력적인 선택지가 되었습니다.

    Intel N100 프로세서 아키텍처 및 저전력 특징

    인텔 N100 프로세서는 4코어 4스레드의 성능에 집중하면서도 TDP(Thermal Design Power)가 6W 수준으로 매우 낮거든요. 이는 곧 낮은 발열과 전력 소비로 이어지죠. 홈서버처럼 24시간 365일 구동되는 장비에게는 이보다 더 좋은 조건이 없습니다.

    Beelink S12 Pro vs Minisforum UN100L: 저전력 미니PC 스펙 비교

    자, 이제 본격적으로 두 제품의 스펙을 비교해볼 시간입니다. 기본적인 CPU는 동일하지만, 다른 부분에서 어떤 차이가 있는지 꼼꼼히 살펴보겠습니다.

    구분 Beelink S12 Pro Minisforum UN100L
    CPU Intel N100 (4 Cores, 4 Threads, Up to 3.4GHz) Intel N100 (4 Cores, 4 Threads, Up to 3.4GHz)
    RAM 16GB DDR4 16GB DDR5
    Storage 500GB NVMe SSD 500GB NVMe SSD
    Wi-Fi Wi-Fi 6 Wi-Fi 6E
    Bluetooth BT 4.2 BT 5.2
    Networking 1Gbps Ethernet 2.5Gbps Ethernet
    Video Output HDMI 2.0, DisplayPort 1.4 HDMI 2.1, DisplayPort 1.4
    Dimensions (W x D x H) 118.5 x 112 x 34.5 mm 128 x 120 x 38.5 mm

    표를 보시면 아시겠지만, CPU는 동일하지만 RAM 타입(DDR4 vs DDR5), 네트워크 속도(1Gbps vs 2.5Gbps), 그리고 Wi-Fi 표준 등에서 확실히 차이를 보이네요. 특히 RAM이 DDR5를 지원하는 Minisforum UN100L이 조금 더 유리해 보이고, 2.5Gbps 이더넷 포트도 요즘 같은 시대에는 점점 중요해지는 부분이거든요. 저는 이 스펙 차이가 실제 성능에 어떤 영향을 미칠지 정말 궁금했습니다.

    실제 성능 테스트: 벤치마크 결과는?

    이론적인 스펙만으로는 실제 사용 경험을 알 수 없죠. 그래서 제가 직접 두 미니PC를 가지고 몇 가지 벤치마크를 돌려봤습니다. 홈서버로 주로 사용될 환경을 고려해서 CPU 성능, 스토리지 속도, 그리고 네트워크 처리 능력 위주로 테스트를 진행했어요. Cinebench R23으로 CPU 멀티코어 성능을 측정하고, CrystalDiskMark로 SSD 속도를, 그리고 iPerf3로 네트워크 대역폭을 확인했습니다.

    Cinebench R23 멀티코어 성능 벤치마크 비교 그래프

    Cinebench R23 멀티코어 테스트 결과, 두 제품 모두 비슷한 점수를 기록했어요. N100 CPU 자체의 성능 한계는 분명하지만, 저전력 모델치고는 꽤 괜찮은 결과더라고요. 하지만 여기서 주목할 점은, Minisforum UN100L이 DDR5 RAM 덕분인지 아주 미세하게나마 더 높은 점수를 보여줬다는 거예요. 물론 이 차이가 실제 사용에서 크게 느껴질 정도는 아니지만, ‘그래도 더 좋은 쪽으로’라는 마음은 들더라고요.

    스토리지 속도는 두 제품 모두 NVMe SSD를 사용했기에 비슷한 수준을 보였습니다. 읽기/쓰기 속도 모두 홈서버 운영에 전혀 부족함 없는 수준이었어요. 다만, 장시간 부하가 걸리는 작업에서는 SSD의 발열 관리도 중요할 텐데, 이 부분은 두 제품 모두 방열판이 잘 되어 있어 안심이었습니다.

    가장 큰 차이를 보인 부분은 바로 네트워크 속도였어요. Minisforum UN100L의 2.5Gbps 이더넷 포트는 1Gbps 포트를 사용하는 Beelink S12 Pro보다 훨씬 빠른 속도를 보여줬습니다. 특히 NAS로 데이터를 옮기거나, 여러 장치에서 동시에 네트워크 스토리지에 접근할 때 이 차이는 분명히 체감될 수 있거든요. 홈서버를 구축한다면 네트워크 성능은 정말 중요한 부분입니다!

    홈서버 운영 시 고려사항 및 트러블슈팅

    두 미니PC 모두 홈서버로 활용하기에 충분한 성능을 보여주지만, 몇 가지 고려해야 할 점들이 있어요. 첫째는 확장성입니다. 두 제품 모두 M.2 슬롯과 SATA 포트(일부 모델)를 제공하지만, NVMe SSD 슬롯은 보통 하나만 지원하는 경우가 많거든요. 따라서 저장 공간이 중요하다면, 처음부터 용량이 큰 SSD를 선택하거나, 외장 스토리지(USB 외장하드 등)를 활용해야 합니다. 저는 보통 1TB NVMe SSD를 기본으로 장착하고, 부족하면 USB 3.0 외장하드를 연결해서 쓰고 있어요.

    둘째는 쿨링입니다. 저전력 CPU라 해도 장시간 고부하 작업 시에는 발열이 발생하거든요. 제 경험상, Beelink S12 Pro는 상대적으로 팬 소음이 조금 더 느껴지는 편이었고, Minisforum UN100L은 더 조용하게 작동하는 편이었어요. 홈서버를 거실이나 침실 근처에 두는 경우라면 이 소음 차이가 꽤 크게 다가올 수 있습니다. 저는 홈랩에 두고 쓰기 때문에 크게 신경 쓰지 않았지만, 혹시라도 소음에 민감하시다면 이 부분을 꼭 고려하시는 게 좋아요. ⚠️ 온도 센서 값을 확인해보니, 두 제품 모두 정상 범주 안에서 작동했지만, UN100L이 조금 더 안정적인 온도를 유지하는 경향을 보였습니다.

    셋째는 운영체제 설치입니다. 기본적으로 Windows 11 Pro가 설치되어 나오는 경우가 많지만, 저는 홈서버용으로 Linux (Ubuntu Server, Debian 등)를 선호합니다. Docker를 활용한 컨테이너 환경 구축이 훨씬 용이하고, 리소스 사용률도 낮기 때문이죠. Linux 설치 자체는 어렵지 않지만, 혹시라도 리눅스 환경에 익숙하지 않으시다면 조금 공부가 필요할 수 있습니다.

    결론: 저전력 미니PC 어떤 것을 선택할까?

    자, 이제 드디어 결론을 내릴 시간입니다. Beelink S12 Pro와 Minisforum UN100L, 둘 다 훌륭한 저전력 미니PC임은 분명합니다. 하지만 제 경험을 바탕으로 몇 가지 기준으로 추천을 드리자면:

    • 가성비와 무난함을 원한다면: Beelink S12 Pro
      가격이 조금 더 저렴하면서도 기본적인 성능은 충분합니다. 1Gbps 네트워크만으로도 충분한 사용자라면 좋은 선택이 될 수 있어요.
    • 조금 더 나은 성능과 확장성을 원한다면: Minisforum UN100L
      DDR5 RAM, 2.5Gbps 이더넷 포트, Wi-Fi 6E 등 최신 기술을 탑재하고 있어 장기적으로 더 유리할 수 있습니다. 또한, 상대적으로 조용한 작동 소음도 큰 장점이거든요. 홈서버 구축 시 조금이라도 더 나은 성능과 미래 확장성을 고려한다면 Minisforum UN100L을 추천합니다.

    저 역시 홈서버 운영 경험을 통해, 네트워크 성능과 쿨링이 장시간 안정적인 운영에 얼마나 중요한지 새삼 깨달았거든요. 여러분의 사용 목적과 예산에 맞춰 현명한 선택을 하시길 바랍니다. 다음 글에서는 이 저전력 미니PC들을 활용해서 실제로 Docker로 웹서버를 구축하는 과정을 보여드리도록 하겠습니다. 기대해주세요!

    궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 함께 고민하고 해결해나가겠습니다. 감사합니다!