Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отработка отказа в AlwaysOn / 6 сообщений из 6, страница 1 из 1
06.03.2018, 17:39
    #39611389
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отработка отказа в AlwaysOn
Добрый день!
Задача: протестировать работу AlwaysOn при отказе.

Дано: Настроенный синхронный AlwaysOn в виндовом Failover кластере, одна база, синхронизирована, вторая нода настроена на чтение (ApplicationIntent=ReadOnly)

Сценарий проверки: рушится кластер (первая нода при этом работает и там теоретически возможны транзакции), поднимаем AlwaysOn на второй ноде с возможной потерей данных, работаем там, поднимаем обратно кластер, возвращаемся на первую ноду с потерей данных на первой ноде.

При реализации сценария упираемся в проблему на этапе возврата на первую ноду с потерей на них данных.
Ситуация видна на приложенной картинке.

Первая нода разсинхронизирована. Как её синхронизировать обратно - непонятно. Выводить базу из AlwaysOn и обратно добавлять синхронизируя с нуля - неспортивно (на продакшене это займет несколько суток).

Нашел такую доку , там пишут:
Код: sql
1.
2.
3.
4.
5.
Если потеря данных будет приемлема для ваших бизнес-целей, можно возобновить базы данных-получатели.

При возобновлении базы данных-получателя, первым шагом ее синхронизации является откат. 
Если очередь отправки содержала какие-либо записи журнала в момент выхода из строя сервера, 
соответствующие транзакции будут потеряны, даже если они были зафиксированы.


Однако этого не произошло.
Как можно повторно синхронизировать первую ноду данными со второй не ломая AlwaysOn и не выводя из него базы?
В технологии новички, не пинайте сильно. Если кините докой, буду благодарен.
...
Рейтинг: 0 / 0
06.03.2018, 17:44
    #39611396
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отработка отказа в AlwaysOn
После того, как сделали failover с потрей данных -- только с нуля.
...
Рейтинг: 0 / 0
06.03.2018, 17:55
    #39611409
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отработка отказа в AlwaysOn
Гавриленко Сергей АлексеевичПосле того, как сделали failover с потрей данных -- только с нуля.

Печально...

Общая постановка задачи: из строя выходит первая нода вместе со свидетелем кластера. необходимо уехать на вторую ноду, работать там, а при восстановлении первой ноды и свидетеля вернуться обратно с теми данными, что появились на второй ноде за время простоя.

Может мы изначально неправильно проблему решали? Может можно обойтись без поднятия AlwaysOn на второй ноде с возможной потерей данных?
...
Рейтинг: 0 / 0
06.03.2018, 18:00
    #39611412
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отработка отказа в AlwaysOn
OblomОбщая постановка задачи: из строя выходит первая нода вместе со свидетелем кластера. необходимо уехать на вторую ноду, работать там, а при восстановлении первой ноды и свидетеля вернуться обратно с теми данными, что появились на второй ноде за время простоя.Если вы хотите сделать, что написали, то достаточно просто поднять базу в AlwaysOn по стандартной процедуре через полный бэкап базы.

Если вы вдруг хотите "смержить" две реплики после того, как их расцепили, то нет, сервер этого не умеет и придется делать вручную.

Ну и если не хотите таких проблем, включите уже синхронный commit. Не поможет в этом случае, но лучше включить, проблем меньше будет.
...
Рейтинг: 0 / 0
06.03.2018, 19:22
    #39611449
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отработка отказа в AlwaysOn
Гавриленко Сергей АлексеевичOblomОбщая постановка задачи: из строя выходит первая нода вместе со свидетелем кластера. необходимо уехать на вторую ноду, работать там, а при восстановлении первой ноды и свидетеля вернуться обратно с теми данными, что появились на второй ноде за время простоя.Если вы хотите сделать, что написали, то достаточно просто поднять базу в AlwaysOn по стандартной процедуре через полный бэкап базы.

Если вы вдруг хотите "смержить" две реплики после того, как их расцепили, то нет, сервер этого не умеет и придется делать вручную.

Ну и если не хотите таких проблем, включите уже синхронный commit. Не поможет в этом случае, но лучше включить, проблем меньше будет.

Понятно, спасибо!
А синхронный коммит уже включен, без него автоматический переезд невозможен
...
Рейтинг: 0 / 0
07.03.2018, 14:51
    #39611874
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отработка отказа в AlwaysOn
Oblomпри восстановлении первой ноды и свидетеля вернуться обратно
Вот тут ключевая ошибка. "Померла так померла." После сбоя о ноде можно забыть и если что-то там и починилось, вернуться в кластер она может только в качестве совершенно нового слейва.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отработка отказа в AlwaysOn / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]