ServerAdmin.ru | Linux | DevOps
ServerAdmin.ru | Linux | DevOps
1 992 подписчиков · @srv_admin
К каналу →
docker-compose.yaml и config.yml для Frigate на примере трёх камер. С каждой камеры берутся 2 потока. Первый максимального разрешения для архива, второй среднего для анализа содерж…
Читать далее →
4 600

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

В современных системах хранения есть проблема частичного повреждения данных при длительном хранении. Это когда на носитель записан бит 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
Хочу сделать личную рекомендацию одного необычного для наших дней проекта. Сразу скажу, что это не реклама, автора не знаю, хотя он тут несколько раз появлялся в комментариях. Авт…
Читать далее →
5 103
Решил по максимуму наполнить тему почтового сервера. На очереди сбор и обработка логов в ELK, но для этого надо сначала с этим стеком обновить статью. А пока более простой матери…
Читать далее →
5 136
Другие главы канала «ServerAdmin.ru | Linux | DevOps»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 24.06.2026
erid: 2W5zFGXKtHf Почему одни ИТ-специалисты быстро растут в карьере, а другие …
👁 306 просмотров
Глава от 24.06.2026
Подписчик поделился информацией про один интересный проект, который следит за об…
👁 500 просмотров
Глава от 23.06.2026
Слышал краем уха новости о том, что протухают какие-то сертификаты Microsoft, ко…
👁 689 просмотров
Глава от 23.06.2026
Расскажу кратко, как я работаю с AI. Не нужно воспринимать это как инструкцию и …
👁 723 просмотров
Глава от 22.06.2026
Не так давно переносил старую виртуалку с Asterisk на другой гипервизор. Конкрет…
👁 794 просмотров
Глава от 22.06.2026
Некоторое время назад у Proxmox Datacenter Manager вышло обновление 1.1, которое…
👁 905 просмотров
Глава от 19.06.2026
Недавно делал подборку из нескольких видео сериала Кремниевая долина. Из этой же…
👁 1 082 просмотров
Глава от 19.06.2026
Сколько лет пользуюсь Grafana, впервые столкнулся с нелепой проблемой, созданной…
👁 1 061 просмотров
Глава от 18.06.2026
Мини-гайд: как добавить карты, поиск и навигацию в сервис клиента без дополнител…
👁 1 103 просмотров

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

▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за послед…
👁 10 154 просмотров
🎓 Я периодически просматриваю поток Администрирование на Хабре. Лет 5 назад и раньше я делал это регулярно, а потом забросил и вообще ничего…
👁 10 140 просмотров
117 приказ ФСТЭК: с 1 марта меняются правила игры в информационной безопасности. Приглашаем на вебинар о новых требованиях регулятора и спо…
👁 10 129 просмотров
Расскажу про один трюк в strace, про который я вроде бы ещё ни разу не писал. В нём ничего особенного нет, но в некоторых ситуациях с ним уд…
👁 10 057 просмотров
У платформы для управления IT инфраструктурой INFRAX в начале марта вышел первый стабильный релиз 1.0. Я уже делал заметки по этой системе: …
👁 10 056 просмотров
Давно уже надумал заменить свой основной рабочий ноутбук. Ещё год назад делал по этому поводу публикацию. Там какое-то рекордное обсуждение …
👁 10 043 просмотров
Домучиваю статью про Loki. Никак не соберусь и не доделаю её полностью. В процессе настройки хочется наполнить систему реальными логами в но…
👁 10 014 просмотров
Вспомнилось очень старое и неприметное видео с небольшим количеством просмотров и комментариев: ▶️ Imagine DevOps Ностальгическая пародия …
👁 10 012 просмотров
Каждый раз, когда пишу заметки на тему DDOS, в комментариях появляются одни и те же заблуждения. Я не сказать, что прям такой большой специа…
👁 10 008 просмотров
Я не раз между делом в заметках упоминал, что обычно не ставлю в автоматическую загрузку виртуальные машины на гипервизорах. Недавно один по…
👁 9 990 просмотров
Хочу дать небольшие советы, основанные на личном опыте работы в отрасли. Может показаться, что они будут актуальны только новичкам, но это д…
👁 9 962 просмотров
Недавно была публикация про PDF принтер в Windows. В комментариях дали ссылку на шикарный бесплатный сервис BentoPDF для работы с PDF. Причё…
👁 9 933 просмотров
Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает, о чём идёт речь, может прочитать прошлые публикац…
👁 9 890 просмотров
В Microsoft работают настоящие специалисты по возвращении в систему одного и того же бага. Сколько лет уже наблюдается одна и та же проблема…
👁 9 886 просмотров
Сейчас борьба с DDOS - в основном удел специальных сервисов, у которых есть свои каналы и пулы IP адресов. Без этого эффективной защиты не п…
👁 9 880 просмотров
Я написал подробный обзор межсетевого экрана и по совместительству шлюза ИКС ФСТЭК, который можно установить на своё железо или виртуальную …
👁 9 877 просмотров
Тихой сапой платформа виртуализации Proxmox захватила весь сегмент малого и среднего бизнеса и потихоньку ползёт дальше. Уже есть сравнения …
👁 9 865 просмотров
Мне недавно один читатель задал простой вопрос, который заставил задуматься. Человек пояснил, что он далёк от ИТ, не сильно во всём этом раз…
👁 9 823 просмотров
Сегодня много времени провёл в дороге и размышлял над некоторыми вещами, в том числе об ИИ. Хочу с вами поделиться некоторыми мыслями. Я сей…
👁 9 820 просмотров
Есть популярная бесплатная виндовая программа из далёкой древности - doPDF. Когда нужно добавить в систему pdf принтер, я вспоминаю именно …
👁 9 813 просмотров

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

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@canalmaxone
AntiCloudMod
AntiCloudMod — сообщество для тех, кто ценит свободу общения без облачной цензуры. Здесь обсуждают альтернативные мессенджеры, инструменты для приватности и децентрализов…
👥 374 296 · -469/7д
@WylsacomRed
Wylsacom Red
Официальный канал Wylsacom в Max. Тут всё про технологии и жизнь в ногу со временем! Номер заявления для регистрации в РКН: № 6979154178 Розыгрыши: kichaev@wylsacom.med…
👥 154 996 · +731/7д
@BelgorodDRONE
Информация БПЛА Белгород, Белгородский район
Информация БПЛА Белгород, Белгородский район — специализированный канал в мессенджере Макс, посвященный новостям и информации о беспилотных летательных аппаратах в регион…
👥 140 408 · +2 481/7д
@TikTokModCloud
TikTokModCloud
Официальные обновления стабильного мода TikTok Чат: https://clck.ru/3S6mVh По рекламе: https://iimax.ru/dim4ugan
👥 86 188 · +3 921/7д
@na_kruchok
ГЛЕНТ | МЕМЫ
Глент мемы Это фан-сообщество, созданное преданными поклонниками для поддержки творчества Глента. Данный канал НЕ является официальным и ведется фанатом. Биржа: telega…
👥 57 314 · +13 032/7д
@hitech
Hi-Tech
Оперативные новости, обзоры гаджетов, собственное видео, трансляции мировых анонсов и мероприятий По вопросам сотрудничества и размещения рекламы i.ostapenko@corp.mail.r…
👥 53 099 · -129/7д
🏷 Темы и теги
#backup #системное администрирование #devops #linux #серверы #автоматизация #Технологии
📋 О канале ServerAdmin.ru | Linux | DevOps
Практические руководства по Linux, DevOps и автоматизации. Реальные примеры настройки серверов, решения проблем и внедрения CI/CD. Для сисадминов и инженеров, которые ценят рабочие конфиги и готовые скрипты.
🔍 Архив всех постов Макс
Поиск по 9,348,220 постам из 201,231 каналов
Попробовать за 1 ₽ →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «ServerAdmin.ru | Linux | DevOps» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

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