2P by GN⁺ | ★ favorite | 댓글 1개
  • Home Lab은 집에서 네트워크·서버 구성을 안전하게 실험하는 샌드박스 환경으로, 원격 백업과 모니터링부터 장비 테스트까지 프로덕션 부담 없이 다룰 수 있음
  • 설치 전에는 온도, 환기, 전원, 소음, 먼지, 케이블 경로 같은 물리 조건을 먼저 확인하고 집 구조에 맞는 네트워크 다이어그램을 그리는 것이 좋음
  • 랙과 캐비닛은 장비 깊이와 발열에 따라 선택이 달라지며, 얕은 네트워크 장비와 깊은 서버 장비를 같은 기준으로 고르면 냉각과 접근성이 흔들릴 수 있음
  • ISP 모뎀, 라우터·스위치, UPS, 패치 패널, 케이블, 서버를 한 번에 모두 살 필요는 없고, 작은 구성에서 시작해 전력과 확장 여지를 맞춰 가는 방식이 현실적임
  • 2020년 12U 랙에서 시작한 구성은 6년 동안 10G 업링크와 2.5G LAN까지 확장됐지만, 핵심은 비싼 장비보다 운영 가능한 배치와 전력 관리에 있음

Home Lab의 목적과 운영 범위

  • Home Lab은 집에서 안전하게 실험할 수 있는 테스트 환경으로, 새 설정을 프로덕션 장비에 바로 적용하는 위험을 줄여줌
  • 운영 예시는 다음과 같음
    • 원격 백업
    • 원격 서버의 네트워크 모니터링과 알림
    • 유선 UAP AP
    • 다양한 장비와 서비스 실험
  • 이 구성은 2020년에 처음 공개된 뒤 계속 갱신됐고, 2026년 3월 기준 구성 변화와 6년간의 타임라인을 포함함

설치 장소를 고르는 기준

  • Home Lab 위치는 온도와 환기, 케이블 배선, 접근성, 전원, 소음, 먼지, 통행량을 함께 봐야 함
  • 후보 장소별 장단점은 뚜렷함
    • 홈오피스: 책상과 장비가 가까워 케이블이 짧지만, 홈오피스가 없거나 이미 오래 머무는 공간일 수 있음
    • 거실: 대체로 시원하고 공간이 있지만, 통행량과 파손 위험이 있음
    • 옷장: 접근이 쉽고 숨기기 좋지만, 환기와 공간이 부족함
    • 지하실: 대체로 시원하지만, 침수나 접근성 문제가 생길 수 있음
    • 다락: 소음이 적고 케이블 배선이 쉬울 수 있지만, 지역에 따라 고온·누수·습도 문제가 있음
    • 차고: 집 안 소음이 줄고 눈에 덜 띄지만, 벌레·열·먼지·긴 케이블·차량 파손 위험이 있음
  • 실제 구성은 홈오피스에 두었고, 노트북·데스크톱·서버·기타 장비가 같은 공간에 있어 케이블 배선을 짧게 유지할 수 있었음
  • 설치 전에는 홈 네트워크 다이어그램을 그리거나 네트워크 설계 도구를 써서 배선 경로와 집 구조를 먼저 확인하는 것이 좋음

랙, 캐비닛, 장비 수납 방식

  • 네트워크 캐비닛·랙과 서버 캐비닛·랙은 혼동되기 쉽지만, 라우터·스위치·패치 패널은 보통 서버보다 얕고 발열도 적음
  • 서버용 장비를 넣을 계획이라면 네트워크 캐비닛의 깊이와 환기가 부족할 수 있으며, 유리문이 있는 제품은 발열 처리에 불리할 수 있음
  • 캐비닛과 랙을 고를 때는 설치 환경을 먼저 봐야 함
    • 크고 무거운 서버를 설치하면 캐비닛이나 4면 랙의 안정성이 중요함
    • 장비 측면·후면 접근이 잦으면 오픈 랙이나 측면 탈착형 캐비닛이 유리함
    • 추가 냉각이 필요한 장비는 밀폐형 캐비닛에서 환기 설계가 더 중요함
    • 먼지가 많은 방은 캐비닛이 장비 보호에 유리함
    • 거실처럼 손님이 드나드는 공간은 잠글 수 있는 캐비닛이 더 깔끔해 보일 수 있음
    • 접근 제한이나 보안이 필요하면 잠금장치가 있는 캐비닛이 적합함

