Pour une raison que j’ignore, mon HA prends de plus en plus d’espace disque, dans de volumes qui me paraissent disproportionnés.
Mon HA est dans une VM Proxmox (sous HAOS), dont j’ai augmenté l’espace disque progressivement, a date je suis à 50 Gigas, mais vue la taille, il doit y avoir un souci quelque part.
Je cherche à savoir ce qui prends autant d’espace, voici donc mes analyses jusqu’à présent:
Je vois donc que j’ai bien 40g utilisés (j’ai bien la même info sous HA).
J’ai regardé sous portainer, la taille des images semble correct
La sauvegarde de 2,4Go c’est un poil gros quand même.
As tu beaucoup dans /media genre l’enregistrement de capture de cam ou des choses du style?
HA grossi régulièrement, mais pas à ce point ca a l’air beaucoup…
A titre de comparaison le mien est à 10go et les sauvegardes font 92mo (sans base de données) la base de données fait ~500Mo
Ta remarque sur le fait que 2,4gigas soient beaucoup m’a interpellé, je l’ai donc décompressé en local pour voir la taille de chaque sous fichier, et j’ai peut être une partie de réponse:
InfluxDB me semble énorme (sachant que je ne m’en sert pas du tout, je l’avais installé il y a longtemps, puis je n’ai pas donné suite).
Ma sauvegarde fait 3,5Go, notamment parce que les bases MariaDB (1 mois de données en ligne) et InfluxDB font 1,4Go chacune, donc rien d’anormal.
Pour ma part, installer et mettre en oeuvre InfluxDB peut avoir un intérêt, même si l’on ne s’en sert pas immédiatement, avoir un historique peut être utile un jour ou l’autre. Il y aurait par contre probablement du ménage à y faire, il n’est pas nécessaire de tout historiser.
Du coup la taille du backup n’est pas déconante alors.
Dans tous les cas, si j’ai 2,5gigas de bdd, et 8 de ha et les modules, j’ai toujours une 30ène de gigas perdus quelque part.
Ta sauvegarde de influxdb c’est 2,5go… donc t’as au moins encore une fois 2,5Go en plus pour les données live de Influx.
Après ça peut être des vieilles images docker, d’autres fichiers temporaires, des logs…
Bon normalement HAOS gère le nettoyage, même si au fur et a mesure ça augmente…
InfluxDB ça bouffe quand même pas mal de ressources pour pas grand chose d’utile et c’est tordu comme DB, mais je sais qu’il y a des fans…
Avec la nouvelle gestion des statistiques à long termes (qui fait plus ou moins la même chose en réduisant les données), c’est effectivement moins utile
Me disant que le problème viens de influxdb, j’ai regardé un peu comment connaitre la taille de la bdd (j’ai pas trouvé), est ce que si je change les paramètres de collecte, ça supprime l’historique exclu (j’ai pas trouvé), et au final, même si je perd des infos historiques, j’ai décidé de le supprimer. Et paff, j’ai récupéré ~15 gigas:
Etonnant vu la taille de la sauvegarde (après peut être qu’avec la compression…)
Au passage, quand j’ouvre les fichiers de sauvegarde d’hier (avec influxdb), winrar m’affiche des erreurs sur le sous fichier d’influxdb, je suppose qu’il posait problème car trop gros (j’ai même tenté une restauration du fichier d’hier, l’outil d’import de HA ne le prends même pas), du coup ce n’est pas plus mal d’être au courant maintenant :).
Il faudra à l’avenir que je le réinstalle (peut être…) et surtout en paramétrant exactement les infos que je veux qu’il historise pour limiter aux infos réellement nécessaires (et tant pis pour mon année d’historique).
Par ailleurs, ma bdd journalière (sous mariadb) fait tout de même plus d’1 gb pour 2j de rétention, mais je suppose qu’il y en a une partie propre à HA.
On est bien d’accord que le contenu des BDD est bien sensé être inclus dans les sauvegardes (juste au cas ou )?
2j = 1Go???
Ok ça dépends ce que qu’on a dans HA mais ça semble beaucoup quand même.
Perso c’est de l’ordre de grandeur de @AlexHass : 7j / 500Mo. @FillR2 qui stocke beaucoup est dans cet ordre de grandeur de 100mo par jour. Là tu as un facteur 5
Remarque: J’ai vérifié sous phpmyadmin la bdd « hadb », c’est la table « states » la plus grosse (logique )
Les entrées de table sont bien sur les 2 derniers jours.
Après j’ai quand même plus de 2 millions d’états sauvegardés en 2 jours, je vais m’attacher à faire du ménage je pense. C’est ça quand on commence la domotique, au fur et à mesure on fais de plus en plus de choses, mais il y a des détritus qui restent dans le système :).
Ps: Pour la petite info, j’ai poussé l’analyse à vérifier les entités les plus représentées dans ces 2 millions, il se trouve qu’il y a un sensor bluetooth (avec un nom/numéro a rallonge que je ne connais pas, qui occupe déjà 1,35 millions d’entrées …
Va falloir commencer à jouer avec l’intégration « recorder » pour filter les entités enregistrées.
2 jours c’est tout de même super court c’est bien si tu ne gardes pas plus. 1 semaine c’est généralement une bonne moyenne.
Mais alors 2j pour 2millions d’entrée! C’est violent.
Quand je parlais de « recorder », si tu n’as que faire de l’historique des appareils bluetooth, enlève les!
Ca changera tout.
J’étais passé d’une base avec 2 millions d’entrées à une base avec 100.000 entrées, à l’époque sur Raspberry ça avait radicalement changé l’expérience.
Moi c’était entre autres les mises à jour des device_trackers de la freebox toutes les quelques secondes qui représentaient un gros morceau.
Sauvegardes
Depuis que j’ai viré influxdb, la taille des sauvegardes ont diminué à ~400 Mo, ce qui est plus raisonnable
Base de données
J’ai joué un peu avec le recorder (notamment pour virer des sensors que je ne regarde jamais), réduit le délais des ping des objets réseaux que je monitor (passage de 10 secs à 5 minutes) qui était responsable de pas mal d’enregistrements dans « states », et fait un peu le ménage dans des entités « mortes » (il y a certainement encore plus a faire de ce côté).
Au total de la bdd (toujours pour 2 jours), je suis passé de 3,5 millions d’entrées (1,1Go), à 1,5 millions (400Mo):
Petite question bête (je cherche depuis un moment mais je ne trouve pas la réponse), vu que je « repart de 0 » en termes d’historiques, pour faire du propre je supprimerais bien tout.
Je sais qu’en standard, avec SQLite, on peux supprimer le fichier puis HA se débrouille pour le recréer au redémarrage.
Mais avec MariaDB, est ce que je peux juste supprimer les base (sous phpmyadmin par exemple), puis redémarrer simplement HA ?
Puisqu’au départ mariadb n’existe pas, supprime l’addon, les fichiers reliquats, et réinstalle
Après quitte à faire propre, moi je resterai sur la base standard (tu conserves juste les filtres)
C’est une solution à laquelle j’ai pensé, mais le problème c’est que mariadb est utilisé pour d’autres choses aussi (je vois par exemple que j’ai une bdd nginxproxymanager).
J’ai quand même l’impression qu’il y a quelque chose de louche avec ma table « state_attributes », à priori elle a ~520.000 enregistrements:
Quelques nouvelles après plusieurs jours d’utilisation de mes derniers tests/paramètres: Ma base mariadb fait maintenant ~200mégas, et mes sauvegardes ~300mégas!
Ca me semble beaucoup plus acceptable .
Ce que j’ai fait depuis l’autre jour:
J’ai fini par désinstaller et réinstaller mariadb (avant de désinstaller j’ai fait un export de la bdd nginxmanager, puis je l’ai réimporté après).
J’ai peaufiné les entités à sauvegarder (je dois encore faire mieux, notamment pour les sensors Bluetooth, et ce que j’utilise pour mon monitoring, mais c’est déjà bien pour l’instant)
J’ai récemment installé enedisgatewaymanager, ça prend pas mal de place dans les sauvegardes (~100mégas), faudra que je vois ça en détail si je veux réduire.
Je me suis fait une petite frayeur en termes d’espace après avoir installé frigate (en tant que module dans HA). Forcément ça a pris pas mal de place, non seulement pour le faire tourner, mais également pour les enregistrements (en 24h ma sauvegarde est repassée à 3gigas ). J’ai finalement, créé une VM (enfin plutôt un CT, la nuance reste un peu floue encore pour moi) pour y installer Docker, puis j’ai installé frigate dedans, avec sauvegarde des médias sur mon NAS (je précise que mon Ha est sur une VM dédiée sous HAOS).
Par contre je n’ai pas encore trouvé comme faire pour mes entités Bluetooth (par exemple mon LYWSDCGQ me remonte énormément de valeurs, sinon j’ai lu que pour le LYWSD03MMC il faut le flasher…).
Faute de mieux, j’ai renommé les entités sensor concernées (en ajoutant « _brut »), puis j’ai recréé les entités souhaitées via l’intégration « filter », en ne faisant qu’un enregistrement pas minute.
Exemple: