[Виртуализация, Восстановление данных, Резервное копирование] Мгновенное восстановление баз данных с Veeam

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
06-Июл-2021 13:31

В VBR 11 у инструментов Veeam Explorer for SQL Server и Veeam Explorer for Oracle появилась возможность мгновенного восстановления базы данных  (Instant recovery). Подход здесь напоминает всем знакомое мгновенное восстановление виртуальной машины - быстро смонтировать файлы на рабочий сервер, чтобы, например, достать нужные отчеты для бухгалтерии, и в это же время в фоновом режиме спокойно копировать файлы бэкапа и по готовности переключиться на полноценную машину. Рассмотрим эту фичу более подробно на примере SQL Server database.
Для моментального восстановления Veeam Explorer for Microsoft SQL Server задействует Veeam Explorers Recovery Service , который и будет выполнять все нужные операции - а сам Veeam Explorer после старта сессии восстановления можно и закрыть.Сам же процесс восстановления проходит так:(1) Veeam Explorer запускает параллельно 2 сессии монтирования файлов бэкапа по iSCSI (iSCSI mount sessions). В ходе одной из них база из бэкапа публикуется на продакшен сервер и аттачится к нужному инстансу SQL Server. (При публикации БД выполняется ее временный аттач к выбранному серверу без собственно восстановления). В ходе второй в фоновом режиме идет копирование файлов из бэкапа на продакшен сервер.Примечание: Пока пользователи работают с опубликованной базой (“запаской”), все изменения файлов базы сохраняются в кэш на маунт-сервере. (2) После того, как все файлы из бэкапа скопировались на целевой сервер, происходит синхронизация изменений, накопившихся в кэше.(3) На финальном этапе выполняется переключение на актуальную базу, поднятую из бэкапа на продакшене и успешно синхронизированную. Переключение можно запустить вручную или автоматически.Примечание: Лично я считаю это большим достижением в юзабилити продукта, ибо тут софт работает за пользователя. А ведь сколько тикетов было открыто, когда при мгновенном восстановлении ВМ люди попросту забывали выполнить финальные шаги и так и ехали на “запаске”, из-за чего начинались проблемы с ресурсами. В ходе переключения Veeam Explorer автоматически выполняет вот такие шаги:
  • Останавливает публикацию базы.
  • Использует содержимое кэша, чтобы синхронизировать восстановленную базу с той, которая была опубликована.
  • Выполняет drop для опубликованной базы.
  • Запускает восстановленную базу.
Примечание: Сессия мгновенного восстановления устойчива по отношению к отказам маунт-сервера, бэкап сервера или к сетевым проблемам. Если происходит такой сбой, то процесс застывает в режиме ожидания и пытается возобновить работу каждые 5 минут. Если 10 автоматических попыток завершились неудачей, можно повторить вручную после починки проблемных мест.Мгновенное восстановление можно выполнять:
  • На исходный или на другой сервер (инстанс).
  • Для одной или нескольких баз.
  • На последнее доступное состояние.
  • На выбранный момент времени.
  • На состояние, в котором база была до конкретной транзакции.
Важные нюансы
  • Если вы работаете с зашифрованными БД, то имейте в виду, что перед тем, как вам потребуется восстановить базу, нужно будет восстановить сертификат шифрования. Для этого нужно иметь под рукой бэкап сертификата, а создать его можно так:
USE master
BACKUP CERTIFICATE <certificate name> TO FILE = 'path_to_file'
WITH PRIVATE KEY(ENCRYPTION BY PASSWORD='******', FILE='path_to_private_key_file');
Подробности о работе с такими базами можно найти в этой статье базы знаний Veeam
  • Если вы рассчитываете выполнять мгновенное восстановление базы с ноды AlwaysOn availability group, имейте в виду, что Veeam Explorer восстановит ее как отдельную БД.
  • Если у вас десктопная версия Microsoft Windows (7, 8, 8.1, 10), то мгновенное восстановление для нескольких баз нужно выполнять последовательно - ибо для десктопных версий поддерживается не более 20 подключений по TCP/IP одновременно. (Про это ограничение написано, например, в Microsoft Windows 10 License Terms.) Впрочем, тут у нас есть work-around - для параллельного восстановления нескольких баз можно использовать командлет Restore-VESQLIRDatabase .
  • Если планируется публикация базы на кластер SQL Server, то нужно обеспечить незанятое имя драйва на всех нодах кластера в соответствии с числом кластеризованных дисков в бэкапе. Для мгновенного восстановления незанятых имен потребуется вдвое больше.
  •  Если планируется восстановление на момент времени с точной настройкой, убедитесь, что все ноды AlwaysOn availability group находятся в одном часовом поясе. И имейте в виду, что такой сценарий восстановления нельзя выполнить для импортированного бэкапа.  
  • Для бэкапа логов транзакций нужно, чтобы имелся хотя бы один бэкап SQL Server-а. Поэтому сразу после полного восстановления SQL Server-а бэкапа логов у вас не будет. Кроме того, бэкап логов не поддерживается для ВМ с гостевой ОС Windows Server 2008 (и младше) на Hyper-V 2012 R2. 
  • Graph Tables не поддерживаются для SQL Server 2017 и выше.
