Вступление: проблема и наше решение
Вы отвечаете за целостность данных в продакшене? Один сбойный диск — и без централизованного бэкапа восстановление может занять дни. Настройка бэкапирования серверов через Amanda — это то, что мы делаем под ключ: гарантируем сохранность данных на ленте или диске. Наш опыт — 10+ проектов с библиотеками LTO, и мы готовы оценить вашу инфраструктуру за 1 день.
Почему мы используем Amanda?
Amanda (Advanced Maryland Automatic Network Disk Archiver) — зрелый open-source инструмент для централизованного бэкапирования. Согласно Amanda documentation, в сравнении с Bacula он настраивается быстрее в 2–3 раза для инфраструктур до 20 серверов, не требует отдельной базы данных и имеет встроенную поддержку NDMP. Уникальная особенность — holding disk: данные сначала пишутся на быстрый диск, а затем дозаписываются на ленту в фоне, что позволяет параллельно бэкапить несколько клиентов без блокировок.
Как мы развёртываем Amanda?
Процесс включает 4 обязательных этапа:
- Аудит инфраструктуры и требований к срокам хранения.
- Установка ПО и генерация SSH-ключей для amandad.
- Настройка конфигурационных файлов и расписания дампа.
- Тестовый бэкап и проверка восстановления через amrecover.
Полный цикл для 5–10 клиентов занимает 2–3 дня. После завершения каждого этапа мы проводим контрольную проверку. Базовая стоимость настройки — от $90–130, комплексный проект с ленточной библиотекой — от $450–650.
Конфигурация в деталях
Все файлы конфигурации хранятся в /etc/amanda/<config-name>/. Имя конфигурации — имя бэкап-домена. Пример для DailySet1 с дисковым хранилищем:
# /etc/amanda/DailySet1/amanda.conf
org "Production Backup"
mailto "[email protected]"
dumpuser "amandabackup"
inparallel 4
holdingdisk hd1 {
directory "/amanda/holding"
use 50 GB
chunksize 1 GB
}
define tapetype DISK {
length 200 GB
filemark 4 KB
speed 200 MBps
}
define dumptype global {
auth "ssh"
ssh_keys "/var/lib/amanda/.ssh/id_rsa"
compress none
encrypt srv-blowfish
index yes
}
define dumptype comp-root-tar {
global
program "GNUTAR"
compress server fast
exclude list "/etc/amanda/DailySet1/exclude.list"
}
# /etc/amanda/DailySet1/disklist
app-server-01 /etc comp-root-tar
app-server-01 /var/www comp-root-tar
db-server-01 /etc comp-root-tar
db-server-01 /var/lib/pgsql global
web-server-01 /etc comp-root-tar
web-server-01 /var/www comp-root-tar
# /etc/amanda/DailySet1/changer.conf
tapedev "/amanda/vtapes/DailySet1"
tpchanger "chg-disk:/amanda/vtapes/DailySet1"
tapetype DISK
tapecycle 14Перед запуском проверьте конфигурацию через amcheck -c DailySet1. Первый бэкап запускается вручную: amdump DailySet1. Статус — amstatus DailySet1.
Типичные ошибки и их решение
-
ERROR: Connection refused — на клиенте не запущен amandad через inetd/xinetd, или в hosts.allow не указан сервер. Решение: добавьте запись
amanda: a.b.c.d(IP сервера) в/etc/hosts.allow. -
Holding disk переполнен (>80%) — Amanda откажется запускать бэкап. Используйте
amadmin DailySet1 holdingдля просмотра занятого места, затемamflush DailySet1для записи данных на ленту. -
Неправильный tapetype — если реальная ёмкость тома меньше указанной, Amanda запросит смену тома в середине бэкапа.
amtapetypeзамеряет реальную скорость и объём.
Сравнение: лента vs диск
| Критерий | Физическая лента (LTO) | Диск (vtape) |
|---|---|---|
| Скорость записи | До 400 MB/s | Зависит от диска (обычно выше) |
| Ёмкость | До 18 ТБ (LTO-9) | Ограничена размером диска |
| Надёжность | Высокая, но механические части | Надёжность диска, дедупликация |
| Стоимость | Выше (библиотека, робот) | Ниже, без движущихся частей |
Мониторинг бэкапов и алертинг
Бэкап без мониторинга — это иллюзия безопасности. Мы настраиваем получение отчётов Amanda по email и интегрируем логи с Prometheus или Zabbix. Ключевые метрики, которые отслеживаем: статус последнего дампа каждого клиента, занятость holding disk, свободное место на ленточных или дисковых томах, время выполнения бэкапа относительно окна обслуживания.
Если holding disk заполнен более чем на 85%, система заблаговременно отправляет алерт. Это критично: при заполнении до 100% Amanda откажется запускать следующий бэкап, и вы потеряете сутки без уведомления. Настраиваем cron-скрипт check_amanda_health.sh, который проверяет логи за последние 24 часа и при ошибках отправляет сигнал в PagerDuty или Slack.
Отдельно тестируем восстановление раз в квартал — amrecover на тестовом сервере с верификацией целостности. Это единственный способ убедиться, что бэкап реально работает. По результатам теста фиксируем RTO (время восстановления) для каждого критичного сервиса. Нашим клиентам мы предоставляем отчёт о тестировании восстановления — документальное подтверждение для аудиторов и страховых компаний.
Что входит в работу
Мы предоставляем:
- Документацию по конфигурации и восстановлению.
- Скрипты автоматизации для cron-расписаний и мониторинга.
- Обучение ваших инженеров (1 день).
- Месяц поддержки после запуска.
Сроки и стоимость
| Масштаб | Срок |
|---|---|
| 5–10 клиентов, disk-based vtapes | 2–3 дня |
| 20+ клиентов + ленточная библиотека | 1–2 недели |
| Интеграция с NDMP, зашифрованные тома | +3–5 дней |
Стоимость рассчитывается индивидуально после аудита инфраструктуры и требований к хранению. Свяжитесь с нами для консультации — мы оценим проект.
Как восстановить данные через amrecover
amrecover DailySet1
amrecover> sethost db-server-01
amrecover> setdisk /var/lib/pgsql
amrecover> list
amrecover> add postgresql.conf
amrecover> extractИнтерактивная оболочка позволяет выбирать файлы из бэкапа по дереву директорий.







