¿Cómo garantizar que las escrituras se realicen físicamente antes de que se informe que se han completado?

¿Cómo garantizar que las escrituras se realicen físicamente antes de que se informe que se han completado?

Cuando mi sistema arranca, mientras prueba el disco duro externo conectado por USB, aparece el mensaje Assuming drive cache: write throughen la salida dmesg, etiquetado con el nombre del dispositivo del disco externo.

Como uso esta unidad para almacenar copias de seguridad, realmente preferiríaEl sistema no debe hacer suposiciones sobre las características del variador..Estoy dispuesto a intercambiar rendimiento de escriturapara tener conocimiento seguro de que cuando algo se ha escrito en un sistema de archivos en la unidad en cuestión,realmente se ha comprometido al almacenamiento permanentey no está almacenado en un caché en algún lugar (preferiblemente ni siquiera en la propia unidad, ya que un corte de energía hará que tanto la computadora como la unidad pierdan energía inmediatamente).

Un factor posiblemente complicado es que la unidad contiene una única partición, que está cifrada con LUKS. El sistema de archivos sólo existe dentro de ese contenedor LUKS, así:

+- physical drive ------------------------+
|                                         |
|  +- partition -----------------------+  |
|  |                                   |  |
|  |  +- LUKS encryption -----------+  |  |
|  |  |                             |  |  |
|  |  |  +- file system ---------+  |  |  |
|  |  |  |                       |  |  |  |
|  |  |  |      actual data      |  |  |  |
|  |  |  |                       |  |  |  |
|  |  |  +-----------------------+  |  |  |
|  |  |                             |  |  |
|  |  +-----------------------------+  |  |
|  |                                   |  |
|  +-----------------------------------+  |
|                                         |
+-----------------------------------------+

De ahí mi pregunta: ¿Cómo puedo asegurarme de que todas las escrituras se envíen al almacenamiento físico antes de informarlas a la aplicación del espacio de usuario como completadas?

Respuesta1

Aquí hay dos partes constituyentes: la caché de escritura del disco y la caché del sistema de archivos.

La caché de escritura del disco se puede desactivar usando hdparm -W 0 [device]. Puede deshabilitar el almacenamiento en caché de escritura del sistema de archivos montándolo/remontándolo con la syncopción. Tenga en cuenta que estos cambios degradarán enormemente el rendimiento.

información relacionada