추천 하드웨어와 선택 기준

  • 제품 가격은 Amazon의 현재 가격 기준이라 변동될 수 있고, 일부 Amazon 링크는 보상형 링크임
  • ISP 케이블 모뎀

    • 초보자는 전체 랙을 꾸미기 전에 ISP 제공 모뎀을 교체하는 것만으로도 홈 네트워크 실험을 시작할 수 있음
    • 미국의 많은 ISP는 모뎀 임대료를 매달 부과하므로, 직접 구매가 비용 측면에서 의미가 있을 수 있음
    • ISP 제공 모뎀·라우터 조합은 품질이 낮거나 중고일 수 있고 기능이 부족할 수 있으며, 새 취약점이 나왔을 때 펌웨어 업데이트를 ISP에 의존해야 할 수 있음
    • 좋은 ISP와 충분한 장비를 쓰고 있다면 그대로 사용해도 되며, 교체 이유는 추가 네트워크 기능과 Home Lab 실험 환경 확보임
    • 케이블 인터넷 예시는 Motorola MB7621 32×8, Motorola MB8611 DOCSIS 3.1 모델임
    • 광 인터넷은 제공자에 따라 ONT를 직접 교체할 수도 있지만, 많은 구성에서 ONT는 ISP가 관리하고 사용자는 라우터부터 제어함
    • 케이블 모뎀은 열을 많이 내므로 랙 상단에 두거나 위아래 공기 흐름 공간을 확보해야 함
    • 랙 유닛 U 또는 RU는 1 3⁄4인치, 44.45mm이며, 19인치·23인치 랙 프레임과 장비 높이를 나타내는 단위임
    • 일반적인 풀사이즈 랙은 42U 높이임
    • 예시 장비:
    • 랙 장비를 측정할 때는 랙 내부 폭이 아니라 랙 선반 폭과 장비 폭을 비교해야 함
  • UPS

    • 프로판 백업 발전기가 있고 전환에 약 1분이 걸리는 환경이라, 100W~200W 부하를 몇 분간 버티는 UPS가 필요했음
    • CyberPower OR500LCDRM1U UPS는 500VA/300W, 6개 콘센트, AVR, 1U 랙마운트 제품이며 약 20lbs임
    • 이 UPS는 배터리를 약 50%까지 사용했을 때 PoE AP 2대와 27인치 모니터를 포함해 30분 조금 넘는 런타임을 보였음
    • UPS는 긴 런타임을 목표로 하면 비용이 커지므로, 필수·저전력 장비가 안전하게 종료될 시간을 확보하는 구성이 현실적임
    • PoE AP는 각각 최대 약 9W로, UPS 부하를 20~30% 수준으로 유지하는 데 도움이 됨
  • 선반과 전원

    • 1U UPS에 랙마운트가 없으면 장비 위에 올려둘 수 있지만, 배터리를 시원하게 유지하고 열 축적을 줄이려면 통풍형 1U 선반이 적합함
    • AC Infinity Vented Cantilever 1U Universal Rack Shelf는 6인치부터 16인치 깊이까지 있으며, 통풍구와 슬롯이 냉각과 케이블 정리에 도움을 줌
    • CyberPower UPS에는 6개 콘센트가 있고, 이 중 4개는 배터리 백업과 서지 보호, 2개는 서지 보호 전용임
    • ADJ Products AC POWER STRIP PC-100A는 1U CyberPower UPS에 직접 연결해 장비별 전원 온·오프를 쉽게 할 수 있음
    • 콘센트 세이버와 1U 블랭킹 패널은 전원 활용과 랙 공기 흐름 개선에 쓰임

냉각, 네트워크, 케이블, 서버 구성

  • 냉각

    • 랙 장비의 적정 온도 유지는 과열 방지, 일관된 성능, 수명 연장에 중요함
    • AC Infinity CLOUDPLATE T7-N 2U Intake는 약 4년 사용했으며, 낮은 팬 속도에서도 랙을 잘 식혔음
    • 먼지 축적으로 약 2년 뒤 팬 고장이 시작됐고, 3년 차에는 4개 팬 중 3개가 고장났음
    • 내부 커넥터가 회로기판에 핫글루로 고정된 3핀 웨이퍼 커넥터라 팬 교체가 어려웠음
    • 2025년 4월 이 장비를 제거하고 1U 통풍 패널을 쓰는 수동 냉각으로 전환했으며, 이후 문제없이 동작함
    • 에어컨이 있고 먼지가 적은 환경에서는 능동 냉각 팬이 필요 없을 수 있으며, 필요하다면 몇 달마다 압축공기로 청소해야 2~3년 수명 기대에 유리함
  • 라우터와 스위치

    • 라우팅과 스위칭 요구는 Cisco, Ubiquiti, TP-Link 장비로 대부분 충족할 수 있다고 봄
    • 이 구성은 홈오피스보다 소규모 비즈니스 장비에 가깝고, 향후 기능 확장을 염두에 둠
    • 라우터 예시:
    • 스위치 예시:
    • Netgear, pfSense, OPNsense, IPFire 같은 다른 선택지도 있으며, 모든 추천 장비가 각자 요구사항에 맞는 것은 아니므로 별도 조사가 필요함
  • 패치 패널과 케이블

    • 16포트 패치 패널을 선택했지만, 되돌아보면 24포트 패치 패널을 택했어야 했다고 봄
    • 그래도 6년 뒤에도 16포트는 간신히 충분한 수준임
    • ISP의 가장 빠른 요금제는 160Mbps 다운로드, 30Mbps 업로드이며, Home Lab에는 CAT8이나 CAT7이 필요하지 않았음
    • 1000Mbps 한계가 괜찮아 250피트 CAT6 릴과 여러 길이의 CAT6 케이블을 구매함
    • 더 원활한 네트워크 트래픽이 필요하면 CAT6a 이상을 고려할 수 있지만, RJ45 커넥터와 패치 패널이 지원하지 않으면 CAT7이나 CAT6a 케이블은 낭비가 됨
    • 초기 설치 때 동축 케이블이 약 3피트 부족했기 때문에, 필요한 길이보다 긴 케이블 예산을 잡는 것이 좋음
  • 서버

    • 서버는 NAS, VM, 웹 서버, 백업 서버, 메일 서버, 광고 차단 등 호스팅 대상에 따라 요구사항이 크게 달라 특정 모델을 추천하지 않음
    • 실제 구성에는 eBay에서 중고로 구매한 ThinkCentre M73ThinkCentre M715q를 사용함
    • 두 장비는 조용하고 시원하게 동작하며 Ubuntu Server와 Windows 10을 실행함
    • 정식 서버는 Dell, HP, Cisco, Lenovo 제품이 선택지이며, Home Lab에서는 Craigslist나 eBay에서 중고 구매하는 경우가 많음

간단한 전체 가정 VPN 구성 예시

  • 친구를 위해 구성한 전체 가정 VPN은 700VA UPS에서 40W 미만을 사용해, Home Lab이 꼭 복잡하거나 전력을 많이 쓰는 형태일 필요는 없음을 보여줌
  • 구성 요소는 다음과 같음
    • StarTech.com 6U Wall Mount Network Equipment Rack
    • AC Infinity Vented Cantilever 1U Universal Rack Shelf
    • C2G 12-Port Patch Panel
    • VCE CAT6 RJ45 Keystone Jack Inline Couplers
    • Raspberry Pi 4 2GB Basic Kit에서 Unifi Controller 실행
    • Brume GL-MV1000에서 Edge Gateway와 WireGuard VPN 실행
    • Edgeswitch 10xp
    • StarTech.com 8 Outlet Horizontal 1U Rack Mount PDU Power Strip
    • CyberPower SL700U Standby UPS System, 700VA/370W

