Schreibcache auf allen externen USB-Laufwerken deaktivieren (Debian / Ubuntu / Linux)

Schreibcache auf allen externen USB-Laufwerken deaktivieren (Debian / Ubuntu / Linux)

Wie schaltet man den Schreibcache für externe USB-Laufwerke unter Linux dauerhaft aus (ich verwende Ubuntu)?

Ich habe es versucht:

Befehlszeilenmethode: hdparm -W0 /dev/sdb <---- das funktioniert, aber nur für das aktuelle Laufwerk und wird nach dem Neustart zurückgesetzt.

Das hdparm-Flag „-k1“ sollte die Beibehaltung der Einstellung erzwingen, es heißt jedoch:

HDIO_SET_KEEPSETTINGS fehlgeschlagen: Ungültiges Argument

HDIO_GET_KEEPSETTINGS ist fehlgeschlagen: Ungültiges Argument

Konfigurationsdateimethode(scheint eine andere Möglichkeit zu sein, es dauerhaft zu tun): Als Nächstes habe ich festgestellt, dass die Datei „hdparm.conf“ in /etc geändert werden muss. Dies scheint jedoch zu erfordern, dass Sie den Laufwerksbuchstaben, „sdb, sdc...“ usw. im Voraus kennen.

Wie können Sie einfach pauschal ALLE Laufwerke abdecken, egal welche, oder speziell alle externen USB-Laufwerke?

Das Hauptproblem ist, dass ich nicht sicher bin, in welcher Reihenfolge ich diese externen USB-Laufwerke anschließen werde, da sich der Laufwerksbuchstabe ändern wird. Ich kann also nicht einfach „sdb“ benennen, weil es dann vielleicht nicht „sdb“ ist …

Ist das eine Situation, in der hdparm.conf einen Eintrag mehrfach haben kann, sogar für Laufwerksbuchstaben, die nicht einmal verbunden sind? Auf diese Weise wird der Schreibcache einfach präventiv ausgeschaltet, egal welches Laufwerk verbunden ist. Oder wird das etwas durcheinanderbringen?

Möglich/etc/hdparm.confBeispiel (wird das funktionieren?):

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

Auch hier gilt, dass diese Laufwerke möglicherweise noch gar nicht existieren ... Ich decke nur so viele Buchstaben des Alphabets präventiv ab, dass der Schreibcache auf jeden Fall deaktiviert ist. Ich denke allerdings, dass es einen besseren Weg als diesen geben muss ...

Irgendwelche anderen Ideen? Oder bessere Ansätze? Danke!

Antwort1

Sie müssen die Option -K verwenden. Von man 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.

verwandte Informationen