powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / windows cluster ms sql
23 сообщений из 23, страница 1 из 1
windows cluster ms sql
    #40058754
Всем добрый день !
Есть windows cluster на двух нодах. На нодах крутится ms sql.
К кластеру подключена СХД, на которой лежат базы.
Всё прекрасно работает, если одна нода падает, то ms sql переключается на другую.

Недавно добавили дисковое пространство на ноды, теперь есть желание на этом дисковом пространстве разместить тестовую базу.
Как лучше это сделать ?
Я смотрю в сторону репликации дискового пространства между серверами. Может есть более интересный способ это организовать.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058758
Тяп-ляп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ смотрю в сторону репликации дискового пространства между серверами
Что за технология?
Если кластер уже есть, лучше always on.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058772
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тяп-ляп
авторЯ смотрю в сторону репликации дискового пространства между серверами

Что за технология?
Если кластер уже есть, лучше always on.

Смотря для каких целей, FCL гарантирует сохранность всех транзакций на реплике, AO не гарантирует даже в синхронном режиме.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058811
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Бурлаков,

никак не разместите, при переключении база будет исчезать и появляться. Надо размещать на общем дисковом пространстве для кластера.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058813
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Бурлаков,

вы лучше tempdb с СХД на локальный переложите, если локальный диск быстрый
(если локальные диски видны - не помню этого точно, давно не работал с кластерами)
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058829
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa
сохранность всех транзакций на реплике, AO не гарантирует даже в синхронном режиме


В каком же случае?
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058857
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex,

Ну основываясь на своих скудных знаниях работы AO, предполагаю такой ход событий:

Дано: нода1 с прямым сетевым соединением с нода2, есть свидетель на другом сетевом интерфейсе.

Теряется прямая связь между нодой1 и нодой2, свидетель в это время видит, что обе ноды доступны, как я понимаю, в этот момент нода1 остается праймари и все транзакции, которые должна закомитить на ноде2 попадают в некий "пул", ожидая, что связь восстановится и AO распространит эти транзакции на вторичной реплике, при этом, первичная реплика будет ставить коммит транзакций, как в асинхронном режиме. В этот момент нода1 выходит из строя, свидетель делает первичной ноду2, где этих транзакций не будет.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058858
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa
msLex,

Ну основываясь на своих скудных знаниях работы AO, предполагаю такой ход событий:

Дано: нода1 с прямым сетевым соединением с нода2, есть свидетель на другом сетевом интерфейсе.

Теряется прямая связь между нодой1 и нодой2, свидетель в это время видит, что обе ноды доступны, как я понимаю, в этот момент нода1 остается праймари и все транзакции, которые должна закомитить на ноде2 попадают в некий "пул", ожидая, что связь восстановится и AO распространит эти транзакции на вторичной реплике, при этом, первичная реплика будет ставить коммит транзакций, как в асинхронном режиме. В этот момент нода1 выходит из строя, свидетель делает первичной ноду2, где этих транзакций не будет.

В синхронном режиме, commit на первичной ноде не завершиться, до того момента, пока не придет подтверждение о записи всего лога до этой операции коммит (включительно) на каждую из вторичных синхронных нод.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058871
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex,
Не уверен в этом:

https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/availability-modes-always-on-availability-groups?view=sql-server-2017

авторIf primary's session-timeout period is exceeded by a secondary replica, the primary replica temporarily shifts into asynchronous-commit mode for that secondary replica. When the secondary replica reconnects with the primary replica, they resume synchronous-commit mode.

The default session timeout period is 10 seconds.


Те, если нода1 перестает видеть нода2 в течении 10 секунд, нода1 начинает коммитить транзакции.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058875
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa,

свидетель переключает узлы кластера и не связан с транзакциями.
Из этой же статьи:
Synchronous-commit mode emphasizes high availability over performance, at the cost of increased transaction latency. Under synchronous-commit mode, transactions wait to send the transaction confirmation to the client until the secondary replica has hardened the log to disk.

Если переключение произойдет в момент синхронизации, то транзакция не будет зафиксирована. Если произойдут нарушения связи между узлами, то транзакция не будет зафиксирована.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058876
Always On не очень подходит.
На сколько читал, для его нормальной работы нужен Sql Enterprise.
Поэтому отказались от Always On в строну кластера.
А в кластере даже урезанный Always On не включить, так как одновременно работает только один экземпляр Ms Sql.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058878
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
teCa,
свидетель переключает узлы кластера и не связан с транзакциями.


Я и не говорю, что он связан с транзакциями. Я говорю о том, что при потере связи между нодами синхронный режим репликации автоматически переключится в асинхронный и так же автоматически переключится в синхронный при восстановлении соединения.

Те, вся синхронность на этом заканчивается, свидетель не знает в каком состоянии находятся транзакции и сделает первичной ноду2, которая на этот момент уже работает в асинхронном режиме, те на ноде2 этих транзакций не будет.

