Code source wiki de SSD de stockage
Modifié par john le 2026/09/20 17:40
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | SSD M.2 intégré au boîtier du Raspberry Pi, relié à la carte par un pont USB 3 branché sur les ports USB 3 en façade. Il stocke le dépôt de sauvegarde Plakar et les bibliothèques Jellyfin. Surveillé par smartmontools. | ||
| 2 | |||
| 3 | == Matériel == | ||
| 4 | |||
| 5 | |=Élément|=Valeur | ||
| 6 | |Disque|Transcend MTS830S, M.2 SATA, 2 To | ||
| 7 | |Connexion|SSD dans le boîtier du Pi, pont USB-SATA ASMedia (##174c:55aa##) vers un port USB 3 en façade | ||
| 8 | |Lien SATA|3 Gb/s (limité par le pont) | ||
| 9 | |Système de fichiers|ext4 | ||
| 10 | |Point de montage|##<POINT_MONTAGE>## | ||
| 11 | |||
| 12 | == Pont USB : mode usb-storage == | ||
| 13 | |||
| 14 | En mode UAS, le pont ASMedia se déconnecte sous forte charge. Le mode UAS est désactivé pour ce seul périphérique, dans la ligne unique de ##/boot/firmware/cmdline.txt## : | ||
| 15 | |||
| 16 | {{code}} | ||
| 17 | usb-storage.quirks=174c:55aa:u | ||
| 18 | {{/code}} | ||
| 19 | |||
| 20 | Identifiants ##VID:PID## donnés par ##lsusb## ; le ##u## force usb-storage. Redémarrage nécessaire. | ||
| 21 | |||
| 22 | {{code language="bash"}} | ||
| 23 | lsusb -t | grep -E 'Driver=(uas|usb-storage)' # doit afficher usb-storage | ||
| 24 | {{/code}} | ||
| 25 | |||
| 26 | == Montage == | ||
| 27 | |||
| 28 | ##/etc/fstab## : | ||
| 29 | |||
| 30 | {{code}} | ||
| 31 | UUID=<UUID> <POINT_MONTAGE> ext4 noatime,nofail,x-systemd.automount,x-systemd.device-timeout=10,x-systemd.idle-timeout=0 0 2 | ||
| 32 | {{/code}} | ||
| 33 | |||
| 34 | |=Option|=Effet | ||
| 35 | |##noatime##|Pas d'écriture de la date d'accès à chaque lecture | ||
| 36 | |##nofail##|Le démarrage continue si le disque est absent | ||
| 37 | |##x-systemd.automount##|Montage au premier accès | ||
| 38 | |##x-systemd.device-timeout=10##|Attente maximale de 10 secondes pour le disque | ||
| 39 | |##x-systemd.idle-timeout=0##|Jamais démonté pour inactivité | ||
| 40 | |||
| 41 | Point de montage vide rendu immuable, pour qu'aucun programme n'écrive sur la carte SD quand le disque est absent : | ||
| 42 | |||
| 43 | {{code language="bash"}} | ||
| 44 | sudo umount <POINT_MONTAGE> | ||
| 45 | sudo chattr +i <POINT_MONTAGE> | ||
| 46 | sudo mount <POINT_MONTAGE> | ||
| 47 | {{/code}} | ||
| 48 | |||
| 49 | == smartmontools == | ||
| 50 | |||
| 51 | {{code language="bash"}} | ||
| 52 | sudo apt install smartmontools | ||
| 53 | {{/code}} | ||
| 54 | |||
| 55 | Le pont USB demande l'option ##-d sat## : | ||
| 56 | |||
| 57 | {{code language="bash"}} | ||
| 58 | sudo smartctl -d sat -H /dev/sda # état de santé | ||
| 59 | sudo smartctl -d sat -a /dev/sda # tous les attributs | ||
| 60 | sudo smartctl -d sat -t short /dev/sda # autotest court (quelques minutes) | ||
| 61 | sudo smartctl -d sat -l selftest /dev/sda | ||
| 62 | {{/code}} | ||
| 63 | |||
| 64 | Surveillance continue par le service ##smartd##, ##/etc/smartd.conf## (configuration Debian par défaut) : | ||
| 65 | |||
| 66 | {{code}} | ||
| 67 | DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner | ||
| 68 | {{/code}} | ||
| 69 | |||
| 70 | |=Option|=Effet | ||
| 71 | |##DEVICESCAN##|Surveille tous les disques détectés | ||
| 72 | |##-d removable##|Pas d'erreur si un disque est absent au démarrage | ||
| 73 | |##-n standby##|Ne réveille pas un disque en veille | ||
| 74 | |##-m root##|Alertes par courriel à root (boîte locale du Pi) | ||
| 75 | |##-M exec ... smartd-runner##|Exécute les scripts de ##/etc/smartmontools/run.d/## | ||
| 76 | |||
| 77 | {{code language="bash"}} | ||
| 78 | sudo journalctl -u smartmontools -n 30 # disques surveillés et alertes | ||
| 79 | {{/code}} | ||
| 80 | |||
| 81 | === Options non utilisées === | ||
| 82 | |||
| 83 | {{code}} | ||
| 84 | /dev/sda -d sat -a -s (S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner | ||
| 85 | {{/code}} | ||
| 86 | |||
| 87 | |=Option|=Effet | ||
| 88 | |##-a##|Surveille tous les attributs et journaux d'erreurs | ||
| 89 | |##-s (S/../.././02~|L/../../6/03)##|Autotest court chaque jour à 2 h, long le samedi à 3 h | ||
| 90 | |Script dans ##/etc/smartmontools/run.d/##|Envoyer l'alerte ailleurs (message Telegram, par exemple) | ||
| 91 | |||
| 92 | == TRIM == | ||
| 93 | |||
| 94 | Le disque accepte TRIM, mais un pont USB en mode usb-storage ne le transmet pas toujours. Vérifier : | ||
| 95 | |||
| 96 | {{code language="bash"}} | ||
| 97 | sudo fstrim -v <POINT_MONTAGE> | ||
| 98 | {{/code}} | ||
| 99 | |||
| 100 | Une erreur ##discard operation is not supported## indique que le pont ne le transmet pas. |