Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
Есть задача построить синхронное зеркало SQL между двух ЦОД, таким образом, чтобы производительность SQL не сильно (не более 15-20%) упала по сравнению с отдельно стоящим боевым сервером.

Вопрос: какие должны быть требования к каналу соединяющему основой и резервный серверы?
Используется Always On Ability Group в SQL 2012 Enterprise, резервный сервер по мощности идентичен боевому.

Мои соображения: производительность сетевого соединения между серверами должна быть того же порядка, что и производительность дисков боевого сервера, как с точки зрения пропускной способности так и с точки зрения задержек в канале. Если дисковый массив боевого севера построен на FC (пропуская способность 1Гбайт/сек) и дает 20 000 IOPS, то требования к сети должны быть на уровне: 10 Gbit, 50 mks (тут встает вопрос, каким инструментом поменять задержку в сети если она меньше 1мс)

Поделитесь опытом, кто сталкивался с реализаций подобных решений.
Может существуют документы от MS дающие рекомендации по этой теме?
Или результаты каких-то тестирований производительности?

-------------------------------------
Что не делается, все к лучшему.
18 янв 16, 12:01    [18694635]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
komrad
Member

Откуда:
Сообщений: 5252
Denis,

Вы лучше не выжимайте из канала производительность дисков, а посмотрите на критичные транзакции - они увеличатся по времени на двойное время пинга между серверами этих ЦОДов.

А сам канал-то есть?
18 янв 16, 12:25    [18694772]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
komrad
Member

Откуда:
Сообщений: 5252
Denis,

не совсем про AlwaysON, но по сути то же самое:
https://technet.microsoft.com/en-us/library/cc917681.aspx
18 янв 16, 12:33    [18694834]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
2 komrad,

Канала пока нет, точнее есть интернет, но его наверняка не хватит и нужно будет строить отдельный канал.
Критичные транзакции оценить сложно (это ERP Microsoft Dynamics AX).
Видимо критичными станут мелкие чтения из курсоров.
18 янв 16, 12:35    [18694846]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
komrad
Member

Откуда:
Сообщений: 5252
Denis,

тогда можно примерно оценить среднее время транзакции по базе (см "Write Transactions/sec" в sys.dm_os_performance_counters или perfmon) и сравнить его с типичным/желаемым пингом

http://www.sqlskills.com/blogs/paul/importance-of-network-latency-when-using-database-mirroring/


Denis
Видимо критичными станут мелкие чтения из курсоров.

"чтения" в лог не пишутся
18 янв 16, 12:45    [18694930]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
komrad
Member

Откуда:
Сообщений: 5252
Denis,

вот это еще будет интересно почитать:
http://blogs.msdn.com/b/alwaysonpro/archive/2015/03/03/recommendations-for-index-maintenance-with-alwayson-availability-groups.aspx
18 янв 16, 12:54    [18694994]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
komrad
Denis
Видимо критичными станут мелкие чтения из курсоров.

"чтения" в лог не пишутся


туплю :(


Спасибо за наводку! Пойду изучать материалы.
18 янв 16, 13:04    [18695072]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
komrad
Member

Откуда:
Сообщений: 5252
Denis
Спасибо за наводку! Пойду изучать материалы.

если уж так нужно построить синхронное зеркало, то, возможно, SAN replication в вашем случае будет лучшим выбором, хотя и дорогим конечно
18 янв 16, 13:14    [18695115]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10730
Блог
Даже если у вас с сетью будет всё ОК, не факт, что большой объём изменений (которые на первичном сервере осуществляются многопоточно) на зеркале будет успевать повторять REDO. В существующих реализациях, REDO работает в один поток и является пока непреодолимым "узким" местом :(
18 янв 16, 13:20    [18695156]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
komrad,

Никогда не сталкивался с дисковой репликацией под SQL :(
Вы с ней сталкивались? Есть опыт реального использования?
Как оно отрабатывает при пропадании питания?
18 янв 16, 13:42    [18695293]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
Denis
komrad,

Никогда не сталкивался с дисковой репликацией под SQL :(
Вы с ней сталкивались? Есть опыт реального использования?
Как оно отрабатывает при пропадании питания?


И как там реализуется переход на резервный сервер при отказе основного?
На сколько процесс можно автоматизировать и сделать прозрачным для пользователей?
18 янв 16, 13:44    [18695316]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
Александр Гладченко,

Спасибо!

А нет ли у вас каких-то материалов, которые показывают какие происходят потери производительности при каких условиях?
18 янв 16, 13:46    [18695324]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
komrad
Member

Откуда:
Сообщений: 5252
Denis
komrad,

Никогда не сталкивался с дисковой репликацией под SQL :(
Вы с ней сталкивались? Есть опыт реального использования?
Как оно отрабатывает при пропадании питания?

это задачка для команды, которая за стораджи отвечает
фактически происходит побайтовое копирование LUN-в-LUN

стороны это выглядит для сиквела прозрачно
сиквел-получатель находится в оффлайне и диски его недоступы в винде
по команде репликация рвется, диски выводят в онлайн и сиквел-получатель стартует
получается "клон" продакшена, но в другом ДЦ

в итоге, все данные во втором ДЦ, но требуется доп. ручная или скриптовая работа по подъему сиквела
18 янв 16, 13:48    [18695344]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
komrad
Member

Откуда:
Сообщений: 5252
Denis
На сколько процесс можно автоматизировать и сделать прозрачным для пользователей?

насколько я знаю, готового решения нет
есть набор технологий, которые используются вместе и степень автоматизации всего процесса зависит от каждого конкретного случая и мастерства тех, кто реализует и поддерживает процесс (скрипты и прямые руки)

прозрачности не добиться точно, даунтайм сервиса гарантирован
18 янв 16, 13:52    [18695374]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
komrad,

Ну то есть для SQL это все равно, что нажали кнопку reset на сервере?
В результате БД при большой активности в момент сбоя может потом подниматься на резервном узле несколько часов...
Такой вариант бизнес не устроит :(, необходимо иметь downtime в пределах 3-5 минут.
18 янв 16, 14:20    [18695675]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
rootman
Member

Откуда:
Сообщений: 114
komrad
Denis
На сколько процесс можно автоматизировать и сделать прозрачным для пользователей?

насколько я знаю, готового решения нет
есть набор технологий, которые используются вместе и степень автоматизации всего процесса зависит от каждого конкретного случая и мастерства тех, кто реализует и поддерживает процесс (скрипты и прямые руки)

прозрачности не добиться точно, даунтайм сервиса гарантирован


Насколько помню при миронинге БД можно поднять сервер свидетель который автоматом поднимет зеркалируемый инстанс на другом сервере, но тут вопрос про авторизацию приложения на сиквеле всегда встает. При олвесон имя инстанса сохраняется но авторизация опять ломается.
18 янв 16, 14:27    [18695744]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
komrad
Member

Откуда:
Сообщений: 5252
Denis
komrad,

Ну то есть для SQL это все равно, что нажали кнопку reset на сервере?
В результате БД при большой активности в момент сбоя может потом подниматься на резервном узле несколько часов...
Такой вариант бизнес не устроит :(, необходимо иметь downtime в пределах 3-5 минут.

да, в случае SAN replication помимо прочих телодвижений, сиквелу потребуется время на старт и обработку транзаций незавершенных транзакций на момент "падения"

база-то какого размера?
18 янв 16, 14:27    [18695749]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
komrad
Member

Откуда:
Сообщений: 5252
rootman
... но авторизация опять ломается.

это про что?
если про логины, то их можно синхронизировать на регулярной основе
18 янв 16, 14:30    [18695768]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
Ожидается в пике до 20 Tb основная активность по ночам при пересчете статистик и перестроении индексов, следующие по нагрузке периодические операции загрузки данных и расчета.
Нагрузка от пользователей в пике думаю не более 20% от ночной нагрузки, пользователей всего меньше 2000, одновременно не больше 700.
18 янв 16, 14:39    [18695855]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
rootman
Member

Откуда:
Сообщений: 114
komrad,
Предполагаю что этот сервер стоит всеже в инфраструктуре например имеется AD и всякая другая лабуда, т.к. без нее кластер не соберешь)))) и олвес он работать не будет.
Так что перезапуск приложения на уровне пользователя будет необходим, т.к. в прозрачном виде он не пройдет.
18 янв 16, 14:42    [18695876]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
rootman
Member

Откуда:
Сообщений: 114
Denis,
А задача то какая стоят? обеспечить катастрофоустойчивость, или только доступность базы?
18 янв 16, 14:44    [18695889]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
rootman
komrad,
Предполагаю что этот сервер стоит всеже в инфраструктуре например имеется AD и всякая другая лабуда, т.к. без нее кластер не соберешь)))) и олвес он работать не будет.
Так что перезапуск приложения на уровне пользователя будет необходим, т.к. в прозрачном виде он не пройдет.


Конечно все сервера в AD, и основной SQL и резервный SQL и сервера приложений.
В случае синхронного Always On переключение происходит прозрачно для пользователей - понятно что текущие транзакции будут откачены, но большинство пользователей (сидящих в личном Web кабинете, и в формах ввода) вообще ничего не почувствуют.

Always On переведет SQL на резервный узел с сохранением имени сервера (спасибо windows failover cluster)
Сервера приложений переключатся на резервный сервер сами (в AX 2012 они это уже умеют делать, для них просто SQL будет недоступен некоторое время, а как он появится, они снова к нему прицепятся)
Пользователи не имеющие открытых транзакций (на выполняющие как-их то длительных операций) ничего не заметят, а те кто выполнял длительные операции получат сообщения об ошибке и предложение повторить (да и то не всегда, во многих местах кода автоповтор реализован прямо в коде, просто у пользователя операция будет дольше идти и все).

Как-то так
18 янв 16, 15:02    [18696024]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
rootman
Denis,
А задача то какая стоят? обеспечить катастрофоустойчивость, или только доступность базы?


Задача - катастрофоустойчивость без потери данных и с минимальным временем простоя.
Второй ЦОД территориально удален от основного (несколько км).
18 янв 16, 15:04    [18696054]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
Denis
Member

Откуда: Russia, Moscow
Сообщений: 56
komrad
rootman
... но авторизация опять ломается.

это про что?
если про логины, то их можно синхронизировать на регулярной основе


Про авторизацию: используется Windows авторизация, проблем с ней нет.
В принципе и с SQL авторизацией не вижу проблем если SID пользователей идентичен на обоих серверах.
18 янв 16, 15:12    [18696130]     Ответить | Цитировать Сообщить модератору
 Re: Синхронное зеркало, требование к каналу  [new]
rootman
Member

Откуда:
Сообщений: 114
Denis,
При таком раскладе в помощь вам прокладка оптики до цода)
18 янв 16, 15:12    [18696135]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить