SYSTEM AMANDA WYKONALI : Cinal Łukasz Kopytyński Marcin III rok INf/Z WSTiE Sucha Beskidzka 2005
CO TO JEST AMANDA ? AMANDA (Advanced Maryland Automated Network Archiver) jest zawansowanym narzędziem tworzenia kopii bezpieczeństwa działającym w środowisku sieciowym. Stworzona na Uniwersytecie Maryland, jest dostępna bezpłatnie na licencji GPL. Źródła pakietu dostępne są na stronie projektu www.amanda.org. Obok dokumentacji dostarczanej wraz z oprogramowaniem, użytecznymi źródłami informacji o Amandzie są książki Unix Backup and Recovery [#!backupUnix!#] oraz UNIX Administracja systemu [#!unix_adm!#].
Amanda nie realizuje żadnego z opisanych w rozdziale strategii wykonywania kopii bezpieczeństwa. Jej działanie polega na powtarzającym się wykonywaniu tzw. cykli, podczas których wykonywana jest pełna kopia wszystkich danych. Pełna kopia danych nie jest wykonywana jednorazowo, ale rozłożone jest na cały cykl. Jednocześnie archiwizowane są wszystkie dane zmieniające się w ciągu cyklu.
KONFIGURACJA AMANDY Pozornie konfiguracja Amandy może wydawać się skomplikowanym zadaniem, ale dzięki dostarczanym wraz z oprogramowanie przykładom skryptów konfiguracyjnych można przez ten etap przejść prawie bezboleśnie. Należy jednak pamiętać o kliku istotnych elementach konfiguracji całego systemu, które należy przygotować na różnych etapech instalcji.
Chociaż Amanda dostępna jest w postaci gotowych pakietów binarnych omówimy tutaj instalcję pakietu ze źródeł. Konfiguracja Amandy zaczyna się bowiem już w momencie jej kompilacji. Wywołując skrypt konfiguracyjny configure należy podać nazwę użytkownika (oraz jego grupę główną) który będzie właścicielem procesów uruchamianych w trakcie pracy Amandy np.
Grupa disk jest właścicielem urządzeń blokowych w systemie i zazwyczaj tworzona jest w momencie instalacji systemu. Jeśli zainstalowaliśmy Amandę z pakietów binarnych np. *.rpm, *.deb, skrypty post-instalacyjne utworzyły także użytkownika amanda czyniąc go członkiem właściwej grupy, natomiast przy instalacji ze źródeł, sami musimy zadbać o jego wcześniejsze utworzenie np. poleceniem adduser. Użytkownik amanda musi być członkiem grupy disk, a jaego katalog domowy powinien znajdować się w katalogu /var np. /var/lib/amanda.
Aby mieć pełną kontrolę nad instalcją Amandy warto dokładnie przejrzeć listę opcji skryptu konfiguracyjnego ./configure -help lub jeszcze lepiej dokładnie zapoznać się z plikiem INSTALL w katalogu docs źródeł pakietu. Amanda musi zostać zainstalowana zarówno na serwerze jak i na kliencie. Jeżeli chcemy zaoszczedzić na przestrzni dyskowej oraz czasie kompilacji możemy ustalić podczas konfiguracji, że kompilowana będzie tylkoczęść serwerowa (opcja -without-client) lub kliencka (-without-serwer).
Skrypt konfiguracyjny sprawdza obecność wszystkich plików, bibliotek oraz urządzeń potrzebnych Amandzie. Warto więc prześledzić generowane komunikaty aby upewnić się, że wszystko poszło jak należy np. czy urządzenia taśmowe zostały prawidłowo wykryte itd. Kompilację pakietu uruchamiamy poleceniem make. Po jej pomyślnym zakończeniu instalujemy oprogramowanie w systemie wydając polecenie make install. Lokalizację katalogu głównego Amandy określamy przy pomocy opcji -prefix skryptu konfiguracyjnego. Domyślnie instalacja wykonywana jest do katalogu /usr/local
Amanda składa się z kilku demonów uruchamianych na serwerze i systemach klienckich oraz szeregu programół narzędziwych o różnorodnym przeznaczeniu: amandad -- demon uruchamiany w systemie klienckim, podczas wykonywania kopii bezpieczeństwa. W razie potrzeby demon ten uruchamia inne programy klienkcie: selfcheck -- wykonuje weryfikację lokalnej konfiguracji, sendsize -- oszacowuje wielkość kopii danych, sendbackup -- przesyłanie danych na serwer archiwizacji, amcheck -- weryfikacja konfiguracji (w tym połączenia z serwerem).
amdupm -- główny program Amandy po stronie serwera uruchaminy przez demona cron uruchamiany przez. Program ten wykorzystuje podczas działania kilka innych programów: planner -- ustala co archwizować driver - sterownik urządzenia dumper -- komunikuje się z demonami klienckimi amandad, taper -- zapisuje pobrane dane na urządzeniu taśmowym, - amreport -- przygotowuje raport z wykonania jednego przebiegu Amandy
Narzędzia administracyjne: amcheck -- sprawdza poprawność konfiguracji Amandy (zarówno po stronie serwera jak i klienta) oraz gotowość do działania, amlabel -- przygotowuje nośniki przypisując im etykiety, amcleanup -- naprawia skutki nieprzewidzanej przerwy w pracy systemu, amflush -- wymusza zapis danych przechowywanych w katalogu tymczasowym Amandy na nośniku -- polecenie to jest przydatne gdy z jakiegoś powodu nie mozliwy był zapis na nośniku podczas normalnej pracy systemu, - amadmin -- umożliwia wykonywanie pewnych czynności administratorskich
CYKL ARCHIWIZACJI Najważniejszym elementem konfiguracji jest ustalenie długości cyklu, ilości przebiegów w trakcie 1 cyklu, ilość taśm wykorzystywanych w trakcie jednego przebiegu oraz liczbę dostępnych taśm.
Każda taśma wykorzystywana przez Amandę musi posiadać etykietę Każda taśma wykorzystywana przez Amandę musi posiadać etykietę. Aby ułatwić zarządzanie taśmami, definiujemy format etykiety przy pomocy wyrażenia regularnego.
POZIOMY KOPII BEZPIECZEŃSTWA Podczas archiwizacji Amanda wykorzystuje poziomy kopii bezpieczeństwa. Poziomy dobierane są na podstawie dostarczonych parametrów. Amanda stara się znaleźć kompromis pomiędzy zwiększaniem się trudności odtwarzania danych przy stosowaniu kopii wielopoziomowych, a wynikającym z ich zastosowania oszczędnościami. Parametr bumpsize określa minimalną wartość objętości danych jaką zaoszczędzimy przechodząc z poziomu 1 do 2 kopii bezpieczeństwa.
Mnożnik bumpmult określa przez ile należy przemnożyć bumpsize aby otrzymać próg przejścia na wyższych poziomach. W poniższym przykładzie, przejście z poziomu 2 na 3 związane jest z uzyskaniem oszczędności rzędu 40 MB, a z 3 na 4 -- 80 MB. Minimalny czas przez jaki kopia bezpieczeństwa na danym poziomie musi być wykonywana jest określona parametrem bumpdays
TYMCZASOWA PRZESTRZEŃ SKŁADOWANIA DANYCH Wykonanie kopii bezpieczeństwa można przyspieszyć, dopuszczając wykorzystanie dysku twardego jak cache'u. Pominięcie tej opcji powoduje, że backup wykonywany jest bezpośrednio na taśmę co siłą rzeczy jest stosunkowo powolnym procesem. Jeśli objętość danych przekracza dostępna na dysku przestrzeń, backup wykonywany jest bezpośrednio na taśmę.
URZĄDZENIA TAŚMOWE Definiując własności urządzenia taśmowego musimy określić urządzenie na którym będzie wykonywany backup oraz jego typ. Nazwa typu urządzenia jest odwołaniem do znajdujących się w dalszej części pliku konfiguracyjnego definicji określających istotne parametry urządzania.
TYPY BACKUP’U Na końcu pliku amanda.conf znajdujemy zbiór predefiniowanych typów backup'u. Typ backup'u grupuje szereg parametrów wykonywania backup'u, odnoszących się do sposobu postępowania z archiwizowanymi danymi np. czy poddajemy dane kompresji lub które pliki mają być pominięte podczas archwizacji. Definiowane typy wykorzystywane są w pliku disklist w którym umieszczamy listę zasobów do archiwizacji
Opis wszystkich opcji, jakie moga pojawić się w definicji typu, znajduję się w pliku przykładowym pliku amanda.conf, dlatego ograniczymy się do omówienia tylko kilku najczęściej wykorzystywanych (modyfikowanych) : comment -- pozwala na umieszczenie którtkiego komentarza, zwykle opisującego cechy definiowanego typu backup'u
exclude -- dzięki tej opcji mamy możliwość wyłączenia pewnych plików lub katalogów z backup'u. Włączenie tej opcji mam sens tylko wtedy gdy do archiwizacji wykorzystujemy program tar. W innych przypadkach opcja ta jest ignorowana. compress --określa metodę kompresji danych. Dopuszczalne są następujęce wartości: - none - brak kompresji, - client fast - kompresja danych po stronie klienta z wykorzystaniem szybkiego algorytmu,
- client best -- j.w. ale kompresja zostanie wykonane z użyciem wolniejszego, ale efektywniejszego algorytmu, - server fast -- kompresja po stronie servera z wykorzystaniem szybkiego algorytmu, - server best -- j.w., ale wykorzystany zostanie wydajniejszy i wolniejszy algorytm kompresji
index -określa czy Amanda ma utrzymywać indeks plików w kopii bezpieczeństwa (wartośc yes lub no. Indeksowanie jest niezbędne gdy chcemy wykorzystywać interakcyjne narzędzia odtwarzania plików w rodzaju amrecover. priority - opcja ta ustala względny priorytet ważności tego typu backup'u. Jeśli z jakiegoś powodu zapis na taśmę nie może byc wykonany np. w napędzie brak jest nośnika, tyle danych ile się zmieści jest zapisywanych na dysku w miejscu określonym opcją pliku konfiguracyjnego holdingdisk. Dane, któryb backup ma najwyższy priorytet zapisywane są w pierwszej kolejności. Dopuszczalne wartości tej opcji to high, medium, low. Domyślnie ustalony jest priorytet medium.
program -pozwala na wybranie programu archiwizujacego, który będzie wykorzystywane przez Amandę podczas backup'u. Do wyboru mamy dwa programu tar (wartość "GNUTAR") oraz dump (wartość "DUMP"). Domyślnie wykorzystywany jest program dump. holdingdisk - w odróżnieniu od opcji o tej samej nazwie określającej urządzenie blokowe na którym tymczasowo składowane są dane, w przypadku definicji typu backup'u umozliwia nam określenie czy chcemy korzystać z tego dysku (wartości yes/no). Domyślnie dysk jest wykorzystywany.
ARCHIWIZACJA ZASOBÓW DANYCH Listę zasobów danych, które mają podlegać archiwizacji umieszczamy w pliku disklist znajdującym się w tym samym katalogu co amanda.conf. Plik dostarczony z oprogramowaniem zawiera wraz z objaśnieniami, sporą ilość przykładowych wpisów dla różnych platform. Ogólnie pojedynczy wpis w pliku disklist ma postać:
nazwa_hosta jest nazwą lub adresem IP klienta, którego dane umieszczone na urządzeniu lub w katalogu określonym przez zasob_dyskowy, bedą podlegać archiwizacji według typu określonego przez typ_backupu. Przykładowe wpisy mogą mieć postać:
PODSUMOWANIE Jeżeli poszukujesz bardziej zaawansowanego oprogramowania do wykonywania kopii bezpieczeństwa, możesz użyć programu AMANDA .To darmowe oprogramowanie może być używane przez sieć do wykonywania kopii bezpieczeństwa systemów plików umieszczonych na wielu komputerach na pojedynczej taśmie o dużej pojemności. Zalety tego programu to: łatwy mechanizm odzyskiwania danych w przypadku błędu, kompresja danych, możliwość tworzenia harmonogramu prac bardzo szybkie wykonywanie kopii bezpieczeństwa