Home Assistant peut-il fonctionner de manière fiable avec ses données sur un partage réseau ?

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Home Assistant peut utiliser de manière fiable un stockage réseau pour les sauvegardes, les médias et certains fichiers partagés, mais placer le répertoire de configuration actif ou la base de données SQLite Recorder par défaut sur SMB ou NFS constitue une architecture bien plus exigeante. Par défaut, il est plus sûr d’utiliser un stockage persistant local pour l’état actif de Home Assistant et un partage réseau pour les données qui bénéficient d’une capacité distante ou d’une sauvegarde indépendante.

La différence tient au comportement transactionnel et à la dépendance au démarrage. Une archive de sauvegarde peut attendre le NAS ; la configuration et la base de données de Home Assistant peuvent être nécessaires avant que le partage réseau soit monté ou opérationnel. Une brève panne du NAS ne devrait pas transformer un contrôleur local fonctionnel en une installation vide ou corrompue.

Séparez les partages de sauvegarde et de médias de l’état applicatif actif

Commencez par définir ce que vous souhaitez déplacer. Les archives de sauvegarde et les fichiers multimédias sont naturellement adaptés à un NAS, car ce sont de gros objets transférables qui n’ont pas besoin d’être ouverts pour des écritures transactionnelles continues par Home Assistant Core.

L’état applicatif actif est différent. L’arborescence de configuration comprend le stockage géré par l’interface et d’autres fichiers que Home Assistant s’attend à lire et à mettre à jour pendant son fonctionnement normal, tandis que Recorder écrit en continu l’état et l’historique des événements.

L’exemple de cloud privé ZimaSpace sépare la récupération de Home Assistant du stockage NAS en grande capacité, ce qui constitue l’architecture pertinente ici : la capacité réseau peut évoluer indépendamment sans rendre chaque action de contrôle dépendante du partage de stockage.

SQLite ajoute des exigences de verrouillage et de cohérence

La base de données Recorder par défaut de Home Assistant est SQLite. Cette base attend un comportement du système de fichiers facile à fournir sur un stockage local, mais moins prévisible avec les systèmes de fichiers réseau, les reconnexions et les différentes implémentations de montage.

SQLite n’est pas conçu comme un serveur de bases de données réseau, et le verrouillage des systèmes de fichiers réseau peut être peu fiable ou incomplet selon la plateforme. Un fichier SQLite distant présente donc un risque différent de la simple lecture de médias via SMB.

Si vous avez besoin d’une base de données sur un autre hôte, utilisez une base de données client-serveur prise en charge et acceptez les responsabilités opérationnelles liées à cette dépendance externe. Ne supposez pas que déplacer le fichier SQLite lui-même crée la même architecture.

Le moment du montage peut perturber le démarrage, même si le partage fonctionne ensuite

Un partage réseau peut être accessible en écriture une fois le système complètement démarré, tout en étant indisponible lorsque Home Assistant a besoin pour la première fois de la base de données ou de la configuration. Cela crée un problème d’ordre de démarrage qu’un test d’écriture manuel effectué plus tard ne permet pas de détecter.

Un utilisateur de Home Assistant qui avait placé la base SQLite de Recorder sur SMB a constaté des fichiers de base de données de taille nulle et corrompus pendant le démarrage, alors même que le partage pouvait être utilisé en écriture depuis l’hôte. La discussion soulevait précisément le moment du montage et l’adéquation de SQLite à un partage réseau.

Testez un démarrage à froid, le redémarrage de l’hôte, le redémarrage du NAS et une interruption temporaire du partage. Une conception qui ne fonctionne qu’après remontage manuel du NAS n’est pas suffisamment fiable pour piloter toute la maison.

La latence réseau peut ralentir l’historique sans perturber le contrôle

Les entrées-sorties distantes de la base de données ou de la configuration ajoutent de la latence réseau aux petites lectures et écritures. Cela peut d’abord se manifester par des graphiques d’historique lents, une maintenance de base de données ralentie ou un démarrage plus long, plutôt que par des automatisations défaillantes.

Un déploiement de Home Assistant sur Kubernetes a signalé que SQLite via NFS et une connexion SQL distante produisaient une réactivité médiocre de la base de données, ce qui a conduit l’auteur à rapprocher le chemin de la base de données active de la charge de travail Home Assistant.

Mesurez précisément le symptôme. Si le contrôle local reste rapide tandis que l’historique est lent, le chemin de la base de données affecte probablement les fonctions historiques plutôt que l’automatisation physique elle-même. Si le partage héberge également une configuration critique, une panne peut étendre le problème à l’ensemble du service.

Privilégiez l’état local et les sauvegardes réseau pour un petit serveur

Pour la plupart des serveurs domestiques, conservez /config et la base de données SQLite par défaut sur un SSD local fiable ou un autre périphérique persistant. Envoyez les sauvegardes vers le NAS, stockez-y les médias et utilisez les partages réseau pour les données volumineuses qui bénéficient d’une capacité centralisée.

Cette séparation facilite le diagnostic : la latence de la base de données locale relève de l’hôte Home Assistant, tandis qu’une sauvegarde ou un fichier multimédia manquant relève du chemin NAS. Le réseau reste utile sans devenir une dépendance synchrone pour chaque écriture d’état.

Ne déplacez l’état actif vers un stockage distant que lorsque le partage, l’ordre de montage, la sémantique du verrouillage, la latence, le comportement en cas de panne et le processus de restauration ont tous été testés lors d’un démarrage à froid et d’une perte temporaire du réseau.

FAQ

Un NAS est-il un bon emplacement pour les sauvegardes de Home Assistant ?

Oui. Un NAS est souvent une bonne destination indépendante pour les archives de sauvegarde, notamment lorsque la copie survit à une défaillance du disque système de Home Assistant. Conservez une autre copie ailleurs si le NAS et l’hôte Home Assistant restent dans le même domaine de défaillance physique.

Dois-je placer directement la base de données SQLite par défaut de Home Assistant sur SMB ou NFS ?

En général, non. Conservez SQLite sur un stockage local fiable, sauf raison précise et testée de procéder autrement. Si la base de données doit être distante, une base de données client-serveur prise en charge constitue une architecture plus propre que de traiter le fichier SQLite comme un document réseau ordinaire.

Assistance et conseils

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.