环境:
1.haos_generic-x86-64-11.1.img
2.Balena Etcher 1.18.11
3.haos_ova-11.1.qcow2
4.Ubuntu20.04
5.KVM
6.Docker version 24.0.5
7.HA OS11.2
8.联想E14笔记本
问题描述:
如何装好Home Assistant,四种方式安装HA OS测试
解决方案:
目录
一、联想E14笔记本部署HAOS(放弃)
二、联想E14笔记本安装Ubuntu再安装KVM虚拟机并部署 HA OS(放弃)
三、Ubuntu 下Docker部署 HAOS(放弃)
四、联想E14笔记本安装ESXI6.7并部署HAOS(成功)
官网介绍
第一步是安装Home Assistant。我们建议使用专用系统来运行 Home Assistant。 如果您不确定该选择什么,请按照 Raspberry Pi 指南 进行操作 安装 家庭助理操作系统 。
Home Assistant 提供四种不同的安装方法。建议使用以下两种方法之一:
家庭助理操作系统 :为家庭助理提供动力而优化的最小操作系统。 它带有 Supervisor 来管理 Home Assistant Core 和 Add-ons。推荐的安装方法。
Home Assistant Container :基于容器的 Home Assistant Core 独立安装(例如 Docker)。
有经验的用户可以使用两种替代安装方法:
家庭助理监督 :手动安装主管。
Home Assistant Core :使用 Python 虚拟环境手动安装。
下面的列表显示了基于所使用的设备和平台可用的安装方法。
如果您使用的 是 Home Assistant Blue ,则 Home Assistant 操作系统是 已安装。 继续加入。
比较
目前官方支持的安装方式有4种,按照逻辑上的递进顺序和功能由少到多,分别是 Core(核心)、Container(容器)、Supervised(监管的)、OS(操作系统)。但从安装和维护难易程度上排序,最简单的是OS和Container,这也是官方推荐的两种方式;更难一些同时功能最简单的,是Core;最难的最不推荐的,是Supervised。
4种方式的简要介绍如下
HA OS功能最齐全、最省心、更新最方便(所有组件都可以自动检测新版本、点点鼠标就可以完成更新)。缺点是资源占用会高一点点。
Supervised适合高手,尤其是对Linux和docker比较了解、并且linux还需要完成其他功能的。相对更复杂、更容易碰到各种问题
Core其实就是运行在容器里的Core,插件啥的都得手工安装配置,升级也需要手工完成
根据官方最新统计,全球HA的使用者中,2/3用的是 OS 这种方式
1:名称缩写
HA OS 家庭助理操作系统
Container 家庭助理容器
Core 家庭助理核心
Supervised 家庭助理监督
2:Home Assistant Core 和 Home Assistant Container 的备份由 backup 整合
3:Home Assistant Core 和 Home Assistant Container 的备份要么是迁移到 HAOS 的工具,要么是备份的完全手动恢复
我们希望我们的用户能够获得最佳的家庭自动化体验,这首先要确保他们拥有与家庭助理配合良好的设备。因此,我们将开始将以下分类器应用于我们的集成:
分类 描述
假定状态 我们无法获取设备的状态。我们能做的最好的事情就是根据我们上一个命令来假设状态。
云轮询 此设备的集成通过云进行,并且需要有效的互联网连接。轮询状态意味着稍后可能会注意到更新。
云推送 此设备的集成通过云进行,并且需要有效的互联网连接。一旦有新的状态可用,Home Assistant 将立即收到通知。
本地轮询 提供与设备的直接通信。轮询状态意味着稍后可能会注意到更新。
本地推送 提供与设备的直接通信。一旦有新的状态可用,Home Assistant 将立即收到通知。
官方github:
Core,全名 Home Assistant Core,曾用名小名:hass、ha、home assistant。
最初版本0.0,2013.9.17诞生;2014.4.14正式发布时的版本号 0.7,之后(直到2020年12月份),版本号一直在小数点后面累加(注意,0.10是0.7的弟弟,0.100是0.99的弟弟),给人以一种一直不是正式版的感觉——官方也曾经在0.99之后发文说终于要出正式版了,当时很多人以为后面会按照1.xxx的形式,不料辣帮大神太谦虚,于是继续在小数点后折腾——0.100.x,一直到0.118.5;这种情况一直持续到去年年底,当时0.119测试版都出了好几个,又想着让0.119直接变身为1.0.0的正式版本号的样子。
最后纠结来纠结去,确定了以“年+月+小版本”的形式编写版本号,第一个就是2020.12.0,一直沿用至今。
Supervisor,监工,supervised和hassos两种安装方式里的司令官,或者说总指挥。曾用名:HassIO、Hass.IO、Hass.io、Hassio、hassio、Hass.io supervisor。
显然,这些叫法和 对Supervised 这种安装方式的叫法经常混用,原因就是supervisor在supervised这种玩法里的地位和作用。
名称和版本号演进:
0.4,正式名称HassIO,2017.4.6
0.36,名称加了个点Hass.IO,2017.6.5,后来IO又改成了小写io,有时候点被忽略
0.102,2018.4.30
103,版本号前面去掉了0.,2018.5.9
194,改名为Hass.io supervisor,2020.1.8
197,改名为Supervisor,2020.2.5
249,2020.10.19
2020.10.0,当月26号发布
2021.10.0,本月7号发布
怀疑开发组里有国人大神,嫌弃250这个版本号,于是早在去年10月就率先改用了“年+月+小版本”的形式。
OS,全名Home Assistant Operating System,注意官方文档里有时候也把这个叫成“Home Assistant”——怀疑是粗心的编辑人员弄的。
0.1,正式名称Hass.io-OS,2018.4.18,只支持虚拟机
0.3,改名为HassOS,2018.6.5,加入树莓派2的支持
0.4,2018.6.12,加入树莓派0、1和3的支持,并增加64位版本
1.3,2018.7.7,正式发布
2.8,2019.2.4
3.7,2019.12.16
4.7,2020.5.26
5.8,2020.12.13
6.0,2021.6.9
6.4,2021.9.9
Container:
大概从 Core 0.14.2 版本开始,官方制作docker镜像,2016.5.1
一直到现在随核心同步升级(当然会比核心版本稍微慢一会儿,毕竟先有核心再有容器/镜像),没有也不需要自己的版本号。
上面基本上还是以安装方式的维度整的。其实还有两个重要模块:
frontend,前端,也有自己的版本号;
iOS和安卓版官方app,大名Companion,有自己独立的文档网站!
联想E14笔记本安装HAOS
硬件:联想E14笔记本 8核4G内存128GSSD
分区
1.要进入电脑 BIOS界面,确保已启用 UEFI 引导模式
一些常见的电脑品牌以及它们进入BIOS设置的常用快捷键:
惠普(HP):按下F10或Esc键重启电脑,然后在启动时按F10键进入BIOS设置。
戴尔(Dell):按下F2键或Del键重启电脑,然后在启动时按F2键或Del键进入BIOS设置。
联想(Lenovo):按下F1或F2键重启电脑,然后在启动时按F1或F2键进入BIOS设置。
华硕(ASUS):按下F2键或Del键重启电脑,然后在启动时按F2键或Del键进入BIOS设置。
宏碁(Acer):按下F2键或Del键重启电脑,然后在启动时按F2键或Del键进入BIOS设置。
苹果(Apple):按下Option键或Command+R键重启电脑,然后根据系统提示进入恢复模式或选择启动磁盘。
微软(Microsoft)Surface:按下音量上键同时按下电源键,然后在启动时松开电源键,进入UEFI固件设置。
请注意,以上是一些常见的快捷键在开机时就按,具体适用于不同型号的电脑可能会有所不同
2.禁用安全启动
1.将HA OS映像下载到电脑
https://github.com/home-assistant/operating-system/releases/download/11.1/haos_generic-x86-64-11.1.img.xz
2.下载映像启动制作工具
下载完成
插上U盘,进入PE系统
打开工具,选择从文件烧录
选择
选择系统硬盘
开始烧录
再次提醒,点确定
制作中
直接重启电脑
检查电脑网线是否畅通
成功启动后,查看获取的地址,http://localhost:8123 或 http://X.X.X.X:8123 (将 X.X.X.X 替换为您机器的 IP 地址)
磁盘空间不足
PE下把剩下的都给他
还是不行,报了别的错误
之前没成功测试,把硬盘装入硬盘盒做成U盘后挂载到别的电脑,然后用balenaEtcher制作成功
还是这种报错,可能没科学上网导致,具体原因没有深入研究,感觉没必要后期维护麻烦
最后果断放弃
二、Ubuntu安装 KVM虚拟机并部署 HA OS
硬件:联想E14笔记本 8核4G内存128GSSD
1.验证CPU是否支持硬件虚拟化
root@st-ThinkPad-E14:~# grep -Eoc '(vmx|svm)' /proc/cpuinfo
16
2.检查 VT 是否在 BIOS 中启用
安装 apt install cpu-checker
root@st-ThinkPad-E14:~# apt install cpu-checker
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
msr-tools
下列【新】软件包将被安装:
cpu-checker msr-tools
kvm-ok 查看
root@st-ThinkPad-E14:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
3.安装KVM
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
激活
systemctl is-active libvirtd
4.启用KVM模块:默认情况下,Ubuntu会自动加载KVM模块,但你可以检查一下以确保它已经加载。运行以下命令来验证
lsmod | grep kvm
root@st-ThinkPad-E14:~# lsmod | grep kvm
kvm_intel 376832 0
kvm 1015808 1 kvm_intel
5.启动虚拟化和设置开机自启
# systemctl start libvirtd
# systemctl enable libvirtd
# systemctl list-unit-files |grep libvirtd.service
查看是否成功
root@st-ThinkPad-E14:~# systemctl list-unit-files |grep libvirtd.service
libvirtd.service enabled enabled
创建虚拟机命令(留着下次参考,本案例不用此命令)
cd /var/lib/libvirt/images/hassos-vm
virt-install --import --name hassos \
--memory 4096 --vcpus 4 --cpu host \
--disk haos_ova-6.6.qcow2,format=qcow2,bus=virtio \
--network bridge=br0,model=virtio \
--osinfo detect=on,require=off \
--graphics none \
--noautoconsole \
--boot uefi
# virt-install --name=kvm-centos7 --ram=2048 --vcpus=2 --disk path=/root/kvmraw/centos7v1(虚拟机名称和位置).qcow2,size=10,format=qcow2 --accelerate --cdrom /root/isolib/CentOS-7-x86_64-DVD-1611.iso(你的镜像名称和位置) --vnc --vnclisten=0.0.0.0 --network bridge=br0,model=virtio(执行完会创建虚拟机,并且弹出页面)
6.使用命令ifconfig查看自己的ip等
修改01-network-manager-all.yaml文件:
# nano /etc/netplan/01-network-manager-all.yaml
手动
network:
version: 2
ethernets:
enp3s0:(改为你的网卡名字)
dhcp4: false
dhcp6: false
bridges:
br0:
addresses: [192.168.1.2/24](你的ip)
gateway4: 192.168.1.1 (你的网关)
nameservers:
addresses: [114.114.114.114, 8.8.8.8](这是DNS1,DNS2)
search: [msnode]
interfaces: [enp3s0(改为你的网卡名字)]
自动
network:
version: 2
renderer: networkd
ethernets:
wlp5s0:
dhcp4: no
bridges:
macvtap0@wlp5s0:
dhcp4: yes
interfaces: [wlp5s0]
sudo netplan apply
nm-connection-editor
配置kvm ha
1.启动虚拟机管理器:现在,你可以启动virt-manager,这是KVM的图形界面管理工具。在终端中运行以下命令:
virt-manager
2.官网下载kvm镜像文件
3.将文件上传到root文件夹
4.在系统中解压镜像文件
xz -d -v haos_ova-11.1.qcow2.xz
5.新建虚拟机
6.导入之前上传的镜像
选择本地镜像
选择解压后的.qcow2镜像文件
7.选择 Generic Default 为操作系统
8.配置虚拟机参数
最低配置:
2 GB 内存
32 GB存储
2 个 vCPU
9.选中 “安装前自定义配置 ”框。
10.选择”下 在“网络 ,选择您的网桥
11.在自定义下,选择 “概况 ”> “固件 ”> “UEFI x86_64:… 。确保选择 OVMF 的非 secureboot 版本(不包含单词 secure、 secboot等),例如, /usr/share/edk2/ovmf/OVMF_CODE.fd
12.单击 “添加硬件 ”(左下角),然后选择 “信道 ”,选择设备类型: unix 点应用
13.最后,选择“开始安装”(左上角)
自动开机14.进入系统
您可能希望立即设置的 VM 自动启动
virsh autostart hassos
root@st-ThinkPad-E14:~# brctl show
bridge name bridge id STP enabled interfaces
macvtap0@wlp5s0 8000.fe5400be6362 yes vnet0
root@st-ThinkPad-E14:~# sudo systemctl edit docker.service
No files found for docker.service.
Run 'systemctl edit --force --full docker.service' to create a new unit.
root@st-ThinkPad-E14:~# virsh list
Id Name State
----------------------
3 HA running
root@st-ThinkPad-E14:~# virsh net-list --all
Name State Autostart Persistent
----------------------------------------
root@st-ThinkPad-E14:~# cd /etc/libvirt/qemu/networks
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# ls
autostart
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# touch br0.xml
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# ls
autostart br0.xml
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# nano br0.xml
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# virsh net-define /tmp/br0.xml
error: Failed to open file '/tmp/br0.xml': 没有那个文件或目录
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# virsh net-define br0.xml
Network macvtap0@wlp5s0 defined from br0.xml
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# virsh net-list --all
Name State Autostart Persistent
------------------------------------------------------
macvtap0@wlp5s0 inactive no yes
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# virsh net-start macvtap0@wlp5s0
root@st-ThinkPad-E14:~# virsh net-list --all
Name State Autostart Persistent
------------------------------------------------------
macvtap0@wlp5s0 inactive no yes
root@st-ThinkPad-E14:~# virsh net-autostart macvtap0@wlp5s0
Network macvtap0@wlp5s0 marked as autostarted
root@st-ThinkPad-E14:~# virsh net-list --all
Name State Autostart Persistent
------------------------------------------------------
macvtap0@wlp5s0 inactive yes yes
页面输入: login
nmcli con show
nmcli dev status
可以看到HA连接了一个网口,名叫:Wired connection 1
然后继续输入:nmcli con edit “Wired connection 1” ,其中 Wired connection 1 是要改成自己HA网口的名字的
print ipv4 看一下当前的网口配置参数的,这时候可以看到网口参数是自动配置的,网关DNS这些都是空的
set ipv4.addresses 192.168.1.123/24 设置自己想要的ip地址,注意不要漏了 /24
第一次修改ip地址会提示是否改为“手动”设置,输入y确认就行
输入:set ipv4.dns 192.168.1.200 设置DNS,DNS地址就指向旁路由的ip地址
输入:set ipv4.gateway 192.168.1.200 设置网关,网关地址也是指向旁路由的ip地址
如果没问题就输入:save 保存,会提示更新成功,然后输入:quit 退出设置。
输入:nmcli con reload 重新载入
最后重启虚拟机
reboot
HA就可以通过手动设置的旁路由网关正常联网了,能够联网的情况下HA就能正常安装启动成功,然后出现ip地址的页面
获取不到IP
如果你想修改或者重置网口参数的话,直接用 set ipv4.dns xxxxx 是不行的,它会添加多个dns,而不是修改以前的dns
nmcli connection modify <connection_name> ipv4.dns <new_dns_server> (将 <connection_name> 替换为您的网络连接名称,<new_dns_server> 替换为您想要设置的新 DNS 服务器地址)
ip更改类似
还有一个有笨办法就是把网口配置全部删除,然后新建网口配置。
输入:nmcli con delete "Supervisor enp0s3" 就可以把网口配置全部删除了
此时使用 nmcli dev status 命令可以看到网口是 disconnect 的
然后再输入 nmcli con add type ethernet con-name main ifname enp0s3 可以新建网口,其中 main 是新建网口的名称,可以随意,不用跟原来的一样,enp0s3 就是你物理网口的名称了,这个根据你自己的网卡来
新建网口之后再次用 nmcli con edit "Supervisor enp0s3" 命令就可以重新按照上面的方法自定义网口参数了,这时候edit的名称就是你新建网口的 main 的名称了,这个要注意。
使用 nmcli 命令来重启网卡,您可以使用以下命令:
查找您要重启的网络连接名称:
nmcli connection show
重启网络连接:
sudo nmcli connection down <connection_name> && sudo nmcli connection up <connection_name>
(将 <connection_name> 替换为您要重启的网络连接名称)
Ubuntu 下Docker安装 HAOS(放弃)
1.安装docker
apt install docker.io
突然不想这样安装了 ,放弃
四、联想E14笔记本安装ESXI6.7并部署HAOS
1.下载ESXI6.7安装镜像文件
去找网卡驱动集成到镜像的安装文件,先看看自己网卡是上面型号我这笔记本是瑞昱8168是有线网卡
下载镜像
我也试了最新版8.0的没有网卡驱动安装失败
2.进入PE把安装文件ISO提取到本地,然后重启电脑,就会自动引导安装,你也可以把镜像文件写到U盘安装
具体单硬盘如何安装,可参考我这篇类似文章-点我
3.开机进入引导界面
按F11
OK
默认
4.设置管理员root密码
F11安装
完成按回车重启
5.重启前检查网线连通性
成功启动,显示IP
6.局域网内电脑浏览器中输入上面IP,然后用前面设置root的账户密码登入
登入成功
7.激活自行解决
学习使用,及时删除
1.HV4WC-01087-1ZJ48-031XP-9A843
2.NF0F3-402E3-MZR80-083QP-3CKM2
3.4F6FX-2W197-8ZKZ9-Y31ZM-1C3LZ
4.JZ2E9-6D2DK-XZQD0-632E4-33E7Z
5.MZ48M-DNK56-ZZJD0-RTCE2-9321X
6.0Y0AJ-4P29H-LZV81-59AQ2-C291V
8.官网下载安装文件
9.创建虚拟机
最低推荐作业:
2 GB RAM 2 GB 内存
32 GB Storage 32 GB存储
2vCPU 2 个 vCPU
选择从OVA文件创建
选择刚才下载的.OVF文件
选择存储
选择网络
结束
完成
10.设置自动启动 ,查看控制台
进入【主机】-【管理】-【系统】-【自动启动】
又出现网络问题
11.最后科学上网解决
简单讲下我这原理,公司网络环境,一台安装软路由opwrt,然后在服务里找到pwl配置订阅,启用服务选择适合节点,最后手动订阅
4台电脑、一台安装软路由opwrt(需要两张网卡)接笔记本共享笔记本无线网络,一台电脑安装好HAOS接到opwrt,一台电脑调试。期间可以把EXIS和HA管理地址在opwrt配置端口转发,这样好管理
等待20分钟
12.创建账户
设置地区
下一步
完成
13.成功进入页面
版本