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

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

В нашем городе установлен сервер MSSQL 2008 и 1С. В другом городе VPN и они работают на наших серверах.
Требуется в другом городе поднять такие же сервера для сохранности данных. Собственно до этого момента проблем нет: зеркало SQL и кластер 1с.

Но у нас такое требование-если пропадает связь между городами, то оба города должны работать, т.е. один город работает со своего сервера, и другой начинает работать со своего. Это может длится и несколько часов, а может и несколько дней. После восстановления связи между серверами информация должна объединится. Т.е. оба города снова должны начать работать с одного сервера. Это вообще реально? Т.к. у меня первая мысль была что сделать такую схему очень проблематично. но хотелось бы узнать мнение профессионалов.
29 янв 15, 09:55    [17187559]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Squall84
Т.е. оба города снова должны начать работать с одного сервера.

А изменения одних и тех же данных на обеих серверах кто будет согласовывать ?

Squall84
Это вообще реально? Т.к. у меня первая мысль была что сделать такую схему очень проблематично. но хотелось бы узнать мнение профессионалов.

Вам нужна репликация. Причем merge.
Т.е. каждый город работает со своим сервером. И периодически данные реплицируются.
29 янв 15, 09:59    [17187574]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
постоянный мембер
Guest
После восстановления связи между серверами информация должна объединится. Т.е. оба города снова должны начать работать с одного сервера. Это вообще реально?
Думаю, что нереально.
В 1С во многих таблицах есть поле-автонумератор. В случае рассоединения, в двух базах в одной и той же записи (по ID) будут разные данные. Синхронизировать такую ситуацию просто возможностями серверов анриал имхо. Тем более автоматом.

Возможно есть какие-то хитрые 1С-репликаторы для таких случаев ? Не в курсе.
29 янв 15, 10:55    [17187859]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
Squall84
Member

Откуда:
Сообщений: 5
постоянный мембер,

Ну есть механизм распределения информационных баз.
В теории можно делать зеркало. Люди туда наработают, а потом делать выгрузку в ДТ и этим механизмом воспользоваться.

Я не знаю что будет в такой ситуации:
1. Связь пропала.
2. Зеркало начало работать, как основной сервер - там уже работают люди.
3. Бывший основной сервер так же работает и тут тоже работают люди.
4. Появилась связь. Оба сервера в сети. Как в такой ситуации поступят сервера. Ведь получится два основных сервера.
Я правильно понимаю - если один из серверов посчитает себя зеркалом, то информация на нем заменится на информацию с основного и все изменения будут утеряны?

Так же забыл сказать, на сервере баз данных крутится не только 1с, но и ТЦУ. Она имеет закрытый код и работает напрямую с SQL. Там нечто похожее на распределение информационных баз 1с реализовать неудасться.
29 янв 15, 11:52    [17188213]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Squall84
1. Связь пропала.
2. Зеркало начало работать, как основной сервер

А кто/что по-вашему сделает вторичный сервер первичным, если "связь пропала" ?
Вы читали в хелпе, как именно происходит Automatic failover для зеркалирования ? И что для этого нужно ?
29 янв 15, 12:34    [17188555]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31822
Squall84
Но у нас такое требование-если пропадает связь между городами, то оба города должны работать, т.е. один город работает со своего сервера, и другой начинает работать со своего. Это может длится и несколько часов, а может и несколько дней. После восстановления связи между серверами информация должна объединится. Т.е. оба города снова должны начать работать с одного сервера. Это вообще реально?
Это называется "распределённая система".

Систему как "распределённую" нужно специально проектировать, начиная даже с бизнес-логики, не говоря уже про техническую реализацию. Настройками SQL Server, Windows, TCP/IP и прочих программ этого никак не сделать.

Так что смотрите документацию своих продуктов - если там указано, что они работают распределённо, то настраиваете инсталляции софта в соответствии с документацией, если не указано, то оставляете это затею.
29 янв 15, 18:51    [17191528]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
Squall84
Member

Откуда:
Сообщений: 5
А если поместить SQL сервер в облако?

Возникла мысль. Поставить по точкам в разных городах RDP и 1С сервера (кластеры). 1с направить на облако.
Т.о. каждый город будет в сети независимо от других городов.
Но вопрос каков хоть примерно нужен канал для такой работы, учитывая что активно работает около 30 пользователей 1с (всего около 70)? И так же работает ТЦУ - програмулина, которая стучится с клиента напрямую в SQL.
29 янв 15, 19:49    [17191684]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31822
Squall84
Возникла мысль. Поставить по точкам в разных городах RDP и 1С сервера (кластеры). 1с направить на облако.
Т.о. каждый город будет в сети независимо от других городов.
Можно каждый 1с-сервер направить на облако, можно на свой локальный сервер БД. Только непонятно, какое это имеет отношение к теме? Это будут независимые инсталляции 1С, с независимыми, несвязанными данными.

Я уж не говорю, что если вы хотите сохранить работоспособность при потере связи, то о каком облаке можно говорить?
29 янв 15, 20:54    [17191842]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
Squall84
Member

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

Я немного уточню. Сейчас мы находимся в зоне АТО на Украине. Наш город на линии фронта, поэтому идут постоянные обстрелы.
Получилось так что наш головной офис и дочерние офисы находятся по разные линии фронта. Поэтому и поступила команда реализовать возможность работы даже если в головном офисе не будет света или вообще разбомбят сервера.

Как я понял оставить сервер 1c и SQL у нас и сделать типа зеркала в дочерней фирме, чтобы при исчезновении связи мы и он работали, а при возобновлении связи данные объединялись практически нереально.

Поэтому оптимальный вариант сделать кластер серверов 1с, но чтобы все они работали с одним сервером. Ведь тогда, как я понял, получится, что при выходе из строя одного из кластеров 1с остальные фирмы смогут работать, так как сервер SQL будет в облаке?

Может есть какое-то другое решение о котором я не знаю?
30 янв 15, 07:48    [17193212]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Squall84
Как я понял оставить сервер 1c и SQL у нас и сделать типа зеркала в дочерней фирме, чтобы при исчезновении связи мы и он работали, а при возобновлении связи данные объединялись практически нереально.

Это называется не зеркало, а репликация
30 янв 15, 09:21    [17193441]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
правильный проходящий.
Guest
Glory
Squall84
Как я понял оставить сервер 1c и SQL у нас и сделать типа зеркала в дочерней фирме, чтобы при исчезновении связи мы и он работали, а при возобновлении связи данные объединялись практически нереально.

Это называется не зеркало, а репликация
И, к тому же, делается она средствами 1С в виде УРБД, а не средствами сервера баз данных. 1С не имеет средств для автоматического переключения между серверами и никакие облака, зеркала и т.д. в этом не помогут.
30 янв 15, 09:39    [17193554]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
Squall84
Member

Откуда:
Сообщений: 5
правильный проходящий.,

Ну это я уже понял. С 1с вопрос практически отпал. Скорее всего попробуем все-таки загнать Скуль в облако. Поднять кластер 1с. При потере связи один город будет работать в облаке, другой локально на зеркале. После появления связи будем с резервного переливать инфу в облако средствами обмена данными.
Так будет работать? реально ли поднять два главных сервера 1с в кластере, если их будет всего два?
30 янв 15, 10:42    [17193915]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
savs23
Member

Откуда:
Сообщений: 11
Создаете ЦЕНТРАЛЬНУЮ БАЗУ (то куда стекается вся инфа) где нить на железе где территориально спокойная мирная жизнь и нет сепаратистов. Толи это в Киеве, то ли в Дата Центр в Торонто. Настраиваете обмен данными средствами УРИБ самой 1с по схеме ЗВЕЗДА. Т.е. в центре – центральна БД, а в «лучах» переферийные базу. Обмен данными настраиваете с периодичностью как пожелаете. У вас всегда гарантированно в центральной БД будет консолидированная информация со всех переферийных баз. И в случае чего (не приведи господь) можно будет отпачковать заново из центральной БД новую переферийную базу с ее же данными. Как то так.
30 янв 15, 11:00    [17194013]     Ответить | Цитировать Сообщить модератору
 Re: Зеркало SQL 2008  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31822
Squall84
Поэтому оптимальный вариант сделать кластер серверов 1с, но чтобы все они работали с одним сервером. Ведь тогда, как я понял, получится, что при выходе из строя одного из кластеров 1с остальные фирмы смогут работать, так как сервер SQL будет в облаке?
Повторю - это будут независимые серверы 1С. Они не умеют работать с одной базой данных, правильно? Или я не знаю 1С, может, там такое предусмотрено?

Однако в любом случае работа будет зависить от канала связи.
Squall84
Может есть какое-то другое решение о котором я не знаю?
Можно сделать один сервер 1С, и подключаться к нему из разных мест. То есть оставить так же, как сейчас.
Ведь всё равно работа зависит от канала связи, так что ничего в плане надёжности не меняется.
Squall84
Ну это я уже понял. С 1с вопрос практически отпал. Скорее всего попробуем все-таки загнать Скуль в облако. Поднять кластер 1с. При потере связи один город будет работать в облаке, другой локально на зеркале. После появления связи будем с резервного переливать инфу в облако средствами обмена данными.
Так будет работать? реально ли поднять два главных сервера 1с в кластере, если их будет всего два?
И всё равно вы хотите сделать распределённую систему на 1С, хотя она не поддерживает распределённые системы :-)

Если вы сумеете реализовать объединение данных от разных серверов 1С - то вот это и получится распределённая система, неважно, в облаке будут данные, или на ноутбуке под столом у админа.

Вы просто услышали модное слово "облако", и думаете, что оно решит все ваши проблемы, нужно просто нажать нужную кнопку.
"Облако" - в данном случае, логически, это просто сервер, установленный в другом здании.
Как это реализовано физически - на построение вашей распределённой системы 1С никак не влияет.
30 янв 15, 13:32    [17195208]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить