Amanda Network Backup: корпоративный бэкап — АйТи Фреш
· 16 мин чтения

Amanda Network Backup: корпоративный бэкап для смешанной инфраструктуры Linux и Windows

Amanda Network Backup: корпоративный бэкап для смешанной инфраструктуры Linux и Windows

Семёнов Евгений Сергеевич, директор АйТи Фреш. Знаете, что я вам скажу? Amanda — это тот инструмент для резервного копирования, который, на мой взгляд, несправедливо недооценён. Представьте себе: проект стартовал ещё в 1991 году! И за все эти годы он доказал свою невероятную надёжность, прочность, буквально как скала. При этом Amanda остаётся до невозможности гибкой, а её Community-версия так вообще совершенно бесплатна. У меня самого на Amanda крутится несколько клиентских инфраструктур, где количество серверов варьируется от тридцати до двухсот. И что самое удивительное? За все восемь лет моей работы с ней ни один бэкап не подвёл при восстановлении. Это просто фантастика! В этой статье я поделюсь полным циклом развёртывания — начиная от установки сервера и заканчивая тонкой настройкой автоматических отчётов в Telegram.

Когда имеет смысл Amanda, а когда нет

Итак, кому подойдёт Amanda? Она отлично впишется в средние, смешанные IT-инфраструктуры. Мы говорим о 20–200 клиентских машинах, где есть и Linux, и Windows, и нужно бэкапить не только файловые данные, но и СУБД. В чём её главные козыри? Потрясающая гибкость в планировании, нативная работа как с ленточными накопителями, так и с дисками. А ещё — встроенное шифрование и дедупликация, если говорить об Enterprise-версии. И главное: к серверу Amanda предъявляет совершенно минимальные требования. Неплохо, правда?

Для офиса, где крутятся от 30 до 50 серверов, Amanda — практически идеальный кандидат. Она бесплатна, прекрасно документирована, да ещё и с очень активным сообществом. Чего ещё желать?

Архитектура и компоненты

Давайте разберёмся, как устроена Amanda. По сути, это две главные части: сервер и клиенты. На сервере у нас работает планировщик amdump, отвечающий за расписание, а также драйверы устройств — их называют taper и chunker. Ну и, конечно, демон amandad. А что на клиентских машинах? Там тоже работает amandad, но уже в режиме клиента. Его задача проста: ждать запросов от сервера и чётко их выполнять.

КомпонентРоль
amdumpОсновной планировщик цикла бэкапа
amandadДемон на сервере и клиенте (порт 10080/udp+tcp)
taperЗапись на ленту/диск
chunkerРазбивает потоки на чанки для параллельной записи
amrestore/amrecoverУтилиты восстановления
amcheckПредварительная проверка перед бэкапом

Подготовка сервера Amanda

Какой сервер я обычно советую для Amanda? Моя рекомендация — Debian 12 или Ubuntu 22.04 LTS. По железу? Минимум 4 vCPU, 16 ГБ RAM и, что ОЧЕНЬ важно, отдельный диск под vtape. Этот диск должен быть как минимум втрое больше, чем общий объём всех данных, которые вы собираетесь бэкапить с клиентов. Например, для офиса с 50 серверами моя стандартная конфигурация такая: 20 ТБ на основной бэкап, и ещё 20 ТБ — для удалённой копии в S3. Работает это всё просто как часы, без сбоев!

apt update
apt install -y amanda-server amanda-client amanda-common xinetd gnuplot

# Пользователь amandabackup создаётся автоматически
id amandabackup
# uid=34(backup) gid=34(backup) groups=34(backup),6(disk),40(tape)

# Структура каталогов
mkdir -p /etc/amanda/daily
mkdir -p /var/lib/amanda/daily/{curinfo,index,tapelist}
mkdir -p /backups/vtape/daily/slots
chown -R backup:backup /etc/amanda /var/lib/amanda /backups

Базовый конфиг daily

Основной файл — /etc/amanda/daily/amanda.conf. Минимальная рабочая конфигурация с виртуальной лентой на диске:

org "itfresh-daily"
mailto "admin@corp.example.ru"
dumpuser "backup"
inparallel 4
dumpcycle 7
runspercycle 5
tapecycle 15 tapes
runtapes 1
netusage 500 Mbps
labelstr "^daily-[0-9][0-9]*$"
tapetype HARDDISK
tpchanger "chg-disk:/backups/vtape/daily/slots"

define tapetype HARDDISK {
  length 500 gbytes
  filemark 4 kbytes
  readblocksize 128 kbytes
}

define dumptype global {
  comment "Global defaults"
  auth "bsdtcp"
  compress none
  encrypt client
  client-encrypt "/usr/sbin/amcrypt-ossl"
  client-decrypt-option "-d"
  holdingdisk yes
  record yes
  index yes
}

define dumptype gzip-encrypt {
  global
  compress client fast
  program "GNUTAR"
}

А что именно будем бэкапить с каждого клиента? Это определяет файл disklist.

# /etc/amanda/daily/disklist
srv-file01.corp.example.ru  /srv/share1     gzip-encrypt
srv-file01.corp.example.ru  /srv/share2     gzip-encrypt
srv-db01.corp.example.ru    /var/lib/mysql  gzip-encrypt
srv-mail.corp.example.ru    /var/vmail      gzip-encrypt
win-file02                  D:/Data         gzip-encrypt

Установка клиента на Linux

# На клиенте
apt install -y amanda-client amanda-common xinetd

# /etc/amanda/amandahosts
echo "amanda-server.corp.example.ru backup amdump" > ~backup/.amandahosts
chown backup:backup ~backup/.amandahosts
chmod 600 ~backup/.amandahosts

# /etc/xinetd.d/amanda — включаем сервис
systemctl restart xinetd
ss -lntup | grep 10080

Клиент Windows

Если у вас Windows-серверы, то Zmanda позаботилась о вас, выпустив собственный инсталлятор amanda-client-win. Он устанавливается как обычная служба, умеет работать с VSS, чтобы получать согласованные снапшоты. После установки делаем следующее:

