ServerAdmin.ru | Linux | DevOps
← К каналу

В современных системах хранения есть проблема частичного повреждения данных при длительном хранении.

В современных системах хранения есть проблема частичного повреждения данных при длительном хранении. Это когда на носитель записан бит 1 или 0, а со временем по разным причинам он поменял своё значение. Называют это Bit Rot или битовым гниением.

На работе я никогда не сталкивался с этим, потому что никогда не приходилось работать с данными, которые хранятся много лет и потом используются. Обычно все всё хранят на всякий случай, но потом данные 10+ лет мало кому нужны. Но даже если и нужны, то изменения нескольких бит не всегда приводят к каким-то фатальным последствиям, так что проблем можно и не заметить, кроме каких-то частных случаев с неизменяемыми архивами.

Дома замечал на очень старых фотках (15+ лет), что некоторые с искажениями или часть изображения не грузится. Не могу сказать на 100%, что это проблема с bitrot, но похоже.

Бороться с этим можно разными способами:

◽️Использование файловых систем с автоматическим контролем данных: ZFS, Btrfs, ReiserFS, Ceph. Хранилища на их основе должны быть собраны с избыточностью. То есть каждый файл должен храниться как минимум в двух или более копиях, чтобы было откуда восстанавливать повреждённый.

◽️Использование механизма Linux DM-integrity или аналогов. С его помощью можно любое блочное устройство превратить в устройство с контролем целостности. А поверх развернуть любую файловую систему. Если на устройстве с DM-integrity использовать Mdadm или LVM с избыточностью, то они тоже будут пытаться автоматически восстанавливать повреждённые файлы.

◽️Условно ручная периодическая проверка хэшей файлов с помощью тех или иных инструментов и восстановление повреждённых из других копий. Сами файлы могут храниться где угодно.

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

Для личных архивов холодных данных тоже на мой взгляд третий вариант проще и надёжнее. Даже если использовать ZFS, то должно быть несколько копий данных. А они уже сами по себе защищают вас от bitrot, главное узнать об этом вовремя. Достаточно иметь 2-3 копии в разных местах и периодически (не очень часто) проверять хэши фалов. Сделать это можно, к примеру, с помощью скрипта bitrot.

Скрипт рекурсивно сканирует директорию, из которой запущен, проверяет хэши SHA1 файлов, записывает результаты в SQLite базу, которую кладёт сюда же в директорию. Если хэш изменится, а дата изменения файла - нет, значит файл повреждён. Утилита об этом сообщит. Будет показан текущий хэш, прошлый и дата, когда он был сделан. Нужно будет повреждённый файл восстановить из бэкапа (который так же проверяется).

Покажу, как это работает. Копируем себе скрипт bitrot.py из репозитория, кладём в директорию с данными и запускаем:

# ./bitrot.py

Изменим один из файлов, сохранив его метку времени, чтобы потом восстановить:

# MTIME=$(stat -c %y file.bin)

Редактируем файл, если он текстовый, либо снимаем дамп хекс редактором и заливаем обратно. Примерно так:

# xxd file.bin > file.hex

Меняем файл file.hex текстовым редактором, заливаем обратно изменённый дамп:

# xxd -r file.hex file.bin

Восстанавливаем метку времени:

# touch -d "$MTIME" file.bin

Снова запускаем bitrot.py:

# ./bitrot.py
Checking bitrot.db integrity... ok.
error: SHA1 mismatch for ./file.bin: expected 615063b57508bf491223b5, got 95061866745edc76c75aebbe4. Last good hash checked on 2025-12-15 20:29:19+0000.

Видим расхождение в хэшах при неизменной mtime, что говорит о повреждении файла. Его надо восстановить.

В проде для архивов хорошо бы иметь ZFS с избыточностью, но это не отменяет подобную проверку, так как в самой ZFS тоже могут быть ошибки, либо где-то ещё. Старые данные всё равно желательно периодически сверять тем или иным способом.

#backup
← Предыдущий пост docker-compose.yaml и config.yml для Frigate на примере трёх камер. С каждой кам… Следующий пост → Хочу сделать личную рекомендацию одного необычного для наших дней проекта. Сразу…
Другие главы канала «ServerAdmin.ru | Linux | DevOps»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 08.05.2026
Перебирал старые ролики и нашёл древние видео от провайдера Авантел на тему сист…
👁 448 просмотров
Глава от 08.05.2026
Купил не так давно себе домой ИБП Ippon Kirpich 1050. Хороший аппарат, мне понра…
👁 613 просмотров
Глава от 07.05.2026
Много лет использую Zabbix и постоянно нахожу что-то новое. Это очень масштабная…
👁 762 просмотров
Глава от 07.05.2026
Не могу не поделиться этой историей, хотя пользы от неё кому-то кроме меня скоре…
👁 851 просмотров
Глава от 06.05.2026
Лучшие teelegram-каналы по Айти теперь в Max! Карманный хакер — Канал по инфобе…
👁 730 просмотров
Глава от 06.05.2026
Один мой читатель прислал ссылку на свой новый проект. Он представляет из себя к…
👁 1 059 просмотров
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
🔍
Архив всех постов Макс
Поиск по тексту среди 4,268,449 постов из 199,749 каналов. Фильтры по дате, видео, репостам и удалённым публикациям.
1 ₽ — 7 дней доступа
далее 490 ₽/мес
Получить доступ за 1 ₽
или войти, если уже есть аккаунт

Связанные темы в других каналах

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@canalmaxone
AntiCloudMod
AntiCloudMod — сообщество для тех, кто ценит свободу общения без облачной цензуры. Здесь обсуждают альтернативные мессенджеры, инструменты для приватности и децентрализов…
👥 233 468 · +144 025/7д
@WylsacomRed
Wylsacom Red
Официальный канал Wylsacom в Max. Тут всё про технологии и жизнь в ногу со временем! Номер заявления для регистрации в РКН: № 6979154178 Розыгрыши: kichaev@wylsacom.med…
👥 133 648 · +8 242/7д
@BelgorodDRONE
Информация БПЛА Белгород, Белгородский район
Информация БПЛА Белгород, Белгородский район — специализированный канал в мессенджере Макс, посвященный новостям и информации о беспилотных летательных аппаратах в регион…
👥 119 937 · +7 443/7д
@TikTokModCloud
TikTokModCloud
Официальные обновления стабильного мода TikTok Чат: https://clck.ru/3S6mVh По рекламе: https://iimax.ru/dim4ugan
👥 58 135 · +1 877/7д
@hitech
Hi-Tech
Оперативные новости, обзоры гаджетов, собственное видео, трансляции мировых анонсов и мероприятий По вопросам сотрудничества и размещения рекламы i.ostapenko@corp.mail.r…
👥 53 422 · +863/7д
@vilianov
Гаджеты и технологии на Вильянов.Ком
Обзоры новой цифровой техники, интересные технологии, репортажи с выставок и просто интересное от Сергея Вильянова. Уже больше 25 лет я делаю так, чтобы купленная техник…
👥 28 560 · -147/7д

Популярные посты канала «ServerAdmin.ru | Linux | DevOps»

Последнее время заметил, что стали донимать ситуации, когда слетают аутентификации в софте после каких-то изменений в системе. Причём иногда…
👁 8 929 просмотров
У меня давняя привычка пользоваться несколькими браузерами. Один основной, где хранятся все пароли и закладки, а остальные - для отдельных з…
👁 8 896 просмотров
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за послед…
👁 8 881 просмотров
Веселенький денек у сисадмина или Web-site is down как это было в оригинале. Для тех, кто еще не видел (такие есть??? 😱), хочу поделиться о…
👁 8 797 просмотров
Есть отдельная категория программ для синхронизации между собой каталогов. Они прям так и выглядят, как файловые менеджеры с двумя панелями,…
👁 8 752 просмотров
В конце прошлого года по каналам проскочило упоминание новой веб панели для бэкапов на базе Restic под названием Zerobyte. Мне нравится Res…
👁 8 705 просмотров
Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает, о чём идёт речь, может прочитать прошлые публикац…
👁 8 676 просмотров
На днях до глубокой ночи занимался настройкой одиночного гипервизора Proxmox, потому что кое-что не получалось. Нужно было ложиться спать, н…
👁 8 658 просмотров
Недавно в обсуждениях всплыл вопрос использования Rclone c Яндекс.Диском. У последнего заявлена поддержка этого облака. Я много работал с Ян…
👁 8 590 просмотров
Как усилить свою позицию на рынке ИБ в 2026? Академия Кодебай предлагает системный подход с поддержкой экспертов! Если вы планируете развив…
👁 8 586 просмотров
Недавно посмотрел видеообзор менеджера соединений Nexterm. Причём это не обычный менеджер, а веб сервис с разграничением прав доступа и неко…
👁 8 460 просмотров
Есть популярная бесплатная виндовая программа из далёкой древности - doPDF. Когда нужно добавить в систему pdf принтер, я вспоминаю именно …
👁 8 453 просмотров
Пришло время обновить подборку хостингов, которые использую сам. То есть это не рекламная публикация, которую у меня кто-то заказал. Это моя…
👁 8 401 просмотров
Давно собираюсь написать про своё новое рабочее место, но всё руки не доходили. В пятницу самое время это сделать. Для того, чтобы был понят…
👁 8 391 просмотров
Недавно была публикация про PDF принтер в Windows. В комментариях дали ссылку на шикарный бесплатный сервис BentoPDF для работы с PDF. Причё…
👁 8 370 просмотров
Я написал подробный обзор межсетевого экрана и по совместительству шлюза ИКС ФСТЭК, который можно установить на своё железо или виртуальную …
👁 8 364 просмотров
Конфигурация Alloy для Windows к предыдущей заметке. Она же продублирована в репозитории: https://gitflic.ru/project/serveradmin/grafana-lok…
👁 8 355 просмотров
🎥 Перед новым годом я делал публикацию по выбору себе домой бесплатной системы видеонаблюдения. Лично установил и попробовал несколько штук.…
👁 8 353 просмотров
Расскажу про одну тему, которая не относится к IT, но напрямую влияет на мою продуктивность. Может быть и вам она поможет. Лет 8 назад купил…
👁 8 351 просмотров
Недавно посмотрел ролик на ютубе (автор) на мемную тему из прошлого по поводу установки Windows девушке. Сейчас это всё как-будто уже неакту…
👁 8 338 просмотров
🏷 Темы и теги
#backup #системное администрирование #devops #linux #серверы #автоматизация #Технологии
📋 О канале ServerAdmin.ru | Linux | DevOps
Авторский канал о системном администрировании, DevOps и Linux. Практические руководства, автоматизация, настройка серверов и реальные кейсы для администраторов и инженеров. Без воды — только проверенные решения.
📊 Аналитика канала «ServerAdmin.ru | Linux | DevOps» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

Бесплатная регистрация, быстрая модерация.