Вики IT-KB

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

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

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


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

Это старая версия документа!


Установка нескольких экземпляров СУБД Firebird 2.5 в режиме службы на Windows Server 2012 R2

В этой статье рассматривается порядок развёртывания нескольких экземпляров СУБД Firebird 2.5 в рамках одной серверной системы на базе ОС Windows Server 2012 R2. Каждый экземпляр Firebird при этом должен выполняться в режиме службы Windows, которая запускается от имени специальной сервисной учётной записи Group Managed Service Account (gMSA). В рассматриваемом примере каждый экземпляр располагается на выделенном диске и имеет отдельный TCP-порт для обслуживания клиентских подключений.


Выбор дистрибутива

Так как мы планируем разворачивать в рамках одного сервера несколько экземпляров Firebird, важно не использовать для установки стандартный exe-инсталлятор, так как он вносит в системный реестр Windows данные, которые могут отрицательным образом повлиять на работу в мульти-экземплярном варианте.

Переходим на страницу загрузки Firebird 2.5 и загружаем не инсталляционный пакет в виде exe-файла, а архив в виде zip-файла. Например, в нашем случае будет устанавливаться 32-битная версия Firebird 2.5.8, поэтому загружается файл Firebird-2.5.8.27089-0_Win32.zip.


Подготовка дисков сервера

В нашем случае установка будет выполняться на виртуальный сервер c гостевой ОС Windows Server 2012 R2 Standard. Сервер имеет 3 дисковых тома. На первом томе C:\ расположена ОС. Второй (D:\) и третий том (E:\) будут использоваться для установки двух отдельных экземпляров СУБД Firebird.

При подготовке дисковых томов под экземпляры Firebird форматируем их в файловую систему NTFS с размером кластера в 4KB (используется по умолчанию в Windows Server 2012 R2). Единственная информация, которую удалось найти по поводу рекомендуемого размера кластера, была обнаружена в обсуждении How to Determine Optimal Disk Cluster Size for Firebird 2.5.

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

Создадим под первый экземпляр Firebird на диске D: каталог D:\FBInst1\Bin и распакуем в него содержимое загруженного ранее zip-архива.

Создадим под второй экземпляр Firebird на диске E: каталог E:\FBInst2\Bin и также скопируем в него содержимое загруженного ранее zip-архива.

В каждом из каталогов D:\FBInst1 и E:\FBInst2 создадим ещё один подкаталог \Data. В этот подкаталог в дальнейшем будут размещаться файлы БД.


Создание сервисных учётных записей gMSA

Перед установкой и началом использования служб экземпляров Firebird нам нужно будет создать учётные записи, от имени которых будут выполняться службы экземпляров. Для этого есть несколько вариантов:

  • Создать локальные учётные записи типа User на сервере Firebird
  • Создать в домене Active Directory учётные записи типа User
  • Создать в домене Active Directory учётные записи типа msDS-ManagedServiceAccount или msDS-GroupManagedServiceAccount

Каждый из вариантов имеет свои преимущества и недостатки, но если подходить к вопросу с точки зрения безопасности, то вариант наиболее оптимальным представляется вариант с использованием Управляемых служебных учетных записей Group Managed Service Account (gMSA).

Создадим в домене для каждого экземпляра создаём отдельную учётную запись gMSA.

О том, как создать учётную запись gMSA смотрим в статье Создание учётных записей MSA и gMSA

В нашем случае в домене создано две учётных записи gMSA с именами s-S11 и s-S12

О том, как установить созданные в домене учётные записьи gMSA на сервере смотрим в статье Установка учётных записей MSA и gMSA на серверы


Настройка прав доступа для сервисных учётных записей

После того, как сервисные учётные записи созданы и установлены на сервере, выдадим им полные права NTFS на каталоги, в которых будут выполняться экземпляры Firebird. Учётной записи s-S11 выдадим права на каталог первого экземпляра (D:\FBInst1), а учётной записи s-S12 выдадим права на каталог второго экземпляра Firebird (D:\FBInst2)


Настройка базовой конфигурации Firebird

Перед тем, как мы зарегистрируем службы экземпляров Firebird, нам потребуется выполнить настройку некоторых параметров конфигурации экземпляров.

В каталоге с файлами первого экземпляра Firebird, который в нашем примере расположен в D:\FBInst1\Bin находим и открываем на редактирование конфигурационный файл firebird.conf. По умолчанию все параметры в данном файле закомментированы (#), то есть подразумевается работа экземпляра с настройками по умолчанию. Находим и убираем комментарий у параметра RemoteServicePort, который определяет TCP порт, на котором экземпляр будет создавать TCP-прослушиватель, принимающий клиентские подключения (по умолчанию используется порт TCP 3050)

...
RemoteServicePort = 3051
...

Так как в нашем случае экземпляр Firebird планируется использовать в режиме SuperServer и на нашем виртуальном сервере 4 логических процессора (4 процессорных ядра, выданных ВМ), то возможно имеет смысл дополнительно настроить параметр CpuAffinityMask таким образом, чтобы использовались все логические процессоры (значение по умолчанию 1 предполагает использование только первого процессора). Согласно документации для сервера с 4 логическими процессорами значение CpuAffinityMask должно быть установлено в 15.

...
CpuAffinityMask = 15
...

Сохраняем конфигурационный файл и закрываем его.

По аналогии редактируем конфигурационный файл второго экземпляра Firebird (E:\FBInst2\Bin\firebird.conf), только в этом случае в качестве порта TCP-прослушивателя указываем другой номер порта, чтобы он отличался от номера порта первого экземпляра Firebird

...
RemoteServicePort = 3052
...

После того как конфигурационный файлы изменены, можем приступить к регистрации системной службы Windows для каждого экземпляра Firebird.


Регистрация служб экземпляров Firebird



Проверено на следующих конфигурациях:

Версия ОС Версия Firebird
Windows Server 2012 R2 Standard EN (6.3.9600) 2.5.8 32-bit

Автор первичной редакции:
Алексей Максимов
Время публикации: 06.11.2018 23:01

Обсуждение

Ваш комментарий:
 
firebird/manual-installation-of-multiple-instances-of-firebird-2-5-in-service-mode-on-windows-server-2012-r2.1541576835.txt.gz · Последнее изменение: 07.11.2018 10:47 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki