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 [06.11.2018 23:30] – Алексей Максимов | firebird:manual-installation-of-multiple-instances-of-firebird-2-5-in-service-mode-on-windows-server-2012-r2 [07.11.2018 11:40] – [Регистрация служб экземпляров Firebird] Алексей Максимов | ||
---|---|---|---|
Строка 2: | Строка 2: | ||
{{: | {{: | ||
+ | |||
+ | \\ | ||
+ | ==== Выбор дистрибутива ==== | ||
+ | |||
+ | Так как мы планируем разворачивать в рамках одного сервера несколько экземпляров Firebird, важно __не использовать для установки стандартный **exe**-инсталлятор__, | ||
+ | |||
+ | Переходим на страницу загрузки [[https:// | ||
Строка 7: | Строка 14: | ||
==== Подготовка дисков сервера ==== | ==== Подготовка дисков сервера ==== | ||
- | ... | + | В нашем случае установка будет выполняться на виртуальный сервер c гостевой ОС **Windows Server 2012 R2 Standard**. Сервер имеет 3 дисковых тома. На первом томе C:\ расположена ОС. Второй (D:\) и третий том (E:\) будут использоваться для установки двух отдельных экземпляров СУБД Firebird. |
+ | |||
+ | При подготовке дисковых томов под экземпляры Firebird форматируем их в файловую систему **NTFS** с размером кластера в** 4KB** (используется по умолчанию в Windows Server 2012 R2). Единственная информация, | ||
+ | Необходимость разнесения экземпляров Firebird по разным дисковым томам может быть продиктована разными соображениями, | ||
+ | |||
+ | Создадим под первый экземпляр Firebird на диске **D:** каталог **D: | ||
+ | |||
+ | Создадим под второй экземпляр Firebird на диске **E:** каталог **E: | ||
+ | |||
+ | В каждом из каталогов D:\FBInst1 и E:\FBInst2 создадим ещё один подкаталог **\Data**. В этот подкаталог в дальнейшем будут размещаться файлы БД. | ||
+ | |||
+ | {{ : | ||
\\ | \\ | ||
==== Создание сервисных учётных записей gMSA ==== | ==== Создание сервисных учётных записей gMSA ==== | ||
- | ... | + | Перед установкой и началом использования служб экземпляров Firebird нам нужно будет создать учётные записи, |
+ | |||
+ | * Создать локальные учётные записи типа User на сервере Firebird | ||
+ | * Создать в домене Active Directory учётные записи типа User | ||
+ | * Создать в домене Active Directory учётные записи типа msDS-ManagedServiceAccount или msDS-GroupManagedServiceAccount | ||
+ | |||
+ | Каждый из вариантов имеет свои преимущества и недостатки, | ||
+ | |||
+ | Создадим в домене для каждого экземпляра создаём отдельную учётную запись **gMSA**. | ||
+ | |||
+ | О том, как создать учётную запись gMSA смотрим в статье [[: | ||
+ | |||
+ | В нашем случае в домене создано две учётных записи gMSA с именами **s-S11** и **s-S12** | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | О том, как установить созданные в домене учётные записьи gMSA на сервере смотрим в статье [[: | ||
+ | |||
+ | {{ : | ||
\\ | \\ | ||
==== Настройка прав доступа для сервисных учётных записей ==== | ==== Настройка прав доступа для сервисных учётных записей ==== | ||
- | ... | + | После того, как сервисные учётные записи созданы и установлены на сервере, |
+ | {{ : | ||
\\ | \\ | ||
==== Настройка базовой конфигурации Firebird ==== | ==== Настройка базовой конфигурации Firebird ==== | ||
- | ... | + | Перед тем, как мы зарегистрируем службы экземпляров Firebird, нам потребуется выполнить настройку некоторых параметров конфигурации экземпляров. |
+ | |||
+ | В каталоге с файлами __первого экземпляра Firebird__, который в нашем примере расположен в **D: | ||
+ | Находим и убираем комментарий у параметра **RemoteServicePort**, | ||
+ | < | ||
+ | RemoteServicePort = 3051 | ||
+ | ...</ | ||
+ | Так как в нашем случае экземпляр Firebird планируется использовать в режиме **SuperServer** и на нашем виртуальном сервере 4 логических процессора (4 процессорных ядра, выданных ВМ), то возможно имеет смысл дополнительно настроить параметр **CpuAffinityMask** таким образом, | ||
+ | < | ||
+ | CpuAffinityMask = 15 | ||
+ | ...</ | ||
+ | Сохраняем конфигурационный файл и закрываем его. | ||
+ | |||
+ | По аналогии редактируем конфигурационный файл __второго экземпляра Firebird__ (**E: | ||
+ | < | ||
+ | RemoteServicePort = 3052 | ||
+ | ...</ | ||
+ | |||
+ | После того как конфигурационный файлы изменены, | ||
\\ | \\ | ||
==== Регистрация служб экземпляров Firebird ==== | ==== Регистрация служб экземпляров Firebird ==== | ||
- | ... | + | Обратите внимание на то, что упоминаемая в некоторых руководствах утилита **instreg**, |
+ | В нашем примере настройка служб Firebird выполняется на чистой системе и без применения инсталлятора, | ||
+ | |||
+ | Итак, приступим к регистрации служб экземпляров Firebird. | ||
+ | Открываем командную строку с правами Администратора, | ||
+ | |||
+ | < | ||
+ | instsvc -z | ||
+ | instsvc install -superserver -demand -name Instance1</ | ||
+ | |||
+ | В команде регистрации мы используем следующие опции: | ||
+ | * **install** – установка нового экземпляра Firebird | ||
+ | * **superserver** – режим работы экземпляра (один из трёх возможных режимов для Firebird 2.5) | ||
+ | * **demand** – создаваемая служба настраивается на ручной запуск (это нужно для того, чтобы перед запуском службы выполнить её | ||
+ | * **name** – имя экземпляра Firebird, который будет обслуживаться создаваемой службой. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | В ходе выполнения последней команды мы должны получить сообщение об успешной регистрации службы. | ||
+ | |||
+ | По аналогии выполняем регистрацию службы второго экземпляра Firebird, обязательно предварительной перейдя в соответствующий каталог: | ||
+ | |||
+ | < | ||
+ | instsvc install -superserver -demand -name Instance2</ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Теперь перейдём в оснастку управления службами Windows (**services.msc**) и убедимся в том, что в перечне служб появились две новых службы и обе они находятся в незапущенном состоянии. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Откроем свойства службы первого экземпляра Firebird и на вкладке **General** настроим автоматический тип запуска службы | ||
+ | |||
+ | {{ : | ||
+ | | ||
+ | Переключимся на вкладку **Log On** и выберем ранее созданную нами сервисную учётную запись **gMSA**, от имени которой должна выполняться данная служба. Обратите внимание на то, что так как используется учётная запись gMSA, в конце имени обязательно должен присутствовать символ «$», а поле с паролем при этом следует оставить пустым (ОС сервера будет сама аутентифицировать данную учётную запись в домене). При сохранении настроек по кнопке **Apply** мы получим сообщение о том, что для указанной нами учётной записи автоматически добавлено право входа в систему в качестве службы (**Log On As A Service**) | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Переключимся на вкладку **Recovery** и настроим автоматический перезапуск службы в случае её краха. Правила перезапуска, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | По аналогии настраиваем вторую службу, | ||
+ | После того, как параметры запуска служб экземпляров Firebird настроены, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Службы должны запускаться без длительных задержек и ошибок. | ||
+ | |||
+ | Убедимся в том, что после запуска служб от каждого из экземпляров Firebird в системе появился **TCP**-прослушиватель для принятия клиентских подключений на ранее заданном порту. | ||
+ | |||
+ | < | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Не забываем открыть соответствующие порты в Windows Firewall. Оперативно сделать это можно, например, | ||
+ | |||
+ | <code powershell> | ||
+ | | ||
+ | New-NetFirewallRule -DisplayName " | ||
+ | | ||
+ | |||
+ | Теперь оба развёрнутых экземпляра Firebird можно считать запущенными и готовыми к работе. | ||
+ | |||
+ | Следующим обязательным шагом заключительной настройки является смена пароля служебной административной учётной записи SYSDBA в базе данных безопасности каждого экземпляра Firebird. О том, как это делается смотрим в отдельной заметке: | ||
- | \\ | ||
---- | ---- | ||
Проверено на следующих конфигурациях: | Проверено на следующих конфигурациях: |
firebird/manual-installation-of-multiple-instances-of-firebird-2-5-in-service-mode-on-windows-server-2012-r2.txt · Последнее изменение: 02.03.2021 15:57 — Алексей Максимов