Инструкция по установке Сетевого Процессора под linux.
1Требования к системе.
Операционная система:
SUSE Linux Enterprise Server 10 sp 1 x86
или
SUSE Linux Enterprise Server 10 sp 1 x86_64
Sybase ASE:
Sybase ASE 15.0.2 (как минимум редакция Express)
Для хранения базы данных СП используется Sybase ASE. Возможны следующие варианты:
Установка ASE из готового образа. Установка предельно упрощена. Sybase ASE при этом работает на том же сервере, что и np, и используется исключительно для хранения базы данных np. (см. 5.4). Данный вариант адаптирован для совместного размещения на одном физическом сервере СП и Сирены/Регины. При этом для СП используется отдельная от Сирены установка Sybase ASE Express (в одну установку ASE Express Сирена и СП не помещаются ввиду ограничений ASE Express на суммарные размеры баз данных).
Установка ASE из оригинального дистрибутива Sybase. Установка и настройка довольно сложны. Использовать этот вариант имеет смысл например при необходимости хранения на этом сервере дополнительных баз данных. Приблизительная инструкция по установке находится в 5.5.
Использование для хранения базы СП другого сервера, например, при использовании в вычислительном центре общего Sybase ASE для хранения баз данных всех приложений (Сирена, Регина, СП). В данном документе этот вариант не рассматривается.
2Общий порядок установки.
Установить операционную систему.
Если Sybase ASE должен работать на этой же машине, установить его.
Создать в linux пользователя, от имени которого будет работать СП.
Развернуть дистрибутив СП в его домашнем каталоге.
Создать в Sybase ASE устройства для хранения базы данных np.
Создать в Sybase ASE базу данных np, установить правильные опции базы данных.
Загрузить в базу данных np начальный образ, либо выполнить миграцию базы СП из старой базы данных Interbase.
3Подготовка к установке операционной системы.
Отказоустойчивость обеспечивается аппаратными средствами (RAID-контроллер). Система располагается на одном логическом диске, который строится при помощи RAID-контроллера из нескольких физических дисков (как минимум два диска в RAID-1). Допускается также использовать программный RAID (драйвер md в linux).
Примерное Размещение системы на диске:
Partition
|
Тип
|
Размер
|
Описание
|
sda1
|
primary, swap
|
2G
|
область подкачки страниц
|
sda2
|
primary, ext3, boot
|
16G
|
корневая файловая система /
|
sda3
|
primary, ext3
|
остальное
|
файловая система /home
|
4Установка и настройка операционной системы.
В программе установки SLES необходимо:
отказаться от установки Novell AppArmor;
желательно отказаться от установки графики (X Window, KDE, GNOME);
добавить пакеты: sysstat.
При начальном конфигурировании системы необходимо:
выключить firewall;
разблокировать порт SSH;
имеет смысл запретить IPv6 ввиду того, что он не используется.
После успешной установки операционной системы нужно:
отключить swap путем редактирования файла /etc/fstab (закомментировать строку, относящуюся к swap'у);
при помощи yast отключить ненужные сервисы (в yast – System / System Services (Runlevel). Список лишних сервисов: novell-zmd, slpd, suseRegister.
5Установка и настройка Sybase ASE.
Перед началом установки SQL-сервера необходимо изучить руководство по системному администрированию Sybase ASE (СУБД Sybase ASE 15.0.2 for Linux x86).
5.1Характеристики Sybase ASE для СП.
Ниже приводятся параметры Sybase ASE, использованные в готовом дистрибутиве (aseForNp2.tar.bz2). При самостоятельной установке ASE следует ориентироваться на эти параметры.
Общие характеристики
|
Редакция ASE
|
Express
|
Имя SQL-сервера
|
NP
|
Имя Backup-севрера
|
NP_BS
|
Домашний каталог ASE
|
/home/npsyb
|
Файл конфигурации ASE
|
/home/npsyb/ASE-15_0/NP.cfg
|
Файл протокола SQL-сервера
|
/home/npsyb/NP.log
|
Файл протокола Backup-сервера
|
/home/npsyb/NP_BS.log
|
IP-адрес и порт SQL-сервера
|
localhost:5100
|
IP-адрес и порт Backup-сервера
|
localhost:5101
|
Размер страницы SQL-сервера
|
4Кб
|
Объем оперативной памяти для ASE
|
300Мб
|
Размер базы данных np
|
3072Мб + 1024Мб (данные + журнал)
|
Размер базы данных tempdb
|
400Мб + 400Мб (данные + журнал)
|
Важные параметры ASE
|
allocate max shared memory
|
1
|
default network packet size
|
32768
|
dynamic allocation on demand
|
0
|
identity burning set factor
|
1
|
identity grab size
|
1
|
lock scheme
|
allpages
|
lock shared memory
|
1
|
max memory
|
128000
|
max network packet size
|
32768
|
number of locks
|
200000
|
number of open indexes
|
5000
|
number of open objects
|
5000
|
number of open partitions
|
500
|
procedure cache size
|
20000
|
send doneinproc tokens
|
1
|
tcp no delay
|
1
|
В качестве устройств для хранения баз данных используются файлы. Все они находятся в каталоге /home/npsyb/data. Для размещения базы данных np используются устройства npdata, nplog (файлы npdata.dat, nplog.dat). Доступ к файлам npdata.dat, nplog.dat со стороны ASE происходит в режиме directio, что гарантирует прямую запись на физические устройства в обход всех системных кэшей.
Сетевые интерфейсы к SQL-серверу и Backup-серверу описаны в файле interfaces, который является простым текстовым файлом. Его можно редактировать, например, для изменения номеров портов или для открытия доступа к ASE с других маших.
5.2Подготовка к установке ASE.
Все выполняется от имени root:
создать пользователя npsyb с домашним каталогом /home/npsyb
Примечание: добавление нового пользователя
useradd –d /home/npsyb npsyb
passwd npsyb
в файл /etc/sysctl.conf добавить строку kernel.shmmax = 2147483648
выполнить команду: chkconfig boot.sysctl on
перезагрузиться
выполнить команду sysctl kernel.shmmax и убедиться, что показано число 2147483648
создать каталог для дампов базы:
mkdir /home/back
chown npsyb:users /home/back
chmod 666 /home/back
5.3Настройка сетевого подключения
Сетевые интерфейсы настроить при помощи yast (Network Devices / Network Card).
5.4Установка ASE из готового образа.
Образ (файл aseForNp2.tar.bz2) включает в себя установленный и настроенный Sybase ASE редакции Express вместе со всеми системными базами данных и пустой базой данных np.
Этот архив нужно развернуть (от имени пользователя npsyb) в домашнем каталоге пользователя npsyb (/home/npsyb).
bzip2 –d –c aseForNp2.tar.bz2 | tar xv
От имени root включить системный скрипт автоматического запуска ASE:
cp /home/npsyb/npsyb.init /etc/init.d/npsyb
chkconfig npsyb on
Перезагрузить сервер и убедиться, что ASE стартовал (командой showserver и посмотреть на его лог - /home/npsyb/NP.log).
Если все в порядке, то перейти к миграции базы с Interbase или к созданию «начальной» базы.
5.5Установка ASE из оригинального дистрибутива Sybase.
От имени пользователя npsyb:
Если дистрибутив поставляется в виде единого файла, с расширением tar, то после копирования с диска выполнить
tar -xvf /home/sysetup/ase1502_xe_linux.tar
Если дистрибутив поставляется в виде единого файла, с расширением tar.gz, то после копирования с диска выполнить
tar -zxvf /home/sysetup/ase1502_xe_linux.tar.gz
chmod -R a+rwx /home/sysetup
запустить установку из этого каталога
cd /home/sysetup
./setup -is:javaconsole -console
What would you like to install?
Product License
1. Adaptive Server Enterprise for evaluation
2. Adaptive Server Enterprise (Developer Edition)
3. Adaptive Server Enterprise (Express Edition)
Enter one of the options above : [3]
прочитать лицензионное соглашение и согласиться с ним
В качестве Destination Directory указать /home/npsyb
Выбрать тип установки Custom
Отказаться от установки " Sybase Software Asset Management", " Sybase Unified Agent", ASE Data Providers, Language Modules и jConnect for JDBC:
Select the features for "Sybase Adaptive Server Enterprise" you would like to
install:
Sybase Adaptive Server Enterprise
To select/deselect a feature or to view its children, type its number:
1. +[x] Sybase Servers
2. +[x] Connectivity
3. +[ ] ASE Data Providers
4. +[ ] Language Modules
5. +[ ] jConnect for JDBC
6. [ ] Shared
7. +[ ] Sybase Software Asset Management
8. +[ ] Sybase Unified Agent
9. +[x] ASE Administration Tools
Other options:
0. Continue installing
Enter command [0]
Дождаться окончания копирования файлов:
Installing Sybase Adaptive Server Enterprise. Please wait...
|-----------|-----------|-----------|------------|
0% 25% 50% 75% 100%
|||||||||||||||||||||||||||||||
Отказаться от конфигурирования " email alerts"
Отказаться от конфигурирования всех серверов:
[ ] 1 - Configure new Adaptive Server
[ ] 2 - Configure new Backup Server
[ ] 3 - Configure new Monitor Server
[ ] 4 - Configure new XP Server
Работа программы setup на этом завершается.
Построение SQL-сервера
Создать файл NP.rs с таким содержанием:
sybinit.release_directory: USE_DEFAULT
sybinit.product: sqlsrv
sqlsrv.server_name: NP
sqlsrv.new_config: yes
sqlsrv.do_add_server: yes
sqlsrv.network_protocol_list: tcp
sqlsrv.network_hostname_list: localhost
sqlsrv.network_port_list: 5100
sqlsrv.server_page_size: 4K
sqlsrv.force_buildmaster: yes
sqlsrv.master_device_physical_name: /home/npsyb/data/master.dat
sqlsrv.master_device_size: USE_DEFAULT
sqlsrv.master_database_size: USE_DEFAULT
sqlsrv.errorlog: /home/npsyb/NP.log
sqlsrv.do_upgrade: no
sqlsrv.sybsystemprocs_device_physical_name: /home/npsyb/data/sybsystemprocs.dat
sqlsrv.sybsystemprocs_device_size: USE_DEFAULT
sqlsrv.sybsystemprocs_database_size: USE_DEFAULT
sqlsrv.sybsystemdb_device_physical_name: /home/npsyb/data/sybsystemdb.dat
sqlsrv.sybsystemdb_device_size: USE_DEFAULT
sqlsrv.sybsystemdb_database_size: USE_DEFAULT
sqlsrv.default_backup_server: NP_BS
sqlsrv.addl_cmdline_parameters:
Выполнить команды:
. /home/npsyb/SYBASE.sh
export LD_POINTER_GUARD=1
srvbuildres -r NP.rs
Если ошибок нет, то должно быть выдано следующее:
Warning: Unable to verify /dev/raw/raw1 device size. Please verify that this
device is not already in use and that it has sufficient space available.
Building Adaptive Server 'NP':
Writing entry into directory services...
Directory services entry complete.
Building master device...
Master device complete.
Writing RUN_NP file...
RUN_NP file complete.
Starting server...
Server started.
Building sysprocs device and sybsystemprocs database...
sysprocs device and sybsystemprocs database created.
Running installmaster script to install system stored procedures...
installmaster: 10% complete.
installmaster: 20% complete.
installmaster: 30% complete.
installmaster: 40% complete.
installmaster: 50% complete.
installmaster: 60% complete.
installmaster: 70% complete.
installmaster: 80% complete.
installmaster: 90% complete.
installmaster: 100% complete.
installmaster script complete.
Creating two-phase commit database...
Two phase commit database complete.
Installing common character sets (Code Page 437, Code Page 850, ISO Latin-1,
Macintosh and HP Roman-8)...
Character sets installed.
Setting server name in Adaptive Server...
Server name added.
Server 'NP' was successfully created.
Построение Backup-сервера.
Создать файл NP_BS.rs с таким содержанием:
sybinit.release_directory: USE_DEFAULT
sybinit.product: bsrv
bsrv.server_name: NP_BS
bsrv.new_config: yes
bsrv.do_add_backup_server: yes
bsrv.do_upgrade: no
bsrv.network_protocol_list: tcp
bsrv.network_hostname_list: localhost
bsrv.network_port_list: 5101
bsrv.language: USE_DEFAULT
bsrv.character_set: USE_DEFAULT
bsrv.tape_config_file: USE_DEFAULT
bsrv.errorlog: /home/npsyb/NP_BS.log
sqlsrv.related_sqlsrvr: NP
sqlsrv.sa_login: sa
sqlsrv.sa_password: USE_DEFAULT
bsrv.addl_cmdline_parameters:
Выполнить команду:
srvbuildres -r NP_BS.rs
Если ошибок нет, должно быть выдано следующее:
Building Backup Server 'NP_BS':
Writing entry into directory services...
Directory services entry complete.
Writing RUN_NP_BS file...
RUN_NP_BS file complete.
Starting server...
Server started.
Server 'NP_BS' was successfully created.
В конец файла ~/.profile вставить строки:
export LD_POINTER_GUARD=1 . ~/SYBASE.sh
ВНИМАНИЕ! Не забывайте набирать точку в начале второй команды! Между точкой и символом ~ обязательно должен быть пробел!
Выйти и заново войти пользователем npsyb
Загрузить набор символов в SQL-сервер:
charset -Usa -P -SNP binary.srt cp866
Убедиться в успехе:
Loading file 'binary.srt'.
Found a [sortorder] section.
This is Class-1 sort order.
Finished loading the Character Set Definition.
Finished loading file 'binary.srt'.
1 sort order loaded successfully
Запустить isql:
isql -Usa -P -SNP
И выполнить там команды:
1> sp_configure "default character set id", 52
2> go
1> sp_configure "default sortorder id", 50
2> go
1> checkpoint
2> go
В секции [linux] файла $SYBASE/locales/locales.dat необходимо добавить строку:
locale = rus, us_english, cp866
В этой же секции строка с locale = default должна иметь вид:
locale = default, us_english, cp866
В каталоге /home/npsyb создать скрипт run:
#!/bin/sh
cd $HOME
. SYBASE.sh
$SYBASE/$SYBASE_ASE/install/startserver -f $SYBASE/$SYBASE_ASE/install/RUN_NP >run.log 2>&1
$SYBASE/$SYBASE_ASE/install/startserver -f $SYBASE/$SYBASE_ASE/install/RUN_NP_BS >run.log 2>&1
sleep 5
Сделать: chmod +x run
Отредактировать файл /home/npsyb/ASE-15_0/install/RUN_NP (в него надо вставить строку, выделенную жирным шрифтом:
#!/bin/sh
#
# ASE page size (KB): 4K
# Master device path: /home/npsyb/data/master.dat
# Error log path: /home/npsyb/NP.log
# Configuration file path: /home/npsyb/ASE-15_0/NP.cfg
# Directory for shared memory files: /home/npsyb/ASE-15_0
# Adaptive Server name: NP
#
export LD_POINTER_GUARD=1
/home/npsyb/ASE-15_0/bin/dataserver \
-d/home/npsyb/data/master.dat \
-e/home/npsyb/NP.log \
-c/home/npsyb/ASE-15_0/NP.cfg \
-M/home/npsyb/ASE-15_0 \
-sNP
Отредактировать файл /home/npsyb/ASE-15_0/install/RUN_NP_BS (в него надо вставить строку, выделенную жирным шрифтом):
#!/bin/sh
#
# Error log path: /home/npsyb/NP_BS.log
# Maximum number of network connections: 25
# Maximum number of server connections: 20
# Multibuf executable path: /home/npsyb/ASE-15_0/bin/sybmultbuf
# Backup Server name: NP_BS
#
export LD_POINTER_GUARD=1
/home/npsyb/ASE-15_0/bin/backupserver \
-e/home/npsyb/NP_BS.log \
-N25 \
-C20 \
-M/home/npsyb/ASE-15_0/bin/sybmultbuf \
-SNP_BS
Перезагрузить сервер.
После перезагрузки убедиться, что SQL-сервер и backup-сервер запустились нормально (showserver должна показать два процесса - dataserver и backupserver).
После первой перезагрузки SQL-сервер может не запуститься из-за того, что нами был изменен его character set. При этом он перестраивает свои системные таблицы и завершает работу. Если это так, то перегрузить сервер еще раз и убедиться, что теперь нормально запустились SQL- и backup-сервера.
5.5.1Установка параметров конфигурации SQL-сервера.
Определить точное имя и местоположение файла конфигурации SQL-сервера. Для этого нужно посмотреть файл $SYBASE/$SYBASE_ASE/install/RUN_NP. В этом скрипте полный путь к файлу конфигурации должен быть в строке "# Configuration file path:" и этот же путь должен быть указан в параметре -c команды запуска dataserver.
В файле конфигурации SQL-сервера установить значения параметров, указанные в таблице в разделе 5.1. Значения параметров, которые отсутствуют в таблице, нужно оставить без изменений.
Запустить SQL-сервер и убедиться, что он успешно запустился.
5.5.2Размещение базы tempdb.
Для базы данных tempdb создаются два устройства - tempdb_data (данные) и temdb_log (журнал) одинакового размера. При выборе размера нужно учитывать ограничение на суммарный размер устройств, накладываемое ASE в выбранной редакции (например, 5Gb в ASE Express Edition). Затем эти устройства добавляются в базу данных tempdb, а устройство master из базы tempdb убирается. Для этого нужно создать скрипт tempdb.sql.
Пример скрипта, выполняющего эти действия (в примере размер устройств – по 400 Мб, рекомендуемые для редакции ASE Express Edition):
disk init name='tempdb_data', physname='/home/npsyb/data/tempdb_data.dat', size="400M", dsync="false"
go
disk init name='tempdb_log', physname='/home/npsyb/data/tempdb_log.dat', size="400M", dsync="false"
go
alter database tempdb
on tempdb_data='400M'
log on tempdb_log='400M'
go
use tempdb
go
sp_dropsegment "default", tempdb, master
go
sp_dropsegment "system", tempdb, master
go
sp_dropsegment "logsegment", tempdb, master
go
Скрипт нужно выполнить при помощи команды:
isql -Usa -P -SNP
6Развертывание дистрибутива СП.
Файл .profile в домашнем каталоге СП должен содержать команды:
export PATH=$PATH:$HOME/bin
. ~npsyb/SYBASE.sh
Развернуть дистрибутив СП в его домашнем каталоге:
gzip –d np.NNN.tar.gz
tar xvf np.NNN.tar
Если это первая установка, то выполнить команду:
cp symgr.ini.new symgr.ini
7Создание устройства sydata и базы данных np.
Если ASE устанавливался из оригинального дистрибутива, то нужно создать устройства и базу данных np. При установке ASE из готового образа устройства и база данных уже созданы заранее (база данных при этом пустая).
Для Express-редакции Sybase ASE рекомендуемые размеры сегментов базы:
(Эти размеры указаны в файле symgr.ini.new)
От имени пользователя np из его домашнего каталога создать устройства для хранения базы данных np:
symgr –createdev NP npdata /home/npsyb/data/npdata.dat 3072M
symgr –createdev NP nplog /home/npsyb/data/nplog.dat 1024M
Для создания базы np необходимо выполнить команду из домашнего каталога СП:
symgr –create np
(для ее выполнения необходим правильный файл symgr.ini)
Проверить наличие и размер базы:
symgr -show np
symgr: 25 14:03:32: Show database...
symgr: 25 14:03:32: Source database: NP:np
symgr: 25 14:03:33: start size free vstart type device
symgr: 25 14:03:33: -----------------------------------------------------
symgr: 25 14:03:33: 0 786432 782540 56295424 SD sydata
symgr: 25 14:03:33: 786432 262144 - 57868288 L sydata
symgr: 25 14:03:33: -----------------------------------------------------
symgr: 25 14:03:33: total database size: 1048576 pages (4096.0 Mb)
symgr: 25 14:03:33: total data segment size: 786432 pages (3072.0 Mb)
symgr: 25 14:03:33: free data: 782540 pages (3056.8 Mb)
symgr: 25 14:03:33: total log segment size: 262144 pages (1024.0 Mb)
symgr: 25 14:03:33: rsrved for rollback log: 0 pages (0.0 Mb)
symgr: 25 14:03:33: free log: 261119 pages (1020.0 Mb)
Установить опции базы данных np при помощи команды:
defdbopt np
Проверить опции базы данных при помощи команды
symgr –dbopt np
Опции должны быть такие:
symgr: 3 13:17:40: abort tran on log full 1
symgr: 3 13:17:40: allow nulls by default 1
symgr: 3 13:17:40: async log service 0
symgr: 3 13:17:40: auto identity 0
symgr: 3 13:17:40: dbo use only 0
symgr: 3 13:17:40: ddl in tran 1
symgr: 3 13:17:40: delayed commit 0
symgr: 3 13:17:40: identity in nonunique index 0
symgr: 3 13:17:40: no chkpt on recovery 0
symgr: 3 13:17:40: no free space acctg 0
symgr: 3 13:17:40: read only 0
symgr: 3 13:17:40: scratch database 0
symgr: 3 13:17:40: select into/bulkcopy/pllsort 1
symgr: 3 13:17:40: single user 0
symgr: 3 13:17:40: trunc log on chkpt 1
symgr: 3 13:17:40: unique auto_identity index 0
После создания базы сохранить ее начальный пустой дамп (он может пригодиться).
symgr –dump np
8Миграция базы с Interbase/SCO.
Миграция базы данных с Interbase на Sybase выполняется под SCO из старого домашнего каталога СП. На этом сервере необходимо либо наличие установленного ранее Sybase SQL Server’а, либо клиентской части Sybase для SCO, которая поставляется вместе с дистрибутивом СП для linux (sybcli.tar.gz).
Установка клиентской части Sybase:
В старом домашнем каталоге СП создать каталог sybcli и развернуть в нем архив sybcli.tar.gz.
В .profile добавить строки:
SYBASE=$HOME/sybcli
export SYBASE
Выйти и снова войти
Миграция:
При помощи программы install/sybinit прописать в файле interfaces новый сервер Sybase ASE. Это нужно делать либо от имени пользователя sybase (при наличии на сервере установленного ранее SQL-сервера) либо от имени пользователя СП в каталоге $HOME/sybcli (после установки клиентской части Sybase).
Остановить сетевой процессор на SCO
на SCO прогнать на базе np.gdb два скрипта из дистрибутива СП (из каталога dbase/ib2sy):
dbmgr dbase/np.gdb –ds pre01.sql
dbmgr dbase/np.gdb –ds pre02.sql
скопировать на SCO программу migrator.sco из дистрибутива СП (из каталога bin).
скопировать на SCO файл migrator.ini из дистрибутива СП.
вписать в migrator.ini пути к базам Interbase и Sybase (параметры interbase и sybase соответственно).
выполнить миграцию базы путем последовательного выполнения команд:
migrator –extract np
migrator –compile np
migrator –execute np
migrator –plan np
migrator –migrate np
Если на каком-то шаге возникает ошибка – остановиться и связаться с сотрудниками ТАИС.
После завершения миграции на линуксе выполнить скрипт на новой сайбейзовской базе:
sdbmgr сервер:база –ds dbase/ib2sy/post01.sql
9Создание «начальной» базы.
В случае, когда не требуется переносить базу СП с Интербейза, можно запустить СП «с нуля». Для этого в составе дистрибутива имеется «начальный» образ базы данных.
Для его загрузки необходимо:
Сама база данных уже должна существовать и быть пустой (в ней не должно быть таблиц).
перейти в каталог dbstart
запустить команду: dbcopy load
10Запуск np на linux.
Перед первым запуском np на linux. Необходимо создать файл np.ini.
В качестве образца можно использовать файл np.ini.new из дистрибутива.
Можно также использовать старый файл с SCO.
В нем надо изменить:
список процессов (параметр processes в секции [kernel]) – убрать s23guard
параметры для подключения к базе данных (секция [Database])
параметры ночного пакета Daily – (содержимое всей секции [Daily]) надо взять из np.ini.new.
Запуск СП производится скриптом run.
Остановка – командой np stop.
|