loops a écrit :Les logs de Domoticz sont stockés je crois dans la base, donc aucun impact pour eux mais des IO sur la carte. Je ne suis pas certain en revanche que le fichier de base de donnée soit écrit a chaque nouveau log, je me demande si la base n'est pas utilisée en cache et écrite que de temps en temps pour justement éviter des IO inutiles ...
La BDD semble en effet utiliser un cache. Si on la modifie de l’extérieur (genre toucher à l'activation globale des plannings, ce qui n'est pas implémenté par Domoticz mais peut se faire ainsi de l'extérieur) cela n'est pas pris en compte (écrasé par une ré-écriture périodique du cache?).
Les logs ont par défaut une prodondeur assez limitée, possible que cela y soit. Sinon on peut modifier le script de démarrage afin de donner un chemin à ce fichier de log. On peut alors le mettre dans un tmpfs.
Par contre, attention: Le fichier reste ouvert en permanence par Domoticz, empêchant une gestion par logrotate par exemple. Il peut croitre au fil des semaines assez fortement. Pour ma part, un cron lancé le lundi matin à minuit fait un truncate pour ramener sa taille a zéro (ce qui fonctionne même fichier ouvert par un autre processus) et le tmpfs en ram du /tmp est dimensionné pour encaisser largement une semaine de logs.
Sur les SD/clef-USB, c'est en effet un problème: A la durée de vie des flash NAND (désormais MLC et non SLC, environ déjà 50x moins endurantes de base) s'ajoute le problème d'une gestion simplifiée de la répartition de leur usure (wear-levelling), créant potentiellement des points chauds sur les secteurs dont les données bougent beaucoup (logs etc): Wear levelling dynamique vs statique. Voir wikipedia pour les explications... et comprendre que dans ce cadre, sur-dimensionner le stockage vs ses besoins aura peu d'effet.
C'est cela qui fait la différence avec un vrai SSD: Le firmware du controlleur du stockage (émulant un "disque") gérant la flash sous-jacente est plus évolué (et on peut compenser la perte d'endurance des NAND en surdimensionnant).
Il existe des SD/(e)USB de gammes professionnelles, utilisées par exemple dans l'éléctronique embarquée (equipements télécom...). Le problème est qu'il est difficile de se les procurer en tant que particulier (achat à l'unité, pas de numéro de SIRET...).
J'avais fait une demande à kubii d'approvisionner ce type de stockage et de les proposer à la vente, mais jamais eu de retour. Peut-être que s'ils avaient d'autres demandes?
Maintenant, selon l'usage il faut aussi prendre en compte le tarif car selon les technos sous-jacentes cela peut piquer:
-SLC, c'est prohibitif (faibles volumes depuis l'avènement de la MLC) même si pour les applications ou on écrit bcp c'est le mieux.
-MLC, bien gérée pour un usage comme le notre avec qq précautions (logs en tmpfs etc...) ce serait déjà bien.
-pSLC: C'est de la MLC (pour bénéficier des prix de volume) mais utilisée en mode SLC (1 bit stocké par cellule en non généralement deux): Prix du stockage au Go juste doublé pour une endurance décuplée, à gestion comparable.
Les gammes Swissbit S-45u (uSD MLC) et S-46u (pSLC) conviendraient, par exemple.