Пример сценария: Мгновенное восстановление для нескольких базКак и другие виды восстановления, этот сценарий выполняется с помощью мастера - его можно запустить, найдя в дереве нужный бэкап сервера или инстанса и выбрав на табе Database пункт меню Instant Recovery > Instant Recovery of databases с соответствующим уточнением:
  • latest state to original - на самое свежее состояние, в исходное место
  • point-in-time state to original - на конкретный момент времени в исходное место
  • to another server - на другой сервер
Затем на шаге Specify restore point можно уточнить, в какое состояние восстанавливать базу: Restore to the point in time of the selected image-level backup - на момент создания выбранной точки восстановления (той, с которой вы сию минуту работаете в  Veeam Explorer).
Если вы решили восстановиться на другой сервер (инстанс), то вам нужно будет указать этот сервер (инстанс) и аккаунт для доступа к нему. Важно! У аккаунта должна быть роль sysadmin на выбранном сервере, а также как минимум права Read и Write на админскую шару (\\myserver\ADMIN$) на нём.
Подробнее про переключение будет рассказано ниже. После того, как вы нажмете Recover, Veeam Explorer for Microsoft SQL Server начнет публикацию базы на выбранный сервер, а вам останется только наблюдать, как проходит сессия восстановления:
Кстати, здесь можно поменять настройки переключения на восстановленную базу, если вы передумали: 
  • В дереве слева выбираем ноду Instant Recovery и под ней базу, которая сейчас опубликована.
  • Кликаем по ней правой кнопкой и выбираем Edit. В уже знакомом диалоге устанавливаем нужную настройку Switchover.
Переключение на восстановленную БДКак было сказано выше, в ходе переключения для опубликованных в ходе мгновенного восстановления файлов базы выполняется detach, а база, скопированная из бэкапа, наоборот, аттачится к целевому инстансу SQL Server. После detach всегда выполняется "финальная" синхронизация файлов. Важно! Если вы хотите восстановиться на исходный сервер, помните, что восстановленная база перезатрет исходную. Кроме того, в ходе всех этих операций база будет в офлайне. После того, как файлы БД скопированы с маунт-сервера, Veeam Explorer проверяет размер не синхронизированных изменений маунт-кэша (где хранятся изменения БД, сделанные с момента публикации). Понятно, что размер маунт-кэша растёт всегда, а вот размер несинхронизированных нас интересует именно в свете того, как будет выполняться переключение. Автоматическое переключение: :
  • Если несинхронизированных изменений в кэше меньше, чем 100 MB, то начинается переключение.
  • Если больше 100 MB, то выполняется синхронизация изменений и затем новая проверка кэша. Если стало менее 100 MB, то (см. предыдущий пункт) начинается переключение, в противном случае выполняется еще один цикл синхронизации, и так далее.
Этот режим переключения обеспечивает минимальный даунтайм.Ручное переключение: После того, как файлы БД скопированы с маунт-сервера, Veeam Explorer раз в минуту проверяет размер несинхронизированных изменений в кэше. Если их больше 100 МВ или с момента последней синхронизации прошло более 5 минут, то Veeam Explorer начинает синхронизацию изменений. После ее завершения вы можете запустить переключение вручную - для этого в дереве слева выберите под узлом Instant Recovery опубликованную базу и из ее контекстного меню выберите Switchover now.
Переключение по расписанию: Аналогично режиму с ручным переключением, кэш проверяется каждую минуту. Если накопилось несинхронизированных изменений больше, чем 100 МВ, или с момента последней синхронизации прошло более 5 минут, то Veeam Explorer начинает синхронизацию изменений. После ее завершения Veeam Explorer ожидает указанного в расписании момента, чтобы начать переключение. Если он наступает до завершения синхронизации, программа дает закончить синхронизацию и лишь затем выполняет переключение.После того, как переключение завершится, сессия Instant Recovery считается оконченной и будет закрыта.Вот, в общем-то, и всё на сегодня. Вопросы и комментарии, как всегда, приветствуются. Полезные ссылкиРуководство пользователя (на англ. языке)Статья базы знаний о работе с зашифрованными БДВидео о возможностях мгновенного восстановления (на русском языке)
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_virtualizatsija (Виртуализация), #_vosstanovlenie_dannyh (Восстановление данных), #_rezervnoe_kopirovanie (Резервное копирование), #_veeam, #_veeam_backup, #_veeam_backup_and_replication, #_sql_server, #_vosstanovlenie (восстановление), #_virtualizatsija (виртуализация), #_blog_kompanii_veeam_software (
Блог компании Veeam Software
)
, #_virtualizatsija (
Виртуализация
)
, #_vosstanovlenie_dannyh (
Восстановление данных
)
, #_rezervnoe_kopirovanie (
Резервное копирование
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 07:16
Часовой пояс: UTC + 5