Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


firebird:manual-installation-of-multiple-instances-of-firebird-2-5-in-service-mode-on-windows-server-2012-r2

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
firebird:manual-installation-of-multiple-instances-of-firebird-2-5-in-service-mode-on-windows-server-2012-r2 [07.11.2018 09:53] – [Создание сервисных учётных записей gMSA] Алексей Максимовfirebird:manual-installation-of-multiple-instances-of-firebird-2-5-in-service-mode-on-windows-server-2012-r2 [02.03.2021 15:57] (текущий) Алексей Максимов
Строка 47: Строка 47:
 {{ :firebird:pasted:20181107-095242.png }} {{ :firebird:pasted:20181107-095242.png }}
  
-О том, как установить созданные в домене учётные записьи gMSA на сервере смотрим в статье [[:microsoft-windows:windows-server-2012-r2:adds:how-to-use-managed-service-accounts-msa-and-group-managed-service-account-gmsa:how-to-set-up-an-msa-or-gmsa-account-on-the-server|Установка учётных записей MSA и gMSA на серверы]]+О том, как установить созданные в домене учётные записи gMSA на сервере смотрим в статье [[:microsoft-windows:windows-server-2012-r2:adds:how-to-use-managed-service-accounts-msa-and-group-managed-service-account-gmsa:how-to-set-up-an-msa-or-gmsa-account-on-the-server|Установка учётных записей MSA и gMSA на серверы]]
  
 {{ :firebird:pasted:20181107-095305.png }}   {{ :firebird:pasted:20181107-095305.png }}  
Строка 55: Строка 55:
 ==== Настройка прав доступа для сервисных учётных записей ==== ==== Настройка прав доступа для сервисных учётных записей ====
  
-...+После того, как сервисные учётные записи созданы и установлены на сервере, выдадим им полные права **NTFS** на каталоги, в которых будут выполняться экземпляры FirebirdУчётной записи **s-S11** выдадим права на каталог первого экземпляра (**D:\FBInst1**), а учётной записи **s-S12** выдадим права на каталог второго экземпляра Firebird (**D:\FBInst2**)
  
 +{{ :firebird:pasted:20181107-104224.png }}
  
 \\ \\
 ==== Настройка базовой конфигурации Firebird ==== ==== Настройка базовой конфигурации Firebird ====
  
-...+Перед тем, как мы зарегистрируем службы экземпляров Firebird, нам потребуется выполнить настройку некоторых параметров конфигурации экземпляров. 
 + 
 +В каталоге с файлами __первого экземпляра Firebird__, который в нашем примере расположен в **D:\FBInst1\Bin** находим и открываем на редактирование конфигурационный файл **firebird.conf**По умолчанию все параметры в данном файле закомментированы (#), то есть подразумевается работа экземпляра с настройками по умолчанию. 
 +Находим и убираем комментарий у параметра **RemoteServicePort**, который определяет TCP порт, на котором экземпляр будет создавать TCP-прослушиватель, принимающий клиентские подключения (по умолчанию используется порт TCP 3050) 
 +<code>... 
 +RemoteServicePort = 3051 
 +...</code> 
 +Так как в нашем случае экземпляр Firebird планируется использовать в режиме **SuperServer** и на нашем виртуальном сервере 4 логических процессора (4 процессорных ядра, выданных ВМ), то возможно имеет смысл дополнительно настроить параметр **CpuAffinityMask** таким образом, чтобы использовались все логические процессоры (значение по умолчанию 1 предполагает использование только первого процессора). Согласно [[http://www.firebirdsql.org/manual/qsg25-appx-architectures.html|документации]] для сервера с **4** логическими процессорами значение CpuAffinityMask должно быть установлено в **15**. 
 +<code>... 
 +CpuAffinityMask = 15 
 +...</code> 
 +Сохраняем конфигурационный файл и закрываем его. 
 +  
 +По аналогии редактируем конфигурационный файл __второго экземпляра Firebird__ (**E:\FBInst2\Bin\firebird.conf**), только в этом случае в качестве порта TCP-прослушивателя указываем другой номер порта, чтобы он отличался от номера порта первого экземпляра Firebird 
 +<code>... 
 +RemoteServicePort = 3052 
 +...</code> 
 + 
 +После того как конфигурационный файлы изменены, можем приступить к регистрации системной службы Windows для каждого экземпляра Firebird. 
  
 \\ \\
 ==== Регистрация служб экземпляров Firebird ==== ==== Регистрация служб экземпляров Firebird ====
  
-...+Обратите внимание на то, что упоминаемая в некоторых руководствах утилита **instreg**, которая используется для регистрации (и разрегистрации) инсталляции Firebird в реестре Windows, в случае использования на одном сервере нескольких экземпляров Firebird 2.5 использоваться категорически не должнаВ противном случае корректная совместная работа нескольких экземпляров Firebird на одном сервере может быть нарушена. Если в системе всё же по какой-то причине раньше использовалась утилита instreg, или просто выполнялась установка "дефолтного" экземпляра Firebird с помощью стандартного инсталлятора (**exe**-файл), в ходе работы которого вызывается instreg, то перед запуском нескольких служб с разными экземплярами Firebird, нужно предварительно удалить информацию об инсталляции Firebird с помощью команды **instreg remove**
  
 +В нашем примере настройка служб Firebird выполняется на чистой системе и без применения инсталлятора, поэтому предварительное выполнение команды **instreg remove** нам не потребуется.
 + 
 +Итак, приступим к регистрации служб экземпляров Firebird.
 +
 +Открываем командную строку с правами Администратора, переходим в каталог с исполняемыми файлами первого экземпляра Firebird и выполняем команду регистрации службы экземпляра с помощью утилиты **instsvc** (запросить информацию о ключах утилиты и её версии можно запуском с опцией **-z**):
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">cd /d D:\FBInst1\Bin\bin
 +instsvc -z
 +instsvc install -superserver -demand -name Instance1</pre></HTML>
 +
 +В команде регистрации мы используем следующие опции:
 +  * **install** – установка нового экземпляра Firebird
 +  * **superserver** – режим работы экземпляра (один из трёх возможных режимов для Firebird 2.5)
 +  * **demand** – создаваемая служба настраивается на ручной запуск (это нужно для того, чтобы перед запуском службы выполнить её   предварительную натсройку)
 +  * **name** – имя экземпляра Firebird, который будет обслуживаться создаваемой службой.
 +
 +{{ :firebird:pasted:20181107-111613.png }}
 +
 +В ходе выполнения последней команды мы должны получить сообщение об успешной регистрации службы.
 +
 +По аналогии выполняем регистрацию службы второго экземпляра Firebird, обязательно предварительной перейдя в соответствующий каталог:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">cd /d E:\FBInst2\Bin\bin
 +instsvc install -superserver -demand -name Instance2</pre></HTML>
 +
 +{{ :firebird:pasted:20181107-113040.png }}
 +
 +Теперь перейдём в оснастку управления службами Windows (**services.msc**) и убедимся в том, что в перечне служб появились две новых службы и обе они находятся в незапущенном состоянии.
 +
 +{{ :firebird:pasted:20181107-113102.png }}
 +
 +Откроем свойства службы первого экземпляра Firebird и на вкладке **General** настроим автоматический тип запуска службы
 +
 +{{ :firebird:pasted:20181107-113115.png }}
 +  
 +Переключимся на вкладку **Log On** и выберем ранее созданную нами сервисную учётную запись **gMSA**, от имени которой должна выполняться данная служба. Обратите внимание на то, что так как используется учётная запись gMSA, в конце имени обязательно должен присутствовать символ «$», а поле с паролем при этом следует оставить пустым (ОС сервера будет сама аутентифицировать данную учётную запись в домене). При сохранении настроек по кнопке **Apply** мы получим сообщение о том, что для указанной нами учётной записи автоматически добавлено право входа в систему в качестве службы (**Log On As A Service**)
 +
 +{{ :firebird:pasted:20181107-113133.png }}
 + 
 +Переключимся на вкладку **Recovery** и настроим автоматический перезапуск службы в случае её краха. Правила перезапуска, разумеется, каждый настраивает по своему усмотрению. В нашем примере оставлено две попытки перезапуска, а третья и последующие попытки отключены (чтобы не вводить службу в бесконечный цикл попыток перезапуска в случае каких-то существенных проблем).
 +
 +{{ :firebird:pasted:20181107-113153.png }}
 + 
 +По аналогии настраиваем вторую службу, которая была создана для второго экземпляра Firebird. Для второй службы все настройки могут быть аналогичными за исключением учётной записи, от имени которой она будет запускаться.
 +После того, как параметры запуска служб экземпляров Firebird настроены, попробуем выполнить их запуск. 
 +
 +{{ :firebird:pasted:20181107-113204.png }}
 +
 +Службы должны запускаться без длительных задержек и ошибок.
 +
 +Убедимся в том, что после запуска служб от каждого из экземпляров Firebird в системе появился **TCP**-прослушиватель для принятия клиентских подключений на ранее заданном порту.
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">netstat -na | findstr 305</pre></HTML>
 +
 +{{ :firebird:pasted:20181107-113219.png }} 
 +
 +Не забываем открыть соответствующие порты в Windows Firewall. Оперативно сделать это можно, например, с помощью PowerShell:
 +
 +<code powershell>New-NetFirewallRule -DisplayName "Firebird Server (Instance1)" -Direction "Inbound" `
 + -Protocol "TCP" -Action "Allow" -LocalPort "3051"
 +New-NetFirewallRule -DisplayName "Firebird Server (Instance2)" -Direction "Inbound" `
 + -Protocol "TCP" -Action "Allow" -LocalPort "3052"</code>
 +
 +Теперь оба развёрнутых экземпляра Firebird можно считать запущенными и готовыми к работе. 
 +
 +Следующим обязательным шагом заключительной настройки является смена пароля служебной административной учётной записи SYSDBA в базе данных безопасности каждого экземпляра Firebird. О том, как это делается смотрим в отдельной заметке: [[:Firebird:Changing-default-password-for-SYSDBA-user-in-Firebird-2-5|Смена пароля пользователя SYSDBA в СУБД Firebird 2.5]]
 +
 +----
 +**Дополнительные источники информации:**
 +
 +  * [[http://firebirdsql.org/manual/ru/qsg15-installing-firebird-ru.html|Firebird 1.5 Quick Start - Устанавливаем Firebird]]
 +  * [[http://firebirdsql.org/pdfmanual/Firebird-2.5-QuickStart.pdf|Firebird 2.5 Quick Start Guide]]
 +  * [[http://akina.hop.ru/firebird.php3|Firebird 1.5 - устанавливаем несколько серверов]]
 +  * [[http://www.ibase.ru/inst_manual/|Установка InterBase и Firebird вручную ]]
 +  * [[http://www.destructor.de/firebird/multiinstance.htm|Stefan Heymann - Running several Firebird Instances per Server Machine]]
 +  * [[http://www.ibphoenix.com/resources/documents/search/doc_43|Running two or more versions of Firebird simultaneously under Windows]]
 +  * [[https://dba.stackexchange.com/questions/171635/prevent-firebirds-default-instance-from-starting|Prevent Firebird's default instance from starting]]
  
  
-\\ 
 ---- ----
 Проверено на следующих конфигурациях: Проверено на следующих конфигурациях:
 ^ Версия ОС ^ Версия Firebird ^ ^ Версия ОС ^ Версия Firebird ^
 | Windows Server 2012 R2 Standard EN (6.3.9600) | 2.5.8 32-bit |  | Windows Server 2012 R2 Standard EN (6.3.9600) | 2.5.8 32-bit | 
 +| Windows Server 2012 R2 Standard EN (6.3.9600) | 2.5.9 64-bit | 
  
 ---- ----
firebird/manual-installation-of-multiple-instances-of-firebird-2-5-in-service-mode-on-windows-server-2012-r2.1541573596.txt.gz · Последнее изменение: 07.11.2018 09:53 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki