143 lines
16 KiB
Markdown
143 lines
16 KiB
Markdown
---
|
||
updated: 2026-03-12
|
||
status: processing
|
||
type: project
|
||
tags: [article, science]
|
||
created: 2026-02-27
|
||
progress: 10
|
||
priority: 3 - High
|
||
title: 'Разработка алгоритма автоматического бэкапа на основе "важности" данных'
|
||
---
|
||
|
||
# Разработка алгоритма автоматического резервирования на основе "важности" данных
|
||
|
||
Рабочее название: "Методика адаптивного управления политиками резервного копирования в распределенных системах на основе многокритериальной оценки ценности данных"
|
||
|
||
## Введение
|
||
В эпоху расцвета информационных технологий и больших данных особенно критическим становится вопрос о безопасности данных. Одним из наиболее эффективных методов защиты данных от порчи, утери и кражи является **резервное копирование данных**.
|
||
|
||
**Резервное копирование** - это процесс создания копий важных файлов, папок, систем или приложений и их хранения на отдельном носителе (локально или в облаке), чтобы иметь возможность восстановить их в случае потери, повреждения или удаления основной информации, защищая от сбоев, вирусов и других внештатных ситуаций.
|
||
|
||
Существует большое количество решений, стратегий и тактик резервного копирования, позволяющие компаниям защищать как свои данные, так и данные своих пользователей, утеря или порча которых может привести к экономическим и репутационным потерям.
|
||
|
||
## Виды резервирования данных
|
||
Суть резервного копирования заключается в хранении копий исходных данных, что кратно увеличивает объем занимаемого пространства. Для решения этой проблемы, были созданы различные виды резервирования данных.
|
||
Представлены они 3-мя основными категориями:
|
||
1) *Full* (полный) *Backup*
|
||
2) *Incremental* (инкрементальный) *backup*
|
||
3) *Differential* (дифференциальный) *backup*
|
||
|
||
**Полное резервирование** является "нулевой" точкой для более сложных видов, это копирование абсолютно всех данных, выбранных для резервирования. Из плюсов можно отметить наиболее простой принцип работы и восстановления (восстановление буквально происходит из одного архива). Минусом же является длительный процесс создания и наибольшее использование дискового пространства.
|
||
|
||
**Инкрементные резервные копии** - это копия только тех данных, которые изменились с предыдущей операции резервирования.
|
||
**Дифференциальный метод** похож на инкрементный с той разницей, что он резервирует изменения не с любой последней операции копирования, а только с предыдущего **полного** резервирования.
|
||
|
||
## Метрики Резервирования
|
||
Для оценки эффективности систем резервного копирования используются две основные метрики, выступающие одновременно и показателями надежности конкретных информационных систем.
|
||
|
||
**RPO** (*Recovery Point Objective*) — Целевая точка восстановления
|
||
Обозначает допустимый объем данных, которые могут быть потеряны в результате инцидента.
|
||
**RTO** (*Recovery Time Objective*) — Целевое время восстановления
|
||
Обозначает максимальное время "простоя" (*downtime*) системы до момента полного восстановления.
|
||
|
||
Для архива документов, обращения к которому происходят редко, допустимы RTO и RPO измеряемые часами (RPO = 24 часа, RTO = 12 часов). Для критической инфраструктуры это минуты. Для систем особой важности (например, банковских систем, где важна каждая транзакция) метрики могут стремиться к нулю. Стоит отметить, что уменьшение RPO и RTO увеличивает стоимость системы в геометрической прогрессии. Поэтому необходимо находить баланс между затратами ресурсов и метриками.
|
||
|
||
## Золотой Стандарт Резервирования
|
||
Классическим подходом к резервированию считается подход 3-2-1.
|
||
- 3 копии данных - 1 оригинал и 2 резервные копии.
|
||
- 2 разных носителя - хранение копий на разных типах устройств (диск + облако или лента) повысит отказоустойчивость.
|
||
- 1 копия вне площадки (offsite) - географически отдельно от основной системы (мера защиты от катастрофических событий: наводнение, пожар и т.д.).
|
||
|
||
## Проблематика "Темных Данных" И Избыточности Данных
|
||
По данных "**Gartner**", до 80% данных в компаниях являются "неструктурированными" и неиспользуемыми.
|
||
Т.е. люди, непосредственно работающие с данными, зачастую, в полной мере не уверены, зачем нужны те или иные данные и нуждаются ли они в резервировании, в связи с этим резервируются бесполезные данные, повышая объем используемого дискового пространства.
|
||
Помимо этого, чувствительные данные (пароли, ключи и т.д.) также могут быть неструктурированными, что приводит к невозможности применения к ним централизованных политик доступа и безопасности.
|
||
|
||
Несмотря на наличие "Золотого стандарта" и разных методов резервного копирования, с учетом применения "статичных" политик резервирования, когда администратор вручную настраивает тип резервного копирования, соответствие метрикам и расписание резервирования, в условиях экспоненциального роста данных и ограниченности ресурсов СХД (Систем Хранения Данных) возникает проблема неэффективности традиционных подходов.
|
||
|
||
Таким образом, задачей становится отказ от статического метода резервирования в сторону адаптивного управления. Необходимо создать алгоритм, который в автоматическом режиме анализирует характеристики объектов (метаданные, частота обращений, роль в бизнес-процессах) и динамически вычислять индекс "важности" данных.
|
||
|
||
На основе такого индекса система должна определять:
|
||
1) Оптимальную стратегию резервирования.
|
||
2) Приоритет очередности на репликацию вне площадки.
|
||
3) Целевые показатели, динамически изменяемые для конкретных файлов (за исключением обозначенных бизнес-требованиями).
|
||
|
||
---
|
||
|
||
### Методика Измерения "важности" Файла
|
||
Введем понятие важности файла, обозначив за $I$ *(Importance)*, тогда составим математическую модель такого индекса:
|
||
$$I = (\omega_{1}* C) + (\omega_{2}*V) + (\omega_{3} * \frac{1}{\Delta{T}+1}) - (\omega_4*S),$$
|
||
где $С$ *(Criticity)* - коэффициент типа файла;
|
||
$V$ *(Volatility)* - частота изменения файла, количество изменений за месяц;
|
||
$R=\frac{1}{\Delta{T}+1}$ *(Recency)* - время с последнего изменения;
|
||
$S$ *(Size)* - размер файла (избыточно большие файлы имеют меньший приоритет;
|
||
$\omega_{1},\omega_{2},\omega_{3},\omega_{4}$ - весовые коэффициенты, определяемые эмпирически или средствами ML;
|
||
$\Delta{T}$ - время в часах с последнего изменения (чем оно больше, тем ниже важность);
|
||
$S$ - нормированный размер файла.
|
||
|
||
**Обоснование:**
|
||
Ценность данных ($I$) прямо пропорциональна их критичности и обратно пропорциональна затратам на хранение.
|
||
|
||
В формуле используется метод взвешенной суммы (*Weighted Sum Model*).
|
||
**Коэффициент семантической важности ($С$)**:
|
||
- Основан на иерахии объектов в ОС на базе Linux. Конфигурационные файлы в директории `/etc` имеют высокий приоритет, т.к. их сохранность обеспечивает быстрое восстановление системы (и низкий **RTO**).
|
||
**Временная релевантность ($R=\frac{1}{\Delta{T}+1}$)**:
|
||
- Основано на теории старения информации. В большинстве процессов ценность данных убывает с течением времени. Свежие логи инцидента гораздо важнее логов годовой давности.
|
||
- Для избежания деления на 0 в знаменателе прибавляет единицу к $\Delta{T}$, получаем диапазон значений $(0,1]$
|
||
**Волатильность и динамика ($V$):**
|
||
- Частота изменений файла свидетельствует об интенсивности рабочего процесса, фиксируемого в нём. Если файл меняется часто, значит, в нём постоянно накапливается новая полезная информация, которую нельзя терять.
|
||
**Ресурсная стоимость ($S$):**
|
||
- Вводится, как "штрафной коэффициент". Необходим для учета огромных файлов, частое резервное копирование которых может привести к стремительной и нецелесообразной утилизации диска, что выведет из строя инфраструктуру.
|
||
|
||
Стоит отметить, что из-за различных размерностей и масштабов измеряемых величин, необходимо проводить "нормировку", чтобы все характеристики были равновесны. Для этого используем $Min-Max$ масштабирование: $$x^{'} = \frac{x-min(x)}{max(x)-min(x)}$$
|
||
|
||
---
|
||
|
||
## Алгоритм Адаптивного Выбора Стратегии
|
||
Очевидно, что у каждой инфраструктуры свои особенности и специфика, но для обобщения использования методики, введем 3 основные группы файлов для разделения политик резервного копирования:
|
||
1) Группа A (Критически важные): $\large I>0,9$
|
||
*Стратегия*: Full Backup раз в сутки + Incremental Backup каждые 15 минут + обязательное Offsite хранение.
|
||
2) Группа B (Средняя критичность): $\large 0,5 \leq I \leq 0,9$
|
||
*Стратегия:* Full Backup раз в неделю + Differential Backup раз в сутки.
|
||
3) Группа C (Низкоприоритетные): $\large I \leq 0,5$
|
||
*Стратегия*: Full Backup раз в месяц или исключение из процедуры резервного копирования.
|
||
|
||
Для высокоприоритетных файлов, в угоду экономии дискового пространства и нагрузку на сеть при выгрузке во внешнее хранилище, можно использовать **Синтетическое полное резервирование** (*Synthetic Full Backup*), при котором реальное полное резервное копирование происходит раз в неделю, но СХД самостоятельно раз в сутки объединяет инкрементные копии для создания "полной копии".
|
||
|
||
## Актуальность При Использовании Отечественных ОС
|
||
При работе с инфраструктурой на базе Astra Linux, стоит учесть возможность использования **мандатных меток доступа**. При создании файла с меткой "Секретно" и "Совершенно секретно", вне зависимости от их размера, получают максимальный вес ($\omega_{1}$) для параметра *критичности* ($C$).
|
||
|
||
---
|
||
|
||
## 🏗️ План подготовки статьи
|
||
- [ ] Описать математическую модель индекса важности
|
||
- [ ] Собрать список источников (References)
|
||
- [ ] Оформить введение
|
||
- [x] Описать виды резервирования
|
||
|
||
---
|
||
|
||
## 📊 Прогресс И Задачи
|
||
> [!todo] Задачи по этой статье
|
||
```tasks
|
||
not done
|
||
path includes {{query.file.path}}
|
||
sort by status
|
||
```
|
||
|
||
---
|
||
|
||
## Заключение
|
||
|
||
[^1]: http://lib.urfu.ru/mod/tab/view.php?id=3406 - Теория старения информации УрФУ
|
||
|
||
[^2]: https://ia600603.us.archive.org/2/items/datamining_201811/DS-book%20u5.pdf - page. 424
|
||
|
||
[^3]: https://wiki.astralinux.ru/pages/viewpage.action?pageId=153486002
|
||
|
||
[^4]: https://www.gartner.com/en/documents/4373899
|
||
|
||
[^5]: https://www.iso.org/standard/27031 - Стандарт ISO 27031
|
||
|
||
[^6]: https://www.cisa.gov/sites/default/files/publications/data_backup_options.pdf - Стандарт 3-2-1
|