Вики 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 10:46]
Алексей Максимов [Настройка базовой конфигурации Firebird]
firebird:manual-installation-of-multiple-instances-of-firebird-2-5-in-service-mode-on-windows-server-2012-r2 [17.11.2018 21:14] (текущий)
Алексей Максимов [Создание сервисных учётных записей gMSA]
Строка 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 }}  
Строка 64: Строка 64:
 Перед тем, как мы зарегистрируем службы экземпляров Firebird, нам потребуется выполнить настройку некоторых параметров конфигурации экземпляров. Перед тем, как мы зарегистрируем службы экземпляров Firebird, нам потребуется выполнить настройку некоторых параметров конфигурации экземпляров.
  
-В каталоге с файлами первого экземпляра ​Firebird, который в нашем примере расположен в **D:​\FBInst1\Bin** находим и открываем на редактирование конфигурационный файл **firebird.conf**. По умолчанию все параметры в данном файле закомментированы (#), то есть подразумевается работа экземпляра с настройками по умолчанию.+В каталоге с файлами ​__первого экземпляра ​Firebird__, который в нашем примере расположен в **D:​\FBInst1\Bin** находим и открываем на редактирование конфигурационный файл **firebird.conf**. По умолчанию все параметры в данном файле закомментированы (#), то есть подразумевается работа экземпляра с настройками по умолчанию.
 Находим и убираем комментарий у параметра **RemoteServicePort**,​ который определяет TCP порт, на котором экземпляр будет создавать TCP-прослушиватель,​ принимающий клиентские подключения (по умолчанию используется порт TCP 3050) Находим и убираем комментарий у параметра **RemoteServicePort**,​ который определяет TCP порт, на котором экземпляр будет создавать TCP-прослушиватель,​ принимающий клиентские подключения (по умолчанию используется порт TCP 3050)
 <​code>​... <​code>​...
Строка 75: Строка 75:
 Сохраняем конфигурационный файл и закрываем его. Сохраняем конфигурационный файл и закрываем его.
    
-По аналогии редактируем конфигурационный файл второго экземпляра ​Firebird ​(**E:​\FBInst2\Bin\firebird.conf**),​ только в этом случае в качестве порта TCP-прослушивателя указываем другой номер порта, чтобы он отличался от номера порта первого экземпляра Firebird+По аналогии редактируем конфигурационный файл ​__второго экземпляра ​Firebird__ ​(**E:​\FBInst2\Bin\firebird.conf**),​ только в этом случае в качестве порта TCP-прослушивателя указываем другой номер порта, чтобы он отличался от номера порта первого экземпляра Firebird
 <​code>​... <​code>​...
 RemoteServicePort = 3052 RemoteServicePort = 3052
Строка 86: Строка 86:
 ==== Регистрация служб экземпляров 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/manual-installation-of-multiple-instances-of-firebird-2-5-in-service-mode-on-windows-server-2012-r2.1541576804.txt.gz · Последние изменения: 07.11.2018 10:46 — Алексей Максимов