DPM 2012R2. Отказоустойчивый кластер Hyper-V с CSV на Windows Server 2012R2. Гость - это также Windows Server 2012R2 с SQL Server 2014. Все последние обновления, накопительные пакеты обновлений, накопительные обновления и некоторые рекомендуемые исправления.
История: каждая установка SQL на гостевых виртуальных машинах имеет собственный план обслуживания с резервными копиями полной, разностной и журнальной базы данных в общий сетевой ресурс. Сейчас добавляю защиту ВМ с помощью DPM.
Что происходит: каждый раз, когда DPM выполняет резервное копирование виртуальных машин, он использует VSS, который обращается к SQL VSS Writer, который, в свою очередь, выполняет резервное копирование в SQL.
Что плохо: эта резервная копия VSS представляет собой полную резервную копию базы данных со всеми последствиями. Таким образом, теперь нельзя использовать собственные резервные копии SQL, потому что нет возможности восстановить базу данных SQL с виртуальных машин VHDx в состоянии IN RECOVERY для применения резервных копий diff или журналов. Есть способ только восстановить файлы mdf / ndf / ldf и прикрепить их или всю ВМ.
Как указано в документации SQL VSS Writer, он не поддерживает резервное копирование журналов, поэтому восстановление на определенный момент времени недопустимо для производственных баз данных. ( https://msdn.microsoft.com/en-us/library/ms175536.aspx )
Единственный способ, который я вижу, - сделать эту резервную копию только. Модуль записи SQL VSS поддерживает его. Сам VSS поддерживает этот параметр от VSS_BACKUP_TYPE до VSS_BT_COPY
Но я не вижу способа сказать DPM об этом.
Что я пробовал до сих пор:
Гостевая ОС внутри ВМ
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ SQLWriter \ Settings \. DWORD DisableLogShrink 1. Отключает сжатие журнала только во время резервного копирования SQL VSS, но это все равно полная резервная копия.
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Virtualization \ VssRequestor \. DWORD Backup Тип 1. KB975354. Если эта запись реестра создана и ее значение равно 1, на резервное копирование приложения не повлияет операция резервного копирования виртуальной машины на сервере, на котором работает Hyper-V. Нет эффекта.
На хост-сервере (все узлы в кластере с перезагрузкой)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft Data Protection Manager \ Agent \ HonorFilesNotToBackup \ Plus HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ BackupRestore \ FilesNotToBackup \ MULTI_SZ строка с путем к VHDX, содержащему базы данных SQL. Нет эффекта.
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft Data Protection Manager \ Agent \ 2.0 \. DWORD CopyBackupEnabled 1. ( https://blogs.technet.microsoft.com/dpm/2015/05/20/an-in-depth-look-at-the-registry-settings-that-control-microsoft-dpm-2012/ ) Нет эффекта.
На сервере DPM
DWORD Имя виртуальной машины в DPM со значением 1.
Возможно, это все, и я просто не знаю, как правильно написать имя виртуальной машины, которое примет DPM. Теперь он находится в формате VMNAME.CLUSTERNAME.DOMAIN.COM. Никакого эффекта.
Похоже, мой гугл-бинг-все-фу на этом заканчивается.
У меня остается несколько вопросов. - Как мне защитить виртуальные машины с помощью SQL, сохранив возможность восстановления баз данных SQL на определенный момент времени внутри них с помощью DPM? - Как все остальные люди защищают свои виртуальные машины с помощью SQL с помощью DPM? Используете 15-минутный интервал синхронизации для всей виртуальной машины? В случае десятков-сотен ВМ это много места / нагрузки / трафика и т. Д.
И ГЛАВНЫЙ вопрос: - Удалось ли кому-нибудь добиться, чтобы DPM не влиял на резервное копирование SQL внутри виртуальных машин Hyper-V в той же настройке?
Хорошо. Наконец-то я это сделал.
Что действительно сработало для меня:
На хост-сервере
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft Data Protection Manager \ Agent \ 2.0
DWORD CopyBackupEnabled 1
Это действительно сделало резервные копии VSS только для копирования, но они по-прежнему регистрируются в backuphistory (почему-то я этого не ожидал и не заметил, что это действительно работает).
Во-вторых, в гостевой ОС журналы WS2012R2 по умолчанию не усекаются, а в 2008R2, наоборот, по умолчанию усекаются.
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Virtualization \ VssRequestor DWORD BackupType 1
Не влияет на SQL, но HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ SQLWriter \ Settings \ DWORD DisableLogShrink 1
действительно помогает
Усечение журнала проверяется функцией fn_dblog () или размером журнала.
Дополнительно,
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft Data Protection Manager \ Agent \ HonorFilesNotToBackup
Плюс
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ BackupRestore \ FilesNotToBackup
MULTI_SZ строка с путем к VHDX
Работает не так, как ожидалось.
Файлы VHDX по-прежнему подвержены влиянию VSS при использовании этих ключей, но они исключаются из результирующей резервной копии. Таким образом, при использовании этих ключей имейте в виду, что SQL будет регистрировать эту резервную копию и может усекать журналы, даже если VHDX с БД исключен (или если исключены только файлы базы данных).
И наконец, ключ сервера DPM
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft Data Protection Manager \ Agent \ 2.0 \ CopyBackups
DWORD Имя источника данных
Не влияет на резервное копирование виртуальных машин и похоже, что эта база данных конфигурации sharepoint является единственной целью для этого ключа
Вы можете прекратить использование SQL VSS Writer, отключив службу «SQL Server VSS Writer» для SQL-сервера.