• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Кластер Domino

  • Автор темы fvoice
  • Дата начала
F

fvoice

Администрирование Domino не самая сильная моя сторона, поэтому публикую свои мысли здесь, с целью получения советов и предостережений.

Цели:

- распределение нагрузки
- защита от сбоев
- более надежное хранение информации

Почитав документацию понимаю что все эти задачи решаются поднятием второго сервера и включения их в кластер.

План работы:

- Зарегистрировать второй сервер на основном сервере(получить server.id)
- Поднять второй сервер, используя полученный server.id
- Добавить оба сервера в кластер

Предвопрос: Правильно ли я понимаю ситуацию?
Основной вопрос: Получу ли я после всего этого больше преимуществ или больше проблем?
Послевопрос: Что нужно сделать/обратить внимание чтобы получить меньше проблем?
 
C

collection

Ситуацию Вы понимаете правильно, однако единого мнения по поводу этого нет, т.к. все зависит от того какие задачи решает сервер, установлена ли система делопроизводства, по каким рпотоколам осуществляется доступ к серверу, к примеру, вот конфигурация которую я использую у себя:
Сервер А и Б находятся в кластере, сервер А основной рабочий(доступен), сервер Б дополнительный(server restricted=2) агент на сервере Б с заданной переодичностью проверяет доступность сервера А в случае есл сервер А не доступен даем (тем же агентом) команду Б - "set config server_restricted=0 update, соответственно сервер Б берет управления на себя. Как только причина устранена и сервер А снова становится доступен сервер Б получает команду set config server_restricted=2 update и передает управление серверу А.
Смысл в том, что количество пользователей и аппаратные возможности сервера А позволяют отказать от использования кластера серверов а сервер Б использовать исключительно как сервер для бекапа и как резервный на случай сбоя.
Послеответ: на документацию
 

puks

Lotus Team
03.02.2007
1 919
55
BIT
3
Надо не забыть дополнить кластерную репликацию обычной.
Кроме того, если приложение не написано для кластера, т.е. не используется функция открытия баз с переключением на другой сервер, то здесь автоматического переключения не будет.
Я бы сказал, что 2 и 3 пункты достигаются легко. С первым - надо возиться. В общем, это дело хорошее и не сложное для подъема.
 
F

fvoice

Извините, долго не отписывался, загружен был.
Что у меня получилось:

выполнил:
- Зарегистрировать второй сервер на основном сервере(получить server.id)
- Поднять второй сервер, используя полученный server.id
- Добавить оба сервера в кластер
получил кластер, в котором кластерной репликации подлежали только служебные БД, типа names.nsf и др.
Создал connection документы в обе стороны, прописал задачи репликации в обе стороны(может достаточно в одну?), раз в 3 часа.
Создал реплики нужных мне баз на второй сервер, получил синхронизацию баз данных на обоих серверах, для управления кластерной репликацией использовал БД "Cluster Directory".
Кроме того, если приложение не написано для кластера, т.е. не используется функция открытия баз с переключением на другой сервер, то здесь автоматического переключения не будет.
:blink: у меня работает на всех БД, ставил эксперименты на обоих серверах

Порадовало:
- изменения в одной из БД на одном сервере, практически мгновенно отображаются на втором
- автоматическое переключение на второй сервер, при отказе первого

Огорчило:
- для автоматического переключения нужно создавать второй коннекшн в адресной книге(догадывался)

Для: collection
Можно поподробнее про вашу систему, на втором сервере подняты все те же таски что и на первом? Как происходит маршрутизация почты? доступ из под интернета к базам данных?
 

puks

Lotus Team
03.02.2007
1 919
55
BIT
3
<!--QuoteBegin-fvoice+1:10:2007, 08:34 -->
<span class="vbquote">(fvoice @ 1:10:2007, 08:34 )</span><!--QuoteEBegin-->у меня работает на всех БД, ставил эксперименты на обоих серверах
[snapback]80207" rel="nofollow" target="_blank[/snapback]​
[/quote]
Речь идет не об открытии базы нажатием на иконку, а открытием базы в коде. Если в коде используется метод Open, а не OpenWithFailover, то переключения не будет.
 
C

collection

Для: fvoice
стучитесь в аську......
346-459-966
 
F

fvoice

Речь идет не об открытии базы нажатием на иконку, а открытием базы в коде. Если в коде используется метод Open, а не OpenWithFailover, то переключения не будет.
а когда в скрипте использую set db = New Notesdatabase(...)? не будет работать?
 
R

root

Для: puks
а если открытие идет через OpenByReplicaID могут быть глюки ?
 

puks

Lotus Team
03.02.2007
1 919
55
BIT
3
Для: fvoice
Для: root

В документации единственный метод, поддерживающий переключение в кластере, - OpenWithFailover. И я не нашел инфы, что кто-нибудь практически это опроверг.
 
F

fvoice

мысли вслух:
...если вместо стандартной конструкции типа:
Код:
Dim db as new NotesDatabase(server$,db$)

поставить:
Код:
Dim db as new NotesDatabase("","")

if Not db.OpenWithFailover(server$,db$) then
MessageBox "База данных не найдена не на одном из работающих серверов кластера!"
Exit Sub
End If
может и сработает..

If the database can't be opened on the specific server but the server belongs to a cluster, OpenWithFailover automatically looks for a replica of the specified server on the same cluster. If the method finds a replica, that database is opened instead, and the server property adjusts accordingly.

..надо попробовать ;)
 
F

fvoice

похоже тема развивается уже немного не в том направлении, но все же напишу..

При попытке открыть БД на "упавшем" сервере, метод OpenWithFailover подменяет сервер на рабочий кластерный сервер..
уже переделал почти все методы на программное открытие документов из других БД :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!