[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Как **надежно** сожранить данные?



On 2016-03-24, Artem Chuprina wrote:

> За целостностью данных у нас следят простые intrusion detection systems.
> В твоем случае, возможно, сгодится fcheck.
>

  $ cat /etc/fcheck/fcheck.cfg
  Directory       = /etc/
  DataBase        = /var/lib/fcheck/fcheck.dbf
  $Signature      = /usr/bin/sha256sum
  Logger          = /usr/bin/logger -tfcheck

  $ cat /var/lib/fcheck/fcheck.dbf
  ...
  1845266!33188!1!0!0!637!1448875975!/etc/default/apache2!5f5748b1d5ce1adb2304cecf4cf25908f0a8163666d3fb53830e91b7368e306f
  ...

Гавкает наверно по указанному в Logger. Я почти о таком думал. Только вещь
нужна "пасивная". Не гарачие бекапы а скорее как сказано ниже - архивы...

> Но общий принцип прост: чексумма должна храниться, и должна быть такой,
> чтобы при повреждении данных их можно было восстановить.  По
> документации, этим свойством обладает, например, RAID-Z у zfs.  Он не
> только вылет диска переживает, но и битый бит может восстановить.  zfs
> сама по себе проверяет чексуммы (и при чтении тоже), но понятно, что
> узнать "данные побились" и восстановить данные - не одно и то же.
>
> В качестве более простого и надежного решения - база md5sum (если речь
> не идет о намеренном вторжении, то md5 достаточно), и более одной копии
> архива (тут уже речь идет скорее об архиве, а не о бэкапе).  Каковые
> копии никогда не втыкаются в один комп (что подразумевает физически
> разные носители).
>
> И, соответственно, если регулярная проверка одной копии показала
> несовпадение md5, эти данные восстанавливаются из другой копии.

Не сильно улавливаю разницу между бекапом и архивом. Речь о домашних медийных
данных, нужно обеспечить их сохранность пока я жив.

Непрерывность доступа не нужна. Раз в пол года втыкаю внешний накопитель. Т.е.
даже демон не нужен.

Ранее был отформатирован в NTFS (использовалось не только как архив, но и как
средство переноса данных). В основном хранил 2 копии и в момент бекапа удалял
старее, записывав новее. Но позавчера перевел в ext4, т.к.:

* на каталогах и файлах были странные метки времени (rsync предлагал менять
  все на все - потому работал с обычным копированием)
* нет хардлинков, я использовал 2 каталога попеременно, потому короткая
  история, а обычно по неосторожности удаляется файл и длинная история
  пригодилась бы
* ntfsfix(8) сказал нужно подключить провериться в Windows ((

В использовании NTFS были плюсы - читается в любой OC и монтируется от
определенного пользователя, после единственной настройки usbmount не
требовались права root.

Меня раздражает хранение прав доступа и бессмысленость uid/gid при переносе
носителя в другую систему...

Когда то писал на DVD-R, но спустя 3 года уже ничего не читалось )) так что
заявления производителей про тесты под высокой температурой для эмуляции
деградации со временем - чушь.

================================================================

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

Тогда средства резервирования и контроля целосности будут перпендикулярны.

В fcheck мне не по нраву общая база - мультимедийные данные сгрупированы по
каталогам и перестраиватся будут по каталогам. В общем удобней скопировать
подкаталог с контрольными суммами чем отдельным шагом их извлекать из общей
базы.

Мне кажется возможным на Perl/Python накропать свой обход каталогов с
высчитыванием md5sum и сохранением меток времени файлов.

================================================================

Интересно что холодные данные могут "умирать" без вашего ведома. Как бы
полезно периодически перечитывать данные, по крайней мере для HDD так.
Контроллер перезапишет блок, у которого обнаружатся ошибки кодом избыточности
и он либо "перемагнитит" либо переместит блок.

В общем полезно не только архивировать, но и перечитывать архивы ))

-- 
http://defun.work/


Reply to: