AMANDA (Advanced Maryland Automated Network Archiver) jest zawansowanym narzędziem tworzenia kopii bezpieczeństwa działającym w środowisku sieciowym. Stworzona na Uniwrsytecie Maryland, jest dostępna bezpłatnie na licencji GPL. Zró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.
W czasie cyklu, Amanda wykonuje zadaną ilość przebiegów, w trakcie każdego wykonując część pełnej kopii wszystkich danych podlegających backup'owi oraz kopię przyrostową danych, której zmieniły się od poprzedniego przebiegu. Do odtworzenia danych potrzebne są taśmy z całego cyklu.
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. Konfigurację i uruchomienie Amandy omówimy na przykładzie prostej instalacji złożonej z serwera i klienta backup'u. Do archiwizacji będzie wykorzystywany napęd taśmowy DDS-3 podpiety do magistrali SCSI serwera. Obie maszyny pracują pod kontrolą systemu operacyjnego Linux1.1 i znajdują się w tej samej podsieci.
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. Ze względu na różnicę między implementacjami poleceń adduser/useradd pomiędzy różnymi dystrybucjami1.2 nie będziemy podawać dokładnej postaci linii poleceń.
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:
Domyślnie, konfiguracje Amandy, umieszczane są w podkatalogu etc/amanda znajdującym się w jej głównym katalogu np. /usr/local/etc/amanda. Inną lokalizację plików konfiguracyjnych określamy przy pomocy opcji -with-configdir skryptu konfiguracyjnego.