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

Опубліковано випуск системи резервного копіювання restic 0.15, що забезпечує зберігання резервних копій у зашифрованому вигляді у версійному репозиторії. Система спочатку розрахована на те, що резервні копії зберігаються в оточеннях, що не заслуговують на довіру, і потрапляння резервної копії в чужі руки не повинно скомпрометувати систему. Можливе визначення гнучких правил для включення та виключення файлів і каталогів під час створення резервної копії (формат правил нагадує rsync або gitignore). Підтримується робота в 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, що забезпечує більш високу продуктивність порівняно з іншими бекендами і здатний працювати в режимі лише для доповнення, який не дозволить видалити або змінити резервні копії у разі компрометації вихідного сервера та доступу до ключів шифрування.

Підтримуються снапшоти, що відображають стан певного каталогу з усіма файлами та вкладеними каталогами у певний момент часу. При кожному створенні нової резервної копії створюється асоційований із нею снапшот, що дозволяє відновити стан на даний момент. Можливе копіювання снапшотів між різними репозиторіями. Для економії трафіку в процесі створення резервних копій копіюються лише дані, що змінилися. Для наочної оцінки вмісту репозиторію та спрощення відновлення, снапшот із резервною копією може бути примонтований у формі віртуального розділу (монтування здійснюється за допомогою FUSE). Також надаються команди для аналізу змін та вибіркового вилучення файлів.

Система маніпулює не цілими файлами, а блоками плаваючого розміру, що вибираються з використанням підпису Рабіна. Інформація зберігається у прив'язці до вмісту, а не імен файлів (пов'язані з даними імена та об'єкти визначаються на рівні метаданих блоку). На основі SHA-256 хешу від вмісту виконується дедуплікація та виключення зайвого копіювання даних. На зовнішніх серверах інформація зберігається в зашифрованому вигляді (для контрольних сум використовується SHA-256, для шифрування AES-256-CTR, а для гарантування цілісності коди автентифікації на основі Poly1305-AES). Передбачена можливість верифікації резервної копії за контрольними сумами та кодами автентифікації для підтвердження, що цілісність файлів не порушена.

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

  • Реалізована нова команда rewrite, що дозволяє видалити зайві дані зі снапшота, коли в резервну копію з недогляду потрапили файли, що спочатку не призначені для резервного копіювання (наприклад, файли з конфіденційною інформацією або дуже великі логи, що не представляють цінності).
  • У команду backup додана опція «read-concurrency» для завдання рівня розпаралелювання при читанні файлів, що дозволяє прискорити копіювання на швидких накопичувачах, таких як NVMe.
  • До команди backup додано опцію «—no-scan» для відключення стадії сканування дерева файлів.
  • У команді prune значно (до 30%) скорочено споживання пам'яті.
  • У команду restore додано опцію «sparse» для ефективного відновлення файлів з великими порожніми областями.
  • Для платформи Windows реалізовано підтримку відновлення символічних посилань.
  • У macOS додано можливість монтування репозиторію з резервними копіями за допомогою macFUSE.

Джерело: opennet.ru

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