[HA 구축기 05] HA OS VM 설치 가이드

Home Assistant를 처음 설치할 때 대부분 Docker나 Python 환경부터 시작한다. 빠르게 띄울 수 있어서 입문 단계에서는 나쁘지 않은 선택이다. 그런데 어느 정도 쓰다 보면 슬슬 막히는 지점이 생긴다. 애드온 메뉴 자체가 없거나, Zigbee2MQTT나 Node-RED 같은 걸 설치하려고 했더니 지원이 안 된다는 걸 뒤늦게 알게 되는 식이다. 결국 HA OS 환경으로 다시 갈아타야 하는 상황이 오는데, 그때 가장 현실적인 선택지가 가상머신(VM)에 HA OS를 올리는 방법이다. 전용 하드웨어를 새로 살 필요 없이, 기존에 쓰던 PC나 홈서버를 그대로 활용할 수 있다는 게 가장 큰 장점이다. 이 글은 직접 구축하면서 막혔던 부분과 확인했던 설정들을 순서대로 정리한 것이다.

 

왜 굳이 HA OS인가 — 설치 방식별 차이

Home Assistant는 설치 방식이 네 가지로 나뉜다. 겉보기에는 다 비슷해 보이지만, 실제로 쓸 수 있는 기능 범위가 꽤 다르다. 처음에 이 차이를 모르고 Docker 컨테이너 방식으로 설치했다가, 나중에 애드온이 필요해서 결국 다시 설치한 경험이 있다면 아마 공감할 것이다.

설치 유형 Supervisor / 애드온 자동 업데이트 관리 편의성
HA OS ✅ 완전 지원 ✅ 지원 매우 편리
HA Supervised ✅ 지원 ✅ 지원 시스템 의존
HA Container ❌ 미지원 ❌ 미지원 수동 관리
HA Core ❌ 미지원 ❌ 미지원 완전 수동

핵심은 Supervisor(슈퍼바이저)라는 관리 레이어가 있느냐 없느냐다. Supervisor가 있어야 HA 웹 UI에서 애드온 탭이 보이고, 클릭 몇 번으로 Mosquitto 브로커, Zigbee2MQTT, File Editor, Node-RED 같은 것들을 설치할 수 있다. 백업 예약도 GUI에서 설정할 수 있어서 관리가 훨씬 편하다. HA Container나 Core 방식은 이런 기능이 없어서, 필요한 서비스를 따로 설치하고 수동으로 연결해야 한다. 익숙한 사람에게는 괜찮지만, 처음 구축하는 단계에서는 꽤 번거롭다.

HA Supervised도 Supervisor를 지원하지만, 이 방식은 운영체제 환경에 꽤 민감하다. 특정 Debian 버전과 패키지 조합이 맞아야 안정적으로 돌아가는데, 업데이트를 하다가 환경이 틀어지면 경고 메시지가 붙거나 기능이 일부 제한되는 경우가 있다. 그래서 장기적으로 안정적으로 운영하려면 HA OS 방식이 가장 낫다는 게 직접 써본 결론이다.

 

설치 전에 실제로 막히는 지점들

처음 VM으로 HA OS를 설치할 때 가장 많이 걸리는 부분이 있다. 설치 자체보다 설치 전 준비 단계에서 놓치는 것들이 의외로 많다.

  • 하이퍼바이저 선택을 못 정하는 경우 — Proxmox, VMware, VirtualBox 중 뭘 써야 할지 모르겠다는 분들이 많다. 홈서버 용도라면 Proxmox VE가 가장 무난하다. 무료 오픈소스이고, 웹 UI로 VM 관리가 가능해서 별도 모니터 없이도 운영할 수 있다. 이미 Windows PC에서 테스트해 보고 싶다면 VirtualBox도 충분하다.
  • 이미지 형식을 헷갈리는 경우 — HA OS 이미지는 하이퍼바이저마다 파일 형식이 다르다. 잘못된 형식을 받으면 VM에 적용이 안 된다.
  • 네트워크 설정을 NAT로 두는 경우 — VM 네트워크를 NAT 모드로 두면 HA가 같은 네트워크의 다른 기기를 자동으로 발견하지 못한다. 반드시 브리지(Bridge) 모드로 설정해야 한다.
  • BIOS 설정을 기본값으로 두는 경우 — Proxmox에서 VM 생성 시 BIOS를 SeaBIOS 기본값으로 두면 부팅 문제가 생길 수 있다. OVMF(UEFI) 방식으로 바꿔야 한다.
  • 압축 해제를 빠뜨리는 경우 — 다운로드한 파일이 .xz로 압축된 상태인데, 압축 해제 없이 바로 VM에 올리려다 오류가 나는 경우가 있다.

 

사전 준비 체크리스트

설치를 시작하기 전에 아래 항목을 먼저 확인해 두면 중간에 막히는 일이 줄어든다.

  1. 하이퍼바이저 소프트웨어가 설치되어 있는가 (Proxmox VE / VMware / VirtualBox 중 하나)
  2. VM에 할당할 리소스가 충분한가 — CPU 2코어 이상, RAM 최소 2GB(4GB 권장), 디스크 32GB 이상
  3. HA OS 이미지를 하이퍼바이저에 맞는 형식으로 다운로드했는가
  4. 다운로드한 이미지의 압축을 해제했는가 (.xz 파일이라면 해제 필요)
  5. VM 네트워크를 브리지 모드로 설정할 준비가 되어 있는가

