Доступна система резервного копіювання restic 0.13

Після року розробки представлений випуск системи резервного копіювання restic 0.13, що надає інструментарій для збереження резервних копій у версійному репозиторії, який може розміщуватись на зовнішніх серверах та у хмарних сховищах. Дані зберігаються у зашифрованому вигляді. Можливе визначення гнучких правил для включення та виключення файлів та каталогів під час створення резервної копії. Підтримується робота в Linux, MacOS, Windows, FreeBSD і OpenBSD. Код проекту написаний мовою Go та поширюється під ліцензією BSD.

Основні можливості:

  • Підтримка зберігання резервних копій у локальній ФС, на зовнішньому сервері з доступом по SFTP/SSH або HTTP REST, у хмарах Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage та Google Cloud Storage, а також у будь-яких сховищах для яких є бекенди rclone. Для організації зберігання також може бути використаний спеціальний rest server, що забезпечує більш високу продуктивність порівняно з іншими бекендами і здатний працювати в режимі лише для доповнення, який не дозволить видалити або змінити резервні копії у разі компрометації вихідного сервера та доступу до ключів шифрування.
  • Підтримка визначення гнучких правил для виключення файлів і каталогів при створенні резервних копій (наприклад, для виключення з резервної копії логів, тимчасових файлів та даних, що легко відтворюються). Формат правил ігнорування звичний і нагадує rsync чи gitignore.
  • Простота встановлення, використання та відновлення інформації. Для роботи з резервними копіями достатньо скопіювати один файл, який можна використовувати без додаткових налаштувань. Для виконуваного файлу забезпечується повторювана збірка, що дозволяє самостійно переконатися, що бінарна збірка сформована з вихідних текстів, що надаються.
  • Підтримуються снапшоти, що відображають стан певного каталогу з усіма файлами та вкладеними каталогами у певний момент часу. При кожному створенні нової резервної копії створюється асоційований із нею снапшот, що дозволяє відновити стан на даний момент. Можливе копіювання снапшотів між різними репозиторіями.
  • Для економії трафіку в процесі створення резервних копій копіюються лише дані, що змінилися. Для забезпечення ефективного зберігання дані в репозиторії не дублюються, а додаткові снапшоти охоплюють дані, що тільки змінилися. Система маніпулює не цілими файлами, а блоками плаваючого розміру, що вибираються з використанням підпису Рабіна. Інформація зберігається у прив'язці до вмісту, а не імен файлів (пов'язані з даними імена та об'єкти визначаються на рівні метаданих блоку). На основі SHA-256 хешу від вмісту виконується дедуплікація та виключення зайвого копіювання даних.
  • Для наочної оцінки вмісту репозиторію та спрощення відновлення, снапшот із резервною копією може бути примонтований у формі віртуального розділу (монтування здійснюється за допомогою FUSE). Також надаються команди для аналізу змін та вибіркового вилучення файлів.
  • Інформація на зовнішніх серверах зберігається у зашифрованому вигляді (для контрольних сум використовується SHA-256, для шифрування AES-256-CTR, а для гарантування цілісності коди автентифікації на основі Poly1305-AES). Система спочатку розрахована на те, що резервні копії зберігаються в оточеннях, що не заслуговують на довіру, і потрапляння резервної копії в чужі руки не повинно скомпрометувати систему. Шифрування може забезпечуватись як за ключами доступу, так і за паролями.
  • Передбачена можливість верифікації резервної копії за контрольними сумами та кодами автентифікації для підтвердження, що цілісність файлів не порушена та необхідні файли можуть бути відновлені та не включають прихованих модифікацій.

В новой версії:

  • Додано підтримку негативних шаблонів виключення. Наприклад, «—exclude '/home/user/*' —exclude '!/home/user/.config'» для виключення всього вмісту /home/user, крім каталогу /home/user/.config.
  • У команду «backup» додано режим «-dry-run», який при запуску з опцією «verbose» дозволяє без фактичних змін відстежити, які файли будуть включені в резервну копію.
  • У різні бекенди зберігання додано підтримку контрольних сум для додаткової перевірки завантажених даних.
  • Проведено оптимізацію команди «restore», яка стала працювати вдвічі швидше. Також підвищено продуктивність команди copy.

Джерело: opennet.ru

Додати коментар або відгук