ServerAdmin.ru | Linux | DevOps
ServerAdmin.ru | Linux | DevOps
2 033 подписчиков · @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»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 04.09.2026
У меня есть доступ к так называемому общему платному аккаунту ChatGPT Plus, кото…
👁 725 просмотров
Глава от 04.09.2026
Последнее время стал замечать проблемы с доступом к стандартным репозиториям Deb…
👁 791 просмотров
Глава от 01.09.2026
Сегодня ночью словил неприятные проблемы с браузерами, которые сначала поставили…
👁 1 029 просмотров
Глава от 31.08.2026
Думаю все, кто работают в консоли Linux, знают про автодополнение имён файлов и …
👁 969 просмотров
Глава от 31.08.2026
Проверьте по чек-листу, соответствует ли ваша организация приказу ФСТЭК РФ №117 …
👁 655 просмотров
Глава от 28.08.2026
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал…
👁 1 027 просмотров
Глава от 27.08.2026
Утром в комментариях к заметке в TG упомянули такую вещь, как отравление данных,…
👁 1 032 просмотров
Глава от 27.08.2026
Немного информации на тему ИИ, которая возможно кому-то покажется полезной. По к…
👁 1 014 просмотров
Глава от 26.08.2026
Очередная подборка статей авторов, которые согласились в ней участвовать. ⇨ ИИ-…
👁 1 041 просмотров

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

▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за послед…
👁 10 157 просмотров
🎓 Я периодически просматриваю поток Администрирование на Хабре. Лет 5 назад и раньше я делал это регулярно, а потом забросил и вообще ничего…
👁 10 147 просмотров
117 приказ ФСТЭК: с 1 марта меняются правила игры в информационной безопасности. Приглашаем на вебинар о новых требованиях регулятора и спо…
👁 10 136 просмотров
У платформы для управления IT инфраструктурой INFRAX в начале марта вышел первый стабильный релиз 1.0. Я уже делал заметки по этой системе: …
👁 10 062 просмотров
Расскажу про один трюк в strace, про который я вроде бы ещё ни разу не писал. В нём ничего особенного нет, но в некоторых ситуациях с ним уд…
👁 10 058 просмотров
Давно уже надумал заменить свой основной рабочий ноутбук. Ещё год назад делал по этому поводу публикацию. Там какое-то рекордное обсуждение …
👁 10 051 просмотров
Каждый раз, когда пишу заметки на тему DDOS, в комментариях появляются одни и те же заблуждения. Я не сказать, что прям такой большой специа…
👁 10 021 просмотров
Вспомнилось очень старое и неприметное видео с небольшим количеством просмотров и комментариев: ▶️ Imagine DevOps Ностальгическая пародия …
👁 10 021 просмотров
Домучиваю статью про Loki. Никак не соберусь и не доделаю её полностью. В процессе настройки хочется наполнить систему реальными логами в но…
👁 10 015 просмотров
Я не раз между делом в заметках упоминал, что обычно не ставлю в автоматическую загрузку виртуальные машины на гипервизорах. Недавно один по…
👁 9 990 просмотров
Хочу дать небольшие советы, основанные на личном опыте работы в отрасли. Может показаться, что они будут актуальны только новичкам, но это д…
👁 9 963 просмотров
Недавно была публикация про PDF принтер в Windows. В комментариях дали ссылку на шикарный бесплатный сервис BentoPDF для работы с PDF. Причё…
👁 9 933 просмотров
Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает, о чём идёт речь, может прочитать прошлые публикац…
👁 9 903 просмотров
Сейчас борьба с DDOS - в основном удел специальных сервисов, у которых есть свои каналы и пулы IP адресов. Без этого эффективной защиты не п…
👁 9 888 просмотров
В Microsoft работают настоящие специалисты по возвращении в систему одного и того же бага. Сколько лет уже наблюдается одна и та же проблема…
👁 9 886 просмотров
Я написал подробный обзор межсетевого экрана и по совместительству шлюза ИКС ФСТЭК, который можно установить на своё железо или виртуальную …
👁 9 877 просмотров
Тихой сапой платформа виртуализации Proxmox захватила весь сегмент малого и среднего бизнеса и потихоньку ползёт дальше. Уже есть сравнения …
👁 9 868 просмотров
Мне недавно один читатель задал простой вопрос, который заставил задуматься. Человек пояснил, что он далёк от ИТ, не сильно во всём этом раз…
👁 9 823 просмотров
Сегодня много времени провёл в дороге и размышлял над некоторыми вещами, в том числе об ИИ. Хочу с вами поделиться некоторыми мыслями. Я сей…
👁 9 820 просмотров
Есть популярная бесплатная виндовая программа из далёкой древности - doPDF. Когда нужно добавить в систему pdf принтер, я вспоминаю именно …
👁 9 813 просмотров

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

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@canalmaxone
AntiCloudMod
👥 361 978 · -7 336/7д
@BelgorodDRONE
Информация БПЛА Белгород, Белгородский район
Приложение Что по небу? https://www.rustore.ru/catalog/app/ru.belregion.belgoroddrone
👥 199 775 · +1 085/7д
@biologia89
РОБЛОКС🔷
РОБЛОКС В МАКС! Реклама: https://clck.ru/3Tmmgx
👥 176 768 · -3 931/7д
@WylsacomRed
Wylsacom Red
Официальный канал Wylsacom в Max. Тут всё про технологии и жизнь в ногу со временем! Розыгрыши: kichaev@wylsacom.media По вопросам сотрудничества: https://wylsacom.medi…
👥 175 884 · +5 776/7д
@TikTokModCloud
TikTokModCloud
Официальные обновления стабильного мода TikTok Чат: https://clck.ru/3S6mVh По рекламе: https://iimax.ru/dim4ugan
👥 124 931 · +1 855/7д
@yandex_browser
Яндекс Браузер с Алисой AI
Привет, это канал команды Яндекс Браузера Показываем, как превратить наши технологии в ваши возможности. Скачать Браузер тут: https://browser.yandex.ru/ Наше сообще
👥 77 989 · -2 278/7д
🏷 Темы и теги
#backup #linux #devops #ansible #sysadmin #серверы #автоматизация #Технологии
📋 О канале ServerAdmin.ru | Linux | DevOps
Авторский канал для тех, кто управляет серверами и строит отказоустойчивую инфраструктуру. Здесь вы найдете практические руководства по Linux, автоматизации с Ansible и DevOps-инструментам. Без воды — только проверенные конфиги, скрипты и решения реальных задач sysadmin. Подписывайтесь, чтобы не пропустить новые статьи и туториалы.
🔍 Архив всех постов Макс
Поиск по 17,178,733 постам из 203,984 каналов
Подключить за 490 ₽/мес →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «ServerAdmin.ru | Linux | DevOps» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
➕
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

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