ServerAdmin.ru | Linux | DevOps
ServerAdmin.ru | Linux | DevOps
1 988 подписчиков · @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»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 23.06.2026
Расскажу кратко, как я работаю с AI. Не нужно воспринимать это как инструкцию и …
👁 486 просмотров
Глава от 22.06.2026
Не так давно переносил старую виртуалку с Asterisk на другой гипервизор. Конкрет…
👁 599 просмотров
Глава от 22.06.2026
Некоторое время назад у Proxmox Datacenter Manager вышло обновление 1.1, которое…
👁 739 просмотров
Глава от 19.06.2026
Недавно делал подборку из нескольких видео сериала Кремниевая долина. Из этой же…
👁 956 просмотров
Глава от 19.06.2026
Сколько лет пользуюсь Grafana, впервые столкнулся с нелепой проблемой, созданной…
👁 947 просмотров
Глава от 18.06.2026
Мини-гайд: как добавить карты, поиск и навигацию в сервис клиента без дополнител…
👁 984 просмотров
Глава от 18.06.2026
В Windows есть давняя проблема с переключением раскладки, когда она не переключа…
👁 1 091 просмотров
Глава от 17.06.2026
🌞🏄Лето в разгаре! Отпуск не должен сорваться из-за проблем на работе. Как пост…
👁 887 просмотров
Глава от 17.06.2026
Небольшая информационная заметка для тех, кто не сталкивался, как я ранее, с под…
👁 1 235 просмотров

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

▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за послед…
👁 10 141 просмотров
🎓 Я периодически просматриваю поток Администрирование на Хабре. Лет 5 назад и раньше я делал это регулярно, а потом забросил и вообще ничего…
👁 10 127 просмотров
117 приказ ФСТЭК: с 1 марта меняются правила игры в информационной безопасности. Приглашаем на вебинар о новых требованиях регулятора и спо…
👁 10 116 просмотров
Расскажу про один трюк в strace, про который я вроде бы ещё ни разу не писал. В нём ничего особенного нет, но в некоторых ситуациях с ним уд…
👁 10 044 просмотров
У платформы для управления IT инфраструктурой INFRAX в начале марта вышел первый стабильный релиз 1.0. Я уже делал заметки по этой системе: …
👁 10 043 просмотров
Давно уже надумал заменить свой основной рабочий ноутбук. Ещё год назад делал по этому поводу публикацию. Там какое-то рекордное обсуждение …
👁 10 030 просмотров
Домучиваю статью про Loki. Никак не соберусь и не доделаю её полностью. В процессе настройки хочется наполнить систему реальными логами в но…
👁 10 001 просмотров
Вспомнилось очень старое и неприметное видео с небольшим количеством просмотров и комментариев: ▶️ Imagine DevOps Ностальгическая пародия …
👁 9 999 просмотров
Каждый раз, когда пишу заметки на тему DDOS, в комментариях появляются одни и те же заблуждения. Я не сказать, что прям такой большой специа…
👁 9 996 просмотров
Я не раз между делом в заметках упоминал, что обычно не ставлю в автоматическую загрузку виртуальные машины на гипервизорах. Недавно один по…
👁 9 982 просмотров
Хочу дать небольшие советы, основанные на личном опыте работы в отрасли. Может показаться, что они будут актуальны только новичкам, но это д…
👁 9 949 просмотров
Недавно была публикация про PDF принтер в Windows. В комментариях дали ссылку на шикарный бесплатный сервис BentoPDF для работы с PDF. Причё…
👁 9 933 просмотров
В Microsoft работают настоящие специалисты по возвращении в систему одного и того же бага. Сколько лет уже наблюдается одна и та же проблема…
👁 9 878 просмотров
Я написал подробный обзор межсетевого экрана и по совместительству шлюза ИКС ФСТЭК, который можно установить на своё железо или виртуальную …
👁 9 877 просмотров
Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает, о чём идёт речь, может прочитать прошлые публикац…
👁 9 877 просмотров
Сейчас борьба с DDOS - в основном удел специальных сервисов, у которых есть свои каналы и пулы IP адресов. Без этого эффективной защиты не п…
👁 9 867 просмотров
Тихой сапой платформа виртуализации Proxmox захватила весь сегмент малого и среднего бизнеса и потихоньку ползёт дальше. Уже есть сравнения …
👁 9 852 просмотров
Мне недавно один читатель задал простой вопрос, который заставил задуматься. Человек пояснил, что он далёк от ИТ, не сильно во всём этом раз…
👁 9 823 просмотров
Сегодня много времени провёл в дороге и размышлял над некоторыми вещами, в том числе об ИИ. Хочу с вами поделиться некоторыми мыслями. Я сей…
👁 9 820 просмотров
Есть популярная бесплатная виндовая программа из далёкой древности - doPDF. Когда нужно добавить в систему pdf принтер, я вспоминаю именно …
👁 9 813 просмотров

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

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@canalmaxone
AntiCloudMod
AntiCloudMod — сообщество для тех, кто ценит свободу общения без облачной цензуры. Здесь обсуждают альтернативные мессенджеры, инструменты для приватности и децентрализов…
👥 374 224 · -676/7д
@WylsacomRed
Wylsacom Red
Официальный канал Wylsacom в Max. Тут всё про технологии и жизнь в ногу со временем! Номер заявления для регистрации в РКН: № 6979154178 Розыгрыши: kichaev@wylsacom.med…
👥 154 699 · +582/7д
@BelgorodDRONE
Информация БПЛА Белгород, Белгородский район
Информация БПЛА Белгород, Белгородский район — специализированный канал в мессенджере Макс, посвященный новостям и информации о беспилотных летательных аппаратах в регион…
👥 140 200 · +2 476/7д
@TikTokModCloud
TikTokModCloud
Официальные обновления стабильного мода TikTok Чат: https://clck.ru/3S6mVh По рекламе: https://iimax.ru/dim4ugan
👥 84 920 · +3 954/7д
@na_kruchok
ГЛЕНТ | МЕМЫ
Глент мемы Это фан-сообщество, созданное преданными поклонниками для поддержки творчества Глента. Данный канал НЕ является официальным и ведется фанатом. Биржа: telega…
👥 55 400 · +13 291/7д
@hitech
Hi-Tech
Оперативные новости, обзоры гаджетов, собственное видео, трансляции мировых анонсов и мероприятий По вопросам сотрудничества и размещения рекламы i.ostapenko@corp.mail.r…
👥 53 103 · -133/7д
🏷 Темы и теги
#backup #системное администрирование #devops #linux #серверы #автоматизация #Технологии
📋 О канале ServerAdmin.ru | Linux | DevOps
Авторский канал о системном администрировании и DevOps. Практические гайды по Linux, автоматизация с Ansible и Bash, настройка серверов и мониторинг. Для сисадминов и инженеров, которые хотят углубить знания и упростить рутину. Без воды — только проверенные решения.
🔍 Архив всех постов Макс
Поиск по 9,231,457 постам из 201,216 каналов
Попробовать за 1 ₽ →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «ServerAdmin.ru | Linux | DevOps» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

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