Installer Gladys sur un SSD au lieu d'une micro-SD

On en parlait ce matin avec @Terdious, pour ceux qui ont des installations complexe, avec beaucoup de données écrites par jour, utiliser la micro SD c’est pas forcément optimale, on arrive vite à des fichiers corrompus sur le long terme, et une performance en lecture/écriture pas folle.

Pourtant, pour moins de 30€ on peut passer son Pi en SSD, je vous mets les quelques références que j’ai trouvée:

Ensuite il faut cloner l’image Gladys sur le SSD, brancher le SSD en USB au pi, et il y a une petite commande à faire pour lui indiquer de booter dessus

EDIT 18/01/2022: J’ai fais une vidéo sur le sujet, super simple sans ligne de commande !

A voir ici:

Je sais que @terdious vas se lancer dans un setup comme ça pour voir si ça peut améliorer ses performances et la stabilité de son instance.

Je suis curieux de savoir si certains d’entre vous font déjà ça ? :slight_smile:

Si oui, ça serait cool qu’on ait un tutoriel sur la documentation pour orienter les nouveaux vers cette voie, car clairement utiliser une SD sur le long terme c’est le meilleur moyen d’avoir des corruptions de données et ça gâche un peu l’expérience Gladys ^^

2 « J'aime »

Je suis sur une RPi3 donc la procédure est légèrement différente pour le boot en usb(et définitif de ce que j’ai cru comprendre).

Après pour l’installation, j’ai juste utilisé etcher avec l’image de Gladys pour créer mon boot sur le SSD.

Si besoin je peux retrouver le SSD et le boitier que j’ai acheté

Hello,

Petit retour sur l’installation de Gladys sur un SSD et les performances, malheuresement j’ai pas pris le temps de tester avec la carte SD.

Pour l’installation, j’ai suivi le tuto et globalement pas de soucis. Le soucis qu’il peut y avoir c’est que les menus ne sont pas exactement les mêmes il faut juste prendre le temps de chercher :slight_smile:

Bien comprendre qu’il faut d’abord une carte SD, faire les manips en ensuite rebooter en enlevant la carte SD et le tour est joué.

pi@gladys:~ $ dd if=/dev/zero of=test bs=1048576 count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 3.41732 s, 61.4 MB/s
pi@gladys:~ $ dd if=test of=/dev/null bs=1048576
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 0.405086 s, 518 MB/s

Débit tout à fait honorable :slight_smile:

Je suis étonné de la performance en écriture (ça me parait bas), tu as quoi comme SSD ?

Si tu pouvais nous faire un petit tuto sur la doc Gladys ça serait génial :smiley:

Edit: dans tous les cas, tu vas gagner en stabilité. La performance va rester bonne à travers le temps, et tu n’auras pas de problèmes de cohérence des données !

Oui débit faible, il faut après je pense prendre en compte le fait qu’on passe par un port usb. J’aimerai bien voir d’autres retours sur ce genre d’installation avec des SSD plus performant (des samsung etc).

Pour le SSD: https://www.amazon.fr/dp/B01KFLH1WS?tag=gladproj-21

Ok pas de problème du côté du SSD alors.

ah mais attend, c’est un Raspberry Pi de quel génération ?

Si c’est un Pi 1, 2 ou 3, il y avait effectivement beaucoup de limitations sur le port USB, et c’est probablement le goulot d’étranglement de ton setup.

Si c’est un Pi 4, attention au port auquel tu as branché ton SSD, je crois qu’ils ne sont pas tous égaux:

Raspberry Pi Documentation - Raspberry Pi Hardware.

04-PI-4-Detailled-600px

AH ! :smiley:

Effectivement le rasspberry étant sous un meuble et planqué j’ai pas pris le temps de regarder ça :slight_smile:

C’est surement le soucis, en tout cas en read on est bien plus haut que ce que peut proposer une carte SD

Je suis pas sûr que ce soit du uniquement au SSD, vu que tu as écris juste avant il y a du cache qui a peut-être biaisé tes résultats ^^

Je suis pas sur par contre que tes commandes étaient bien, je te conseille de faire comme dans ce tuto: Your Web Host Doesn’t Want You To Read This: Benchmark Your VPS

Pour tester les perfs en écritures:

dd if=/dev/zero of=diskbench bs=1M count=1024 conv=fdatasync

Ensuite tu clear le cache:

echo 3 | sudo tee /proc/sys/vm/drop_caches

Et enfin tu test en lecture:

dd if=diskbench of=/dev/null bs=1M count=1024

Tu peux nous redire après ça ?

Oui c’était en mode rapide que j’ai fais ca, je voulais prendre le temps de faire un meilleur test :smiley:

Hello !!
Bon ça y est test enfin concluant.

J’ai commencé par faire le test en suivant bien toutes les étapes, mais je n’arrivais jamais à démarrer sur le SSD… mais je me bornais sur l’USB3.0. Ce matin, suite aux conseils de @damalgos, j’ai retenter la procédure complete mais sur l’USB 2 et cette fois cela fonctionne parfaitement. Puis j’ai redémarré cette fois sur USB3.0 et ça fonctionnais. Je detaillerais par la suite la procédure exact. J’ai pu réaliser celle-ci sous un raspberry pi4 1Go et sur pi4 4Go. Je test ce soir sur le pi4 8Go, notamment pour les perfs. J’ai utilisé un Samsung T5 comme SSD - 75€ - minuscule ^^

Suivant procédure Pi4 4Go sur port usb 2 :

  • écriture : 50-60 MB/s
  • lecture : 500-600 MB/s
    Sur port USB 3.0 :
  • écriture : 200-250 MB/s
  • lecture : 550-650 MB/s

Pour info il faut réaliser le test

Plusieurs fois pour avoir le bon résultat.

Comparatifs de performance :

- Matériel utilisé :

- Préalable :
Le test a été effectué avec l’image officielle Gladys V4.0.4 en coupant les container docker à l’allumage et après avoir réaliser les opérations nécessaires pour pouvoir booter sur les ports USB du raspberry pi.

- Testing SSD :

  • Test SSD Samsung 860 EVO :
    • Port USB2 :
      • Ecriture = 30 à 31 MB/s
      • Lecture = 570 à 620 MB/s
    • Port USB3.0 :
      • Ecriture = 190 à 210 MB/s
      • Lecture = 560 à 610 MB/s
      • !! Attention !! Ne tourne pas en USB3.0 avec le boitier cité @pierre-gilles
En image

  • Test SSD Samsung Portable T5 :
    • Port USB2 :
      • Ecriture = 30 à 60 MB/s
      • Lecture = 530 à 590 MB/s
    • Port USB3.0 :
      • Ecriture = 190 à 220 MB/s
      • Lecture = 300 à 600 MB/s
En image

- Testing Micro SD :

  • Test micro SD Samsung Pro Plus :
    • Ecriture = 19 à 23 MB/s
    • Lecture = 44 à 46 MB/s
En image

  • Test micro SD SanDisk Extreme PLUS :
    • Ecriture = 30 à 40 MB/s
    • Lecture = 44 à 46 MB/s
En image

Joli tests !!

Merci pour ton retour :slight_smile:

Est-ce que tu pourrais convertir ça en un petit tuto sur la documentation ? (avec tes chiffres de performance, ça montrera le bien fondé d’utiliser un SSD au lieu d’une micro SD )

1 « J'aime »

@Terdious Je suppose que tu as fait avec les SSD que tu avais sous la main? Parce que je suis pas sur qu’un SSD de 500Go soit bien utile :slight_smile:

De mon côté j’ai acheté ce SSD : Transcend 64 Go couplé à ce boitier.

Il faut juste que je prenne le temps de faire les tests de vitesse

1 « J'aime »

C’est à cause du grand nombre de scènes programmées, et son énorme dashboard!!

2 « J'aime »

Yes je peux faire ça !! Les imp écrans ça vaut le coup ? Est-ce que le post avec les liens vers Amazon vaut pour la doc ou je retire les liens ?

Yes avec les liens c’est super :slight_smile:

Si tu peux mettre exactement les commandes que tu as faites ça serait top !

1 « J'aime »

Alors oui et non, pour le 860 evo en effet je l’avais sous la main. Pour le Samsung T5 je l’ai acheté pour d’une part pour sa petite taille (légèrement plus petit que le pi) et il n’y a que celui là de dispo (pas trouvé le 250Go à moins de 156€). Et d’autre part car je compte mettre d’autres choses dessus.

Justement @pierre-gilles , est-il possible de mettre plusieurs instances de Gladys dessus ? Le port change automatiquement sur un second container docker ? Un tuto pour le faire si ce n’est pas le cas ?

Tu peux te servir du code donné sur l’article de zigbee2mqtt, tu n’as qu’à changer le port et le nom de la base de données

1 « J'aime »

Un grand merci beaucoup @Jean34, je vais regarder ça, essayer de retrouver le code et reviens au besoin ^^

1 « J'aime »

C’est dans la doc Gladys, rubrique “docker” !

1 « J'aime »