powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как установить на LINUX второй экземпляр Firebird ?
47 сообщений из 47, показаны все 2 страниц
Как установить на LINUX второй экземпляр Firebird ?
    #37509311
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабж.

Вот я скачал снапшот, распаковал его /bin и /udf в /opt/fb25_26387/
Открыл там firebird.conf, поменял RemoteServicePort на 3051.
В папке /etc/xinet.d создал файл `firebird25_26387`, в нём:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
service gds_db
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user                    = firebird
# These lines cause problems with Windows XP SP2 clients
# using default firewall configuration (SF#1065511)
#       log_on_success  += USERID
#       log_on_failure  += USERID
        server          = /opt/fb25_26387/bin/fb_inet_server
}

Далее выполняю
Код: plaintext
/etc/init.d/xinetd restart
Затем пытаюсь приконнектиться, получаю по лбу:
Код: plaintext
1.
2.
3.
4.
[root@firebirdG fb25_26387]# /opt/fb25_26387/bin/isql -n -user sysdba -pas ****** localhost/ 3051 :/opt/fb25_26387/employee.fdb
Statement failed, SQLSTATE =  08006 
Unable to complete network request to host "localhost".
-Failed to establish a connection.
Use CONNECT or CREATE DATABASE to specify a database

В логе /var/log/messages мои потуги отразились так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Nov  2 17:19:16 firebirdG xinetd[32497]: Exiting...
Nov  2 17:19:16 firebirdG xinetd[22948]: bind failed (Address already in use (errno = 98)). service = gds_db
Nov  2 17:19:16 firebirdG xinetd[22948]: Service gds_db failed to start and is deactivated.
Nov  2 17:19:16 firebirdG xinetd[22948]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 17:19:16 firebirdG xinetd[22948]: Started working: 1 available service
Nov  2 17:25:30 firebirdG xinetd[22948]: Exiting...
Nov  2 17:25:33 firebirdG xinetd[23041]: bind failed (Address already in use (errno = 98)). service = gds_db
Nov  2 17:25:33 firebirdG xinetd[23041]: Service gds_db failed to start and is deactivated.
Nov  2 17:25:33 firebirdG xinetd[23041]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 17:25:33 firebirdG xinetd[23041]: Started working: 1 available service
Nov  2 17:28:12 firebirdG xinetd[23041]: Exiting...
Nov  2 17:28:12 firebirdG xinetd[23097]: bind failed (Address already in use (errno = 98)). service = gds_db
Nov  2 17:28:12 firebirdG xinetd[23097]: Service gds_db failed to start and is deactivated.
Nov  2 17:28:12 firebirdG xinetd[23097]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.

Куда рыть, что подправить ?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509595
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ясное дело, сделать gds_db на порту 3051. Вообще не люблю я эту экономию. Почему не 3070, 3080?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509598
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу. сервис gds_db1 например для 3051. не?
bind failed (Address already in use (errno = 98)). service = gds_db
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509640
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvтьфу. сервис gds_db1 например для 3051. не?
bind failed (Address already in use (errno = 98)). service = gds_dbТанцы с бубном чё-то не помогли... :'(
Вот что сейчас в firebird.conf *второго* инстанса:
Код: plaintext
1.
 RemoteServiceName = gds_db1
RemoteServicePort = 3051 

Вот что в конфиге xinet.d:
cat /etc/xinetd.conf
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
#
# This is the master xinetd configuration file. Settings in the
# default section will be inherited by all service configurations
# unless explicitly overridden in the service configuration. See
# xinetd.conf in the man pages for a more detailed explanation of
# these attributes.

defaults
{
# The next two items are intended to be a quick access place to
# temporarily enable or disable services.
#
#       enabled         =
#       disabled        =

# Define general logging characteristics.
        log_type        = SYSLOG daemon info
        log_on_failure  = HOST
        log_on_success  = PID HOST DURATION EXIT

# Define access restriction defaults
#
#       no_access       =
#       only_from       =
#       max_load        = 0
        cps             = 5000 2000
        instances       = UNLIMITED
        per_source      = UNLIMITED

# Address and networking defaults
#
#       bind            =
#       mdns            = yes
        v6only          = no

# setup environmental attributes
#
#       passenv         =
        groups          = yes
        umask           = 002

# Generally, banners are not used. This sets up their global defaults
#
#       banner          =
#       banner_fail     =
#       banner_success  =
}

 includedir /etc/xinetd.d 

Перезапустил xinet.d - облом (пока - понятный):
Код: plaintext
1.
2.
3.
Nov  2 21:42:44 firebirdG xinetd[25096]: Exiting...
Nov  2 21:42:44 firebirdG xinetd[25121]:  Port not specified and can't find service: gds_db1  with getservbyname
Nov  2 21:42:44 firebirdG xinetd[25121]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 21:42:44 firebirdG xinetd[25121]: Started working: 1 available service

Далее подправил файлик firebird25_26387:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 cat /etc/xinetd.d/firebird25_26387 
# default: on
# description: FirebirdSQL server
#
# Be careful when commenting out entries in this file. Active key entry should
# be the first as some scripts (CSchangeRunUser.sh in particular) use sed
# scripting to modify it.

service gds_db 1  # это была первая ошибка, тут было 'gds_db'
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user                    = firebird
# These lines cause problems with Windows XP SP2 clients
# using default firewall configuration (SF#1065511)
#       log_on_success  += USERID
#       log_on_failure  += USERID
         port = 3051    # это - вторая ошибка, тут не было порта (BTW: правильно ли его указывать именно так ?) 
        server          = /opt/fb25_26387/bin/fb_inet_server
}


Опять перезапустил xinet.d, опять попытался подключиться - облом.
Вижу в /var/log/messages:
Код: plaintext
1.
2.
3.
4.
Nov  2 21:45:36 firebirdG xinetd[25121]: Exiting...
Nov  2 21:45:37 firebirdG xinetd[25241]: service/protocol combination not in /etc/services: gds_db1/tcp
Nov  2 21:45:37 firebirdG xinetd[25241]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 21:45:37 firebirdG xinetd[25241]: Started working: 1 available service

Лезу в /etc/services, добавляю туда строку:
gds_db1 3051/tcp
Перезапускаю xinet.d
Вижу в /var/log/messages:
Код: plaintext
1.
2.
3.
Nov  2 22:06:01 firebirdG xinetd[25241]: Exiting...
Nov  2 22:06:01 firebirdG xinetd[25431]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 22:06:01 firebirdG xinetd[25431]: Started working:  2  available services

Пытаюсь подключиться к ФБ через порт 3051 - облом.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509656
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS . Возможно, это поможет в поиске истины: сразу после того, как попытался подключиться к ФБ через 3051, в /var/log/messages появилось вот:
Код: plaintext
1.
2.
Nov  2 22:06:49 firebirdG xinetd[25431]: START: gds_db1 pid=25443 from=::ffff:127.0.0.1
Nov  2 22:06:51 firebirdG xinetd[25431]: EXIT: gds_db1  status=0  pid=25443 duration=2(sec)
На каждую последущую попытку подключения в это же логе появляется аналогичное:
Код: plaintext
1.
2.
Nov  2 22:16:05 firebirdG xinetd[25431]: START: gds_db1 pid=25502 from=::ffff:127.0.0.1
Nov  2 22:16:05 firebirdG xinetd[25431]: EXIT: gds_db1  status=0  pid=25502 duration=0(sec)

Что означает статус = 0, когда на консоли ISQL идёт ругань:
Код: plaintext
1.
2.
3.
4.
ISQL Version: LI-V2.5.2.26387 Firebird 2.5
Statement failed, SQLSTATE = 28000
no permission for read-write access to database /opt/fb25_26387/employee.fdb
Use CONNECT or CREATE DATABASE to specify a database

???
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509657
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидВот что сейчас в firebird.conf *второго* инстанса:
Да забей ты на него. Классик не использует эти параметры.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509664
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе для экспериментов или для работы?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509666
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЧто означает статус = 0, когда на консоли ISQL идёт ругань:

Это означает, что процесс сервера корректно отшил попытку пользователя влезть и так же
корректно завершился.

no permission for read-write access to database /opt/fb25_26387/employee.fdb
Какое слово тебе непонятно?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509673
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамТебе для экспериментов или для работы?для *работы*, в том-то и дело!
У меня вылезло сообщение о невосстановимом бекапе, dimitr еще утром посоветовал проверить на свежем снапшоте.
Делать это на боевом серваке я не могу, ес-сно.
Делать на отладочном - можно, но надо поставить туда второй инстанс, т.к. первый используется как раз для создания бекапов продакшена (gbak запускается именно на отладочном серваке, на нём же создает .fbk и тут же проверяет их - сначала с -m, затем, если предыдущая проверка Ок, ресторит по полной).
Делать на третьем линух-сервере достаточной мощности - а нет его.
Есть еще путь камикадзе - копировать .tgz на локальный диск via WinSCP, там распаковывать и ресторить локальным ФБ. Не прокатит - легко умереть молодым от ожидания.

Отсюда и горячее желание поднять второй ФБ (в виде last build) на тестовом линухе.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509677
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКакое слово тебе непонятно?Ты сам знаешь ответ :-)
Почему, запустив в командной строке ФБ в режиме SuperClassic'a:
Код: plaintext
/opt/fb25_26387/bin/fb_smp_server -e /opt/fb25_26387 &
- я могу далее совершенно спокойно подключиться:
Код: plaintext
/opt/fb25_26387/bin/isql -n localhost/ 3051 :/u01/db/firebird/employee.fdb
- а с попыткой делать это всё через конфиг xinet.d такие траблы ?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509680
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovДа забей ты на него. Классик не использует эти параметры.Весело. А кто тогда использует, только SS и SC ?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509683
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид> для *работы*, в том-то и дело!

По твоему описанию - как раз для экспериментов, ибо временно.
Соответственно, забей на RemoteServicePort и по порту, а сервер
(второй инстанс) стартуй с указанием порта через параметр.

Попробуй, проверь. Собсно, работоспособность и без коннекта
будет видна - посмотри запущен ли процесс и какой порт он держит.

> Делать на отладочном - можно, но надо поставить туда второй инстанс,
> т.к. первый используется как раз для создания бекапов продакшена
> (gbak запускается именно на отладочном серваке, на нём же создает .fbk

Вынесло мозг. Это хоть кто придумал/подсказал?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509696
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамТаблоид> для *работы*, в том-то и дело!

По твоему описанию - как раз для экспериментов, ибо временно.
Соответственно, забей на RemoteServicePort и по порту, а сервер
(второй инстанс) стартуй с указанием порта через параметр .

Попробуй, проверь. Собсно, работоспособность и без коннекта
будет видна - посмотри запущен ли процесс и какой порт он держит.Как это записать ? не могу найти примера, подскажи плз!
Вот что сейчас в конфиге (порт отдельно от строки запуска; как его "внедрить" в неё :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 cat /etc/xinetd.d/firebird25_26387 

service gds_db1
{
...
         port = 3051
        server          = /opt/fb25_26387/bin/fb_inet_server 
}



Гаджимурадов Рустам> Делать на отладочном - можно, но надо поставить туда второй инстанс,
> т.к. первый используется как раз для создания бекапов продакшена
> (gbak запускается именно на отладочном серваке, на нём же создает .fbk

Вынесло мозг. Это хоть кто придумал/подсказал? А вот кто-то тут, на форуме, и подсказал эту "светлую идею" .
Сразу после резкого роста числа усеров в 2010(?) мы заметили, что как только стартует бекап, всё начинает безбожно тупить. Как только перебросили его на другой сервак - полегчало. После меняли много чего: и запросы переделывали, и клиентскую часть переписывали, и тот слабый сервак выкинули.
А бекап так и оставили, как был
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509701
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидПочему, запустив в командной строке ФБ
Потому что ты, обормот, имеешь права root-а. А xinetd заставляешь сервер запускать с
правами пользователя firebird.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509705
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид> Как это записать ? не могу найти примера, подскажи плз!

Вроде бы bin -i адрес:порт -nux (TCP/UDP/XNET).
Где-то в доке это должно быть описано, не помню.

И вообще зачем тебе именно CS для этого? Ставь SS.

> А вот кто-то тут, на форуме, и подсказал эту "светлую идею" .

Рестор на тестовом подсказали правильно, если продакшен
загружен 24/7. Но вот зачем (и как?!) на тестовом делается
бэкап продакшен_БД - лично мне непонятно.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509747
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

Я что-то не понял: после того, как были внесены изменения в /etc/services - какие проблемы, кроме прав доступа на запись в базу /opt/fb25_26387/employee.fdb еще остались?

А проблемы на запись, по идее, должны решиться с помощью chown firebird /opt/fb25_26387/employee.fdb
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509751
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, судя по этому , тема уже не актуальна :)
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509757
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТаблоидПочему, запустив в командной строке ФБ
Потому что ты, обормот, имеешь права root-а. А xinetd заставляешь сервер запускать с
правами пользователя firebird. Тогда почему к *первому* инстансу (который на 3050) коннекты идут ? Чем он лучше второго ?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509767
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидDimitry Sibiryakovпропущено...

Потому что ты, обормот, имеешь права root-а. А xinetd заставляешь сервер запускать с
правами пользователя firebird. Тогда почему к *первому* инстансу (который на 3050) коннекты идут ? Чем он лучше второго ?

Тем, что запущен с правильного конфига xinetd от правильного юзера?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509769
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineЯ что-то не понял: после того, как были внесены изменения в /etc/services - какие проблемы, кроме прав доступа на запись в базу /opt/fb25_26387/employee.fdb еще остались?"Всего лишь" она одна и осталась
Что рутом захожу, что firebird'ом:
Код: plaintext
1.
2.
3.
4.
[firebird@firebirdG fb25_26387]$ isql -n -user sysdba -pas ******* localhost/3051:/opt/fb25_26387/employee.fdb
Statement failed, SQLSTATE = 28000
no permission for read-write access to database /opt/fb25_26387/employee.fdb
Use CONNECT or CREATE DATABASE to specify a database

Код: plaintext
1.
2.
3.
tail -2 /var/log/messages
Nov  3 00:00:27 firebirdG xinetd[25431]: START: gds_db1 pid=26092 from=::ffff:127.0.0.1
Nov  3 00:00:28 firebirdG xinetd[25431]: EXIT: gds_db1 status=0 pid=26092 duration=1(sec)

miwaonlineА проблемы на запись, по идее, должны решиться с помощью chown firebird /opt/fb25_26387/employee.fdb Эта база и так принадлежит юзеру firebird:
Код: plaintext
1.
ls -la employee.fdb
-r--r--r-- 1 firebird firebird 1105920 Nov  2 19:44 employee.fdb
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509771
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineХотя, судя по этому , тема уже не актуальна :) Актуальна. Если прокатит, то обязательно сюда пошаговую шпаргалку выложу. На память себе и окружающим.
miwaonlineТем, что запущен с правильного конфига xinetd от правильного юзера? Ну так рестартитьто его кто имеет право ? только один юзер, кажись...
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509779
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидmiwaonlineТем, что запущен с правильного конфига xinetd от правильного юзера? Ну так рестартитьто его кто имеет право ? только один юзер, кажись...
Имел в виду, что первый инстанс ФБ запускается штатно (из xinetd, который в свою очередь запускает его от имени пользователя firebird), а второй (из командной строки) - от рута. Что может выдавать весьма неожиданные последствия.

Но тем не менее, больше причин отсутствия read-write access для employee.fdb придумать не могу. Если еще - что пользователь, от которого запускается второй инстанс, не имеет права на запись в /opt/fb25_26387/ или во временной каталог. Но, по идее, там другое сообщение об ошибке выдается - не помню, так как сталкивался один раз и то давно.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509782
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидno permission for read-write access to database /opt/fb25_26387/employee.fdb

- r -- r -- r -- 1 firebird firebird 1105920 Nov 2 19:44 employee.fdb

Ты бы эта... спал по ночам побольше что-ли...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509787
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТаблоидno permission for read-write access to database /opt/fb25_26387/employee.fdb

- r -- r -- r -- 1 firebird firebird 1105920 Nov 2 19:44 employee.fdb

Ты бы эта... спал по ночам побольше что-ли...


Твоюжмать.

Хотя адресовалось и не мне, но я, пожалуй, тоже пойду лягу.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509806
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТаблоидno permission for read-write access to database /opt/fb25_26387/employee.fdb

- r -- r -- r -- 1 firebird firebird 1105920 Nov 2 19:44 employee.fdb

Ты бы эта... спал по ночам побольше что-ли...Пфф... #&*!@%&$%&. Завтра у мехикана будет пасмурный день. Он мне будет долго объяснять, как мог получиться employee.fdb с правами "-r -r".
Всем спасибо, особливо DS'у.
Шпаргалка - за мной.

PS. 2 DS : а что ты спрашивал удивлённо, как мы делаем бекап с другого сервака ?
Вот фрагмент скрипта, запускаемого кроном на тестовом серваке 192.168.0. 2 , в нём нет ничего особенного:
Код: plaintext
1.
2.
3.
4.
ibbindir=/opt/firebird/bin
dbfile="192.168.0.1:our_poor_prod"
<... skipped ...>
$ibbindir/gbak -v  -user $username -password $password -b -g -y ${logfile}  ${dbfile} ${bkfile}  || SendMessage "fbkCreatingError"   
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509816
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидPS. 2 DS: а что ты спрашивал удивлённо, как мы делаем бекап с другого сервака ?

Где это я спрашивал? Это вроде Рустам тебя пытал...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509933
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полуношники, блин... :)
Таблоид, пиши шпаргалку. Если чё, и я поучаствую.
У мну на серваке тоже два стоит (1.5 и 2.5). С исходов компиллил, правда.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37510321
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aС исходов компиллил, правда.
Компилять придётся чтобы подружить разные версии. С билдами одной версии всё гораздо проще.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512360
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aТаблоид, пиши шпаргалку. Если чё, и я поучаствую.В общем, пока в памяти свежо...
Вот что надо сделать, чтобы запустить второй Firebird CLASSIC на Linux'e (про SuperClassic - попозже, когда доберусь до него).

1. Скачиваем linux-снапшот

2. Распаковываем его на сервере, например, сюда: /opt/fb25_26387

3. Входим как root , идём в каталог /etc/xinet.d

4. Копируем файл: cp firebird fb25_26387. Открываем файл firebird25_26387 редактором, вносим следующие исправления:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
service gds_db 1 
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user                    = firebird
        server          =  /opt/fb25_26387/bin/fb_inet_server 
}

5. Открываем файл /etc/services, добавляем туда строку:
Код: plaintext
gds_db 1          305 1 /tcp  
/* 3051 = номер порта, на котором будет нас "слушать" второй ФБ */

6. Выполняем перезапуск xinetd:
Код: plaintext
1.
2.
3.
[root@firebirdG etc]# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

7. Проверяем системный лог: в последних его строках должно быть примерно следующее:
Код: plaintext
[root@firebirdG log]# tail -10 /var/log/messages
Код: plaintext
1.
2.
Nov  5 01:02:27 firebirdG xinetd[13055]: Exiting...
Nov  5 01:02:27 firebirdG xinetd[13222]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  5 01:02:27 firebirdG xinetd[13222]: Started working:  2 available  services

8. Проверяем наши права на Главный тестовый файл - таблицу /opt/fb25_26387/examples/empnuild/employee.fdb:
Код: plaintext
ls -la ./examples/empnuild/employee.fdb
В случае получения прав только на чтение:
Код: plaintext
 -r--r--r--  1 firebird firebird 1105920 Nov  5 00:51 ./examples/empbuild/employee.fdb
-- немедленно выправляем ситуацию:
Код: plaintext
chmod 666 ./examples/empbuild/employee.fdb

9. Выходим из-под root'a (logout). Работая далее как `firebird`, переходим в папку нового инстанса и пробуем коннект:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
[firebird@firebirdG fb25_26387]$ ./bin/isql localhost/305 1 :/opt/fb25_26387/examples/empbuild/employee.fdb -user sysdba -pas *******
Database:  localhost/3051:/opt/fb25_26387/examples/empbuild/employee.fdb

SQL> select count(*) from employee;

       COUNT
============
          42

SQL> exit;

ЗЫ-1. ОСОБОЕ внимание хочу обратить на граблю с правами на employee.fdb: с некоторого недавнего времени они при сборке закладываются внутрь .tgz именно такими: -r--r--r-- . Если после скачивания снапшота устанавливать его "официальным скриптом" install.sh, то на все файлы будет применена нужная маска прав. Но этому скрипту нельзя указать "свою" папку и "свой порт". Поэтому я его не запускал. За что и поплатился (см выше "no permission for read-write access to database").

ЗЫ-2. НЕ трогаем файл firebird.conf - его параметры RemoteServiceName и RemoteServicePort никакой роли не играют.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512401
Фотография PEAKTOP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидВ общем, пока в памяти свежо...

в мемориз ...
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512408
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид6. Выполняем перезапуск xinetd:
А опции "reload" у него нет?.. Полный рестарт это как-то уж шибко сурово...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512444
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид
8. Проверяем наши права на Главный тестовый файл - таблицу /opt/fb25_26387/examples/empnuild/employee.fdb:
Код: plaintext
ls -la ./examples/empnuild/employee.fdb
В случае получения прав только на чтение:
Код: plaintext
 -r--r--r--  1 firebird firebird 1105920 Nov  5 00:51 ./examples/empbuild/employee.fdb
-- немедленно выправляем ситуацию:
Код: plaintext
chmod 666 ./examples/empbuild/employee.fdb



Не надо chmod 666, давайте воспитывать правильные привычки:
Код: plaintext
 chown firebird  ./examples/empbuild/employee.fdb


Dimitry SibiryakovТаблоид6. Выполняем перезапуск xinetd:
А опции "reload" у него нет?.. Полный рестарт это как-то уж шибко сурово...

Есть. Потому, продолжая воспитание, предлагаю исправить п. 6:

6. Выполняем перезапуск xinetd:
Код: plaintext
1.
2.
[root@firebirdG etc]#  service xinetd reload 
Reloading xinetd:                                           [  OK  ]
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512465
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonline service xinetd reload Вахх!.. а где ты это нарыл ?
man не выдаёт этой опции, хотя она действительно работает :-)
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512469
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидmiwaonline service xinetd reload Вахх!.. а где ты это нарыл ?
man не выдаёт этой опции, хотя она действительно работает :-)
Хех, на многие твои варианты использования ФБ не то что ман - разработчики опций не выдают. А ведь работает же ж как-то, хотя все и в шоке :)

Если серьезно - пару лет назад все основные дистрибутивы перешли на использования команды service вместо прямого вызова скриптов из /etc/init.d. Так что в дистрибутивах года этак 2008 и старее эта комманда не проканает. Правда, там и ФБ 2.5 не запустится :)

А о наличии опции reload можно узнать, просмотрев вызываемый файлик - /etc/init.d/xinetd. По сути это простой скрипт-обертка для правильного запуска сервиса и какие опции он обрабатывает видно из текста. Ну а собственно сам reload - это стандартная опция линуксовых сервисов для перечитывания конфигурации без перезапуска программы.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512472
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня хороший день. Потому что теперь точно известно, кого надо трясти по линухам... :)
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512474
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидСегодня хороший день. Потому что теперь точно известно, кого надо трясти по линухам... :)
Так это ж давно известно - ІР и ДС :)

P.S. Исправил статью на firebirdsql.su
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512479
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineТаблоид8. Проверяем наши права на Главный тестовый файл - таблицу /opt/fb25_26387/examples/empnuild/employee.fdb:
Код: plaintext
ls -la ./examples/empnuild/employee.fdb
В случае получения прав только на чтение:
Код: plaintext
 -r--r--r--  1 firebird firebird 1105920 Nov  5 00:51 ./examples/empbuild/employee.fdb
-- немедленно выправляем ситуацию:
Код: plaintext
chmod 666 ./examples/empbuild/employee.fdb



Не надо chmod 666, давайте воспитывать правильные привычки:
Код: plaintext
 chown firebird  ./examples/empbuild/employee.fdb

Тьфу-ты блин, остался в памяти старый кусок разговора .
Правильно надо так
Код: plaintext
 chmod u+w  ./examples/empbuild/employee.fdb
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512484
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на мой взгляд, не хватает одной вещи. А именно, установка своей копии переменной FIREBIRD для каждого инстанса. Делается это все в тех же настройках сервиса xinetd.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512496
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

Да, надо бы добавить в файл настроек xinetd следующую строку

passenv FIREBIRD=/opt/fb25_26387/

Правда, не уверен насчет синтаксиса (кавычки-слеши).
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512504
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что говорится в Большой книге:Helen, pg 45 FIREBIRD Variable

The FIREBIRD environment variable ..., if configured, is used ... to locate the root directory
of the Firebird server installation. If present, it overrides all other settings —installation
kit defaults, Windows Registry settings, firebird.conf configuration, operating system
global paths defaults
, etc.
< ... skipped ...>
If the FIREBIRD variable is not configured, the defaults are used: /opt/firebird (on Linux/UNIX platforms) ...Объясните, плз, в чём великий смысл этой переменной ?
т.е. что будет неправильно работать, если я её вообще не укажу ?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512509
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если ты ее не укажешь на уровне инстанса, будет использоваться системная установка (ее инсталлятор ставит, IIRC). В результате оба инстанса полезут в одну security-db, будут писать в один лог и т.п.

чтобы каждый инстанс использовал свой собственный root path, надо либо указывать каждому свой FIREBIRD, или грохнуть его из системы вообще и надеяться, что в системе поддерживается /self/proc, binreloc и прочие системные шаманства.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512518
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrчтобы каждый инстанс использовал свой собственный root path, надо либо указывать каждому
свой FIREBIRD

Ну так это если надо чтобы использовал. А для тестов нового билда этого как раз не надо.
Вот разные версии разносить, там - да, обязательно. Но их надо и по временным файлам
разносить, и по лок-таблицам, и ещё много плясок с бубном.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37512652
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНу так это если надо чтобы использовал. А для тестов нового билда этого как раз не надо.
читаем внимательно:

ТаблоидВот что надо сделать, чтобы запустить второй Firebird CLASSIC на Linux'e
ты в этой шпаргалке где-то видишь слова о тестах нового билда?

Dimitry SibiryakovНо их надо и по временным файлам
разносить, и по лок-таблицам, и ещё много плясок с бубном.
зачем по временным? По лок-таблицам уже не надо. Какие еще пляски с бубном?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37517587
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovo_v_aС исходов компиллил, правда.
Компилять придётся чтобы подружить разные версии. С билдами одной версии всё гораздо проще.

Ну, у меня именно разные - 1.5 и 2.5.
Проблем с компиляцией из исходов с разными опциями конфигурирации
--with-service_name --with-service_port и --prefix не возникает обычно.
Только устанавливать собранные инстансы надо в последовательности от старых к свежим. Чтобы ссылки на fbclient и на embedded указывала на самую новую из версий серверов.
В остальном отличий нет.
Таблоиду от грядущих поколений поклон за памятку :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как установить на LINUX второй экземпляр Firebird ?
    #39925544
oleg_hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот что надо сделать, чтобы запустить второй Firebird CLASSIC на Linux'e (про SuperClassic - попозже, когда доберусь до него).
....
Если после скачивания снапшота устанавливать его "официальным скриптом" install.sh, то на все файлы будет применена нужная маска прав. Но этому скрипту нельзя указать "свою" папку и "свой порт".

Вопрос: а первый вариант Firebird устанавливать скриптом или тоже вручную?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #39925670
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_hunterчто надо сделать, чтобы запустить второй Firebird CLASSIC на Linux'e

Зависит от версии. Для 2.5 достаточно создать второй экземпляр сервиса (x)inetd.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #39926053
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а познавательный топик, особливо, когда уже поковырялся с линуксом. Читаешь другими глазами. Неугомонному Паше спасибо :)
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как установить на LINUX второй экземпляр Firebird ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]