Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Организация резервного копирования AlwaysOn  [new]
AngryError
Member

Откуда:
Сообщений: 44
Доброго времени суток!
Несколько вопросов от начинающего DBA.
Вроде бы первая задача, и ничего сложного в ней нет, но хочется быть уверенным, что все делаю правильно)

В организации имеем 2 кластера AlwaysOn.
Нужно:
1.) Организовать резервное копирование со вторичных реплик (модель FULL). Сейчас делается с первичных.
2.) Нужно иметь по 1-й копии full-бекапа за сегодня на каждом хранилище + по 1-й за вчерашний день. Раз в час делать бекапы логов всех баз
3.) Нужно разделить расписание, ибо сейчас все бекапится в одно время
4.) Базы в кластерах по размерам разные. Есть несколько по 700+ ГБ и с десяток маленьких (10 ГБ)
5.) Иметь представление о состоянии бекапов в течение дня

Что планирую сделать:
1 - настраиваем в AlwaysOn предпочтительную реплику для бекапа (не первичная, но только когда доступны вторичные)
2 - разделяем бекапы по времени. Мониторим среднее время бекапа и распределяем в течение дня
3 - бекапы больших БД ложим на 1-е файловое хранилище, далее планировщиком на самом файловом хранилище копируем вчерашний бекап на второе файловое хранилище. Все что старше, чем вчера - удаляем.
4 - маленькие БД копируем сразу на 2 файловых хранилища
5 - организуем систему оповещений на всех этапах резервного копирования / копирования файлов бекапа

Вопросы:
1 - При бекапе логов со вторичных реплик, размер лога ужимается на всех БД кластера?
2 - В случае, если бекап со вторичной реплики идет несколько часов, на момент окончания бекапа -
какую версию БД мы будем иметь в бекапе? На начало бекапа или на конец. Про обычные бекапы я в курсе - на конец.

Прошу оценить алгоритм, если есть замечания - озвучьте)
спасибо!
27 дек 17, 12:51    [21066234]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
AngryError,

1. Нет. "BACKUP LOG supports only regular log backups (the COPY_ONLY option is not supported for log backups on secondary replicas)" - попробуйте вдумчиво перевести эту фразу. Дифференциальные на репликах тоже использовать не получится.

2. Для понимания ссылка на MSDN, ключевое "AlwaysOn does not ship individual log records, it ships log blocks. The log block is used as a container for log records so by virtue of the log block tracking the individual LSN tracking also occurs".

Ну и конечно A consistent log chain is ensured across log backups taken on any of the replicas (primary or secondary), irrespective of their availability mode (synchronous-commit or asynchronous-commit).
27 дек 17, 13:12    [21066321]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
AngryError
на момент окончания бекапа -
какую версию БД мы будем иметь в бекапе? На начало бекапа или на конец.

Вы понимаете, что есть нормальная версия БД - которая на первичной, есть отстающая версия БД - на реплике, есть совсем отстающие версии БД - в бэкапах? Используйте ту версию БД, которая нужна для работы конкретного приложения. Родное приложение БД - значит, первичная реплика. Отчетность тяжелая - вторичная реплика. Состояние на вчера-позавчера-месяц назад - развернутая на тестовом сервере из нужного бэкапа.
27 дек 17, 13:15    [21066332]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Andy_OLAP
AngryError,

1. Нет. "BACKUP LOG supports only regular log backups (the COPY_ONLY option is not supported for log backups on secondary replicas)" - попробуйте вдумчиво перевести эту фразу. Дифференциальные на репликах тоже использовать не получится.

2. Для понимания ссылка на MSDN, ключевое "AlwaysOn does not ship individual log records, it ships log blocks. The log block is used as a container for log records so by virtue of the log block tracking the individual LSN tracking also occurs".

Ну и конечно A consistent log chain is ensured across log backups taken on any of the replicas (primary or secondary), irrespective of their availability mode (synchronous-commit or asynchronous-commit).


А почему в 1 нет?
Имеется ввиду усекается ли лог на других репликах, да, усекается.
Как это происходит:
1) Sec уведомляет Primary о точ что хочет начать Backup и уведомляет Primary
2) Primary пытается наложить BulkOp Lock на нужную базу и если получается отвечает Sec.
3) Sec начинает делать Backup.
4) Когда сделано уведомляет Primary и отправляет Last Backup LSN
5) Priamry обновляет Last Backup LSN и отправялет его другим репликам.
6) Другии реплики усекают журнал на основании этого LSN.
27 дек 17, 13:29    [21066383]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
aleksrov,

Я понимаю, о чем Вы. Но представьте, что на двух вторичных одновременно запущены бэкапы журналов. Будет усечение - будет. А какое. Что означает "на всех БД кластера" - это некорректная постановка вопроса, БД то одна на всех репликах. Поэтому корректный ответ "нет". А теперь ждем более подробного пояснения пункта 2 "разделяем бекапы по времени" от автора темы. И как он собирается контролировать, когда, кто и где запустил бэкап.
27 дек 17, 13:34    [21066397]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
AngryError
Member

Откуда:
Сообщений: 44
Andy_OLAP
"AlwaysOn does not ship individual log records, it ships log blocks. The log block is used as a container for log records so by virtue of the log block tracking the individual LSN tracking also occurs"

