Кластер Domino

Тема в разделе "Lotus - Администрирование", создана пользователем fvoice, 27 сен 2007.

Наш партнер Genesis Hackspace
  1. fvoice

    fvoice Гость

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

    Цели:

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

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

    План работы:

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

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

    collection Well-Known Member

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

    puks Well-Known Member
    Lotus team

    Регистрация:
    3 фев 2007
    Сообщения:
    1.967
    Симпатии:
    16
    Надо не забыть дополнить кластерную репликацию обычной.
    Кроме того, если приложение не написано для кластера, т.е. не используется функция открытия баз с переключением на другой сервер, то здесь автоматического переключения не будет.
    Я бы сказал, что 2 и 3 пункты достигаются легко. С первым - надо возиться. В общем, это дело хорошее и не сложное для подъема.
     
  4. fvoice

    fvoice Гость

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

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

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

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

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

    puks Well-Known Member
    Lotus team

    Регистрация:
    3 фев 2007
    Сообщения:
    1.967
    Симпатии:
    16
    <!--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, то переключения не будет.
     
  6. collection

    collection Well-Known Member

    Регистрация:
    4 июл 2006
    Сообщения:
    472
    Симпатии:
    0
    Для: fvoice
    стучитесь в аську......
    346-459-966
     
  7. fvoice

    fvoice Гость

    а когда в скрипте использую set db = New Notesdatabase(...)? не будет работать?
     
  8. root

    root Гость

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

    puks Well-Known Member
    Lotus team

    Регистрация:
    3 фев 2007
    Сообщения:
    1.967
    Симпатии:
    16
    Для: fvoice
    Для: root

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

    fvoice Гость

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

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

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

    fvoice Гость

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

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

Поделиться этой страницей