6년간의 변화와 결론

  • Home Lab은 2020년에 12U 벽걸이 랙, 케이블 모뎀, EdgeRouter로 시작함
  • 6년 뒤에는 10G 업링크, pfSense 방화벽, 2.5G LAN으로 업그레이드됐고, 모니터링은 Zabbix에서 Checkmk RAW로 교체됨
  • 주요 변화는 다음과 같음
    • 2020년 3월: 첫 빌드 완료
    • 2020년 4월: 4G 장애 조치, VLAN, 블랭킹 패널, Zabbix 모니터링 추가
    • 2020년 5월: Raspberry Pi와 Zabbix 대시보드 모니터 추가
    • 2020년 6월: 키보드 추가, 메시 커버를 틴티드 플렉시글라스로 교체
    • 2022~2023년: 새 집으로 이사, EdgeRouter를 Peplink Balance 20x로 교체, UPS 업그레이드
    • 2025년 이후: 10G 업링크와 2.5G LAN, pfSense 방화벽으로 업그레이드, Zabbix를 Checkmk RAW로 교체, 수동 냉각으로 전환
  • 가장 중요한 운영 원칙은 작게 시작하고 성장에 대비하는 것임
  • 첫날부터 랙, 캐비닛, 패치 패널, 모든 장비를 갖출 필요는 없으며, ISP 모뎀 교체와 적절한 라우터 추가부터 시작할 수 있음
  • 장비를 고를 때는 전력 소비를 처음부터 고려해야 전기요금이 과도하게 늘어나는 상황을 피할 수 있음

댓글과 토론

Hacker News 의견들
  • 글은 좋지만 규모와 범위가 커서 겁먹기 쉬움. 홈랩은 책상 위 NUC 한 대로도 충분히 시작할 수 있고, 64GB RAM이면 정말 많은 걸 올릴 수 있음
    NUC는 24/7 구동 효율이 좋지만 CPU 부하가 오래 걸리면 시끄러워짐. 그럴 땐 eBay에서 OptiPlex나 Precision Tower SFF, 가능하면 ECC 되는 모델로 확장하면 좋음. Dell SFF는 작지만 제대로 된 데스크톱/서버에 조용한 팬이 있고, eBay에서 40달러짜리 10G Mellanox 3 카드도 들어가며 가로로 쌓기 좋음. 12세대 CPU 이전 OptiPlex는 전기와 공간이 제약이 될 수 있으니 피하는 편이 낫고, i5-12500 중고는 이미 꽤 저렴함. LGA1700이면 필요할 때 i9-14900 non-K도 넣을 수 있음

    • 랙을 필수 구성요소로 너무 심각하게 생각할 필요는 없음. 랙은 멋지고 홈랩 랙도 보기 좋지만, 사용성과 학습이 목적이면 그냥 마음에 드는 걸 쓰면 됨
      개인적으로는 구석에 박스 4대를 쌓아두고, 작업대 뒤에 랙 사이드 패널 두 개를 볼트로 붙인 가짜 랙에 부품을 나사로 고정해 씀. 선반 위 NAS와 여러 Raspberry Pi도 연결돼 있고, 이 난장판이 마음에 들며 많이 배웠음. 가진 걸로 시작하고 필요할 때 확장하면 됨. 랙은 취미가 깊어져 스타일 점수를 신경 쓸 때 멋진 것임
    • Intel NUC는 홈랩 하는 사람에게 말도 안 되게 좋음. 최근 몇 대 샀는데 특히 전력 사용량이 훌륭함
      tasmota 기반 스마트 플러그에 연결해 보니 유휴 상태가 대략 6W였음. BIOS 설정과 tuned 프로파일로 저전력 튜닝을 항상 하긴 하지만, 대체로 NUC는 30W를 넘는 일이 드묾. 예전 텅스텐 전구 하나의 절반 수준임
    • 첫 홈랩은 고장 난 모니터가 달린 노트북이었음. Ubuntu server를 올리는 게 크게 어렵지 않았고, 기가비트 이더넷 포트가 내장돼 있었으며 USB 3.0도 있어 NAS로 쓸 만한 하드디스크 속도를 내기 쉬웠음
      오래된 중고 노트북, 특히 화면 깨진 건 거의 공짜로 살 수 있고 이미 갖고 있거나 지인이 주면 진짜 공짜임. Plex 정도가 목표라면 잘 동작하고, 노트북 전력 소모도 특히 유휴 상태에서는 NUC보다 크게 많지 않음. 지금은 멋있어 보여서 제대로 된 랙마운트 서버를 쓰지만, 대부분에게는 낡은 노트북이면 충분하다고 봄
    • 막 시작하는 사람 대부분에게는 싸구려 재활용 데스크톱 한 대나 Raspberry Pi 한 대로 PiHole 같은 걸 돌리고 거기서 확장하는 편이 훨씬 값어치 있음. 내 홈랩[0]도 PiHole을 돌리는 Pi 한 대에서 시작해, 지금은 Jellyfin, Calibre, DNS 등 필요한 걸 모두 돌리는 4대 구성으로 커졌음
      다만 나중에 랙마운트하고 일부 하드웨어를 업그레이드할 때는 이 “입문자” 가이드가 정말 도움이 됐음
      [0] https://blog.janissary.xyz/posts/homelab-0
    • 내 “홈랩”도 완전히 숨기거나 존재 이유가 있는 곳에 작은 컴퓨터 여러 대를 욱여넣은 구성임. 오래된 Celeron NUC는 소파 밑에서 Pi-Hole, Syncthing, 진단 도구를 돌리고 있고, 전기요금 영향은 무시할 만함
      Lenovo 미니 PC는 TV 뒤에서 Syncthing 노드와 HTPC 역할을 함께 하고 있음. 세상에서 가장 정교한 구성은 아니지만 잘 동작하고, 아주 싸며, 아파트에 맞는 구성임
  • 약간 옆길이지만 홈 서버에는 Proxmox를 정말 칭찬하고 싶음. 25년 동안 집에서 어떤 형태로든 Linux 서버를 돌렸고, 늘 Ubuntu 같은 단일 시스템을 손으로 관리했는데 엄청 귀찮았음
    Proxmox는 하나의 하드웨어에서 여러 컨테이너와 가상 머신을 쉽게 굴리게 해줌. 처음엔 큰 Ubuntu 시스템 하나를 가상화하는 걸로 시작했지만, 그것만으로도 백업과 고가용성 같은 장점이 있음. 이제는 서비스를 각자 컨테이너로 분리하기 시작했는데 훨씬 깔끔함

    • Proxmox는 훌륭함. 안 쓰던 두 머신, 거의 10년 된 것 하나와 5950X가 들어간 비교적 최신 머신 하나로 클러스터를 만들었고, 이제 모든 서비스가 들어간 Debian 박스 하나가 죽어서 전부 날아갈까 걱정하지 않아도 됨
      가상 머신 자체도 유용하지만, Proxmox가 주는 머신 간 이전, 중앙 백업/복구 도구는 정말 해방감을 줌. 최근에는 Windows VM에 PCIe GPU 패스스루를 붙여 Moonlight/Sunshine으로 집 안의 약한 머신들에 게임을 스트리밍하게 했는데 너무 잘 돼서 실제 게이밍 PC가 구석에서 먼지만 쌓이고 있음. 유일한 불만은 더 저렴한 유료 라이선스가 있었으면 한다는 것임. 받는 가치에 보답하고 싶지만 CPU당 연 100달러 이상은 취미 용도로는 너무 비쌈. 무료 티어가 전혀 성가시게 굴지 않는 건 고맙지만 중간 단계가 있으면 좋겠음
    • Proxmox는 특히 Linux에 익숙한 홈랩 초보에게 엄청 도움이 됨. 배우면서 여러 환경을 쉽게 만들고 지울 수 있음
      다만 스토리지 전반은 쉽지 않음. 여러 선택의 결과를 제대로 이해하기 어렵고, zfs, lvm, lvm-thin, 재파티셔닝 등에 꽤 익숙하지 않으면 NAS의 기반을 제대로 세팅하기가 어렵다
    • 아직 단일 덩어리 홈 서버 기술 부채에 갇혀 있어서 나도 마이그레이션을 생각 중임. 늘 궁금한 부분은 스토리지임. 이 서버는 SMB로 파일을 제공하고 Plex로 미디어를 제공하는 NAS이기도 함
      어떤 사람들은 데이터 배열[1]을 Proxmox에 직접 마운트하고 Plex 같은 스토리지 계층 위의 것만 가상화하며, 다른 사람들은 HBA[2]를 NAS VM에 PCI 패스스루한다고 들었음. 전자의 장점은 루프백 SMB/NFS/9p 대신 LXC 컨테이너에 직접 바인드 마운트할 수 있다는 점일 듯함. 또 어떤 사람들은 TrueNAS나 Unraid를 베어메탈 기반으로 쓰고 스토리지와 하이퍼바이저를 함께 맡기는데, 이것도 말이 됨. TrueNAS의 Linux 버전도 이제 성숙할 시간이 있었으니 써봐야 할지도 모르겠음. Intel 프로세서 내장 Quicksync로 하드웨어 트랜스코딩도 쓰는데, VM을 통과해 쓰는 데 문제가 있는지 궁금함. 아마 로컬 Proxmox TTY는 포기해야 할 것 같음
      [1] VHD가 아니라 실제 파일이 있는 배열을 말함. 애초에 분리해 두는 편인데, 모든 데이터를 SSD에 둘 여유가 없고 HDD에 OS 루트를 두는 것도 못 견디기 때문에 필요하기도 함. 아니면 파일용 데이터셋과 VM 루트용 zvol 또는 NFS를 둔 단일 마스터 ZFS 배열이 이상적일 듯함
      [2] 개별 SATA 패스스루보다 더 신뢰성 있다고 들었지만 더 거칠게 묶이는 단점이 있음. 즉 VM이 모든 포트를 독점 제어하므로 배열이 아닌 디스크를 거기에 붙일 수 없음
    • 물론 Ubuntu 시스템에서 그냥 컨테이너를 돌릴 수도 있고 백업도 막을 건 없음. 그래도 새 서버라면 처음부터 하이퍼바이저로 시작하는 편이 낫다
      다른 배포판이나 비-Linux 계열도 섞을 수 있어 유연성이 커짐. 예를 들어 나는 OPNsense 라우터를 돌림. Proxmox 대신 xcp-ng를 씀
    • Proxmox에서 VM을 돌린다고 정확히 어떻게 고가용성이 생기는 건지 궁금함
  • 이게 새 “I use Arch btw” 밈이 되는 건 알지만, 이 길로 간다면 배포판으로 Nix를 강력히 추천함. 이상적으로는 한 번 동작하게 만든 뒤 계속 켜두면 되는데, Nix를 쓰면 시스템 상태가 전부 git에 기록됨
    더 이상 “6개월 전에 이거 어떻게 고쳤더라?” 하거나 Ubuntu 배포판 업그레이드가 터진 뒤 수동으로 시스템을 다시 조립할 필요가 없음. 바꾼 모든 것, 설치한 패키지, 설정한 값이 git 로그에 있음. 나도 설치된 것과 시스템 구성을 확인하는 문서로 git 저장소를 자주 봄

    • I use nix btw. 전적으로 동의함. Nix와 NixOS는 자주 고통스럽지만, 일단 동작하게 만들면 정말 영광스러움
      여러 장치에 시스템/사용자/애플리케이션 설정을 빠르고 쉽게 동기화하는 건 놀라움. 선언형 접근 덕분에 동작하게 만들기까지의 힘든 노력이 보상받고, 한 번 알아내면 다시는 같은 일을 반복하지 않아도 됨. 선언형이라 문서화된 동작 설정 예제가 남고 거기서 확장할 수 있음. 지금은 Nix로 “Linux from Scratch”를 빌드하면서 Nix 개발 환경을 배우고 있는데, 느리지만 성공할 때마다 재현 가능한 상태로 굳어짐. LLM이 흩어진 빈약한 문서를 요약하는 데 확실히 도움이 되지만, 여전히 꽤 끈기가 필요함. 전체적으로 Nix를 매우 즐기고 있고 홈랩에 더 활용하고 싶음
    • Nix의 학습 곡선이 더 완만했으면 좋겠음. 혹은 내가 더 똑똑했으면 좋겠음. 언젠가 가지고 놀고 싶은 목록에 있지만 그 목록이 길고, 아직 고비를 넘지 못했음
      개념은 이해되지만, 새 패키지나 앱을 시험해 보고 싶을 때는 Nix 방식으로 머리를 싸매는 것보다 docker-compose와 VM으로 더 빨리 도달할 수 있음
    • 참고로 나는 홈랩에 Arch를 쓰면서도 cattle not pets를 달성함. Arch 설치 미디어에 cloud-init이 들어 있어서, 서버를 처음부터 만드는 모듈이 든 cloud-config를 별도 USB에 넣고, 레이블이 cidata인 드라이브와 설치 미디어를 함께 꽂은 뒤 전원을 켜면 됨
      Nix가 더 쉬웠을지는 모르지만, cloud-init은 이런 일을 하는 사람이 이미 쓸 줄 알 법한 스크립트를 실행하게 해줄 뿐이라 별도 DSL이 필요 없음. 누군가는 “YAML 싫다”고 하겠지만, 홈랩에 관심 있는 사람은 직장에서도 여러 서버를 관리할 가능성이 높고 cloud-init, Ansible, Kubernetes 또는 선택권 없이 YAML을 쓰는 무언가를 피할 수 없음. 홈랩의 목적이 남의 것을 망가뜨릴 가능성 없이 업무에서 하는 일을 연습하는 데 있다면, 어차피 써야 할 도구에 익숙해지고 집 환경을 직장과 너무 다르게 만들지 않는 편이 낫다. 물론 Hacker News의 많은 사람은 나와 달리 “홈랩”을 가족과 친구를 위한 미디어 서버, 채팅, 사진 공유 등을 셀프호스팅한다는 뜻으로 쓰고, 실제 데이터센터를 연습하기 위한 미니 데이터센터를 뜻하지는 않음
    • 나도 처음엔 여러 RasPi에 서로 다른 Raspbian 버전을 돌리다가 설정 드리프트에 지쳐 모두 Nix화했음. 단일 Nix Flake를 작성하고 모든 장치용 선언형 SD 카드 설치 이미지를 빌드할 수 있으니 여러 머신 관리가 정말 꿈처럼 쉬워짐
      관심 있으면 튜토리얼은 여기[0]에 있음. 유일한 문제는 Nix 설정을 원격 배포하는 부분임. 유일한 1st-party 도구인 nixops는 사실상 방치됐고 지원도 끊긴 상태임. morph나 deploy-rs 같은 커뮤니티 도구는 유망해 보이지만 Flakes 지원과 활동성/장기 지속 가능성이 제각각임
      [0] https://blog.janissary.xyz/posts/nixos-install-custom-image
    • Ubuntu 배포판 업그레이드가 터진 뒤 시스템을 다시 조립하는 일은 Linux 머신에 Gentoo Linux를 돌려 피하고 있음. Arch도 좋다는 얘기는 들었지만 써본 적은 없음
      Ubuntu는 그냥 별로임. 예전에 몇 년간 Ubuntu를 썼고, 비전문가에게 안정적이고 쓰기 쉬운 Linux 배포판을 드디어 추천할 수 있게 돼 정말 기뻤지만, 두세 번 연속 제자리 업그레이드가 시스템을 망가뜨리고 Gentoo의 잘 문서화된 설치 과정과 수년간의 삽질로 얻은 시스템 관리자 지식이 있어야 고칠 수 있게 만든 뒤로는 손절했음. 친구가 Ubuntu를 쓰게 두지 말자
  • 몇 년 동안 내 장비를 IKEA FRIHETEN 소파 안에 넣어뒀음. 장점은 접근이 쉽고, 전원선 1개 + 광 WAN 1개 + 이더넷 LAN 1개 말고는 완전히 보이지 않으며, 구조상 케이블을 밖으로 빼기 쉽고 내부 배치/배선도 편하다는 점임
    소음 저감도 공짜로 되고, 겨울에는 앉은 엉덩이가 절대 차갑지 않을 만큼 난방도 됨. 배우자는 깜빡이는 불빛을 전혀 보지 않아 좋고, UPS와 디스크 베이를 산 것도 눈치채지 못했음. 단점은 안쪽에서 작업하기 조금 불편하고, 앉거나 열고 닫을 때 진동이 있어 회전식 하드디스크가 싫어할 수 있으며, 열은 의외로 괜찮았지만 옷장보다 나쁘지는 않았음. 액체를 엎지를 위험은 있지만 설계상 안으로 들어가기보다 둘레로 흐르는 편이고, 최악엔 하드웨어 밑에 받침을 두면 됨. 청소하다 가구를 옮기는 배우자가 선을 당길 수 있으니 여유 길이를 줘야 함
    https://www.ikea.com/us/en/images/products/friheten-sleeper-...
    †† 뒤쪽 구석으로 라우팅한 뒤 가장 가까운 콘센트까지 벽 안에 숨겨서 실제로는 보이지 않았음

    • IKEA KIVIK 소파의 침대 아닌 모델도 비슷한 생각을 했음. 넓고 각진 팔걸이가 아래쪽으로 열려 있어서 작은 SFF PC 타워들이나 랙마운트 장비를 옆으로 넣을 수 있을 것 같고, 좌석 밑에도 랙마운트 장비가 들어갈 공간이 있음
      결국 하지 않은 이유 중 하나는 장비 바로 위와 주변이 소파 연료가 되는 화재가 싫었기 때문임. 서버 자체보다 UPS가 조금 걱정됐음. 그 구역을 판금으로 덧대고, UPS 배터리 종류가 가스를 낼 수 있다면 환기를 잘하면 조금 안심되겠지만 일이 너무 커짐. 그래서 결국 장비는 천 소재에서 떨어진 랙/선반으로 갔고, 눈으로 확인할 수 있게 했음
    • 정말 대단함. 서버를 안에 넣은 실제 사진 같은 게 있는지 궁금함
      환기와 열, 화재 위험이 꽤 걱정될 것 같음. lack rack이 떠오름
      https://archive.is/Uf2k3
  • 홈랩 세계 전체가 훌륭함. 사람마다 저전력, 흥미로운 프로세서, 데이터 소유권, 고가용성, UPS/전가정 UPS 같은 목표가 있고, 이 겹치는 관심사와 소프트웨어가 만나는 공통 지점이 이라는 점이 재미있음
    업계 전문가가 취미로 노는 경우부터 업계 밖 사람들까지 끌어들이는 사람들의 폭도 흥미로움. 나도 본격적으로 빠져들었고, 적어도 나에게는 초기 인터넷의 마법 같은 느낌을 되살려줌

    • 커뮤니티가 정말 훌륭함. Reddit과 Lemmy에서 매우 활발하고, 사람들이 항상 빠르게 해결책을 찾아주고 모범 사례로 설정하는 조언을 줌. 이런 걸 배우는 게 흥미롭다면 정말 보석 같은 곳임
  • 다른 관점에서 보면 내 홈랩은 이렇다. 위치는 지하 사무실 선반 위이고, 환기는 괜찮으며 WiFi는 괜찮지만 아주 좋지는 않음
    하드웨어는 동네 교환 장터에서 주운 오래된 PC이고, 다른 낡은 PC에서 빼온 RAM을 추가하고 하드디스크와 WiFi 카드를 샀음. 소프트웨어는 Debian stable과 podman/podman-compose임. 유용한 서비스는 전부 compose 파일이 든 폴더이고, podman-compose로 systemd 유닛으로 바꿔 씀. 글에 나온 구성이 취향이라면 멋진 일이니 마음껏 해도 됨. 하지만 반드시 그럴 필요는 없고, 특히 처음부터 그럴 필요는 절대 없음. 이 오래되고 거의 공짜인 PC에서 가족이 매일 쓰는 서비스 여러 개를 돌리는데, 16GB RAM의 절반도 안 쓰고 CPU 사용률도 5%를 넘지 않음

    • 내가 제일 좋아했던 홈랩 구성은 낡은 노트북, 원래 XP였지만 Ubuntu로 바꾼 것과 USB 드라이브 몇 개를 주워 온 파일 캐비닛 맨 위 서랍에 넣어둔 때였음
      뒤쪽에 선 구멍을 냈고, 열이 충분히 적어 공기 흐름이 문제가 된 적이 없었음. 개인 웹사이트와 어항 웹캠을 호스팅하고, 초인종에 연결하고, XMPP와 문서 저장소로도 썼음. 서버가 필요하면 뭐든 거기에 넣었음. 이사 후에는 오래된 Mac Mini를 NAS로 쓰게 됐고, 이후엔 만질 시간이 별로 없었음
    • 비슷하게, 내 홈랩은 구석에 밀어 넣은 오래된 게이밍 장비에서 systemd를 통해 docker compose 서비스 여러 개를 돌리는 구성임
    • 거의 내 얘기일 수도 있음. 차이는 내 “서버”가 리스 반납 Dell Micro PC이고 RAM을 최대로 꽂아 ProxMox를 돌리며, VM 여러 개와 Synology NAS에 저장된 데이터가 모두 지하 사무실 옷장에 있다는 점임
      원격 접근을 위해 tailscale도 설정해뒀음
  • 시간이 지나며 공들여 만든 꽤 큰 홈랩이 있고, 잘 동작해서 아주 좋아함. 다만 진짜 문제는 재해 복구임. 전부 복제하려면 영원히 걸릴 것 같고, 모두 기억할 수 있을지도 모르겠음
    라우터 설정, 스위치 설정, NAS, 여러 VLAN에 흩어진 Docker 컨테이너들 등 네트워크를 초기에 그려두긴 했지만 시간이 지나며 최신 상태를 유지하지 못했음. 인프라 다이어그램을 그리고 문서화하고 최신 상태로 유지할 좋은 도구가 있는지 궁금함. 백업과 업그레이드도 계속 문제임. 컨테이너를 하나 만들어두고 6개월 뒤 다시 보면 뭘 했는지 전혀 모를 때가 많음. NUC, NAS, 데스크톱, 서버 등 여러 머신에 컨테이너가 수십 개 흩어져 있고, 서비스마다 bind mount 위치, 실행 사용자, 권한 관례가 다 다르게 느껴짐. 머릿속에 다 담아둘 수 없고, 특히 시간이 지난 뒤에는 더 그렇다. 중앙 인터페이스에서 백업, 복구, 업그레이드만 누를 수 있으면 좋겠음. 예전 VM clone/snapshot으로 cattle처럼 굴리던 시절이 그리움. Proxmox 머신에 아직 몇 개 VM이 있어서 어느 정도 비슷하지만, 전체 홈랩에는 그런 게 없음. 이론상 집을 불태워도 전체 구성을 완전 복구할 수 있는 지점으로 가고 싶음. 집 구성 관리에 Kubernetes까지 가는 것보다 더 단순한 방법이 분명 있을 텐데, 다들 뭘 쓰는지 궁금함

    • 핵심 문제는 일관성 부족으로 보임. 장치 종류, 배포 방식 등의 수를 줄이는 것부터 해보겠음
      한두 사람이 넓게 확장하기는 너무 어렵지만, 한 스택을 깊게 파면 잘 알게 되고, 전부 정확히 같은 방식이면 전부 동작하거나 전부 안 동작하는 상태에 가까워짐. 결국 모든 것이 잘 동작해야 하는 구조가 됨
    • 작년에 실수로 서버 드라이브를 지웠지만, 내 구성 덕분에 그렇게 나쁘지는 않았음. 전략은 모든 프로젝트 폴더에 deploy.ps1 스크립트를 두는 것임
      80%는 VM 만들기, rclone으로 파일 복사하기, 필요하면 서비스 설치/시작하기 정도이고, 커스텀 명령을 써서 대략 3줄임. VM이 켜져 있다면 배포는 100ms 정도 걸림. 가끔 스크립트가 더 복잡해지지만, 기본 생각은 내부에서 어떤 시스템을 쓰든 deploy.ps1을 실행하면 인터넷 없이, 의존성 없이, 우주의 열적 죽음까지 동작하게 하는 것임. 전부 잃은 뒤 deploy를 다시 실행했고 목록으로 묶어 전체를 복구했음. 라우팅 설정 문서화가 100% 안 된 점에는 공감함. 내 라우터/스위치 설정도 솔직히 너무 복잡해서 줄여야 할 것 같음
    • Framework나 System76 같은 회사가 Nix/Guix가 빌드를 관리하듯 하드웨어를 코드화하는 재현 가능한 제조 프로세스를 내놓으면 좋겠음. 재해 복구가 훨씬 쉬워질 것임
      Super Micro Computer는 이미 할 수 있을지도 모르지만 대상이 데이터센터임. 꿈만 꿀 수 있음
    • 인프라 복잡도가 도움이 되지 않는 것 같으니 먼저 줄이는 것부터 시작하겠음. 나는 단일 서버 Fujitsu D3417-B, Xeon 1225v5, 64GB ECC, WD SN850x 2TB NVMe에 Proxmox를 올리고, OpenWRT 라우터 Banana Pi BPI-R3를 씀
      Proxmox는 유휴 상태에서 약 12W, OpenWRT는 약 4.5W를 쓰고, NodeJS로 OpenWRT에서 MeshCommander를 돌려 원격 관리할 수 있음. ZFS의 네이티브 암호화를 쓰기 때문에 외장 드라이브에 전체 백업을 이렇게 함
      # create backup pool on external drive
      zpool create -f rpoolbak /dev/sdb
      # create snapshot on proxmox NVMe
      zfs snapshot -r "rpool@backup-2024-01-19"
      # recursively send the snapshot to the external drive (initial backup)
      # pv only is there to monitor the transfer speed
      zfs send -R --raw rpool@backup-2024-01-19 | pv | zfs recv -Fdu rpoolbak
      증분 백업은 -I 옵션과 시작/끝을 표시하는 두 스냅샷을 주면 됨
      # create new snapshot
      zfs snapshot -r "rpool@backup-2024-01-20"
      # only send everything between 2024-01-19 and 2024-01-20
      zfs send -RI --raw rpool@backup-2024-01-19 rpool@backup-2024-01-20 | pv | zfs recv -Fdu rpoolbak
      쉽고 빠르며 꽤 신뢰할 만함. zfs-auto-snapshot을 쓰면 파일시스템을 15분 단위로 되돌릴 수 있음. 가상 머신 되돌리기에도 꽤 유용함[1]. 최근 NVMe, Samsung 980 Pro가 죽었는데 zfs로 백업을 반대 방향, rpoolbak에서 rpool로 복구하는 셸 명령을 실행하니 700GB에 약 2시간 걸렸고 서버가 다시 온라인이 됐음. ZFS가 특히 암호화에서는 어떤 경우 “실험적”이라는 건 알지만 결과에는 꽤 만족했음
      1: https://pilabor.com/series/proxmox/restore-virtual-machine-v...
    • 내 홈랩을 다시 부트스트랩하려고 했는데, 분명 잊어버리거나 “머릿속에 다 담을 수 없는” 상태가 될 걸 알아서 교착 상태에 빠졌음
      그래서 문서화에 많은 시간을 쓰고, 가능하면 단순하고 기본에 가깝고 커뮤니티 지원이 있는 방식으로 만들려 하고 있음. 그 결과 아직 홈랩도, 여기서 누군가 부른 “homeprod”도 없음. 같은 문제의식을 설득 중인 친구도 찾아서, 버스 팩터가 1이 되지 않도록 홈랩 문서와 절차를 서로 미러링해볼까 함
  • 작년부터 홈랩 구성을 설정하고 유지해 왔는데 정말 놀라움. 컨테이너, 가상 머신, 네트워킹에 대해 엄청 많이 배웠음
    paperless-ngx [1]와 immich [2] 같은 일부 셀프호스팅 애플리케이션은 기능 면에서 독점 클라우드 솔루션보다 훨씬 뛰어남. tailscale [3] 같은 VPN 서비스를 더하니 이제 전 세계 어디서든 홈랩에 접근할 수 있음. 빠진 건 NUC나 미니 PC 같은 저전력 머신을 마련해서 24/7 필요한 서비스를 옮기고 전기요금을 줄이는 것뿐임. 유지할 수 있고 주말에 정기 점검과 업그레이드할 에너지가 있다면, 자기 홈랩을 만드는 걸 100% 추천함
    [1] https://docs.paperless-ngx.com/
    [2] https://immich.app/
    [3] https://tailscale.com/

    • 미니 PC에는 꼭 투자하는 게 좋음. 강력한 HP elitedesk를 샀는데 유휴 상태에서 7W만 먹고 컨테이너 38개를 돌림
  • 홈랩 장비가 비기술 nerd의 생활공간에 있다면 소음, 조명/디스플레이, 눈에 띄지 않음도 생각해야 함. 아파트에 살면서 오랫동안 옷장 안에 뒀고, 거실로 옮긴 뒤에는 몇 가지 해법을 썼음
    눈에 띄지 않게 하려면 다른 가구와 맞는 IKEA CORRAS 캐비닛을 썼음. 예전에는 랙마운트 포스트를 넣었지만 튀어나와서 제거했음. 소음은 팬리스 장비나 소수의 Noctua 팬으로 식힐 수 있는 장비를 골랐고, 1U PSU 팬도 Noctua로 바꾸는데 약간의 납땜과 욕이 필요함. 결국 데이터센터가 아닌 환경에서 PSU 말고는 팬리스로 돌릴 수 있는 Atom 서버를 자주 쓰게 됨. 지금 유일하게 조용하지 않은 3090 GPU 서버는 필요할 때만 켜지게 했음. 노트북에서 Wake-on-LAN 명령을 실행하지만, IPMI, PDU나 IoT 콘센트 꼼수, 소프트웨어로 3090과 팬을 멈추기, Kubernetes 자동화 등도 가능함. 너무 밝은 표시 LED는 흰색 라벨프린터 테이프로 덮으면 잘 되고 생각보다 보기 좋음. 볼 필요 없는 불빛은 검은 라벨프린터 테이프를 씀. 콘솔은 특히 TrackPoint 키보드가 있는 빈티지 IBM 같은 눈에 띄지 않는 슬라이드아웃 랙 콘솔을 좋아함. 거실에 모니터링 디스플레이를 둔다면 적어도 키보드는 슬라이드아웃 서랍에 넣겠음. 필요 없는 장비도 처분함. 아니면 현재 랙 공간의 두 배 이상이 필요하고, 거실에서 오디오파일 장비처럼 보이게 넘기기도 어려워짐. 아파트에서 지금 라우터까지 만지고 싶지 않고 서버만 원한다면 플라스틱 OpenWRT 라우터도 고려할 만함. 라우터, 스위치, 패치 패널 몇 랙 유닛을 대체할 수 있고, 외부 WiFi AP와 배선도 필요 없을 수 있음

    • 수학 대학원생이고 LLM도 다뤄보고 싶어서 예산 때문에 3060이나 3090을 생각 중임. 그런데 2011년 MacBook Pro를 쓰고 있어서 이런 일에는 별로 편하지 않음
      내 “요구사항”을 고려하면 최소 예산이나 지출을 어느 정도로 잡아야 할지 궁금함. 아니면 vast.ai 같은 사이트로 충분하다고 보는지도 궁금함
  • 30살이 넘어서 그런지 그냥 홈 네트워크와 컴퓨터가 두 대 이상 있는 상태라고 부름. 왜 홈 네트워크가 있냐면, 여기 많은 사람처럼 네트워크 애플리케이션을 개발하기 때문임
    네트워크 기술자는 아니지만 TCP/IP, DNS 같은 인터넷의 여러 구성요소가 실제로 어떻게 동작하는지 이해하는 것은 정말 유용하고, 많은 개발자와 차별화됨. 내 네트워크를 직접 통제하고 원하는 대로 할 수 있는 유연성도 좋음. 왜 컴퓨터가 여러 대냐면, 요즘은 가상화가 꽤 좋아서 다양한 OS를 갖고 노는 게 주된 이유는 아님. 실제로는 장비의 위치 때문임. 하드디스크는 꽤 시끄러워서 찬장 안에 두고 싶지만, 화면과 키보드는 책상 위에 두고 싶음. 그래서 찬장에 NAS가 있고, 책상에는 조용한 PC, 거실에는 무소음 미디어 센터와 기타 장비가 있음. 한 가지 말하자면 랙마운트 서버 장비의 유혹에 빠지지 말라는 것임. 멋져 보이고 중고로 싸게 구할 수 있지만 집에는 적합하지 않음. 대신 큰 팬이 달린 데스크톱 PC 케이스를 쓰는 게 좋음. 랙마운트 네트워크 장비는 꽤 괜찮음

    • 서버에 따라 다름. Super Micro는 네트워크 캐비닛이나 벽걸이 랙에 들어갈 만큼 얕고 전력도 낮은 랙마운트 서버를 만듦
      진짜 OOB 관리 시스템도 있어서 꽤 도움이 됨. https://www.supermicro.com/en/products/system/iot/1u/sys-510...
      일반적인 깊은 랙마운트 서버는 홈랩에서 수고에 비해 얻는 게 적다는 데 동의함
    • 내 홈 서버는 4RU 케이스에 데스크톱 부품을 채워 만들었음. 다행히 4RU는 큰 팬을 넣기에 충분히 높아서 꽤 조용함
      하지만 진짜 랙마운트 장비를 집에 들일 생각이 조금이라도 있다면, 미리 어떻게든 그 끔찍한 소음을 들어보길 강력 추천함. 그걸 견디며 산다는 건 상상하기 어려움
    • 랙마운트 장비도 어디에 “랙”으로 들어가느냐에 따라 괜찮음. 어떤 기후에서는 차고나 지하실 등에 둘 수 있음
      다만 진짜 랙이 없다면 꽤 귀찮아짐. 결국 랙 비슷한 탑처럼 다른 장비 위에 쌓이게 되고, 손보고 싶은 장비에 접근하려면 전부 해체해야 함. 리스 반납 랙 장비로 갈 거라면 제대로 가서 랙과 레일도 사는 게 좋음. 레일은 조금 비쌀 수 있으니 포함된 매물을 확인해야 함. 레일은 서버보다 훨씬 오래 호환되는 경우가 많아서, 리스 반납 장비를 대량 처분하는 큰 회사들은 보통 포함하지 않고, 작은 판매자들은 종종 포함