Тут нужно мат.часть подучить. Не совсем понимаю, что имеется ввиду под фразой "BACKUP LOG поддерживает только обычное резервное копирование журналов" и "Обеспечивается последовательная цепочка журналов по всем резервным копиям журналов в любой реплике".

p.s. Получается, что на репликах FULL-бекап делается только в режиме COPY_ONLY.
Исходя из этой логики, чтобы обеспечить полную модель восстановления БД, бекапится нужно только с первичной реплики?
27 дек 17, 13:43    [21066435]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
AngryError
Member

Откуда:
Сообщений: 44
Andy_OLAP
Что означает "на всех БД кластера" - это некорректная постановка вопроса, БД то одна на всех репликах. Поэтому корректный ответ "нет". А теперь ждем более подробного пояснения пункта 2 "разделяем бекапы по времени" от автора темы. И как он собирается контролировать, когда, кто и где запустил бэкап.

Странно, но от Вас какая-то агрессия исходит, хотя я предупредил, что я в этом деле новичек.

Про БД - имелось ввиду экземпляры одной БД на всех репликах.
Про разделение бекапов - мониторинг среднего времени выполнения каждого бекапа. После этого нужно распределить время в шедулере, чтобы бекап одной БД по минимуму затрагивал бекап другой.
27 дек 17, 13:55    [21066475]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
AngryError,

Вы для начала для себя определитесь, как будет выглядеть вживую " предпочтительную реплику для бекапа" и "распределяем в течение дня". У Вас реплики вторичные все синхронные? Или будете с асинхронных снимать, при том, что они от первичной отстают по-разному? Игру в лотерею пока все это напоминает...Для тех, кто потом эти бэкапы будет использовать.
27 дек 17, 13:56    [21066480]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
AngryError
После этого нужно распределить время в шедулере, чтобы бекап одной БД по минимуму затрагивал бекап другой.

Да почему сразу агрессия? Я таки сижу тихо, мирно, примус починяю, никого не трогаю.
Вы так фразу изначально написали, что можно было как угодно трактовать. Значит, Вы хотите бэкапиться с реплики, при этом каждую базу отдельным заданием, а время старта задания сдвигать по результату завершения предыдущего задания?

А кто поддерживать это будет? Ну скажем, порядок в течение дня для бэкапов БД3-БД1-БД2, добавилась БД4, куда ее запихнуть? То есть тут подводных камней больше, чем ясных и прямых ответов.
27 дек 17, 13:59    [21066488]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
AngryError,

Коллега, расшифруйте фразу "настраиваем в AlwaysOn предпочтительную реплику для бекапа" - Вы один раз выберете, какая реплика будет использоваться для бэкапов, или несколько раз в течение дня будете определять, какая теперь предпочтительная.
Больше нюансов - больше ответов от участников, как это все настроить.
27 дек 17, 14:03    [21066498]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
AngryError
Member

Откуда:
Сообщений: 44
Andy_OLAP
Вы так фразу изначально написали, что можно было как угодно трактовать.


В первом сообщении я описал задачи, которые передо мной стоят. Более кратко о них:
1) Разгрузить первичную реплику
2) Разгрузить принимающие хранилища, ибо сейчас в 00:00 на них обрушивается шквал бекапов всех БД в обоих кластеров
3) Желательно этот процесс как то отслеживать, чтобы вовремя среагировать на ошибки.

Далее я описал свое видение решения этих задач, при этом уведомив, что делаю я это впервые ( со всеми бывает в первый раз) )
Естественно, в силу опыта я мог не учесть многих нюансов - иначе, зачем мне создавать эту тему?
Как раз затем, чтобы спросить совета у более опытных товарищей.
27 дек 17, 14:09    [21066528]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
AngryError
Member

Откуда:
Сообщений: 44
Andy_OLAP
AngryError,
Коллега, расшифруйте фразу "настраиваем в AlwaysOn предпочтительную реплику для бекапа" - Вы один раз выберете, какая реплика будет использоваться для бэкапов, или несколько раз в течение дня будете определять, какая теперь предпочтительная.
Больше нюансов - больше ответов от участников, как это все настроить.


В каждом кластере по 4 реплики.
Хотелось бы, чтобы бекапы делались с одной и той же реплики (вторичной), но если она в DOWN'е - бекап переключался на другую вторичную реплику. Если реплика стала первичной - бекап так же переключался на другую по приоритету вторичную реплику.
27 дек 17, 14:17    [21066573]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
nvv
Member

Откуда:
Сообщений: 54
Тоже окунулся в тему AlwaysOn.

Есть два сервера в кластере, синхронных.
1. На первичной ноде доступны все варианты бэкапа?
2. На вторичной ноде - только Copy_Only ?
3. при создании задания бэкапа в плана обслуживания создается такой код:
SET @preferredReplica = (SELECT [master].sys.fn_hadr_backup_is_preferred_replica('test1'))
IF (@preferredReplica = 1) и т.д.
В переменной всегда 0 на обоих нодах. В чем ошибка?
Настройка по дефолту AUTOMATED_BACKUP_PREFERENCE = SECONDARY, но 0 выдается при всех значениях ((
По идее мне вообще нужно различать для двух нод разные значения.
15 сен 18, 11:37    [21675439]     Ответить | Цитировать Сообщить модератору
 Re: Организация резервного копирования AlwaysOn  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
nvv
В переменной всегда 0 на обоих нодах. В чем ошибка?

Вот тут подробная статья с использованием такой переменной.
19 сен 18, 16:51    [21679812]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить