Имя: Пароль:
1C
1С v8
Отказоустойчивый Кластер 1С
,
0 sunson
 
26.09.12
16:11
Есть два идентичных сервера на win serv 2008 и файловое хранилище
На каждый из серверов установлена MS SQL 2008 и Сервер Предприятия 1С

Задача: При отказе одно из серверов резервный должен перехватывать управление.

Вопрос: Какая конфигурация кластера является оптимальной для решения этой задачи?
1 kuromanlich
 
26.09.12
16:13
про 1С все понятно, а про скл нет. скуль тоже хочешь чтоб сам на лету перехватывал?
2 vde69
 
26.09.12
16:14
не сделаешь на 2х серверах, почему могу обьяснить, но это долго...

по сабжу: при чем тут файловое хранилище?
3 Maxus43
 
26.09.12
16:16
"Отказоустойчивый" "1С"
Это миф...
4 Maxus43
 
26.09.12
16:17
если центральный сервер 1с ляжет - лягут все, rmngr то один, менеджер серверов. или я уж отстал от жизни?
5 vde69
 
26.09.12
16:29
(4) можно делать кластер совсем другими средствами (и ОС и железные решения есть), но тут вопрос в другом "как определить отказ 1с???" именно это и не даст реализовать сабж.

И причина здесь в том что 1с завязана на ключи защиты и именно защита не даст реализовать любой алгоритм анализа отказов...

например анализ отклика порта может работать а сама 1с нет,
и наоборот порт сервера отвалился, а клиенты висят в пуле рхостов и нормально работают, новое подкючение не возможно, но текущие работают - это что????

ну и на последок
1с шифрует весь трафик с клиентом одноразовыми сеансовыми ключами, по этому горячая замена сервера невозможна, при горячке все клиенты отвалятся....

чего хочет автор? какой именно отказоустойчивый кластер ему нужен???
6 Jaap Vduul
 
26.09.12
16:35
(4)Не лягут, отстал.
7 vde69
 
26.09.12
16:36
(6) они отказались от серверного кеша и своих блокировок?
8 Maxus43
 
26.09.12
16:37
(6) подробней плиз
9 PLUT
 
26.09.12
16:39
зеркалирование средствами SQL и отработка отказа вручную (поменять роли, переопределить сервер БД в прокладке) в случае отказа основного, а у пользователей через запятую в настройках подключения указать оба сервера 1С, объединенных в кластер
10 Maxus43
 
26.09.12
16:40
>>через запятую в настройках подключения указать оба сервера 1С
Внезапно...
11 PLUT
 
26.09.12
16:41
(10) почему внезапно?? два SQL, две прокладки 1С, два серверных ключа 1С
12 Lexusss
 
26.09.12
16:41
Читать ИТС про отказоустойчивый кластер сервера 1С и читать technet microsoft про отказоустойчивый SQL сервер (существует только в Enterprise версии MS SQL)
13 PLUT
 
26.09.12
16:44
(12) тогда третий следящий сервер еще понадобится :)
14 Maxus43
 
26.09.12
16:44
(11) работа одновременно на обоих серверах 1с? или второй на стрёме чтоб перехватить?
15 Jaap Vduul
 
26.09.12
16:46
http://its.1c.ru/db/v8doc#content:642:1:IssOgl2_2.1.7. Отказоустойчивый кластер
16 PLUT
 
26.09.12
16:46
(14) второй на стрёме, хотя может использоваться для "балансировки" нагрузки. но вот будет еще зависеть, как настроена "отказоустойчивость" средствами БД SQL
17 Maxus43
 
26.09.12
16:49
понял, резервирование кластеров.
Кто юзал вобще?
18 PLUT
 
26.09.12
16:50
(15) здесь более понятным языком написано про кластер 1С 8.2
http://www.gilev.ru/1c/app/

оттуда: отказоустойчивость в 8.2 только при работе управляемого приложения :)
19 PLUT
 
26.09.12
17:04
(17) я. зеркало SQL, два сервера 1С, два серверных ключа. в случае аварии немного ручками пошаманить и юзвери продолжают работать.

