====== Свободные решения по оптимизации хранения резервных копий ======
===== Исследование области =====
Среди свободных решений по оптимизации хранения резервных копий (сжатия, дедупликации), были выделены следующие решения:
* [[https://blogs.oracle.com/roch/dedup-performance-considerations|ZFS]]
* высокие требования к оперативной памяти. Порты плохого качества на ОС Linux и FreeBSD
* SDFS (OpenDedup) - написан на Java.
* VDO - Недавно приобретен RedHat и открыт исходный код.
* btrfs - Файловая система. Встроеные механизмы дедупликации блоков, мало кто может их полноценно реализовать.
* QuadStor VTL - мало сведений. Маленькое community.
* [[https://sourceforge.net/projects/lessfs/|lessfs]]
* Заброшен автором, не обновляется с 2013 года.
* ddumbfs
* Не обновляется с 2013 года.
* [[https://adslab.cse.cuhk.edu.hk/software/livedfs/index.html|LiveDFS]]
* не обновляется с 2013 года.
* [[https://www.peereboom.us/epitome/|Epitome]] (OpenBSD) - Заброшен
Таким образом было принято решение проверить наиболее актуальные из решений, а именно VDO, SDFS, btrfs, zfs, QuadStor VTL
===== Тестирование =====
Производилось тестирование путем сохранения образов виртуальных машин без использования стороннего ПО резервного копирования. Образ виртуальной машины записывался на хранилище.
==== KVM Backup ====
Windows 10 - Snapshot backup
^**Задача** ^**Virtial Data Optimizer (NFS)**^**OpenDedup \\ (NFS)**^**StoreOnce\\ (NFS)**^**btrfs [[https://github.com/Zygo/bees|bees]] (NFS)**^
|1st full backup. Reduction:|29% |37% |52% |16% |
|2nd full backup. Reduction:|93% |97% |99% |35% |
|3nd full backup. Reduction:|100% |75% |100% |- |
|4th full backup. Reduction:|99% |100% |100% |- |
|5th full backup. Reduction:|100% |100% |99% |- |
|**Total** |**1 : 6,3** |**1 : 3,5** |**1 : 10** |**1 : 3,4** |
{{:publications:open_source_backup:20210211-192628.png}}
===== Результат =====
Из свободных продуктов VDO показывает самую эффективную дедупликацию образов виртуальных машин, на ровне с низким потреблением ресурсов сервера.
==== Bareos backup ====
Использовалось свободное ПО резервного копирования - Bareos. Производилось резервное копирование с использованием агента.
WIndows 10 - bareos-fd (agent)
^**Задача** ^**Virtial Data Optimizer (NFS)**^**OpenDedup (bareos-sd)**^**StoreOnce over (NFS)**^**QuadStor VTL over (iSCSI)**^
|1st full backup. Reduction:|27% |37% |61% |34% |
|2nd full backup. Reduction:|25% |79% |88% |46% |
|3nd full backup. Reduction:|26% |52 % |88% |- |
|**Total** |**1 : 1,4** |**1 : 3,1** |**1 : 5** |**1 : 1,6** |
{{:publications:open_source_backup:20210211-192639.png}}
===== Результат =====
Формат записи файлов резервной копии bareos не выровненный. Поэтому системы дедупликации без плавающего курсора и без изменяемого размера блока плохо справляются со своей задачей. Но несмотря на этот факт коэфициент дедупликации у OpenDedup достаточно неплохой.
У родительской ветки bareos - Bacula в версии enterprise (платная подписка) реализован функционал выравнивания блоков, для более лучшей дедупликации.
* [[https://mchus.pro/attachments/Variable_length-dedup_Giridhar.pdf|Space Savings and Design Considerations in Variable Length Deduplication]]
* [[https://mchus.pro/attachments/DedupVolumes.pdf|Bacula - Deduplication Optimized Volumes]]
* [[https://mchus.pro/attachments/Data_Deduplication_Volumes_Variable_Block_Deduplication.pdf|Bacula - Deduplication Volumes. Variable Block Deduplication]]
==== Commvault Backup ====
Резервное копирование с использованием платного программного продукта - Commvault.
Windows 10 - Commvault iDataAgent
^**Задача** ^**Virtial Data Optimizer**^**OpenDedup**^**StoreOnce**^
|1st full backup. Reduction:|1% |39% |61% |
|2nd full backup. Reduction:|27% |68% |93% |
|3nd full backup. Reduction:|60% |78% |95% |
|4th full backup. Reduction:|27% |78% |95% |
|5th full backup. Reduction:|37% |73% |96% |
|**Total** |**1 : 1,27** |**1 : 3** |**1 : 8,6** |
{{:publications:open_source_backup:20210211-192654.png}}
===== Результат =====
Формат записи не оптимизирован для дедупликаторов с фиксированым блоком. При этом OpenDedup показывает неплохие показатели сжатия. Лучшие результаты у StoreOnce, так как он рассчитан именно на такой сценарий использования.
===== Оценка финансовых показателей =====
Попробуем понять когда стоит использовать дедупликацию, а когда дешевле просто купить дополнительную емкость.
Сравним стоимость хранения на различных системах:
^ ^**Effective Storage (TB)**^**Суммарная стоимость**^**Стоимость $/tb**^**Стоимость Р/гб**^
|**СХД EMC PowerVault ME4012** |78 |$28328 |$363 |23,05 ₽ |
|**СХД HPE MSA 1050 (16x12TB)**|151,2 |$56532 |$373 |23,73 ₽ |
|**Storeonce 3640** |180 |$51202 |$284 |18,06 ₽ |
|**Cloud storage (3 years)** |150 |$112261 |$748 |47,51 ₽ |
Оценим затраты ПО дедупликации данных, с учетом ресурсов сервера и стоимости лицензий
^ ^**Расход RAM**^**Расход CPU**^**Стоимость Hardware**^**Стоимость Software**^**Стоимость Итого**^**Кэфициент уплотения емкости**^**Стоимость (в $/ТБ)**^**Стоимость (в Р/ГБ)**^
|**StoreOnce VSA (up to 150 tb effective)** |57 |8 |$5421 |$204117 |$209537 |80% |$1396 |88,67 ₽ |
|**OpenDedup SDFS (up to 150 tb effective)** |38 |16 |$6474 |0 |$6474 |67% |$43,16 |2,74 ₽ |
|**Virtual Data Optimizer VDO (up to 100 backend storage)**|20 |0 |$1154 |0 |$1153 |33% |$7,69 |0,49 ₽ |
Таким образом если использовать дедупликатор поверх систем хранения данных стоимость хранения будет следующей:
^ ^ ^**StoreOce VSA**^**Дедупликация SDFS**^**Дедупликация VDO**^**StoreOnce 3640**^
|**Добавляет стоимости:** | |$1396 |$43 |$7 |н/д |
|**Экономит емкости:** | |80% |67% |33% |н/д |
|**Модель СХД** |**Стоимость СХД**| | | | |
|СХД DELL PowerVault ME4012 (12x8TB)|$363 |$1469 |$164 |$249 |н/д |
|СХД HPE MSA 1050 (16x12TB) |$373 |$1471 |$167 |$256 |н/д |
|Cloud storage (3 years) |$748 |$1546 |$292 |$506 |н/д |
|Storeonce 3640 | | | | |$284 |
В процентном соотношении экономия стоимости хранения следующая:
^ ^**SO VSA**^**SDFS**^**VDO**^
|**СХД EMC PowerVault ME4012** |-305% |55% |31% |
|**СХД HPE MSA 1050 (16x12TB)**|-294% |55% |31% |
|**Cloud storage (3 years)** |-107% |61% |32% |
======= Результаты =======
Таким образом можно порекомендовать использовать VDO в качестве дедупликации выровненных данных, например образов виртуальных машин, не прошедших через ПО резервного копирования. Данный продукт слабо нагружает сервер и обладает высокой стабильностью работы.
SDFS написан на Java, поэтому требования к ресурсам выше, стабильность ниже. На некоторых сценариях использования позволяет добиться достаточно неплохой экономии. Рекомендуется использовать совместно со свободным ПО РК.
{{tag>open_deduplication_software}}