В этом сезоне разработчики Veeam представили решение для бэкапа и восстановления серверов и баз данных SAP HANA. Читатели нашего блога проявили интерес к новинке — а тут как раз подоспела и полезная статья от моего коллеги Клеменса Зербе. Сегодня поделюсь ею с вами, немного дополнив. Итак, добро пожаловать под кат.
Как видно из картинки, в комплексное решение для SAP HANA входят:
- Veeam Backup & Replication — для бэкапа серверов SAP HANA на уровне образа или на уровне файлов, с поддержкой восстановления.
Если ваш сервер виртуализован — то лучшие бэкаповеды рекомендуют Veeam Backup & Replication; для физического же сервера есть Veeam Agent for Linux. У обоих имеется достаточно подробная документация, плюс статьи в нашем блоге здесь.
- Плагин Veeam — для бэкапа и восстановления баз SAP HANA с учетом транзакций.
Этот плагин умеет задействовать SAP Backint (нативный API) для бэкапа баз и журналов транзакций и сохранять бэкапы в репозиторий Veeam (включая и масштабируемый репозиторий — SOBR). Об этом плагине я сегодня и расскажу.
Рассматриваем плагин поближе
Как было сказано выше, плагин задействует SAP Backint API для работы непосредственно с базой SAP HANA. HANA поддерживает свой собственный каталог резервных копий с настраиваемыми политиками хранения и интервалами создания. Так что Veeam Backup & Replication только и остается, что взять данные из дата-пайпов и положить их в репозиторий.
В ходе восстановления SAP HANA указывает Veeam Backup & Replication, какие данные необходимо восстановить, и Veeam достает их из репозитория.
Операции передачи данных выполняются при помощи компонента Veeam Transport Agent — транспортного агента, об этом следует помнить при планировании развертывания.
Если рисовать картинку про взаимодействие компонентов, то она будет выглядеть так:
- Когда вы запускаете процесс резервного копирования базы, то SAP HANA Backint тут же запускает сервисы плагина Veeam Plug-in.
- Veeam Plug-in подключается к серверу Veeam Backup & Replication и создает там объект задания резервного копирования — backup job object, благодаря чему резервные копии SAP HANA становятся видны админу Veeam backup.
- Затем Veeam Plug-in запускает агентов Veeam Transport Agent на сервере SAP HANA и на репозитории. Каждый из этих агентов создает отдельный канал для потоков данных резервного копирования.
- Veeam Transport Agents передают данные в репозиторий.
Примечание: Надо иметь в виду, что SAP HANA Backint работает только с базой данных, выполняя разные виды бэкапа — полный, дифференциальный, инкрементальный — и журналов. Он же (Backint) используется и для восстановления. Вдобавок, кроме собственно данных, имеются также установочные и конфигурационные файлы SAP HANA, и крутится всё это на операционной системе Red Hat или SUSE. Об этом тоже не надо забывать. Так что если вам нужен бэкап собственно сервера или файлов, то для этого потребуется уже другой инструментарий.
Да, сам плагин входит в Veeam Backup & Replication 9.5 Update 4 (или 4a) в редакции Enterprise Plus.
Начинаем установку
Сначала, конечно же, проверяем соответствие системным требованиям. Поддерживаемые ОС:
- SUSE Linux Enterprise Server for SAP Applications 12 SP1/SP2/SP3/SP4 (x86_64)
- SUSE Linux Enterprise Server for SAP Applications 15 (x86_64)
- Red Hat Enterprise Linux for SAP Applications 7.2/ 7.3/7.4/7.5 (x86_64)
Поддерживаются SAP HANA 2.0 SPS 02/SPS 03/SPS 04. Редакция Express Edition не поддерживается.
Для выполнения тестовой установки плагина, бэкапа и восстановления базы вам понадобятся:
- Настроенный Veeam backup репозиторий (без шифрования!) и необходимыми правами доступа к нему.
- Для репозитория Veeam и для вашей системы HANA должно поддерживаться разрешение имен с помощью DNS (как для forward, так и для reverse).
- Система HANA версии 2.0 SPS02 или выше, работающая на x86.
- Поддержка товарища — если вы Veeam-админ, то желательно иметь рядом коллегу с опытом работы с SAP Basis, и наоборот.
Файлы установки хранятся на Veeam Backup & Replication ISO в каталоге /Plugins/SAP HANA/x64.
- Монтируем ISO, идем в каталог /Plugins/SAP HANA/x64. Копируем нужный файл (.rpm или tar.gz) на сервер SAP HANA.
- Запускаем на этом сервере соответствующую команду, например:
sudo rpm -i VeeamPluginforSAPHANA-X.X.X.XXXX.x86_64.rpm
Примечание: Для подключения к системе можно использовать Putty или любой другой ssh-клиент. Для установки вам потребуется аккаунт с правами sudo.
- Ждем завершения установки и приглашения запустить визард конфигурации SapBackintConfigTool --wizard.
Полезно: Вообще-то установка проходит довольно бодро, но на всякий случай для любителей еще более высоких скоростей, у которых стоит Veeam Backup & Replication 9.5 Update 4a, есть вот такой специализированный performance patch for HANA.
Переходим к настройке
Важно! Для настройки Veeam Plug-in понадобится учетная запись пользователя с правами админа БД на всех инстансах SAP HANA данного сервера. Режим SAP HANA High Level Isolation не поддерживается.
- С правами root запускаем SapBackintConfigTool --wizard.
- Тут нам нужно будет указать:
- Имя или IP-адрес сервера Veeam backup
- Порт для связи с этим сервером — по умолчанию 10006
- Имя пользователя и пароль для доступа к этому же серверу — учетку и права доступа должен организовать администратор, ответственный за работу Veeam Backup & Replication
- Репозиторий, куда будут сохраняться бэкапы — если с правами всё в порядке, то отобразится список всех доступных репозиториев. Они будут перенумерованы, надо ввести номер нужного вам. В данном примере был выбран репозиторий под номером 2 в списке (его имя SOBR1).
- Все остальное визард делает автоматически, а именно — сохраняет настройки в файл /opt/veeam/VeeamPluginforSAPHANA/veeam_config.xml и активирует SAP Backint через soft link.
Примечание: Если SAP Backint у вас уже был предварительно настроен, то выдастся сообщение, какие шаги нужно сделать дополнительно и в какой момент перезапустить данный визард.
Делаем первый бэкап
Проще всего использовать для этого SAP HANA Studio, но можно также и любой другой инструмент, например, SAP HANA Cockpit, DBA planer или какой-либо внешний шедулер.
- Запускаем SAP HANA Studio и подключаемся к нужному инстансу SAP HANA в режиме Multiple containers → System database. (Тут вы вправе рассчитывать на дружескую помощь админа SAP Basis — он укажет имя хоста и инстанс.)
- Выбираем аутентификацию с использованием учетки пользователя — Authentication by database user. Вводим имя пользователя и пароль для SAP HANA (в нашем примере это system — но это необязательно, вы можете создать учетку специально для операций бэкапа и восстановления с правами на backup и catalog rights. Про это написано в документации HANA).
- Если с настройками все хорошо, то после прохождения визарда вы увидите в окне консоли примерно такую структуру:
Если кликнуть по узлу SYSTEMDB@SID (SYSTEM) — откроется окно с подробными свойствами.
- А мы кликаем по этому узлу правой кнопкой и выбираем пункт меню Backup and Recovery → Open Backup Console:
- Переходим на вкладку Сonfiguration и там кликаем на Backint settings. Если в поле Backint Agent видим /opt/Veeam/VeeamPluginforSAPHANA/hdbbackint — значит, все настройки сделаны как надо.
Обратите внимание на несколько моментов в настройках:
- Поскольку Veeam не использует файлы Backint Parameter files, соответствующие поля должны быть пустыми. Если в них что-то есть, очистите их.
- Настройки бэкапа логов Log Backup Settings дают возможность хранить логи на файловой системе (опция File) либо задействовать Backint для отправки логов в Veeam Backup & Replication. Второй вариант (опция Backint) предпочтительнее, но только после подтверждения со стороны вашего SAP Basis-админа.
- Если вы поменяли какие-либо настройки, не забудьте их сохранить.
Наконец всё проверено, запускаем резервное копирование.
- Кликаем правой кнопкой по узлу нашей базы SYSTEMDB@DEV и выбираем команду Backup and Recovery → Back Up System Database (и затем также будет Backup Tenant Database).
- Выбираем тип бэкапа, который планируем создать. В качестве Destination type выбираем Backint, жмем Next.
- Еще раз просматриваем все параметры и жмем Finish.
- Наблюдаем за ходом процесса.
- Когда все закончится, проверяем, на месте ли логи — в Backup Execution Summary кликаем по ссылке Open Log File.
- Возвращаемся в диалог Backup System DB и открываем каталог бэкапов Backup Catalog. Там должно быть детальное описание только что созданного бэкапа, наподобие вот такого:
- Повторяем аналогичную процедуру для tenant-а: запускаем резервное копирование базы, проверяем логи, смотрим, что в каталоге.
Если вы теперь откроете консоль Veeam Backup & Replication, то там вы увидите следующее:
- Под узлом Jobs появилось новое задание с именем такого вида “hostname SAP backint backup (repository name)"
- Под узлом History появилась новая папка Plug-ins (для Sap HANA & Oracle RMAN).
Сработало! С чем вас и поздравляю, а теперь переходим к восстановлению.
Восстанавливаем базу
Важно! Все тестовые процедуры, как та, что описана ниже, должны выполняться только в тестовой инфраструктуре и рядом с вашим коллегой — SAP Basis-админом. Никогда не выполняйте тестовые и учебные процедуры на продакшене! (Ваш Капитан Очевидность:)
В этом примере мы будем восстанавливать tenant-базу на текущее состояние (системные базы, как правило, требуют восстановления только в случае каких-то серьезных проблем, и для подобного восстановления может понадобиться консультация техподдержки SAP).
- Кликаем по нашему узлу SYSTEMDB@DEV и выбираем команду меню Backup and Recovery — Recover Tenant Database.
- Выбираем tenant-а, жмем Next.
- Выбираем вариант Recover the database to its most recent state (восстановить базу на новейшее состояние). Также есть вариант и восстановления на выбранный момент времени.
- Если вы выполняли резервное копирование на Backint (то бишь через Backint на репозиторий) – выбираете опцию поиска бэкапов в соответствующем каталоге: Search for the backup catalog in Backint only. Если на файловую систему — то Search for the backup catalog in the file system only.
Внимание! При восстановлении для DB будет выполнен shutdown!
- Из списка бэкапов выбираем нужный. Если надо удостовериться в его наличии — нажимаем Check Availability.
- Затем (после того, как рядом с нашим бэкапом после загорелся зеленый индикатор availability check) переходим на шаг Locate Log Backups и снова жмем Next.
- Далее на шаге Other Settings указываем, что надо брать логи из того места, куда мы их сохранили через Backint. (Вообще все настройки на этом шаге нужно сверять с SAP Basis-админом.)
- Жмем Next, просматриваем еще раз описание всех настроек и кликаем Finish.
Процесс пошёл! Когда он завершится, вы увидите примерно такой диалог:
Итак, резервное копирование и восстановление завершились. Свою незаметную на первый взгляд, но важную роль в этих процессах сыграл плагин Veeam Plug-in for SAP HANA (кстати, он сертифицирован SAP). Продолжение следует!
Дополнительные ссылки
- Руководство пользователя (на англ.языке)
- Страница решения (на русском языке)
- Запись вебинара (на русском языке)
Автор: polarowl