это не совсем отказоустойчивый кластер с "перехватом управления" как хотят в (0)
20 Maxus43
 
26.09.12
17:05
(19) зачем шаманить? заявляют что на резервный процессы перекинутся сами... что там делать надо?
21 piter3
 
26.09.12
17:07
(20) [заявляют] что-то меня смущает...
22 PLUT
 
26.09.12
17:08
(20) в моем случае - поменять роли, переопределить сервер БД в свойствах ИБ Сервера 1С, т.к. физически базы зазеркалены

а кому не нужно шаманить, читать (12) и много думать
23 Maxus43
 
26.09.12
17:10
(22)>>переопределить сервер БД в свойствах ИБ Сервера 1С
это если ёкнется сервер БД, а если сервер 1с?
24 PLUT
 
26.09.12
17:20
(23) ну так вообще-то кластер серверов 1С, но физически ИБ на одном "основном" сервере SQL, на второй "зеркальный" в реальном времени зеркалятся. если ёкнется основной сервер - шаманить, если ёкнется зеркальный - отряд не заметил потери бойца. Но если заметил, чиним зеркальный, базы в SQL засинхронизируются автоматически после "починки"
25 sunson
 
26.09.12
17:50
sql с обоих серверов еще объединен в кластер sql
26 sunson
 
26.09.12
17:52
Нашел такой вариант:

А общий алгоритм такой (имеем 2 сервера: SERVER1 и SERVER2):
- на обе машины устанавливаем сервер 1С
- создаем на каждом сервере по кластеру 1С (стандартный кластер, рабочий сервер пока 1, тот, который держит кластер)
- добавляем рабочие процессы и пр. (настройки идентичны на обоих серверах)
- на SERVER1 добавляем ИБ
- в список резервирования SERVER1 добавляем SERVER2 (должен быть 2-м в списке)
- в список резервирования SERVER2 добавляем SERVER1 (должен быть 1-м в списке)
- ждем пока синхронизируются список ИБ и сеансов

Все - отказоустойчивость настроили.

Теперь настроим балансировку нагрузки:
- на SERVER1 добавляем рабочий сервер (указываем SERVER2, IP порт стандартный, диапазон портов указываем со сдвигом, чтобы не пересекался со стандартным 1560:1591, например 1592:1623)
- на SERVER2 добавляем рабочий сервер (указываем SERVER1, IP порт стандартный, диапазон портов указываем также со сдвигом, 1592:1623)
- на добавленные рабочие сервера добавляем нужное количество рабочих процессов

http://www.1c-pro.ru/topic28255.html
27 vde69
 
26.09.12
18:29
(26) что будет если
один клиент будет использовать основной сервер 1с на SERVER1
другой клиент будет использовать основной сервер 1с на SERVER2

например получим 2 паралельных конфигуратора :)

кроме того НЕОЛЬЗЯ создать в одной сети два кластера 1с с одним именем, будут конфликты даже если обращатся по IP
28 PLUT
 
26.09.12
21:06
(27) не будет два пофигуратора, кластер один из двух серверов, просто на каждом сервере в список резервирования ссылка друг на друга

читаем мат.часть. два сервера с одним именем нафиг не нужны, а в настройках подключения сервера можно через запятую перечислять
29 zmaximka
 
26.09.12
21:27
упс. а куда делась кнопка "закладка" ?
30 PLUT
 
26.09.12
21:32
31 vde69
 
26.09.12
21:59
(28) ответь на (7)
32 lepesha
 
26.09.12
22:05
(2) Для создания кластера скл-серверов необходимо специальное схд.
33 PLUT
 
26.09.12
22:11
(31) можно создать отказоустойчивый кластер с автоматической отработкой отказа, но мой случай на двух SQL Standartd в (19)
34 vde69
 
26.09.12
23:25
ИХМО самый правильный отказоустойчивый кластер - это железный...

но он отказоустойчив только к самому железу и каналам... а вот к софту - увы это фантастика в большенстве случаев...
35 sunson
 
28.09.12
12:39
Друзья, докладываю.

Настройка Кластера 1С Серверов была сделана по http://www.1c-pro.ru/topic28255.html
обе машины входят в кластер Windows
SLQ тоже в кластере, СХД есть - отдельная железка, на нем настроен RAID

