====== Свободные решения по оптимизации хранения резервных копий ====== ===== Исследование области ===== Среди свободных решений по оптимизации хранения резервных копий (сжатия, дедупликации), были выделены следующие решения: * [[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}}