Désactiver le cache en écriture sur tous les lecteurs externes USB (Debian / Ubuntu / Linux)

5

Comment désactiver le cache d'écriture de manière permanente pour les lecteurs USB externes sous Linux (j'utilise Ubuntu)?

J'ai essayé:

Méthode en ligne de commande : hdparm -W0 / dev / sdb <---- qui fonctionne, mais uniquement pour le lecteur actuel, et réinitialise après le redémarrage.

Le drapeau hdparm "-k1" devrait l'obliger à conserver le paramètre, mais il indique:

HDIO_SET_KEEPSETTINGS a échoué: argument non valide.

HDIO_GET_KEEPSETTINGS a échoué: argument incorrect

Méthode du fichier de configuration (semble être une autre façon de le faire de manière permanente): La chose suivante que j'ai trouvée était la modification du fichier "hdparm.conf" situé dans / etc. Cependant, cela semble exiger que vous connaissiez à l’avance la lettre de lecteur, "sdb, sdc ..." etc.

Comment couvrir simplement tous les lecteurs, peu importe ce qui se passe ou spécifiquement tous les périphériques USB?

Le problème clé est .. Je ne suis pas sûr de l'ordre dans lequel je vais connecter ces lecteurs externes USB. Par conséquent, la lettre du lecteur va changer. Je ne peux donc pas nommer "sdb" de manière spécifique, car ce n'est peut-être pas "sdb". .

Est-ce une situation où hdparm.conf peut avoir une entrée plusieurs fois, même pour des lettres de lecteurs qui ne sont même pas connectées? Ainsi, quel que soit le lecteur connecté, il désactivera write_cache de façon préventive. Ou est-ce que ça va déranger quelque chose?

Exemple possible de /etc/hdparm.conf (cela fonctionnera-t-il?):

/dev/sda {
        write_cache = off
}
/dev/sdb {
        write_cache = off
}
/dev/sdc {
        write_cache = off
}
/dev/sdd {
        write_cache = off
}

Encore une fois, il est possible que ces lecteurs n'existent même pas encore ... Couvrant autant de lettres de l'alphabet de manière préventive, alors, quoi qu'il en soit, le write_cache est désactivé. Je penserais qu'il doit y avoir un meilleur moyen que cela cependant ..

D'autres idées? Ou de meilleures approches? Je vous remercie!

Mikeweb49
la source

Réponses:

1

Vous devez utiliser l'option -K. De l'homme hdparm

   -k     Get/set the "keep_settings_over_reset" flag for the drive.  When this flag is set, the drive will preserve the -dmu settings
          over a soft reset, (as done during the error recovery sequence).  This option defaults to off, to prevent drive reset  loops
          which  could  be caused by combinations of -dmu settings.  The -k option should therefore only be set after one has achieved
          confidence in correct system operation with a chosen set of configuration settings.  In practice, all that is typically nec‐
          essary  to  test a configuration (prior to using -k) is to verify that the drive can be read/written, and that no error logs
          (kernel messages) are generated in the process (look in /var/adm/messages on most systems).

   -K     Set the drive´s "keep_features_over_reset" flag.  Setting this enables the drive to retain the settings for -APSWXZ  over  a
          soft reset (as done during the error recovery sequence).  Not all drives support this feature.
Chris
la source