Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[TUTO] _ Proxmox, LXC, Home Assistant, InfluxDB, Grafana
#1
Information 
Bonjour tout le monde,

[# PREAMBULE]
Je vous propose, pendant que c'est encore frais dans ma tête, de partager mes recherches sur la mise en place d'un Pc/Serveur avec l'utilisation de l'hyperviseur Proxmox, de machines virtuelles et de container LXC, afin d'installer Home Assistant, InfluxDB, Grafana. Je compléterai le post en fonction des échanges qui suivront. Ce post n'a pas vocation à répondre aux problématiques que vous rencontrerez. En postant sur le forum avec un titre pertinent, vous aurez toutes les chances d'obtenir de l'aide plus rapidement qu'un message dans la suite de celui-ci.

Ce tuto est-il fait pour vous? Sachez qu'il n'y a rien de compliqué, pour ma part je ne connais pas grand chose au monde Linux (un rapide passage sur Ubuntu), et que mes connaissances en hyperviseur, machine virtuelle et container égalent mon niveau d'anglais.....
Rapide présentation La virtualisation facile avec Proxmox par Nicolas HOUSSET

[# MATERIEL]
Tout dépend de ce que vous pensez faire avec votre Pc/Serveur. Pour ma part, voulant dans 1er temps essayer l'installation de HA, j'ai récupéré un Pc Dell OptiPlex 3020 équipé d'un Intel Core i3-4160 (Dual Core 3.6GHz 3MB w/HD4400 Graphics), upgradé à 16Go de RAM et d'un disque Kingston SSD UV500 960Go. Il fonctionne très bien, juste avant l'installation de Proxmox, je faisais tourner Ubuntu 20.04, Home Assistant sur une VM, et je lançais une autre VM avec Windows 7 pour ETS... Big Grin

Configuration minimum: 
  • Processeur x86 64 bits, support VT/AMD-V, 4 coeurs
  • 4Go de RAM
  • SSD 128Go
  • Carte réseau
[# INSTALLATION DE PROXMOX]
Sources: Prérequis:
  • 1 Pc/Serveur
  • 1 clé USB
  • Une idée de mot de passe, de nom de domaine, de paramètres réseau
Logiciel:
  • La dernière version de Proxmox VE (l'hyperviseur)
  • Rufus pour la création de la clé USB bootable
Installation: Accéder à 'hyperviseur:
  • Saisir l'adresse https://<IP de l'hyperviseur>:8006
=> Proxmox Check! Smile

[# INSTALLATION DE HOME ASSISTANT]
Type d'installation:
  • Machine virtuelle
Sources: Prérequis:
  • Votre Pc/Serveur avec Proxmox
Logiciel: Installation: Accéder à Home Assistant:
  • Saisir dans votre navigateur l'adresse: http://<IPv4 notée dans la VM>:8123
=> Home Assistant Check! Smile

23h48... Je ferai InfluxDB et Grafana dans les prochains jours. Je publierai également la méthode pour monitorer votre serveur Proxmox avec Grafana en 5/5 (5 min / 5 clics) Wink 
   

Gwendal
Répondre
#2
[# INSTALLATION DE INFLUXDB et GRAFANA]
Type d'installation:
  • Container LXC debian11
Sources: Prérequis:
  • Votre Pc/Serveur avec Proxmox
  • Une connexion internet
Logiciel:
  • Le template debian-11-standard_11.3-1_amd64.tar.zst (sera téléchargé à partir du dépôt)
  • La dernière version de InfluxDB et Grafana (seront téléchargées et installées en lignes de commande)
Installation du container LXC:
  • Accéder à l’hyperviseur en saisissant dans votre navigateur l'adresse: https://<IP de l'hyperviseur>:8006
  • Dans l'arborescence de gauche, cliquer sur local (Nom_de_votre_serveur)
  • Dans le menu du container, sélectionner CT Modèles
  • Puis en haut Templates
  • Dans le popup, rechercher debian-11-standard dans la section System
  • Sélectionner la ligne puis cliquer sur télécharger
Une fois l'image téléchargée:
  • En haut, cliquer Créer CT
  • Onglet Général: Saisir un nom d'hôte, un mot de passe, cliquer sur Suivant
  • Onglet Modèle: Sélectionner le modèle debian-11-standard, Cliquer sur suivant
  • Onglet Disques: Laisser par défaut
  • Onglet CPU: Cœurs = 2 cœurs, CPU Units = 1024
  • Onglet Mémoire: Mémoire = 1024Mo, Swap = 1024Mo
  • Onglet Réseau: IPv4/CIDR = Adresse IP pour votre container/24
  • Onglet DNS: Laisser par défaut
  • Onglet Confirmation: Vérifier vos paramétrer, Cocher Démarrer après création, puis cliquer sur Terminer en bas
L'installation terminée, paramétrage du démarrage automatique du container:
  • Dans l'arborescence de gauche, cliquer sur xxx(Nom_de_votre container)
  • Dans le menu du container, sélectionner Options
  • Double cliquer sur Démarrer au boot, dans la fenêtre qui s'ouvre cocher la case et valider
  • Double cliquer sur Ordre de démarrage / arrêt, dans la fenêtre Délai de démarrage = 30
Petit complément avant l'installation de InfluxDb et Grafana:
  • Dans le menu du container, sélectionner >_ Console
  • Installer lsb_release avec la ligne de commande suivante: StackOverFlow
Code :
apt-get update && apt-get install -y lsb-release && apt-get clean all
  • Installer sudo (définition sudo, sinon il faudra supprimer "sudo" des prochaines lignes de commandes) avec la ligne de commande suivante:
Code :
apt-get update && apt install sudo

Installation de InfluxDB:
Citation :Exclamation
  - Au chapitre 5, les commandes sont les lignes commençant par le symbole $, le symbole # représente des commentaires
  - Ne pas copier le symbole $
  - Pour quitter le résultat de la commande statut, appuyer sur la touche [q]
  - Le chapitre 6 n'est pas utile, normalement il n'y a pas de firewall d'installé dans le container
  - Le chapitre 7 concerne le paramétrage que j'aborderai après l'installation de Grafana

Installation de Grafana: Accéder à InfluxDB:
  • Saisir dans votre navigateur l'adresse: http://<Adresse IP du container>:8086
Accéder à Grafana:
  • Saisir dans votre navigateur l'adresse: http://<Adresse IP du container>:3000
=> InfluxDB et Grafana Check!  Smile

[# PARAMETRAGE DE INFLUXDB, HOME ASSISTANT et GRAFANA]
InfluxDB:
  • Saisir dans votre navigateur l'adresse: http://<Adresse IP de votre container InfluxDB-Grafana>:8086 => Welcome to InflluxDb 2.0
  • Cliquer sur Get Started
  • Saisir les informations demandées:
                 - Username, password, confirm password, initial organization name, comme vous le souhaitez
                 - Initial bucket name correspond à "votre base de données", exemple db_homeassistant
  • Cliquer sur Continue puis sur Configure later
  • Dans le menu de gauche, cliquer sur votre nom d'utilisateur, puis About
  • Copier et enregistrer la clé token Organization ID correspond à votre organisation (elle servira pour la configuration de la liaison avec Home Assistant)
  • Dans le menu de gauche, cliquer sur votre nom d'utilisateur, puis API Token
  • Cliquer sur votre <username>'s token, puis copier et enregistrer la clé token API Token (elle servira pour la configuration de la liaison avec Home Assistant)
=> Voilà la base de donnée bucket pour Home Assistant paramétré dans InfluxDb

Home Assistant (partie 1):
  • Saisir dans votre navigateur l'adresse: http://<Adresse IP de votre machine virtuelle HA>:8123 => Welcome to Home Assistant
  • Editer le fichier confiugration.yaml avec File Editor ou Studio Code Server
  • Saisir les lignes suivantes:
Code :
influxdb:
   api_version: 2
   ssl: false
   host: <Adresse IP de votre container InfluxDB-Grafana>
   port: 8086
   token: clé token API Token InfluxDB enregistrée précédemment
   organization: clé token Organization ID enregistrée précédemment
   bucket: db_homeassistant
  • Enregistrer les modifications
  • Redémarrer (depuis la version 2022.5.3): Paramètres / Systèmes puis en haut à droite Redémarrer
=> Voilà Home Assistant devrait commencer à envoyer des données dans le bucket InfluxDb (à condition d'avoir configuré des groupes d'adresses KNX fonctionnelles)

Grafana:
  • Saisir dans votre navigateur l'adresse: http://<Adresse IP de votre container InfluxDB-Grafana>:3000 => Welcome to Grafana
  • Les login et password par défaut sont admin, admin
  • Dans le menu de gauche, cliquer sur Server admin puis sur Orgs
  • Créer une organisation
  • Dans le menu de gauche, cliquer sur Server admin puis sur Users
  • Créer un nouvel utilisateur homeassistant
  • Dans le menu de gauche, cliquer sur Configuration puis Data sources
  • Créer une nouvelle source de données, Add data source
  • Sélectionner InfluxDb, puis ces champs (les autres restent par défaut):
                 - Name: InfluxDB_HA
                 - Query Language: Sélectionner Flux
                 - HTTP / URL: Saisir l'adresse de InfluxDB, http://<Adresse IP de votre container InfluxDB-Grafana>:8086
                 - InfluxDB Details / Organization: Saisir le nom de votre organisation renseigné dans InfluxDB
                 - InfluxDB Details / Token: Coller la clé token API Token InfluxDB enregistrée précédemment
                 - InfluxDB Details / Default Bucket: Saisir le nom de votre bucket dans InfluxDD (db_homeassistant)
                 - Cliquer sur Save & test
=> Voilà la connexion entre InfluxDB et Grafana configurée

[# MONITORER PROXMOX]
Type d'installation:
  • Dashboard Grafana
Sources: Prérequis:
  • Votre Pc/Serveur avec Proxmox
  • InfluxDb et Grafana installés
Création d'un bucket dans InfluxDb :
  • Saisir dans votre navigateur l'adresse: http://<Adresse IP de votre container InfluxDB-Grafana>:8086 => Welcome to InflluxDb 2.0
  • Dans l'arborescence de gauche, cliquer sur Data
  • Dans l'onglet Buckets, cliquer sur + Create bucket
  • Saisir un nom, par exemple db_proxmox
  • Définir la rétention des données, sélectionner Older Than, puis 24h
  • Cliquer sur Créer pour valider le nouveau bucket
  • Dans l'onglet API Tokens, cliquer sur le nom de la ligne et copier la clé
Activer et paramétrer le serveur de métrique dans Proxmox:
  • Accéder à l’hyperviseur en saisissant dans votre navigateur l'adresse: https://<IP de l'hyperviseur>:8006
  • Dans l'arborescence de gauche, cliquer sur Datacenter
  • Dans le menu du Datacenter, sélectionner Serveur de métrique (tout en bas)
  • Puis en haut Ajouter / InfluxDB
  • Dans le popup, saisir:
                 - Nom = Ce que vous voulez
                 - Serveur = Adresse IP du container contenant InfluxDB
                 - Port = 8086 par défaut
                 - Protocole = HTTP
                 - Organisation = Nom de votre organisation dans InfluxDB
                 - Bucket = Nom du bucket (db_proxmox dans notre exemple)
                 - Token = Clé API Token copier dans l'onglet Data de InfluxDB
  • Valider
Création d'un tableau de bord dans Grafana:
  • Saisir dans votre navigateur l'adresse: http://<Adresse IP de votre container InfluxDB-Grafana>:3000 => Welcome to Grafana
  • Les login et password par défaut sont admin, admin
  • Dans le menu de gauche, cliquer sur Configuration puis Data sources
  • Créer une nouvelle source de données, Add data source
  • Sélectionner InfluxDb, puis ces champs (les autres restent par défaut):
                - Name: InfluxDB_Proxmox
                 - Query Language: Sélectionner Flux
                 - HTTP / URL: Saisir l'adresse de InfluxDB, http://<Adresse IP de votre container InfluxDB-Grafana>:8086
                 - InfluxDB Details / Organization: Saisir le nom de votre organisation renseigné dans InfluxDB
                - InfluxDB Details / Token: Coller la clé token API Token InfluxDB enregistrée précédemment
                - InfluxDB Details / Default Bucket: Saisir le nom de votre bucket dans InfluxDD (db_promox)
                - Cliquer sur Save & test
  • Dans le menu de gauche, cliquer sur Create puis Import
  • Saisir 15356 (ID du tableau de bord partagé par mephisto sur le site Grafana)
  • Valider en cliquant sur Load
  • Donner un nom à votre tableau de bord
  • Sélectionner le lien vers bucket InfluxDB (InfluxDB_Proxmox)
  • Valider en cliquant sur Import
Dernier point,
  • Ouvrir le tableau de bord
  • Sélectionner dans Datasource, le lien vers le bucket InfluxDB_Proxmox
Résultat:
   
Répondre
#3
La suite possible.....

Installation d'une VM avec ETS KNX
Sauvegarde
pfSense: firewall, DHCP, VPN (là va falloir m'aider Blush )
Mise en place d'un RAID
Optimisation d'installation ex. dédier un disque à Proxmox Filou59


What else?
Répondre
#4
Réserve 1
Répondre
#5
Réservé 2
Répondre
#6
Je te conseille de partir sur opnsense plutôt que pfsense. Cela te permettra en plus d'utiliser l'intégration native de wireguard.
Répondre
#7
Pour la partie Proxmox, peut-être détailler la gestion des stockages (disque dédié systeme, VM etc...)
Répondre
#8
Oui c’est important
Répondre
#9
(10/05/2022, 11:41:17)Kevlille a écrit : Pour la partie Proxmox, peut-être détailler la gestion des stockages (disque dédié systeme, VM etc...)

C'est très propre à chacun, à sa tolérance à la panne et à son budget.
Répondre
#10
oui c'est sûr mais sans forcement rentrer dans les détails de la creation d'un Raid/ZRaid mais plutôt le Baba pour bien commencer:

* DD dédié système
* DD dédié pour les VM et LXC

car après je te l'accorde cela peut partir dans tous les sens entre les raid pour les disques systèmes + Raid pour le stockage + Zram etc...
Répondre
#11
(10/05/2022, 14:41:08)Kevlille a écrit : oui c'est sûr mais sans forcement rentrer dans les détails de la creation d'un Raid/ZRaid mais plutôt le Baba pour bien commencer:

* DD dédié système
* DD dédié pour les VM et LXC

car après je te l'accorde cela peut partir dans tous les sens entre les raid pour les disques systèmes + Raid pour le stockage + Zram etc...

Ou CEPH sur 3 noeuds, avec un cluster Proxmox Smile
Répondre
#12
(10/05/2022, 14:58:56)R4v3n a écrit : Ou CEPH sur 3 noeuds, avec un cluster Proxmox Smile

Cela dépasse largement mes connaissances/compétences et surement besoins ;-)

quel est l'intérêt? redondance? Haute dispo?
Répondre
#13
(10/05/2022, 17:10:58)Kevlille a écrit :
(10/05/2022, 14:58:56)R4v3n a écrit : Ou CEPH sur 3 noeuds, avec un cluster Proxmox Smile

Cela dépasse largement mes connaissances/compétences et surement besoins ;-)

quel est l'intérêt? redondance? Haute dispo?

Redondance + Haute dispo pour les VMs tout autant que pour le stockage.
Evidemment le réseau doit suivre (port dédié admin+klustering proxmox, port dédié ceph, et 1 ou 2 ports (bonding) pour passer les Vlans/VMs) dans l'idéal.
Répondre
#14
Personnellement j’ai déjà planté 2 installations Proxmox avec VM de test pour HA en perdant tout mon travail de préparation de HA par saturation des disques, en laissant faire les sauvegardes par HA lors des nombreuses mises à jour sur fait HA en ce moment, et je n’ai toujours pas bien compris le mécanisme de stockage de HA 
Le lien entre zone de stockage physique et réelle n’est pas si évident
Répondre
#15
J’aimerais aussi bien comprendre comment séparer sur des VM différentes NodeRed InfluxDB et grafana
Répondre
#16
(11/05/2022, 05:36:04)richardpub a écrit : Personnellement j’ai déjà planté 2 installations Proxmox avec VM de test pour HA en perdant tout mon travail de préparation de HA par saturation des disques, en laissant faire les sauvegardes par HA lors des nombreuses mises à jour sur fait HA en ce moment, et je n’ai toujours pas bien compris le mécanisme de stockage de HA 
Le lien entre zone de stockage physique et réelle n’est pas si évident

Sur une installation proxmox de base, proxmox génère un LV (logical volume) via LVM nommé (de mémoire) "data".
C'est dans ce LV qu'il va stocker les disques virtuels générés à la création d'une VM.
Le stockage de ce disque virtuel n'a rien de bien différent d'un disque physique.

Concernant l'espace utilisé par HA, le recorder est gourmand, c'est pour ça qu'il faut utiliser ASAP mariadb et/ou influxdb pour stocker ses logs d'entités. Ensuite on peut configurer le service purge.recorder pour nettoyer régulièrement les données.

Concernant la séparation des services, il suffit pour ça d'utiliser des containers dans lesquels on installe les différents services en question, avec un déploiement soit en installation "manuelle", soit via une image docker (ce que fait HA quand on installe des plugins).
Répondre
#17
Peux-tu expliquer:
"Redondance + Haute dispo pour les VMs tout autant que pour le stockage.
Evidemment le réseau doit suivre (port dédié admin+klustering proxmox, port dédié ceph, et 1 ou 2 ports (bonding) pour passer les Vlans/VMs) dans l'idéal."  

ou donner un tuto ou un lien pour comprendre... ou un schéma pour comprendre les différentes possibilités.
Pour ma part, avec mon peu de compétence est proche de la vision de Kelville avec le Baba pour bien commencer:
* DD dédié système
* DD dédié pour les VM et LXC
Je pense cette non séparation est la cause du plantage de mon NUC et des VMs installées dessus??

Sur certain tuto, on voit d'abord un installation de proxmox sur un petit disque physique, puis en ligne de commande l'ajout d'un disque physique plus gros, avant son ajout comme disque dans le storage de proxmox.

Ai-je bien compris??? Pour l'instant je suis encore dans le brouillard, comme mes commentaires le montrent.
Répondre
#18
(14/05/2022, 15:06:32)richardpub a écrit : Peux-tu expliquer:
"Redondance + Haute dispo pour les VMs tout autant que pour le stockage.
Evidemment le réseau doit suivre (port dédié admin+klustering proxmox, port dédié ceph, et 1 ou 2 ports (bonding) pour passer les Vlans/VMs) dans l'idéal."  

ou donner un tuto ou un lien pour comprendre... ou un schéma pour comprendre les différentes possibilités.
Pour ma part, avec mon peu de compétence est proche de la vision de Kelville avec le Baba pour bien commencer:
* DD dédié système
* DD dédié pour les VM et LXC
Je pense cette non séparation est la cause du plantage de mon NUC et des VMs installées dessus??

Sur certain tuto, on voit d'abord un installation de proxmox sur un petit disque physique, puis en ligne de commande l'ajout d'un disque physique plus gros, avant son ajout comme disque dans le storage de proxmox.

Ai-je bien compris??? Pour l'instant je suis encore dans le brouillard, comme mes commentaires le montrent.
Si tu installes un cluster proxmox + ceph (minimum 3 noeuds), cela te permet d'avoir de la redondance, c'est à dire que si un machine tombe, les VMs qui tournaient dessus peuvent directement reprendre sur un autre noeud.
Autant la virtualisation (proxmox via KVM) que le stockage (ceph) permettent cette redondance (et donc haute dispo).

Perso j'ai un cluster 3 noeuds monté avec des vieilles machines. Chaque machine dispose d'un SSD (pour proxmox et un peu de stockage local au besoin) et d'un HDD (pour ceph).
Mes VMs critiquent (par exemple, mon routeur opnsense) tournent sur le storage CEPH, de ce fait si un noeud tombe, le routeur est automatiquement relancé sur un autre noeud.

Le principe du cluster est dans la doc proxmox, beaucoup de monde l'utilise comme ça.
Si tu n'as que 2 noeuds, tu ne peux pas faire de cluster, mais tu peux au moins faire de la sync ZFS entre tes noeuds pour pouvoir relancer une VM sur le 2eme noeud au besoin.

Dans tous les cas, rien ne t'oblige à avoir plusieurs stockages. Tu peux tout à fait n'avoir qu'un seul SSD sur lequel proxmox fera un LV pour tes VMs. Après tout est une question de sécurité de la donnée.
Répondre
#19
Merci pour cette explication et le lien entre le terme Ceph et cluster.
Je n’avais compris que la création de plusieurs nodes était possible
Je comprends mieux l’arborescence dans Proxmox
Je ne voudrais polluer ce post qui veut être un tutoriel avant tout
J’ai posé mon problème à Filou59 sur le [/url][url=https://www.knx-fr.com/showthread.php?tid=7693&pid=57074#pid57074]post  "Proxmox et Sauvegarde" 
Sur l’installation de Proxmox sur un petit SSD de 60Go et du stockage des données sur un disque de 500Go et l’éventuel récupération de mes - -OLD - - data que j’aimerais récupérer
Merci pour votre aide
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)