Файлы, записанные в течение минуты после сбоя питания, имеют нулевые байты, когда система возвращается в исходное состояние. Тестирование системы, которая, как мы не можем гарантировать, будет иметь резервную копию ИБП.
Centos 6.4
ядро 2.6.32-358.14.1.el6.x86_64
ext4 смонтировано со значениями по умолчанию
См., Что это происходит в двух разных системах (единственная два, которые я пробовал)
1-й с контроллером PERC h710 RAID 6 с 4 дисками по 3 ТБ.
Это происходит с lvm и без него
Это происходит как при сквозной записи, так и в кэше обратной записи.
2-й, без RAID-контроллера 2 ТБ диск
тестировался только без lvm
Как это предотвратить?
Судя по вашему описанию, это звучит так, как будто ОС не сбрасывала ваши данные на диск, учитывая, что у вас есть метаданные файла, только без содержимого / длины.
write (2) никоим образом не гарантирует, что ваши данные попадут на диск (если вы не откроете (2) ваши файлы с помощью O_DIRECT), вы выполняете приказ ОС / файловой системы и когда он решает сбросить данные / метаданные на диск. Чтобы гарантировать, что ваши данные надежно спрятаны, у вас есть два варианта:
. Большое предостережение - кеши (которые могут или не могут) иметь резервное питание как на дисках, так и на рейд-контроллерах,