Как отлаживать / проверять, какие устройства кэширует записи?

Я храню документы на разделе btrfs, основанные на разреженном устройстве dm-crypt, расположенном на основном разделе ext4 на физическом жестком диске.

При панике ядра (и это происходит ежедневно на моем ASUS P53E с 3,6 ядром :-() Я потерял недавно измененные файлы (всегда содержимое файлов было заменено нулями).

Один из способов предотвращения повреждения файлов – отключить кеш записи.

Для этого мне нужно будет отключить кэширование записи для раздела btrfs, устройства dm-crypt, которое поддерживает раздел, и для разреженного файла, в котором работает устройство dm-crypt.

  1. Как проверить статус записи кеша для дисков?
  2. Как я могу отключить его?

Я использую Mint 13 Maya с основным ядром 3.6.8.

2 Solutions collect form web for “Как отлаживать / проверять, какие устройства кэширует записи?”

Я не уверен, что кэш на жестких дисках будет исправлять проблему для вас, поскольку кажется, что вы используете устройство loop. Таким образом, все еще существует кеш-файл страницы между файловой системой Btrfs и фактическим диском. Такой же тип проблемы существует для журналирования файловых систем, подробно описанных здесь для loop-AES . Поэтому, когда данные синхронизируются с вашим устройством цикла, оно может быть не на реальном диске, а только в кеше, ожидающем повторного упорядочения и записи.

ext4 не поддерживает опцию sync mount ext2 / 3, чтобы отключить кеширование. из-за слоев между ними я не уверен, что это обеспечит вам эффективное восстановление. К сожалению, я не знаю достаточно о внутренних документах, по крайней мере, больше данных выйдет на диск.

Точно так же вы можете ограничить эту проблему, настроив кеш страниц, чтобы система записывала на диск чаще. Кэш страницы Linux сообщает о своих значениях в /proc/meminfo разделе

 "Dirty" - for pages that are currently dirty "Writeback" - for dirty pages that are being written out to disk. 

Есть файлы в /proc/sys/vm/ которые сообщают о статусе и управляют потоками потока, которые записывают данные обратно на диск.

Вы можете поместить небольшое значение (больше 8096 или 2 страницы) в /proc/sys/vm/dirty_background_bytes чтобы ускорить процесс фонового pdflush или /proc/sys/vm/dirty_bytes чтобы активировать процесс более активно (более того) Для штрафа за производительность или, по крайней мере, больше записей на диске в целом).

Я думаю, что маловероятно, что кэш-память устройства будет находиться в вашей основной проблеме. Если бы вы только направлялись к устройству через dm-crypt, я бы посмотрел туда первым. В любом случае кэширование IDE и SATA может быть отключено с помощью hdparm -W0 /dev/xdx .

Кроме того, поскольку вы используете технически экспериментальную файловую систему в более сложном случае, чем большинство, вам может быть повезло с более зрелыми файлами, где люди уже наткнулись на проблемы. Если вам нужно Btrfs, лучшим вариантом было бы сделать шифрование на физический раздел.

До сих пор я нашел способ настройки поведения кэша записи для физического раздела ( /dev/sda6 в моем случае):

sudo hdparm -W /dev/sda6 для проверки поведения записи и sudo hdparm -W0 /dev/sda6 для отключения кэша записи.

Но в моей ситуации это слишком много. Я хочу только отключить кеш-запись для файла, поддерживающего dm-crypt, а не весь раздел.

  • Панель Linux Mint 19 - Скрыть текст открытых программ?
  • Несмотря на все попытки, вентилятор все еще работает очень громко и быстро
  • Как удалить Windows из настройки двойной загрузки?
  • Монетный двор 12: я не могу открыть диспетчер синаптических пакетов
  • Запуск Cinnamon / X из командной строки ---> Нет звука, программный рендеринг
  • Не удается поддерживать подключение к Интернету в Linux Mint 18
  • Как изменить заставку Linux Mint Nadia?
  • Как сделать mac spoofing на Linux Mint 17?
  • virtualbox-guest- * установлен на хосте; может ли это быть причиной замерзания системы?
  • Как решить странную ошибку при запуске Google Chrome?
  • Настройка кроссплатформенной системы VNC
  • Linux и Unix - лучшая ОС в мире.