Kontakt: +48 606 356 235 lub napisz do nas

BorgBackup i Vorta - czyżby rozwiązanie idealne?

Autor: Ireneusz Piasecki    10 Lipiec 2024
11 Lipiec 2024
7 min.

“Zdjęcie ilustracyjne”
Image by Image by wirestock on Freepik
 

Uwaga

Nasza firma oferuje usługi instalacyjne i serwisowe rozwiązań opartych o BorgBackup. Zabezpiecz swoje dane już dziś i zajmij się spokojnie swoim biznesem!

Zapraszamy do KONTAKTU i współpracy!

Tel. kontaktowy: +48 606 356 235

1. Wstęp

BorgBackup (krótko Borg) - System do backupu danych z deduplikacją, kompresją i szyfrowaniem - to jedne z najważniejszych cech systemu.

Vorta - Graficzny klient (GUI) kopii zapasowych dla komputerów stacjonarnych z systemem macOS i Linux. Integruje system operacyjny użytkownika z systemem backupu danych BorgBackup, aby chronić cenne dane przed awarią dysku, oprogramowaniem ransomware i kradzieżą.

O ile Borg doskonale sobie poradzi bez Vorty, o tyle sama Vorta bez Borga nie będzie działać wcale. Borg i Vorta wspierają obecnie systemy z rodziny Linux, macOS - bez systemu Windows (w przyszłości ma się to zmienić).

2. Borg

Borg jest forkiem innego systemu do backupu danych Attic (notabene już nie rozwijanego). Po swoim prekursorze Borg odziedziczył takie cechy jak: deduplikację danych, szyfrowanie z autentykacją, możliwość kompresy danych za pomocą: lz4, zstd, zlib, lzma.

Jest również możliwe zamontowanie danego archiwum za pomocą FUSE i odzyskanie wybranych plików lub folderów. Borg został udostępniony na licencji BSD i wspierany jest przez aktywną społeczność deweloperów. Najnowszą obecnie wersją systemu jest Borg 1.4.0.

2.1 Główne cechy systemu

  1. Niezwykle efektywne składowanie danych w archiwum

    Deduplikacja oparta na fragmentach (ang. chunks) zdefiniowanych przez zawartość służy do zmniejszania liczby przechowywanych bajtów: każdy plik jest dzielony na pewną liczbę fragmentów o zmiennej długości i do repozytorium dodawane są tylko te fragmenty, które nigdy wcześniej nie wystąpiły.

    Fragment jest uważany za duplikat, jeśli jego wartość (id_hash) dla funkcji haszującej (ang. hash function) jest identyczna. Jako id_hash używana jest silna kryptograficznie funkcja skrótu lub MAC, np. (hmac-)sha256.

    Podczas deduplikacji uwzględniane są wszystkie fragmenty w tym samym repozytorium, niezależnie od tego, czy pochodzą z różnych komputerów, z poprzednich kopii zapasowych, z tej samej kopii zapasowej, czy nawet z tego samego pojedynczego pliku!

    Porównując to do innych metod deduplikacji metoda zastosowana w Borg jest niezależna od:

    1. Nazwy plików/katalogów - mogą się zmieniać, być przenoszone między katalogami czy systemami. Wystarczy iż, systemy dzielą te samo repozytorium Borg, aby de-deuplikacja wciąż działała!

    2. Częściowej zmianie plików: jeśli duży plik ulegnie jakimś zmianom, Borg zapisze kilka nowych niewystępujących fragmentów w repozytorium — jest to idealne rozwiązanie w przypadku maszyn wirtualnych lub surowych dysków.

    3. Bezwzględna pozycja fragmentu danych w pliku: elementy w pliku mogą zostać zamienione miejscami, ale algorytm deduplikacji nadal je odnajdzie.

  2. Szybkość działania

    Najważniejsze części systemu - dla których szybkość działania jest krytyczna (Obliczanie funkcji “hash” dla fragmentów, kompresja, szyfrowanie) zostały zaimplementowane w językach programowania C/Cython.

    Borg lokalnie przechowuje w pamięci podręcznej specjalny index plików/fragmentów zwiększając dzięki temu szybkość działania.

    Specjalny algorytm odpowiada za niezwykle szybką detekcję niezmienionych plików.

  3. Szyfrowanie danych

    Dane w repozytorium Borg mogą być zabezpieczone za pomocą 256-bitowego szyfru AES. Integralność danych i autentykacja jest zweryfikowana przy użyciu algorytmu HMAC-SHA256. Dane są szyfrowane po stronie klienta.

  4. Zaciemnienie

    Borg może aktywnie “zaciemnić dane” w repozytorium poprzez “zaciemnienie” wielkości pliku/fragmentu. Dzięki temu atak typu “odcisk palca” jest bardzo utrudniony.

  5. Różne algorytmy kompresji

    Wszystkie dane mogą zostać skompresowane za pomocą dostępnych algorytmów:

    1. lz4 - bardzo szybki, niski stopień kompresji

    2. zstd - szeroki wybór trybu kompresji - szybki, niski stopień kompresji, wysoka kompresja i niższa szybkość

    3. zlib - średnia prędkość i kompresja

    4. lzma - niska prędkość - wysoka kompresja

  6. Backupy typu “off-site”

    Borg może tworzyć swoje repozytoria w zdalnych lokalizacjach - “off-site”. Używa do tego transportu ssh. Jeśli Borg zostanie zainstalowany w zdalnym systemie - można uzyskać olbrzymi przyrost wydajności w porównaniu do dostępu uzyskanego poprzez sieciowy system plików - np.: sshfs, nfs, smb/cifs etc. Większość operacji jest wykonywanych lokalnie po stronie serwera.

  7. Dostęp do archium za pomocą mechanizmu FUSE

    Jedną z ciekawszych funkcjonalności Borga jest możliwość zamontowania archiwum z repozytorium używając mechanizmów FUSE. Po zamontowaniu archiwum, można się po nim poruszać jak po zwykłym systemie plików. bardzo ułatwia to szybkie odzyskanie danego pliku czy całego katalogu.

  8. Łatwa instalacja na wielu platformach

    System Borg można łatwo zainstalować za pomocą binarnej wersji aplikacji na systemach operacyjnych: Linux, Mac OS X, FreeBSD, OpenBSD, NetBSD (bez wsparcia dla xattrs/ACLs i wersji binarnej), Cygwin (eksperymentalnie i bez wersji binarnych), Linux Subsystem w Windows 10 (eksperymentalnie). Borg jest dostępny w wielu dystrybucjach Linuksa jako pakiet do zainstalowania za pomocą menadżera pakietów.

  9. Oprogramowanie darmowe typu “Open Source”

    Borg jest oprogramowanie typu “Open Source”, co czyni go niezwykle bezpiecznym systemem - kod dostępny jest dla wszystkich zainteresowanych - tzw. “bezpieczeństwo wielu par oczu”.

  10. Licencjonowanie

    Borg jest dostępny na licencji BSD.

2.2 Możliwe scenariusze użycia Borg

  1. Backup plików w wybranym katalogu

    Najprostszy ze scenariuszy. Borg przechowuje dane w repozytorium które znajduje się w lokalnym systemie plików. Może być to np. podłączony dysk zewnętrzny.

  2. Backup plików w zdalne lokalizacji - wykorzystanie transportu ssh

    W tym scenariuszu, za pomocą protokołu ssh, Borg tworzy kopie bezpieczeństwa w zdalnym repozytorium (na zdalnym serwerze) czyli backup w trybie “off-site”. Warto tutaj nadmienić, iż na zdalnej maszynie musi również być zainstalowany Borg z wersją kompatybilną z wersją używaną przez klienta.

  3. Backup obrazów maszyn wirtualnych

    Borg świetnie sprawdzi się i tutaj. Przy archiwizowaniu obrazów dysków/obrazów maszyn wirtualnych należy pamiętać o opcji –sparse, której użycie spowoduje, iż backup będzie jeszcze mniejszy.

  4. Backup innych systemów do backupu, gdzie dane są przechowywane w plikach

    Systemy backupu danych najczęściej wykonane backupy przechowują jako pliki w repozytorium. O ile istnieją systemy backupu, które maja zaimplementowaną deduplikację, to wciąż jeszcze zdarzają się systemy bez niej. I tutaj właśnie Borg może sprawdzić się idealnie. Wystarczy wykonywać za pomocą Borga backup plików innego systemu backupu, aby poczuć jego moc (w przypadku znacznej powtarzalności danych).

    Stosowany przez nas często system backupu “Bareos” nie posiada jeszcze mechanizmów deduplikacji, dlatego Borg idealnie nadaje się do wykonywania backupu plików “Bareosa” w trybie “off-site” znacznie zmniejszając objętość przechowywanych backupów na zdalnej maszynie. Gwoli przypomnienia backupy w trybie “off-site” są jednym z elementów strategii zabezpieczenia danych w trybie 3-2-1 - zachęcamy do zapoznania się z tym artykułem: Jak możesz chronić swój biznes przed ransomware? .

Info

Należy pamiętać, iż wszystkie pliki, które mają zostać zabezpieczone przez Borg w trakcie wykonywania kopii bezpieczeństwa nie mogą być używane przez inne procesy co najmniej w trybie zapisu. W przypadku wykonywania kopii przez Borg, gdy pliki są zapisywane przez inny proces może to doprowadzić do uszkodzenia archiwum (brak spójności)!

Szczegółowa instrukcja używania systemu BorgBackup wraz z przykładami znajduje się na stronie BorgBackup w dziale “Dokumentacja” . Szczerze polecamy zapoznanie się z tym materiałem przed użyciem BorgBackup.

3. Vorta

Vorta używa mechanizmów BorgBackup do zarządzania kopiami bezpieczeństwa. Wszystko to, co może BorgBackup może i Vorta. Sama Vorta jest projektem typu “Open Source”. Dzięki elastycznym profilom może zarządzać wieloma repozytoriami Borg. Można również ustawić cykliczne wykonywanie kopii niezależnie dla każdego profilu. Z jednego miejsca można przeglądać wszystkie kopie i odzyskiwać pojedyncze pliki czy też całe foldery.

3.1 Używanie Vorty

Również i tutaj zalecamy zapoznanie się z dokumentacją do systemu Vorta, nie jest ona zbyt obszerna, a do tego czytelnie wyjaśnia zasadę i funkcjonowanie Vorty. Vorta jako nakładka graficzna sprawdzi się doskonale na desktopie z GUI.

Administratorzy systemów serwerowych zapewne będą ją omijać szerokim łukiem, jako że w środowiskach serwerowych rzadko, o ile w ogóle ktoś instaluje GUI (np. GNOME, KDE etc.). Dla nich to narzędzie jest po prostu zbędne.

3.2 Przykładowe screeny

“Zdjęcie ilustracyjne”
Harmonogram wykonywania kopii bezpieczeństwa

“Zdjęcie ilustracyjne”
Lista kopii bezpieczeństwa

“Zdjęcie ilustracyjne”
Ustawienia dodatkowe

“Zdjęcie ilustracyjne”
Ekran 1.

“Zdjęcie ilustracyjne”
Ekran 2.

“Zdjęcie ilustracyjne”
Ekran 3.

4. Podsumowanie

Czy BorgBackup i Vorta to rozwiązanie idealne? Sam Borg dzięki mechanizmom deduplikacji, szyfrowania i szybkości stanowi ciekawą alternatywę dla innych systemów do wykonywania i zarządzania kopiami bezpieczeństwa. Sam fakt, że nie ma jednak natywnego wsparcia dla systemu Windows powoduje, iż jego popularność jest dość mocno ograniczona.

Natomiast w zastosowaniach profesjonalnych - u dostawców usług, w biznesie, wszędzie tam, gdzie szybkość i efektywne zarządzanie miejscem zajmowanym przez kopie bezpieczeństwa ma znaczenie - będzie pasował idealnie. Sprawdzi się również jako system do backupu danych w trybie “off-site”. Należy również pamiętać o ograniczeniach BorgBackup - więcej na stronie FAQ - Frequently asked questions .

System jest wciąż rozwijany, więc należy się spodziewać w przyszłości nowych funkcjonalności i aktywnego poprawiania błędów.

Co do samej Vorty - tak idealnie współgra z BorgBackup. Praktycznie wszystkie operacje można zrobić za pomocą prostego i przejrzystego interfejsu. Sam pomysł na “wrapper” GUI do Borga to strzał w dziesiątkę. Stanowi to dodatkową zachętę dla tych wszystkich użytkowników, którzy stronią od linii komend - z Vortą wszystko to, co potrzeba - wyklikają.