Dostępny system tworzenia kopii zapasowych restic 0.13

Po roku prac nad rozwojem zaprezentowana została wersja systemu tworzenia kopii zapasowych restic 0.13, oferująca narzędzia do przechowywania kopii zapasowych w wersjonowanym repozytorium, które może być zlokalizowane na zewnętrznych serwerach i w chmurach. Dane są przechowywane w zaszyfrowanej formie. Możliwe jest określenie elastycznych zasad włączania i wyłączania plików oraz katalogów podczas tworzenia kopii zapasowej. Obsługiwane są systemy Linux, macOS, Windows, FreeBSD i OpenBSD. Kod projektu napisany jest w języku Go i udostępniany na licencji BSD.

Podstawowe funkcje:

  • Wsparcie dla przechowywania kopii zapasowych w lokalnym systemie plików, na zewnętrznym serwerze z dostępem przez SFTP/SSH lub HTTP REST, w chmurach Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage oraz Google Cloud Storage, a także w dowolnych magazynach, dla których dostępne są backendy rclone. Do organizacji przechowywania można również wykorzystać specjalny serwer rest, zapewniający wyższą wydajność w porównaniu do innych backendów i zdolny do pracy w trybie tylko do uzupełniania, co uniemożliwi usunięcie lub zmianę kopii zapasowych w przypadku kompromitacji źródła serwera i dostępu do kluczy szyfrowania.
  • Wsparcie dla określania elastycznych zasad wykluczania plików i katalogów podczas tworzenia kopii zapasowych (na przykład w celu wykluczenia logów, plików tymczasowych i łatwowych danych). Format reguł ignorowania jest znajomy i przypomina rsync lub gitignore.
  • Łatwość instalacji, użytkowania i przywracania informacji. Aby pracować z kopiami zapasowymi, wystarczy skopiować jeden plik wykonywalny, który można używać bez dodatkowych ustawień. Dla samego pliku wykonywalnego zapewniana jest powtarzalna kompilacja, umożliwiająca samodzielne upewnienie się, że binarna kompilacja została utworzona z dostarczonych źródeł.
  • Obsługiwane są migawki, odzwierciedlające stan określonego katalogu ze wszystkimi plikami i podkatalogami w danym momencie. Przy każdorazowym tworzeniu nowej kopii zapasowej tworzona jest powiązana z nią migawka, umożliwiająca przywrócenie stanu na dany moment. Możliwe jest kopiowanie migawek między różnymi repozytoriami.
  • Aby oszczędzić przepustowość podczas tworzenia kopii zapasowych, kopiowane są tylko zmienione dane. W celu zapewnienia efektywnego przechowywania, dane w repozytorium nie są duplikowane, a dodatkowe zrzuty obejmują tylko zmienione dane. System manipuluje nie całymi plikami, ale blokami o zmiennym rozmiarze, wybieranymi z wykorzystaniem podpisu Rabina. Informacje są przechowywane w powiązaniu z treścią, a nie z nazwami plików (powiązane z danymi nazwy i obiekty są określane na poziomie metadanych bloku). Na podstawie hasha SHA-256 zawartości wykonuje się deduplikację i eliminację zbędnego kopiowania danych.
  • Aby wizualnie ocenić zawartość repozytorium i ułatwić przywracanie, zrzut z kopią zapasową może być zamontowany w formie wirtualnej partycji (montaż jest realizowany za pomocą FUSE). Dostarczane są również komendy do analizy zmian i selektywnego wyodrębniania plików.
  • Informacje na zewnętrznych serwerach są przechowywane w zaszyfrowanej formie (do kontrolnych sum używany jest SHA-256, do szyfrowania AES-256-CTR, a dla zapewnienia integralności stosowane są kody uwierzytelniające oparte na Poly1305-AES). System jest początkowo zaprojektowany na założeniu, że kopie zapasowe są przechowywane w środowiskach niedtrusted i pomylenie kopii zapasowej z obcą osobą nie powinno kompromitować systemu. Szyfrowanie może być realizowane zarówno za pomocą kluczy dostępu, jak i haseł.
  • Istnieje możliwość weryfikacji kopii zapasowej za pomocą wartości kontrolnych i kodów uwierzytelniających w celu potwierdzenia, że integralność plików nie została naruszona i że wymagane pliki mogą być przywrócone oraz nie zawierają ukrytych modyfikacji.

W nowej wersji:

  • Dodano wsparcie dla negatywnych wzorców wykluczania. Na przykład, "—exclude ‘/home/user/*’ —exclude ‘!/home/user/.config'" aby wykluczyć całą zawartość /home/user poza katalogiem /home/user/.config.
  • Do polecenia „backup” dodano tryb „—dry-run”, który podczas uruchamiania z opcją „—verbose” pozwala bez faktycznych zmian śledzić, które pliki będą uwzględnione w kopii zapasowej.
  • Do różnych backendów przechowywania dodano wsparcie dla wartości kontrolnych do dodatkowej weryfikacji przesyłanych danych.
  • Optymazacja zespołu „restore” została przeprowadzona, co spowodowało, że działa on dwa razy szybciej. Wydajność zespołu „copy” również została zwiększona.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster