Amanda Network Backup: корпоративный бэкап для смешанной инфраструктуры Linux и Windows
Семёнов Евгений Сергеевич, директор АйТи Фреш. Знаете, что я вам скажу? Amanda — это тот инструмент для резервного копирования, который, на мой взгляд, несправедливо недооценён. Представьте себе: проект стартовал ещё в 1991 году! И за все эти годы он доказал свою невероятную надёжность, прочность, буквально как скала. При этом Amanda остаётся до невозможности гибкой, а её Community-версия так вообще совершенно бесплатна. У меня самого на Amanda крутится несколько клиентских инфраструктур, где количество серверов варьируется от тридцати до двухсот. И что самое удивительное? За все восемь лет моей работы с ней ни один бэкап не подвёл при восстановлении. Это просто фантастика! В этой статье я поделюсь полным циклом развёртывания — начиная от установки сервера и заканчивая тонкой настройкой автоматических отчётов в Telegram.
Когда имеет смысл Amanda, а когда нет
Итак, кому подойдёт Amanda? Она отлично впишется в средние, смешанные IT-инфраструктуры. Мы говорим о 20–200 клиентских машинах, где есть и Linux, и Windows, и нужно бэкапить не только файловые данные, но и СУБД. В чём её главные козыри? Потрясающая гибкость в планировании, нативная работа как с ленточными накопителями, так и с дисками. А ещё — встроенное шифрование и дедупликация, если говорить об Enterprise-версии. И главное: к серверу Amanda предъявляет совершенно минимальные требования. Неплохо, правда?
- Итак, что Amanda бэкапит без проблем? Файлы, почтовые архивы, СУБД (правда, тут нужны pre/post-скрипты), данные VMware, системные конфиги из /etc. Список довольно внушительный.
- А вот с чем Amanda не справится? С блочной дедупликацией образов виртуальных машин. Для таких задач лучше присмотреться к Bareos или Proxmox Backup Server. Важно знать ограничения, верно?
- Крупные IT-инфраструктуры? Да, те самые, что обслуживают больше пятисот клиентов. Вот тут-то и начинается самое интересное: что выбрать для резервного копирования? Открытые Bacula или Bareos? Или, может, лучше сразу смотреть в сторону коммерческих решений? На нашей практике, это до сих пор вызывает жаркие споры. И однозначного ответа, кажется, нет.
Для офиса, где крутятся от 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 часа. Отличный результат, на наш взгляд.
Типичные ошибки и как их избежать
- Не проверяется amcheck. Запускайте каждую ночь до amdump — словите проблемы доступа до того, как оно сорвёт бэкап.
- Нет ретеншена на лентах. Если tapecycle меньше dumpcycle — сервер может перезаписать активный бэкап.
- holdingdisk слишком мал. Ставьте 1.5× от размера самого большого DLE, иначе serial-запись на ленту бутылочное горлышко.
- Забывают о тестовом восстановлении. Раз в квартал прогоняйте полное восстановление случайной DLE на тестовую машину — единственный способ убедиться, что бэкап реально работает.
- Windows-клиенты без VSS. Бэкап живой БД без VSS даёт битый файл — настройте skip-executable или включите VSS в конфиге клиента.
Развернём 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 и инкрементальные бэкапы так, чтобы равномерно нагружать хранилище.