# PowerShell на Windows-клиенте
net start Amanda
# В C:\amanda-config\amandahosts добавить сервер
"amanda-server.corp.example.ru backup amdump" | `
  Out-File C:\amanda-config\amandahosts -Encoding ascii

Первый запуск и проверка

# Подготовка виртуальных "лент"
for i in 01..15; do
  su - backup -c "amlabel daily daily-$i slot $i"
done

# Проверка инфраструктуры
su - backup -c "amcheck daily"

# Первый прогон бэкапа
su - backup -c "amdump daily"

# Посмотреть отчёт
su - backup -c "amstatus daily"

Увидели, что amcheck выдаёт «client hello ok» и «tape daily-01 writable»? Отлично, инфраструктура готова! Первый amdump тут же запустит полный бэкап всех DLE. В зависимости от объёма, этот процесс займёт от 2 до 12 часов. Так что запаситесь терпением.

Автоматизация и отчёты в Telegram

Планируем через cron:

# /etc/cron.d/amanda
0 23 * * 1-6 backup /usr/sbin/amdump daily
0 8  * * 1-6 backup /usr/local/bin/amanda-tg-report.sh daily

Скрипт amanda-tg-report.sh дергает amreport и шлёт сводку в Telegram-бот:

#!/bin/bash
CFG="$1"
TG_TOKEN="1234567:AAA..."
TG_CHAT="-1001234567890"
REPORT=$(su - backup -c "amreport -f $CFG" 2>&1 | head -60)
curl -s -X POST "https://api.telegram.org/bot$TG_TOKEN/sendMessage" \
  -d chat_id="$TG_CHAT" \
  --data-urlencode text="Amanda $CFG:
$REPORT"

Восстановление данных

А для чего всё это затевалось? Конечно, для восстановления! Мы сталкиваемся с тремя основными сценариями:

# 1) Интерактивное восстановление отдельных файлов
su - backup -c "amrecover daily"
# > sethost srv-file01.corp.example.ru
# > setdisk /srv/share1
# > setdate 2025-04-18
# > cd Финансы/2024
# > add *
# > extract

# 2) Полное восстановление раздела
amrestore -b 128 -p daily-05 srv-file01.corp.example.ru /srv/share1 | \
  restore -rf -

# 3) Восстановление на другую машину
amfetchdump daily srv-file01 /srv/share1 /restore-area/

Реальный кейс: внедрение на 45 серверов

Помните наш кейс в июне 2024 года? Мы внедряли Amanda для одной проектно-строительной компании. У них было 45 серверов, смесь Linux и Windows. До этого как бэкапили? Старыми добрыми скриптами rsync на NAS, с журналированием через самописные bash-обёртки. И вот в апреле понадобилось восстановить одну папку, которой было три месяца. Как думаете, что произошло? Оказалось, ротация благополучно затёрла нужный момент. Данные, увы, спасти не удалось. Это была классическая иллюстрация проблем со «своими» решениями.

Один из таких проектов занял у нас 9 рабочих дней. Мы развернули виртуалку прямо в нашем дата-центре МТС Москва: мощный сервер с 8 ядрами Dell Xeon Platinum 8280 и 16 ТБ дискового массива. Какую схему мы настроили? Ежедневный vtape на локальном диске, с циклом в 7 дней и 15 доступными слотами. Плюс к этому, каждую неделю делалась копия в S3-совместимое хранилище. Мы тщательно проработали и настроили четыре разные конфигурации бэкапов: ежедневные, еженедельные, ежемесячные и ежеквартальные, для каждой определив свой ретеншен. Всё было сделано максимально чётко и продуманно!

Стоимость того проекта составила 145 000 рублей. А уже через месяц после запуска мы успешно восстановили 2 ТБ почтового архива всего за 1 час 40 минут — это было чистое восстановление, без единой заминки. Сейчас Amanda работает у этого клиента уже второй год, обеспечивая RPO в 24 часа и RTO всего в 2 часа. Отличный результат, на наш взгляд.

Типичные ошибки и как их избежать

Развернём Amanda под вашу инфраструктуру

Мы предлагаем полный спектр услуг: от проектирования схемы хранения до тонкой настройки мониторинга и регулярных учений по восстановлению данных. Для офисов, где 30–200 серверов, я смело ставлю Amanda Community. Обязательно настраиваю отчёты в Telegram или на почту, а также провожу регулярное тестирование. Запуск такого проекта занимает, как правило, 5–10 рабочих дней, а дальше мы обеспечиваем сопровождение на абонентской основе. И, кстати, наша собственная инфраструктура в АйТи Фреш — это 8 серверов Dell Xeon Platinum 8280 с 40G Mellanox в дата-центре МТС Москва — позволяет нам хостить ваши копии прямо у нас. Так что, если что, обращайтесь!

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — частые вопросы по Amanda

Amanda только для ленточных библиотек?
Нет. Amanda одинаково работает с ленточными библиотеками LTO, дисковыми хранилищами (vtape), S3-совместимыми объектными хранилищами через amanda-s3. Чаще всего используется связка локальный диск + удалённая копия в S3.
В чём разница между Amanda Community и Amanda Enterprise?
Community — бесплатная версия, всё конфигурируется текстовыми файлами, управление через CLI. Enterprise (Zmanda) — платная, добавляет веб-консоль, API, встроенную дедупликацию, поддержку VMware и баз данных. Для большинства офисов хватает Community.
Как Amanda бэкапит Windows-серверы?
Через клиент Amanda for Windows, который устанавливается как служба. Использует Cygwin-обёртку, поддерживает VSS для согласованных снапшотов системы.
Можно ли шифровать бэкапы?
Да, серверное шифрование через amcrypt и клиентское через amcrypt-ossl с GPG-ключами. Клиентское предпочтительнее — тогда данные уходят с клиента уже зашифрованными.
Как часто нужно делать полный бэкап?
Amanda использует модель dumpcycle: выбираете длину цикла (обычно 7 дней), и планировщик сам раскидывает full и инкрементальные бэкапы так, чтобы равномерно нагружать хранилище.

Подпишитесь на рассылку ITfresh

Хотите быть в курсе самых актуальных решений? Раз в неделю мы делимся практическими гайдами для руководителей IT и системных администраторов. Это и безопасность, и 1С, и миграции, и, конечно, резервные копии. Только проверенные лайфхаки из наших реальных проектов!

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.