AMANDA( Advanced Maryland Automatic Network Disk Archiver) является решением бэкапа, которое позволяет ИТ-администратору настраивать один главный сервер резервного копирования для восстановления нескольких хостов по сети на ленточные накопители, чейнджеры или диски или оптические носители.
Amanda использует собственные утилиты и форматы (например, dump и / или GNU tar) и может создавать резервные копии большого количества серверов и рабочих станций с несколькими версиями Linux или Unix.
Установка сервера Amanda
==============
Установите пакеты amanda с помощью yum:
# yum install -y amanda*
Создайте файл конфигурации.
Я собираюсь назвать этот проект резервного копирования ServerNetBackup.
Схема:
Нам нужно создать каталог, названный этим проектом, и все файлы конфигурации для этого проекта будут находиться в нем:
# mkdir /etc/amanda/ServerNetBackup
Создайте файл конфигурации ядра, amanda.conf:
vim /etc/amanda/ServerNetBackup/amanda.conf
Вставьте в него следующее:
org "ServerNetBackup" # Organization name for reports mailto "address@hackthesec.co.in" # Email address to receive reports netusage 10000 Kbps # Bandwidth limit, 10M dumpcycle 1 week # Backup cycle is 7 days runspercycle 7 # Run 7 times every 7 days tapecycle 15 tapes # Dump to 15 different tapes during the cycle tpchanger "chg-disk" # The tape-changer glue script changerfile "/etc/amanda/ServerNetBackup/changer" # The tape-changer file tapedev "file://central_backup/ServerNetBackup/slots" # The no-rewind tape device to be used tapetype HARDDISK # Define the type of tape infofile "/etc/amanda/ServerNetBackup/curinfo" # Database directory logdir "/etc/amanda/ServerNetBackup/logs" # Log directory indexdir "/etc/amanda/ServerNetBackup/index" # Index directory define tapetype HARDDISK { # Define our tape behaviour length 100000 mbytes # Every tape is 100GB in size } amrecover_changer "changer" # Changer for amrecover define dumptype global { # The global dump definition maxdumps 2 # The maximum number of backups run in parallel estimate calcsize # Estimate the backup size before dump holdingdisk yes # Dump to temp disk (holdingdisk) before backup to tape index yes # Generate index. For restoration usage } define dumptype root-tar { # How to dump root's directory global # Include global (as above) program "GNUTAR" # Program name for compress comment "root partitions dumped with tar" compress none # No compress index # Index this dump priority low # Priority level } define dumptype user-tar { # How to dump user's directory root-tar # Include root-tar (as above) comment "user partitions dumped with tar" priority medium # Priority level } define dumptype comp-user-tar { # How to dump & compress user's directory user-tar # Include user-tar (as above) compress client fast # Compress in client side with less CPU (fast) }
Настройка места резервного копирования
=================
Подготовьте каталог для хранения всех резервных копий:
mkdir -p /central_backup/ServerNetBackup/slots
Назначьте правильное разрешение пользователю amandabackup для каталога конфигурации и каталога резервного копирования:
$ chown amandabackup.disk /central_backup -Rf $ chown amandabackup.disk /etc/amanda/ServerNetBackup -Rf
Осуществите вход как пользователь amandabackup:
su - amandabackup
Создайте виртуальную ленту. Здесь хранятся резервные файлы.
Нам нужно будет создать 15 слотов по ключевому слову tapecycle:
$ for n in `seq 1 15`; do mkdir /central_backup/ServerNetBackup/slots/slot${n}; done
$ for n in `seq 1 15` ; do amlabel ServerNetBackup ServerNetBackup-${n} slot ${n}; done
Создайте все необходимые каталоги, как определено в файле конфигурации:
$ mkdir /etc/amanda/ServerNetBackup/curinfo $ mkdir /etc/amanda/ServerNetBackup/logs $ mkdir /etc/amanda/ServerNetBackup/index
Настройка службы и что бэкапим
Нам нужно определить, что делать с резервными копиями в файле disklist.
Как пользователь amandabackup, создайте этот файл:
$ su - amandabackup $ vim /etc/amanda/ServerNetBackup/disklist
Добавьте следующее:
sv101.hackthesec.co.in /home/webby/public_html comp-user-tar gogogo.hackthesec.co.in /etc root-tar
Примечания. Убедитесь, что имя хоста является полным доменом и может быть разрешено для IP-адреса. Рекомендуется добавить запись хоста в /etc/hosts.
vim /etc/xinetd.d/amanda
И измените следующую строку c «yes» на «no»,
Включить при загрузке и перезагрузке службу xinetd:
$ chkconfig xinetd on $ service xinetd restart
Проверьте сервер аманды, правильно ли он работает, используя следующую команду:
$ netstat -a | grep amanda udp 0 0 *:amanda *:*
Если вы видите результат, как указано выше, сервер аманды готов к работе!
Установка клиента резервного копирования Amanda
=================
Войдите на сервер клиента и установите требуемый пакет Amanda, используя yum:
$ yum install -y amanda amanda-client
В качестве пользователя amandabackup добавьте следующую строку в /var/lib/amanda/.amandahosts, чтобы указать, где находится резервный сервер Amanda:
$ su - amandabackup $ vim /var/lib/amanda/.amandahosts
И убедитесь, что установлено следующее значение, как показано ниже:
office.hackthesec.co.in amandabackup amdump localhost amandabackup amdump localhost.localdomain amandabackup amdump
Выйдите из пользователя amandabackup и войдите в систему как root:
Включите службу amanda в каталоге xinetd.d:
$ vim /etc/xinetd.d/amanda
И измените следующую строку c «yes» на «no»,
Включите запуск на старте системы:
$ chkconfig xinetd on $ service xinetd start
Добавьте запись в /etc/hosts для определения IP-адреса сервера резервного копирования, добавив следующую строку:
125.10.90.90 office.hackthesec.co.in
В некоторых случаях вам может потребоваться изменить разрешение каталога, который вы хотите сделать резервным.
Например, мне нужно разрешить пользователю amandabackup обращаться к директории /home/webby/public_html для создания резервной копии:
Как пользователь root, измените разрешение каталога:
$ chmod 755 /home/webby
Запуск процесса резервного копирования
=================
Теперь вернитесь на сервер Amanda и проверьте наш конфигурационный файл как пользователь amandabackup:
$ su - amandabackup $ amcheck ServerNetBackup
Вы должны увидеть результат, подобный этому:
Client check: 2 host checked in 2.070 seconds. 0 problems found.
Если никаких ошибок нет, вы можете сразу запустить процесс резервного копирования, выполнив следующую команду:
$ amdump ServerNetBackup
Или мы можем автоматизировать этот процесс, используя cronjob.
Запустите следующую команду в качестве пользователя amandabackup:
$ crontab -e
И добавьте следующую строку:
45 0 * * 2-6 /usr/sbin/amdump ServerNetBackup
От пользователя root, перезагрузите службу crond, чтобы активировать это задание:
$ service crond reload