При выключении одного из узлов кластера Windows в течении 2-5 минут кластер SQL отрабатывает отказ. Из базы пользователь выходит с ошибкой, потеря данных возможна, но минимальная.

При отключении службы Агента сервера 1С на узле, правильно отрабатывает при указании в настройках базы клиента обоих узлов кластера, без отключения базы и потери данных.
36 PLUT
 
28.09.12
13:00
(35) >>SLQ тоже в кластере, СХД есть - отдельная железка, на нем настроен RAID

роскошно! не каждый ларёк себе может позволить)
37 sunson
 
28.09.12
13:53
(36) главное что оно дышит)))
завтра будем из режима тестирования выходить в рабочий режим
38 PaSSter
 
10.10.12
11:52
... почти 2 недели прошло в рабочем режиме! Настройка интересная ...
Полёт нормальный?
39 sunson
 
10.10.12
12:51
Админы шаманят...
Возникла следующая проблема:
После перезапуска одного из узлов кластера Windows (он же кластер 1С и дополнительны рабочий сервер) сеансы в консоле не показываются, ошибка оснастки... соединения на рабочий сервер не перескакивают - нет балансировки нагрузки между рабочими серверами... разбираюсь
40 МуМу
 
10.10.12
13:08
(34)+1.
Программный кластер должен быть серьезно адаптирован на уровне СУБД-ПО. К сожалению большинство специалистов как попугаи повторяют одно и то же что якобы сказали в 1С или якобы сказали в Microsoft. Проверить на практике почему то руки не доходят. При этом факт того что псевдокластер работает в рабочей базе вообще ни о чем не говорит.Я уже видел несколько инциндентов как такие кластера валились с определенными последствиями.
В итоге хотел бы высказать определенные соображения. Программмный кластер не сможет обеспечить потерю данных.Определенная потеря будет , вопрос только какая. Он не сможет обеспечить отключения пользователей. Входить заново в систему прийдется. Он не сможет обеспечить нормальную балансировку нагрузки.(только сервер приложения и то с вопросами). Это обуславливается несколькими фундаментальными проблемами.
К тому же надежность кластера будет в любом случае не выше надежности ПО, в данном случае 1C 8.
41 prog01
 
10.10.12
13:13
(40)а в скулях таки всё работает как часы и настраивается в 3 клика?
42 prog01
 
10.10.12
13:16
(0)сколько у вас ключей на сервер (или скажем так программных лицензий)?
43 МуМу
 
10.10.12
13:27
(40) Под кластером я рассматриваю комплексно 1С и MSSQL. Бессмыслесленно их рассматривать отдельно. В MSSQL тоже есть свои проблемы. Базовые инструменты  зеркалирование,логшипинг,репликация,програмно аппаратная кластеризация(дисковая система одна а ноды две). Они имею свои плюсы так и минусы.С зеркалированием когда вышел 2005 вообще отдельная история была, но это можно поиском найти.
Аппаратная кластеризация предпологает тоже несколько решений.
44 sunson
 
15.10.12
15:01
(42) программных лицензий на Сервер 1С Предприятие 2 шт. на каждый сервер по 1 шт.
45 AlWiZ
 
01.11.12
18:31
(44) а клиентские? программные/аппаратные?
46 ValerijBel
 
20.11.12
09:09
Отказоустойчивость кластера 8.2 обеспечивается только для управляемого приложения?
47 vde69
 
20.11.12
09:36
(46) сам подумай как можно обеспечить отказоустойчивость если можно транзакцию и блокировки юзать на клиенте?

или отказоустойчивость будет с исключением для текущих транзакций или только управляемые формы где на клиенте все тупо недоступно...
48 Exec
 
20.11.12
09:45
Отказоустойчивость в MSSQL настраивается легко, а у 1Ски, примерно так делал :)
v8: Кластер 1С продолжение
49 Exec
 
20.11.12
09:48
Только кворум кластера лучше ставить "Большинство узлов и дисков", тогда кластер будет работать до выхода из строя общего хранилища или всех узлов.