Passage à MariaDB HA

Bonjour,

Je viens vers vous aujourd’hui car malgré les forums, les tutos et notre ami le chat je suis perdu sur la manière de faire pour basculer la BDD de HA dans MariaDB.

Je vous détaille rapidement ma config :
Serveur hébergeant truenas scale
VM pour héberger HA
Application truenas MariaDB

L’avantage de mettre MariaDB comme application sur truenas c’est pouvoir stocker la BDD sur un pool de HDD sûr. (pas à 100% bien sûr, mais bien plus que sur le disque virtuel ^^)

Ne me demandez pas pourquoi, même moi je ne sais pas mais j’aime les données de ma maison, je les veux toutes et ad vitam aeternam

Je me suis rendu compte récemment que la BDD interne de HA ne le permettait pas donc je souhaite basculer sur MariaDB qui si j’ai bien compris permet d’exaucer mon souhait :smiling_face_with_three_hearts:

Ah oui et point important, j’aimerais récupérer mes données actuelles, est-ce possible de les transférer dans MariaDB ?

Pourriez-vous m’aider svp ?

Merci d’avance

A+

Salut,

La config est expliquée dans la doc du recorder, il faut ajouter le paramettre db_url avec les infos de connexion à MariaDB:

Mais en revanche :

Si tu veux récupérer des historiques, tu peux tenter de sauver ton fichier home-assistant_v2.db au moment de la bascule pour par après exporter les tables des statistiques.. ça doit marcher mais comme ce n'est pas supporté, bonne chance.
Mais ces tables devraient suffire car le reste c'est le recorder court terme qui sera reconstruit après quelques jours...
Fais des copies du fichier .db, on ne sait jamais...

je suis etonne de lire cela !
je vois pas pourquoi un disque virtuel est moins sur qu’un pool de disque ? surtout si ton disque virtuel est sur un pool de disque
et surtout j’espère que tu as une sauvegarde de ton HA qui contient un backup de la BDD
c’est un avantage de la version SQLite qui suffit totalement pour les besoins de HA une fois le recorder bien paramétré

n’oublies pas de dumper regulièrement ta BDD maria

Alors effectivement cette raison n'est pas suffisante pour totalement justifier de passer sur une db externe.
Disque virtuel ou pool... la redondance, c'est pour la tolérance de pannes pas pour la sauvegarde...
Vaut mieux être certain d'avoir une bonne gestion des sauvegardes de tes données.

hello,

alors ne me jugez pas svp :sweat_smile: mais mes VM sont dans un pool composé d’un seul SSD donc pas de redondance…
et la BDD maria elle je l’ai créée sur un pool composé de 3 HDD en RAIDZ1.
Pourquoi un seul SSD ? tout simplement : le prix…
Je cherchais la performance pour mes VM donc SSD et je fais des sauvegardes régulières que je stock sur mes HDD.

comme l’a dit @AlexHass la redondance ce n’est pas du backup d’ailleurs dans un contexte de homelab c’est pas plus utile que ça la redondance tout aussi eu que mariaDB dans HA

Salut,

c’est pas un souci, j’ai pareil chez moi, mon proxmox qui fait tourner les apps et VM n’a qu’un SSD… mais je m’assure d’avoir des sauvegardes de tout et surtout je sais comment restaurer :wink:
Le refaire me pendrait pas trop de temps…
Faut suivre quand même l’usure du SSD, suivant la marque et le modèle ça peut aller assez vite…

L’article est sur HA, mais c’est une reco universelle:

Salut, d’acc merci
Du coup je vais plutot créer un lecteur réseau dans HA qui ira sur mon RAIDZ1 et j’y stockerai les sauvegardes de HA mais du coup 2 questions me viennent :
Est-ce que MAria DB dans HA permet une grande quantité de stockage ?
Est-ce que Maria DB dans HA se sauvegarde aussi ?

Merci d’avance pour ton aide

Que signifie MariaDB dans HA ?

MariaDB c’est MariaDB donc oui tu peux stocker des Tera de données avec MariaDB et oui il est possible de sauvegarder ses données stockées dans MariaDB.

C’est parce qu’il existe le modules complémentaires MariaDB directement dans HA mais je l’ai aussi comme application sur truenas

mariaDB n’es pas dans HA c’est un module complémentaire (en gros un conteneur packagé par HA directement) mais tu peux y stocker autant que dans une BDD mariaDB
après il y’a la pertinance de ce que tu gardes, il est conseille de bien regler son recorder, HA a un procédé de conservation de données sur une longue période

les addons de HA sont sauvegardés automatiquement mais je ne sais pas du tout comment ça se passe avec mariadb, si la base est dumpée régulièrement ?

J’avais regardé, il y a des hooks avant le backup pour passer la base en read-only ou locker les tables (je ne sais plus) et pour les libérer après le backup.

Exactement comme pour le fichier SQLite mais bon j’ose pas imaginer les effets de bords sur une grosse base de données :scream:

C’est un mécanisme des applications HA (add-ons).

La version App de HA (anciennement Module Complémentaire) est sauvée dans les backups complets, comme toutes les autres Apps que tu as installé.
Mais bon passer du SQLite standard à MariaDB en App, il faut voir quel est l’intérêt. Y’a peut-être moins de risque de corruption, mais encore, aucune idée…

Si tu utilises l’app dans TrueNas, la base de données est complètement séparée de HA, c’est à toi de mettre en place la sauvegarde… et de t’assurer qu’elle tourne correctement. Et la faut regarder les méthodes de backup existantes de Mariadb.

J’ai l’impression qu’il dumpe rien du tout … Me demande s’il backupe pas juste les fichiers à l’arrache.

Si ils lockent les tables encore ça vas

Mais un petit dump ça coûte rien

Je ne pense pas que le backup de HA s’occupe des cas particuliers de chaque App possible…
S’il est sympa il envoie une commande docker pause à tous les containers des apps et après fait un simple backup des fichiers data de chacun.
Bon après, la DB, s’il n’y a que HA dessus, pendant un backup le recorder ne tourne pas non plus… il ne se passe plus rien dessu…

Clairement HA ne sait pas ce que contient les addons/app donc pas moyen qu’il fasse une action spécifique. On avait évoqué le sujet avec @vincen il y a quelques mois.
Et de mémoire je crois qu’il n’a pas bien réussi à remettre un backup en service quand la base est grosse.

@DeadLu17 ce que tu souhaites c’est conserver des datas à long terme dans ce cas le meilleur choix c’est, je pense, pour ton besoin ce n’est pas une SGBD mais une TSBD (time series data base) du genre d’influxdb
ça te permet de garder d’un coté le BD de base de HA (sqlite) et les datas sont poussées en parallèle dans une TSDB (influx ou autre)

Ce n’est pas HA qui s’en occupe, il y a des hooks envoyés par HA avant le backup, après le backup c’est au développeur de l’application (add-on) de faire correctement le job.

C’est quoi cette la commande docker pause ? A ma connaissance, ça n’existe pas. Ca correspondrait à quoi ?

Lis la doc de docker pour plus de détails. :money_mouth_face:
Mais bon il est fort à parier que ça mette le container en pause et lui demande de suspendre des process.


image
image