리소스 기준에 대해 조금 더 이야기하자면, 최소 사양으로도 HA 자체는 돌아가지만 애드온을 여러 개 추가하기 시작하면 RAM 2GB는 금방 빡빡해진다. 처음부터 4GB를 잡아두는 게 나중에 손댈 일이 적다. 디스크도 마찬가지인데, HA 백업 파일이 쌓이다 보면 32GB가 생각보다 빨리 찬다. 여유가 된다면 64GB 이상을 권장한다.

 

HA OS 이미지 다운로드 방법

공식 설치 페이지(home-assistant.io/installation)에 접속해서 설치 환경으로 “Virtual Machine”을 선택하면 된다. 하이퍼바이저별로 받아야 하는 파일 형식이 다르니 아래를 참고한다.

  • Proxmox VE / VMware ESXi — .vmdk 또는 .qcow2 형식
  • VirtualBox — .vdi 형식
  • Hyper-V — .vhdx 형식

Proxmox를 사용한다면 haos_ova-XX.X.qcow2.xz 파일을 받으면 된다. 파일명 중간의 숫자가 버전인데, 다운로드 시점에 따라 달라진다. 항상 최신 Stable 버전을 받는 것이 좋다. Beta나 RC(릴리즈 후보) 버전은 안정성이 검증되지 않았으니 홈서버 운영 용도라면 Stable 버전을 선택하는 게 무난하다.

파일을 받은 뒤에는 압축 해제를 먼저 해야 한다. Linux 또는 Proxmox 터미널에서는 아래 명령을 쓰면 된다.

xz -d haos_ova-XX.X.qcow2.xz

Windows 환경에서는 7-Zip 같은 프로그램으로 압축을 풀 수 있다. 압축 해제 후 .qcow2 파일이 남아 있으면 준비 완료다.

 

Proxmox에서 VM 생성 — 단계별 설정

Proxmox 웹 UI에 접속한 뒤 오른쪽 상단의 “Create VM” 버튼을 클릭해서 시작한다. 각 단계에서 기본값을 그대로 두면 안 되는 항목들이 있으니 아래를 순서대로 확인한다.

1단계 — General(일반 설정)
VM ID는 기본값을 그대로 써도 된다. Name 항목에는 “homeassistant”처럼 나중에 알아보기 쉬운 이름을 입력한다. 나중에 VM이 여러 개 생기면 이름이 중요해진다.

2단계 — OS
“Do not use any media”를 선택한다. ISO 이미지를 직접 마운트하는 방식이 아니라, 나중에 qcow2 디스크 이미지를 가져오는 방식이기 때문이다. 이 단계에서 ISO를 선택하면 안 된다.

3단계 — System
이 단계가 가장 중요하다. 기본값을 그대로 두면 나중에 부팅이 안 되거나 설치가 제대로 안 되는 문제가 생길 수 있다.

  • BIOS: OVMF (UEFI)로 변경
  • EFI Disk: 자동 생성 체크 유지
  • Machine: q35 선택
  • TPM: 비활성화해도 HA OS 구동에 문제없음

4단계 — Disks
기본으로 생성되는 디스크는 삭제한다. HA OS 이미지를 별도로 가져올 것이기 때문에, 여기서 디스크를 만들어 두면 나중에 충돌이 생긴다. 디스크 항목을 선택하고 Remove 버튼으로 제거한다.

5단계 — CPU / Memory
CPU는 2코어 이상, RAM은 2048MB(2GB) 이상으로 설정한다. 여유가 있다면 4096MB(4GB)를 권장한다. 나중에 VM 설정에서 조정도 가능하니 일단 권장값으로 시작하는 게 낫다.

6단계 — Network
Bridge 모드로 설정되어 있는지 확인한다. Proxmox 기본값이 vmbr0 브리지로 설정되어 있는 경우가 많은데, 이 상태면 괜찮다. NAT 모드로 되어 있다면 반드시 Bridge로 바꿔야 한다.

VM 생성이 완료되면 아직 바로 시작하지 않는다. 이미지를 먼저 가져와야 한다.

 

qcow2 이미지를 VM에 적용하는 방법

Proxmox에서 qcow2 이미지를 VM 디스크로 가져오는 방법은 터미널 명령을 사용한다. Proxmox 웹 UI 상단의 Shell 버튼을 클릭하거나, SSH로 Proxmox 서버에 접속한 뒤 아래 명령을 입력한다.

qm importdisk [VM_ID] haos_ova-XX.X.qcow2 local-lvm

[VM_ID] 자리에는 앞서 VM을 만들 때 지정한 번호를 입력한다. local-lvm은 Proxmox 기본 스토리지 이름인데, 환경에 따라 다를 수 있으니 Proxmox 웹 UI의 Datacenter → Storage 항목에서 사용 중인 스토리지 이름을 확인한다.

명령이 완료되면 Proxmox 웹 UI에서 해당 VM의 Hardware 탭을 열면 “Unused Disk 0” 항목이 생긴다. 이것을 선택하고 Edit → Add 버튼을 눌러 디스크로 추가한다. 이때 Bus/Device를 SCSI로 설정하고, SSD emulation(SSD 에뮬레이션) 옵션을 체크해 두면 성능에 유리하다.

디스크를 추가했으면 VM의 Options 탭으로 이동해서 Boot Order를 확인한다. 방금 추가한 디스크가 첫 번째 부팅 순서로 설정되어 있어야 한다. 설정이 안 되어 있으면 부팅 순서를 직접 조정한다.

 

처음 부팅 후 확인할 것들

설정이 모두 끝났으면 VM을 시작한다. Proxmox 웹 UI에서 VM을 선택하고 Start 버튼을 누른 뒤, Console 탭을 열면 HA OS 부팅 화면이 나타난다. 처음 부팅은 초기화 과정이 있어서 1~2분 정도 걸릴 수 있다.

부팅이 완료되면 콘솔 화면에 HA OS 접속 주소가 표시된다. 보통 http://homeassistant.local:8123 형식이거나, IP 주소 형태로 나온다. 같은 네트워크에 연결된 PC의 브라우저에서 해당 주소로 접속하면 Home Assistant 초기 설정 화면이 뜬다.

만약 접속이 안 된다면 아래 항목을 순서대로 확인한다.

  • VM 네트워크가 Bridge 모드로 설정되어 있는가
  • VM이 실제로 실행 중인가 (Proxmox에서 Running 상태인지 확인)
  • 콘솔에 표시된 IP 주소로 직접 접속해 봤는가 (homeassistant.local이 안 잡히는 경우 있음)
  • 방화벽이나 공유기에서 해당 포트(8123)가 막혀 있지는 않은가

접속이 확인되면 이름, 계정, 위치 등 초기 설정을 진행한다. 이 과정에서 Home Assistant가 같은 네트워크에 있는 스마트홈 기기들을 자동으로 발견하기도 한다. 처음에는 꽤 신기한 경험이다.

 

VirtualBox 사용자라면 — 간단히 다른 점만

VirtualBox를 사용하는 경우 전체 흐름은 비슷하지만, 몇 가지 다른 점이 있다.

  • 이미지 형식은 .vdi 파일을 받아야 한다
  • VM 생성 시 타입은 Linux, 버전은 “Linux 2.6 / 3.x / 4.x (64-bit)”로 설정
  • 디스크 생성 시 “기존 가상 하드 디스크 파일 사용”을 선택하고 .vdi 파일을 지정
  • 네트워크 어댑터를 “어댑터에 브리지”로 반드시 변경
  • 시스템 탭에서 EFI 활성화 체크

VirtualBox는 설치가 간편하고 Windows에서도 바로 쓸 수 있어서 테스트 용도로는 충분하다. 다만 24시간 상시 운영을 생각한다면 Proxmox 기반의 전용 홈서버 환경이 더 안정적이다.

 

설치 방식 선택 판단 기준 정리

VM으로 HA OS를 설치하는 방식이 모든 사람에게 맞는 건 아니다. 아래 기준으로 판단해 보면 도움이 된다.

  • Raspberry Pi 같은 전용 소형 기기가 있다면 — HA OS 전용 이미지로 직접 설치하는 게 더 간단하다. VM을 굳이 쓸 필요가 없다.
  • 기존 홈서버나 NAS가 있고 거기에 올리고 싶다면 — VM 방식이 적합하다. NAS에서 Docker로 HA를 돌리다가 기능 제한에 부딪혔다면 VM으로 전환하는 것도 방법이다.
  • 일반 Windows PC에서 테스트해 보고 싶다면 — VirtualBox로 시작해 보는 게 진입 장벽이 낮다. 나중에 안정적인 운영 환경으로 옮기면 된다.
  • Proxmox를 이미 쓰고 있다면 — 이 글에서 설명한 방식이 가장 잘 맞는다.

어떤 방식이든 HA OS 기반이라면 이후 애드온 설치, 자동화 설정, 외부 접속 설정 등은 동일하게 진행된다. 설치 방식이 달라도 HA 자체의 사용법은 같다는 뜻이다.

 

마무리 — 설치보다 이후 설정이 더 중요하다

VM에 HA OS를 올리는 것 자체는 한 번만 제대로 해두면 이후에 건드릴 일이 거의 없다. 진짜 손이 많이 가는 부분은 설치 이후다. 기기를 연결하고, 자동화를 만들고, 외부에서도 안전하게 접속할 수 있도록 설정하는 과정이 본격적인 시작이다.

처음에는 생각보다 잘 안 되는 것들이 많다. 기기가 자동으로 발견되지 않거나, 연결은 됐는데 상태가 제대로 안 나오거나 하는 식이다. 그런 상황을 만났을 때 참고할 수 있는 글들을 아래에 정리해 뒀다.

 

같이 보면 좋은 글


시리즈 글 모아보기

댓글 남기기