Настройка бэкапирования серверов через Amanda

Потеря данных из-за сбоя сервера может остановить бизнес на дни, если нет надёжной системы резервного копирования. Мы настраиваем бэкапирование серверов через Amanda — централизованное решение, которое защищает ваши данные на ленте или диске. Наша команда реализует проект под ключ: от аудита инфраструктуры до тестового восстановления, обеспечивая стабильную работу и последующую поддержку.
Часто задаваемые вопросы

Вступление: проблема и наше решение

Вы отвечаете за целостность данных в продакшене? Один сбойный диск — и без централизованного бэкапа восстановление может занять дни. Настройка бэкапирования серверов через 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 обязательных этапа:

  1. Аудит инфраструктуры и требований к срокам хранения.
  2. Установка ПО и генерация SSH-ключей для amandad.
  3. Настройка конфигурационных файлов и расписания дампа.
  4. Тестовый бэкап и проверка восстановления через 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

Интерактивная оболочка позволяет выбирать файлы из бэкапа по дереву директорий.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139