Backup danych z własnej chmury - jak to zrobić dobrze?

0

Próbuję wypracować jakiś dobry sposób na robienie backupów mojej prywatnej chmury. "Moja prywatna chmura" to obecnie Raspberry Pi (czyt. serwer z Linuksem) z paroma usługami (w tym Samba), do którego podpiętych jest kilka dysków działających w ramach RAID 1. Wadą rozwiązania jest fakt, że wszystkie dane są fizycznie na jednej maszynie, co oznacza że jak mi piwnica spłonie, albo ktoś mi w ramach ransomware zaszyfruje dane no to mam problem. Na razie backupy robię ręcznie na zewnętrzny dysk, ale na dłuższą metę to nie przejdzie, chcę żeby się to działo samo.

Danych mam ok. 200 GB. Zawartość większości plików nie zmieni się już nigdy (bo są to zdjęcia/wideo), niektóre pliki natomiast zmieniają się codziennie.

Odkryłem ostatnio coś takiego jak rclone, które pozwala na łatwe przesyłanie danych na chmurę (przy okazji szyfrując je). Teraz testuję upload na AWS S3. Komenda rclone sync pozwala na zsynchronizowanie danych z chmurą przy uprzednim sprawdzeniu co się faktycznie zmieniło. To mi bardzo pasuje z tego względu że, jak pisałem wcześniej, większość plików się nie zmienia więc też i nie ma sensu ich przesyłać za każdym razem.

Takie rozwiązanie chroni mnie przed awarią/uszkodzeniem dysków serwera, natomiast nie chroni przed ransomware. Jak ktoś mi zaszyfruje dane, to one mi się wszystkie zsynchronizują z AWS'em. Stąd moje pytanie: czy ma ktoś pomysł jak to rozwiązać? Może istnieje jakaś komenda linuksowa, która wykryłaby nienaturalnie dużą ilość zmian w krótkim okresie czasu i która zablokowałaby synchronizację z rclone? Jedyna inna opcja, która mi przychodzi do głowy to pakować dane w skompresowany zip i wrzucać to na AWS, z tym że wymagałoby to 2x więcej powierzchni dyskowej u mnie na serwerze (bo gdzieś tę paczkę trzeba przed wysłaniem trzymać), a potem to 200 GB musiałoby być za każdym razem przesyłane (mimo że większość plików będzie zawsze taka sama), no i też koszt trzymania tego w Amazonie też będzie pewnie duży.

Byłby ktoś skłonny podzielić się swoim rozwiązaniem?

3

restic albo borg. Gdzie ten pierwszy na pewno pozwala korzystać z rclone pod spodem, aczkolwiek z Amazon S3 radzi sobie natywnie. Nie kopiują plików bezpośrednio, ale dzielą na odpowiednie zestawy zmian i zapewniają deduplikację, więc kolejny backup jest np. tylko przyrostowy. Zapewnią ochronę przed ransomware o tyle, że będziesz mógł przywrócić dane z poprzedniego zestawu — nie znam automatyki na wykrywanie zbyt dużej liczby zmian, choć pewnie da się to oskryptować.

4

Ja mam (projekt jeszcze niedokończony, ale coraz bliżej końca) to zrobione tak:

  1. Dane trzymam na fizycznym NAS - 4 zatokowe urządzenie
  2. Urządzenie z pkt.1 zapewnia udziały sieciowe dla kompów w domu
  3. Jako chmurę mam SeaFile - https://www.seafile.com/en/home/
  4. Serwer SeaFile stoi na kompie mini ITX z Atomem w środku i 2x Ethernet. Pobór mocy rzędu 26W
  5. Ten atom na dysku ma jedynie system, wlasciwy storage jest udziałem zmapowanym z NAS
  6. Poza tym jest serwer z ok. 10 dyskami 2Tb każdy. Jest to celowo tak zrobione, bo mam większą ilość dysków, ktore mogą bezkarnie paść, a przy tym po wymianie odbudowa jest o wiele szybsza niż jakbym miał np. 4x8TB.
  7. Ten "duży" serwer nie chodzi cały czas, jedynie się odpala co noc i uruchamia rsync - czyli zgrywa zmienione pliki z NAS, a po zakończonej akcji się wyłącza
  8. NAS ani nic innego w sieci nie ma pojęcia o istnieniu tego "dużego" serwera, więc ewentualne ransomware raczej go nie dotknie.
  9. Jeśli by się stało tak, że jakieś gunwo mi zaszyfruje dane to jeszcze mam snapshoty ZFS na "dużym" serwerze
  10. Chmury (ani innych usług) nie mam wystawionych na świat, w razie potrzeby łącze się z domem przez VPN.

Moze któryś z tych punktów będzie się ciebie jakaś inspiracją ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1