Forum KNX francophone / English KNX forum

Version complète : [TUTO] Proxmox VM Home Assistant OS
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Version du TUTO 1.1

But : Installation de Home Assitant  Operating System (HA) dans une VM sous Pve.

Tuto basé sur : https://theprivatesmarthome.com/how-to/i...n-proxmox/

Attention : il y a une ou 2 corrections dans la ligne qm create sinon le disque de boot n'est pas sélectionné, j'ai ajouté aussi le démarrage automatique de la VM

Note : La VM apporte beaucoup d'avantage (Snapshot/Backup intégré a Proxmox), il faut privilégié ces fonctions a celle intégré a HA

Creation de la VM : 

Copier cette ligne de commande dans votre blocnote par exemple et adaptez la a votre config :

Code :
qm create 100 --name home-assistant --bios ovmf --machine q35 --cores 4 --memory 4096 --scsihw virtio-scsi-pci --net0 model=virtio,bridge=vmbr3 --agent enabled=1 --tablet 0 -onboot 1

N° de la VM : 100 (Ce numéro doit être unique)
Nom de la VM : --name home-assistant
Interface Réseau : bridge=vmbr3

Dans l'exemple ci-dessous mon bridge s'appelle vmbr0

[Image: attachment.php?aid=1990]

Une fois la ligne de commande précédente adapté a la config, coller la ligne dans la console.

Ouvrir la console sur votre noeud Pve : [Image: attachment.php?aid=1993] ou a partir d'un outil comme Putty/Mobaxterm/mRemoteNG...

Creation de la VM dans Pve :

Code :
qm create 100 --name HA --bios ovmf --machine q35 --cores 4 --memory 4096 --scsihw virtio-scsi-pci --net0 model=virtio,bridge=vmbr0 --agent enabled=1 --tablet 0 -onboot 1


Création du Disque de Boot UEFI pour HA:

Code :
qm set 100 --efidisk0 rpoolData:1,format=raw


Note : rpoolData correspond au Storage que j'utilise dans mon Noeud Pve

Si on utilise une installation par défaut de PVE les noms pourront être local-zfs ou local-lvm

Téléchargement de l'image disque de HA : 
Récupérer le lien de l'image HA au format KVM (.qcow2) sur la page de HA : https://www.home-assistant.io/installation/linux

Puis taper la commande dans la console : 
Code :
wget https://github.com/home-assistant/operating-system/releases/download/8.1/haos_ova-8.1.qcow2.xz


Extraire le fichier :
Code :
unxz haos_ova-8.1.qcow2.xz

Importation du l'image disque de HA dans la VM :
Code :
qm importdisk 100 haos_ova-8.1.qcow2 rpoolData

PS : Ne pas oublier d'adapter 100 au n° de la VM et rpoolData au storage de destination.


Attacher l'image disque0 a la VM : (Sinon il sera Unused)

Code :
qm set 100 --virtio0 rpoolData:vm-100-disk-1 --boot ,order=virtio0

qm set 100 --virtio0 rpoolData:vm-100-disk-1,size=32G,discard=on --boot ,order=virtio0
PS : Utiliser la ligne 1 ou la ligne 2 Avec ou Sans l'option Discard (Voir l'aide de PVE, conseillé si SSD et Thinprovisionning activé sur le Storage)

Update : L'auteur du TUTO faisait le boot order dans le qm create avec un Disque inexistant ce qui ne pouvait pas marcher, en plus la syntaxe avait un peu changé.

[Image: attachment.php?aid=1991]

La VM est configuré pour démarrer automatiquement au démarrage de Pve.

Après la création via la ligne de commande il faut la démarrer manuellement via le bouton Start

[Image: attachment.php?aid=1992]

La VM est maintenant lancé, on peut donc commencé l'utilisation de HA
Changelog :
v1.0 : Mise en ligne du TUTO
v1.1 : Correction bug pour Boot sur virtio0,
Le TUTO que j'ai suivi utilise les paramètres suivants :
  • 4Go de RAM (Mini/Maxi Ballooning Activé)
  • 1 CPU et 4 Coeurs
  • 32Go de Disque Dur (Discard = OFF)
Il faut donc avoir un CPU avec au moins 4 Coeurs et plus de 4Go de RAM car il en faut aussi pour Pve.

Option DISCARD : (Voir dans le lien faire une recherche sur le mot Discard et/ou Trim
On peut utiliser l'option Discard si on a un SSD et que l'on a activé l'option ThinProvisionning sur le Storage ou est installé la VM.

Sélectionner la VM > Hardware > Hard Disk (virtio0) , puis bouton [EDIT], Cocher l'option Discard
Puis cliquer sur OK

PS : J'ai mis a jour le 1er post avec la ligne qui va bien pour activer ou non directement Discard, il suffit de choisir le ligne que l'on veut

Remarque : Comme l'auteur du tuto la souligné, cette méthode est extrêmement simple ne nécessite que de copier/coller 6 ligne de commande.
La méthode est adaptable a toutes les futur version de HA, il suffira de récupérer le nouveau lien.
Au fil du temps il se pourra que des commande evolue sous Pve , il suffira de regarder dans l'aide ici et de regarder la nouvelle syntaxe : https://pve.proxmox.com/pve-docs/qm.1.html

Place maintenant au 1er lancement et a quelques réglages de base.
TODO :
1er Demarrage
Configuration Réseau
Configuration HA...
Mise en place Backup/Snapshot

Note sur le Stockage de Donnée : Le plus judicieux selon moi c'est de stocker les données sur une base de donnée externe vue que l'on fait de la virtualisation.
Un couple Grafana/InfluxDB par exemple dans un container... ou une base de donnée MySQL/MariaDB

Pourquoi : En séparant les données cela nous permet de pouvoir envisager le futur bcp plus sereinement.
On peut facilement tester une nouvelle version de HA ou carrément changer de superviseur sans craindre la perte de donnée. 
On peut aussi tester plusieurs superviseur en même temps et utiliser la meme base de donnée.
Mise a jour du Tuto : v1.1

Les lignes de commande
qm create 100 ...
et
qm set 100 --virtio0...
ont été changé afin que le paramètre qui défini le disque bootable soit bien pris en compte. Je l'avais mis dans qm create a un moment ou le disque n'existe pas encore, cela ne pouvait pas marcher.

Pour ceux qui aurait suivi le tuto avant ma modif, il est possible de corriger le probleme via l'interface web en allant dans option puis boot ordrer , il suffit de selctionner virtio0.

Sinon en ligne de commande on peut taper :

Code :
qm set 100 --boot ,order=virtio0