在 Proxmox VE(PVE)中安装 Home Assistant OS(HAOS)使用 qcow2 镜像文件是一个相对简单的过程。以下是详细的步骤,基于你已经下载了最新的 haos_ova-<version>.qcow2.xz 文件(如 haos_ova-15.2.qcow2.xz)。我将假设你使用的是 Proxmox VE 8.x,并提供手动安装的步骤,同时确保解决可能的常见问题。
准备工作
确认环境:
- 你需要有 Proxmox VE 已安装并可访问(通过 Web 界面或 SSH)。
- 确保已下载最新的 Home Assistant OS qcow2 镜像文件(从 Home Assistant GitHub Releases)。
- 确保你的存储池(如
local-lvm或local-zfs)有足够空间存储解压后的 qcow2 文件(解压后约为 2-4GB,建议至少预留 32GB 用于 VM 磁盘)。
推荐硬件配置:
- CPU:至少 2 核。
- 内存:至少 4GB(推荐 4-8GB)。
- 存储:至少 32GB(Home Assistant 推荐)。
安装步骤
1. 上传并解压 qcow2 镜像文件
将压缩的 qcow2 文件上传到 Proxmox:
- 使用 SSH 或 SCP 将下载的
haos_ova-<version>.qcow2.xz文件传输到 Proxmox 主机。例如,传输到/root目录:或者,你可以在 Proxmox 主机上使用1
scp haos_ova-15.2.qcow2.xz root@<proxmox-ip>:/root/
wget直接下载:1
2cd /root
wget https://github.com/home-assistant/operating-system/releases/download/15.2/haos_ova-15.2.qcow2.xz
- 使用 SSH 或 SCP 将下载的
安装 xz-utils(如果未安装)并解压文件:
- 在 Proxmox 主机上,安装解压工具:
1
2apt update
apt install xz-utils - 解压 qcow2 文件:解压后会生成
1
unxz /root/haos_ova-15.2.qcow2.xz
haos_ova-15.2.qcow2文件。
- 在 Proxmox 主机上,安装解压工具:
(可选)清理空间:
- 如果空间有限,可以在后续步骤完成后删除原始的
.xz文件:1
rm /root/haos_ova-15.2.qcow2.xz
- 如果空间有限,可以在后续步骤完成后删除原始的
2. 创建虚拟机
登录 Proxmox Web 界面:
- 打开浏览器,访问
https://<proxmox-ip>:8006,登录 Proxmox。
- 打开浏览器,访问
创建新的虚拟机:
- 点击右上角的 Create VM。
- 配置以下设置:
- General:
- VM ID:选择一个唯一的 ID(如
100)。 - Name:设置为
home-assistant或其他你喜欢的名称。
- VM ID:选择一个唯一的 ID(如
- OS:
- 选择 Do not use any media(因为我们稍后会导入 qcow2 镜像)。
- System:
- BIOS:选择 OVMF (UEFI)(Home Assistant 需要 UEFI 启动)。
- EFI Storage:选择你的存储池(如
local-lvm或local-zfs)。 - Pre-Enroll Keys:取消勾选(禁用 Secure Boot,否则可能导致启动失败)。
- Machine:选择
q35(推荐)。
- Hard Disk:
- 删除默认的磁盘(点击垃圾桶图标),因为我们将使用导入的 qcow2 镜像。
- CPU:
- 分配至少 2 核(推荐)。
- Memory:
- 分配至少 4096 MB(4GB,推荐 4-8GB)。
- Network:
- 选择
virtio网卡,桥接到vmbr0(或你的网络桥接)。
- 选择
- Confirm:
- 取消勾选 Start after created(我们需要先导入磁盘)。
- 点击 Finish 创建 VM。
- General:
3. 导入 qcow2 镜像
使用
qm importdisk命令导入镜像:- 在 Proxmox 主机上通过 SSH 或 Web 界面的 Shell 执行:
1
qm importdisk <VM-ID> /root/haos_ova-15.2.qcow2 <storage> --format qcow2
- 替换
<VM-ID>为你创建的虚拟机 ID(如100)。 - 替换
<storage>为你的存储池名称(如local-lvm或local-zfs)。 - 示例:
1
qm importdisk 100 /root/haos_ova-15.2.qcow2 local-lvm --format qcow2
- 替换
- 导入完成后,输出的最后一行会显示类似
Successfully imported disk as 'unused0:local-lvm:vm-100-disk-0'。
- 在 Proxmox 主机上通过 SSH 或 Web 界面的 Shell 执行:
将导入的磁盘添加到虚拟机:
- 返回 Proxmox Web 界面,选择你的虚拟机(VM ID 如
100)。 - 进入 Hardware 标签,找到
Unused Disk 0(如unused0:local-lvm:vm-100-disk-0)。 - 点击 Edit,设置:
- Bus/Device:选择
SCSI,端口为0。 - Discard:如果使用 SSD,勾选此选项以启用 TRIM 支持。
- 点击 Add。
- Bus/Device:选择
- 现在磁盘会显示为
Hard Disk (scsi0)。
- 返回 Proxmox Web 界面,选择你的虚拟机(VM ID 如
调整磁盘大小(可选):
- Home Assistant 推荐至少 32GB 磁盘空间。如果导入的 qcow2 磁盘较小,可以扩展:
- 在 Hardware 标签,选择
Hard Disk (scsi0),点击 Resize disk。 - 输入增加的容量(例如,输入
26表示增加 26GB,使总大小达到约 32GB)。
- 在 Hardware 标签,选择
- Home Assistant 推荐至少 32GB 磁盘空间。如果导入的 qcow2 磁盘较小,可以扩展:
配置 EFI 磁盘:
- Home Assistant 需要 EFI 磁盘以支持 UEFI 启动。
- 在 Hardware 标签,点击 Add > EFI Disk。
- 选择存储池(如
local-lvm),取消勾选 Pre-Enroll Keys,点击 OK。
设置启动顺序:
- 进入虚拟机的 Options 标签,双击 Boot Order。
- 勾选
scsi0(Home Assistant 磁盘),取消勾选其他选项(如ide2、net0)。 - 点击 OK 保存。
启用 QEMU Guest Agent(可选但推荐):
- 在 Options 标签,双击 QEMU Guest Agent,勾选 Enabled。
- 这有助于 Proxmox 监控和管理 VM。
4. 启动虚拟机并验证
启动虚拟机:
- 在 Proxmox Web 界面,选择你的虚拟机,点击 Start。
检查控制台:
- 打开虚拟机的 Console(在 Web 界面)。
- 如果启动成功,Home Assistant 会显示一个欢迎界面,并提供访问地址,如
http://homeassistant.local:8123或http://<VM-IP>:8123。
访问 Home Assistant:
- 在浏览器中输入
http://<VM-IP>:8123或http://homeassistant.local:8123(如果你的网络支持 mDNS)。 - 按照提示设置管理员账户、位置等信息,完成 Home Assistant 初始化。
- 在浏览器中输入
5. 清理(可选)
- 导入完成后,可以删除 Proxmox 主机上的原始 qcow2 文件以释放空间:
1
rm /root/haos_ova-15.2.qcow2
常见问题及解决方法
启动失败,显示 “Access Denied” 或 UEFI 错误:
导入磁盘失败,提示文件不存在:
无法访问 Web 界面:
磁盘性能问题:
- 原因:未启用
Discard或未优化存储设置。 - 解决:
- 如果使用 SSD,确保在添加磁盘时勾选 Discard。
- 使用
virtio-scsi-pci作为 SCSI 控制器以提高性能。
- 原因:未启用
SSH 访问 Home Assistant:
额外建议
- 备份:安装完成后,配置 Proxmox 备份到外部存储(如 NFS 或 Proxmox Backup Server),以便在需要时恢复 VM。
- 更新:定期检查 Home Assistant OS 的新版本,下载新的 qcow2 镜像并重复上述步骤以升级(或使用 Home Assistant 内置更新功能)。
- 脚本自动化(可选):如果你不想手动执行这些步骤,可以使用社区提供的脚本(如 tteck/Proxmox),但请仔细审查脚本内容以确保安全。
示例命令总结
假设 VM ID 为 100,存储为 local-lvm,Home Assistant 版本为 15.2:
1 | # 解压镜像 |
参考资料
- Home Assistant 官方文档:https://www.home-assistant.io/installation/linux
- Proxmox 社区论坛和教程