Kopia niejedno ma imię

Bierzemy gotowca

W Internecie można znaleźć wiele kompleksowych systemów backupowych działających w trybie klient-serwer. Wypada tu wymienić zwłaszcza pakiety: Amanda, Bacula, afbackup. Metody ich działania są zasadniczo dwie: lokalny eksport i ręczne lub automatyczne kopiowanie do serwera backupowego albo też zastosowanie agenta, który całą tę pracę wykona w jednym rzucie.

Amanda jest stosunkowo starym i prostym programem backupowym, działającym, trzeba przyznać, niezawodnie. Program potrafi wykonać kopie najpierw na dysk serwera backupowego, a następnie na lokalny napęd taśmowy. Wykorzystanie "partycji magazynowej" na serwerze backupowym nie jest konieczne, niemniej kopiowanie z dysku na dysk umożliwia osiągnięcie dobrej wydajności. Amanda jest dostępna na mocy licencji open source i w sieci lokalnej sprawuje się bardzo dobrze. Istnieje ponadto moduł do programu WebMin, który ułatwia zarządzanie Amandą.

Amanda zawiera proste zarządzanie taśmami, obsługuje autoloadery, choć z pewnymi ograniczeniami (nie każde urządzenie jest obsługiwane prawidłowo), umożliwia szyfrowanie danych poprzez wtyczkę Kerberos 4, synchronizuje wysyłanie danych (tak, by np. szybko wysłać dane z kilkunastu serwerów po dwa naraz na jedną maszynę back-upową) oraz potrafi kompresować dane - przed ich wysłaniem poprzez sieć albo już na serwerze. A oto mankamenty Amandy: program nie umożliwia wykonania kopii, plików/obrazów partycji, które po kompresji mają objętość większą niż pojemność nośnika. Ponadto program używa dynamicznie przydzielanego portu UDP, wymaga więc specjalnej konfiguracji firewalla.

Afbackup to program bardziej skomplikowany niż Amanda. Posiada większość opcji typowych dla programów komercyjnych, w tym bezpośredni zapis i odczyt z taśm, rotację taśm (taśmy nagranej w poniedziałek program nie nadpisze już we wtorek, gdyby przez pomyłkę znalazła się w napędzie) i autoloadery. Umożliwia wykonywanie kopii różnicowych i szyfrowanie danych zewnętrznym programem.

Najbardziej zaawansowanym systemem open source do wykonywania kopii bezpieczeństwa jest Bacula, składająca się z następujących bloków funkcjonalnych:

  • serwera bazodanowego, np. MySQL, PostgreSQL, SQLite;
  • serwera backupowego, który zarządza wykonywaniem kopii;
  • serwera plikowego (do niego trafiają dane bezpośrednio od agentów i z niego dopiero trafiają na taśmę lub dysk);
  • agentów zainstalowanych na komputerach podlegających zabezpieczeniu.
Serwery: bazodanowy, backupowy oraz plikowy mogą być zainstalowane na tym samym komputerze. W odróżnieniu od Amandy, Bacula wykorzystuje zawsze te same porty (9101, 9102, 9103 oraz 3106), dzięki czemu centralny serwer backupu można umieścić za firewallem oraz ustawić restrykcyjnie filtry pakietów na klientach.

Program obsługuje kolejkowanie zadań wraz z priorytetami, poawaryjne bardzo łatwe odzyskiwanie danych z kopii, kopie przyrostowe i różnicowe bez modyfikacji atrybutów, weryfikację zmian plików, rotację taśm, automatyczne utrzymywanie bazy, kopię wielu maszyn o różnych systemach operacyjnych na ten sam wolumin, wzajemne uwierzytelnianie agentów i serwera za pomocą CRAM-MD5, opcjonalne obliczanie haszy każdego pliku, kompresję danych przed przesyłaniem przez sieć, automatyczne nadawanie etykietek taśmom, obliczanie sum kontrolnych każdego bloku taśmy oraz kopiowanie i odtwarzanie surowych partycji (RAW). Bacula jest bardzo szybkim oprogramowaniem.

Niedociągnięć w Baculi nie ma wiele. Można mówić jedynie o stosunkowo skomplikowanej konfiguracji startowej, braku możliwości kopiowania plików z systemów Windows z nazwami w formacie Unicode oraz interfejsie graficznym, który nie udostępnia wszystkich funkcji dostępnych z linii poleceń. Pomimo tych ograniczeń w rękach doświadczonego administratora Bacula może z powodzeniem konkurować z komercyjnym oprogramowaniem backupowym. Osobiście znam kilka produkcyjnych instalacji serwera Bacula na Linuxie zabezpieczających zarówno systemy Windows, jak i Linux. Nie słyszałem na jego temat poważniejszej krytyki.

Gdy danych jest bardzo dużo

Serwery pracujące pod kontrolą Linuxa są używane do coraz poważniejszych zastosowań, a z nimi nieodłącznie wiążą się większe wolumeny danych. Jeśli 50 GB danych nie stanowi problemu - z taką ilością danych poradzi sobie zwykły tar. Gdy danych jest 200 GB i więcej, większość programów dostępnych na zasadach open source zgłasza różnego rodzaju problemy. Po pierwsze, duży zbiór danych zwykle nie mieści się na jednym nośniku. Najnowsze napędy LTO i DLT pozwalają zapisać na jednej taśmie 400 lub 600 GB danych (przy kompresji 2:1), ale nie wszystkie firmy stać na taką technologię.

Ograniczenie pojemności nośnika wyklucza z tego zadania pakiet Amanda, ale nie do końca. Jeżeli wcześniej pliki zostaną zarchiwizowane i podzielone na mniejsze archiwa, np. za pomocą programu tar, da się wykonać backup praktycznie dowolnej ilości danych. Znacznie "sprytniejsza" jest Bacula, która po zapełnieniu taśmy potrafi automatycznie przełączyć autoloader i załadować następną.

Przy wykonywaniu zimnych kopii dużych baz danych najpoważniejszym problemem okazuje się wydajność kopiowania. W takim przypadku najlepiej sprawdza się bieżąca replikacja bazy produkcyjnej do bazy zapasowej. Gdy nadchodzi pora wykonywania kopii, bazę backupową wyłącza się i spójną kopię można wykonać bardzo szybko. Ponadto, w razie awarii głównego serwera bazy, można poprzez replikację ze sprawnej maszyny rezerwowej szybko odtworzyć aktualne dane.

W przypadku serwerów pracy grupowej Lotus Domino instalowanych na Linuxie wielu administratorów stosowało dotychczas rozwiązanie polegające na chwilowym wyłączeniu serwera, a następnie przekopiowaniu plików z folderami i pliku .ini do innego urządzenia dyskowego. Praktyka pokazuje, że w wielu przypadkach serwer Domino w nocy jest całkowicie bezczynny, co pozwala wykonać kopię nawet przy pracującym serwerze. Skrzynki są składane w osobnych plikach i wystarczy je przekopiować, by serwer działał. Pomimo kopii wykonywanych na pracującym serwerze, backup jest możliwy do wykorzystania, pod warunkiem że nie nastąpiła zmiana pliku w trakcie zapisu kopii (nawet prosty tar potrafi to sygnalizować).

W Internecie

Hybrydowe rozwiązania do wykonywania kopii na CD-R/DVD-R:


TOP 200