0 Votes

Code source wiki de SSD de stockage

Modifié par john le 2026/09/20 17:40

Masquer les derniers auteurs
john 1.1 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.