С 2017го появился новый параметр REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT, который не позволит зафиксировать транзакцию, пока она незакоммичена на одной из реплик.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058882
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa
е, вся синхронность на этом заканчивается, свидетель не знает в каком состоянии находятся транзакции и сделает первичной ноду2
Сказки рассказываете. Автоматический фейловер не будет произведен на несинхронизированную реплику. Такой фейловер возможен только в ручном режиме.
teCa
С 2017го появился новый параметр REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT, который не позволит зафиксировать транзакцию, пока она незакоммичена на одной из реплик.
Этот параметр позволяет задать количество реплик, на котором обязан зафиксироваться коммит. Не очень понимаю, зачем вы его сюда приплели.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058890
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич
Этот параметр позволяет задать количество реплик, на котором обязан зафиксироваться коммит. Не очень понимаю, зачем вы его сюда приплели.


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

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
приплел сюда именно поэтому, что этот параметр не дает закоммитить транзакцию на первичном сервере без коммита на репликах, те исключает переход в асинхронный режим. Ну это основываясь на моих скудных познаниях технологии)
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058894
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa,

не совсем так, первичная реплика не переключается в асинхронный режим. В целом, репликация технически находится в аварийном состоянии.

авторIf a synchronous-commit secondary replica times out without confirming that it has hardened the log, the primary marks that secondary replica as failed. The connected state of the secondary replica changes to DISCONNECTED, and the primary replica stops waiting for confirmation from the secondary replica.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058917
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa
Много в каких статьях встречался с упоминанием что синхронная репликация автоматически переключится на асинхронную, при отсутствии вторичной реплики, но нигде не видел упоминания, что свидетель в этом случае не переключит роль реплики на праймари, этого я сам не проверял.
Об этом написано в документации :
Conditions Required for an Automatic FailoverAutomatic failover occurs only under the following conditions:
...
The automatic failover target has a healthy synchronization state (this indicates that every secondary database on the failover target is synchronized with its corresponding primary database).
teCa
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
приплел сюда именно поэтому, что этот параметр не дает закоммитить транзакцию на первичном сервере без коммита на репликах, те исключает переход в асинхронный режим. Ну это основываясь на моих скудных познаниях технологии)
Этот параметр нужен на случай, если у вас 100500 вторичных реплик, чтобы транзакция считалась зафиксированной на первичной реплике не когда все 100500 вторичек пришлют подтверждение, а, скажем, две.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058922
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

Спасибо за информацию, НО
В случае, если первичная реплика при потере вторичной реплики перешла в асинхронный режим, а после вышла из строя, то на вторичной реплике этих данных не будет (хотя их мы считаем резервными), их можно считать потерянными, что в случае FCL исключено, так как в FCL нет репликаций, ноды используют одни данные на СХД.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058923
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa
Гавриленко Сергей Алексеевич,

Спасибо за информацию, НО
В случае, если первичная реплика при потере вторичной реплики перешла в асинхронный режим, а после вышла из строя, то на вторичной реплике этих данных не будет (хотя их мы считаем резервными), их можно считать потерянными, что в случае FCL исключено, так как в FCL нет репликаций, ноды используют одни данные на СХД.
А если в случае с FCL вышло из строя хранилище, то вообще ничего, кроме бэкапов, не остается.
А в описанном сценарии с AlwaysOn на вторичную реплику можно банально накатить log tail backup, для снятия которого достаточно, чтобы выжил файл лога.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058928
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

Да, как раз хотел добавить UPD, что у FCL есть и свои минусы, как дороговизна, так и единая точка уязвимости в виде СХД, но только FCL может 100% гарантировать сохранность всех транзакций на резервной ноде.

Хотя, видел решения, где СХД реплицировалась в другой ДЦ, где на растянутом кластере жила отдельная нода, в случае потери СХД, данные должны были сохраниться.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058932
Тяп-ляп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторно только FCL может 100% гарантировать сохранность всех транзакций на резервной ноде.
Если под FCL понимается отказоустойчивый кластер винды (WSFC), то какие могут быть транзакции на резервной ноде?
В этом варианте для сохранности транзакций нет никаких нод - есть только СХД.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058944
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я знаю, в случае общего хранилища можно использовать аппаратное зеркалирование на другой СХД.

Схема с одним СХД удобнее в плане администрирования, но хуже обеспечивает сохранность данных.
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40058947
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
в случае общего хранилища можно использовать аппаратное зеркалирование на другой СХД.

storage replication стоит как крыло от самолета и пропорционально объему реплицируемого
...
Рейтинг: 0 / 0
windows cluster ms sql
    #40059006
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad
Владислав Колосов
в случае общего хранилища можно использовать аппаратное зеркалирование на другой СХД.

storage replication стоит как крыло от самолета и пропорционально объему реплицируемого


СИБУР так пробовал обеспечить отказоустойчивость, одна СХД находится в Нижнем Новгороде, другая в Мск, но развязки я не застал.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / windows cluster ms sql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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