Home Assistant使用笔记(2)——Home Assistant迁移记录
前言
家里现在用简易NAS是捡垃圾来的j1900工控主机,上面装了PVE,两个虚拟机装了openwrt、Home Assistant,还有一个LXC容器跑Docker,已经用了好几年,服务越来越多,内存只有8GB比较紧张,感觉比较卡,想着利用手头的电子垃圾分担跑些服务,给j1900减减负,其中Home Assistant资源需求最大,且需要稳定运行,经常因为折腾Docker搞宕机,怕哪天搞坏系统,花几年慢慢搞起来的智能家居又得从头开始想想就怕,于是就花时间把Home Assistant迁移到一块吃灰三年的TN3399开发板上,这也是捡垃圾来的拆机板,RK3399 CPU,4GB内存,原存储32GB,买来后已经被我换成128GB,存储足够,补焊了红外电路,当时想当电视盒子来着,还剪裁定制了安卓TV系统,修改遥控码适配了一个遥控器,耍了几天又觉得没意思,改刷了armbian想当服务器用,然后就没有然后扔一边吃灰了,这次拿来做Home Asisstant专用机,折腾过程遇到两个比较大的问题记录一下,省的以后忘了。
方案的选择
因为找不到Home Assistant直装的固件,只能通过docker或虚拟机安装,我原来也是虚拟机安装的HAOS,后期维护升级方便,也优先选择HAOS,所以只能通过虚拟机,armbian也内置了kvm和pve的安装脚本,安装比较容易,本来想板子性能羸弱,kvm资源占用较少,先装的kvm但是装完kvm,网络挂了死活连不上,只能串口线进行卸载恢复,改用使用相对比较简单的pve,最终无奈选择armbian+pve+home assistant。
问题一:有线网络无法连接
遇到的第一个坑是装完kvm和pve有线网络死活连不上,经过好一顿排查和找度娘,最后怀疑是网络管理器network manager和networking冲突引起网络配置混乱,导致网络无法连接,根据网上的解决办法禁用其中一种,我选择禁用network manager,虽然它有文字界面使用比较简单,可是不熟悉,而且它比较新,网上教程大多用的networking,为省的后面出问题查不到资料,选择使用networking,禁用后,将多余配置文件(/etc/network/interfaces.d目录下文件)删除,恢复网络设置(/etc/network/interfaces文件),interfaces文件内容如下:
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual up ip link set $IFACE up down ip link set $IFACE down auto vmbr0 iface vmbr0 inet static hwaddress ether XX:XX:XX:XX:XX:XX address 192.168.31.222/24 broadcast 192.168.31.255 netmask 255.255.255.0 gateway 192.168.31.1 bridge-ports eth0 bridge-stp off bridge-fd 0 dns-nameservers 192.168.31.1
重启networking服务后生效。
sudo systemctl restart networking
事后想来,应该是armbian默认使用的network manager管理网络,而我在安装前配置网桥时启动了networking,造成冲突无法上网,后面排错过程又用了armbian-config,一团乱麻,所以如果不使用系统默认管理器,选择使用networking就先禁用network manager,也不要使用armbian-config来配置网络。
禁用network manager命令:
sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager
问题二:宿主机无法从管理界面操作虚拟机关机,命令强制关机后虚拟硬盘数据损坏无法正常启动系统
pve使用好几年,发现一直无法从管理界面将虚拟机关机,也一直没有去深究什么问题,都是图方便直接命令行强制关机重启,没去home assistant系统里关机,在j1900上一直这样操作没出过问题,结果这次遇上了,好不容易迁移并重新整理好的系统又重新弄了一遍。重新装第二遍时就找了下资料,发现需要启用qemu guest agent就可以从宿主机正常关闭虚拟机,home assistant启用只要两步即可:

1、选择虚拟机--硬件--添加--串行端口,弹出窗口输入0,点添加。


2、选择虚拟机--选项--双击QEMU Guest Agent,下面高级打勾,上面两行打勾,type默认,点ok, 然后重启虚拟机即可,其他系统可能要第三步,在虚拟机内的系统安装qemu-ga,因home assistant官方已经内置不用再安装。现在可以从宿主机管理页面优雅的关闭虚拟机了,用起来也比较放心了,最重要的还是要做好备份,重要的事说三遍:备份!备份!备份!现在我已经把home assistant自动备份开启,并自动存储到NAS上了,教训啊~~
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
