Администратор писал(а):
Не могли бы вы описать поподробнее что нужно сделать в итоге для запуска системы под Solaris? У нас пока нет своих специалистов по данной платформе, а поддержать ее более комфортно очень бы хотелось.
Конечно, для начала опишу, что есть, чтобы было больше информации:
В качестве платформы использовал последнюю из ныне существующих Solaris 10:
Цитата:
Solaris 10 11/06 s10x_u3wos_10 X86
Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 14 November 2006
Да работы билинга, необходимы пакеты:
Цитата:
system SUNWj5dev JDK 5.0 Dev. Tools (1.5.0_11)
system SUNWj5rt JDK 5.0 Runtime Env. (1.5.0_11)
system SUNWbash GNU Bourne-Again shell (bash)
application CSWmysql5 mysql5 - MySQL 5 database management system - server files
application CSWmysql5client mysql5client - MySQL 5 database client executables
application CSWmysql5rt mysql5rt - run-time libraries for mysql5
Поскольку в Solaris 10, при установке bash, он не заменяет собой, как в Linux,- sh, то во всех shell скриптах, билинга или радиуса, нужно изменить путь к шеллу:
Цитата:
#!/usr/bin/bash
Стандартный путь к JDK5 в Solaris будет выглядеть так:
Цитата:
JAVA_HOME=/usr/jdk/instances/jdk1.5.0
Далее, поскольку на данный момент Solaris использует новую систему запуска и отслеживания состояния работы сервисов, - SMF, то желательно использовать её, для этого я создал пока простенькие SMF манифесты, я их доработаю, и размещу в этой теме, вот первый их вариант:
Сначала идут наши методы, которые мы положим в
/lib/svc/method, сообсно три наших метода для bgbilling, bgdataloader, bgscheduler
Код:
#!/bin/sh
. /lib/svc/share/smf_include.sh
SERVER_HOME=/bgbilling
case "$1" in
start)
$SERVER_HOME/server_start.sh
;;
stop)
$SERVER_HOME/server_stop.sh
;;
restart)
$SERVER_HOME/server_stop.sh
$SERVER_HOME/server_start.sh
;;
*)
echo "Usage: $0 start | stop | restart" >&2
exit 1
;;
esac
Код:
#!/bin/sh
. /lib/svc/share/smf_include.sh
SERVER_HOME=/bgbilling
case "$1" in
start)
$SERVER_HOME/data_loader_start.sh
;;
stop)
$SERVER_HOME/data_loader_stop.sh
;;
*)
echo "Usage: $0 start | stop" >&2
exit 1
;;
esac
Код:
#!/bin/sh
. /lib/svc/share/smf_include.sh
SERVER_HOME=/bgbilling
case "$1" in
start)
$SERVER_HOME/scheduler_start.sh
;;
stop)
$SERVER_HOME/scheduler_stop.sh
;;
restart)
$SERVER_HOME/scheduler_stop.sh
$SERVER_HOME/scheduler_start.sh
;;
*)
echo "Usage: $0 start | stop | restart" >&2
exit 1
;;
esac
Теперь, перейдём к нашим манифестам, я для расположения манифестов зделал дополнительный раздел, куда их и импортировал в последствии, для этого в
/var/svc/manifest/application, создаём папку billing, в ней будут лежать наши манифесты:
Сообсно манифесты для bgbilling.xml, bgdataloder.xml, bgscheduler.xml, импортировать их нужно командой
svccfg import manifest_nameКод:
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
Copyright 2007 Z][ANSWER. All rights reserved.
Use is subject to license terms.
ident "@(#)bgbilling.xml 1.1 07/06/03 SMI"
Service manifest for bgbilling
-->
<service_bundle type='manifest' name='bgbilling:bgbiling'>
<service
name='application/billing/bgbilling'
type='service'
version='1'>
<create_default_instance enabled='false' />
<exec_method
type='method'
name='start'
exec='/lib/svc/method/bgbilling start'
timeout_seconds='60'>
</exec_method>
<exec_method
type='method'
name='stop'
exec='/lib/svc/method/bgbilling stop'
timeout_seconds='60'>
</exec_method>
<exec_method
type='method'
name='refresh'
exec='/lib/svc/method/bgbilling restart'
timeout_seconds='60'>
</exec_method>
<stability value='Evolving' />
<template>
<common_name>
<loctext xml:lang='C'>
BG-Billing Server
</loctext>
</common_name>
<documentation>
<doc_link name='bg-billing-bitel.ru'
uri='http://bg-billing.bitel.ru' />
</documentation>
</template>
</service>
</service_bundle>
Код:
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
Copyright 2007 Z][ANSWER. All rights reserved.
Use is subject to license terms.
ident "@(#)bgdataloader.xml 1.1 07/06/03 SMI"
Service manifest for bgdataloader
-->
<service_bundle type='manifest' name='bgbilling:bgdataloader'>
<service
name='application/billing/bgdataloader'
type='service'
version='1'>
<create_default_instance enabled='false' />
<exec_method
type='method'
name='start'
exec='/lib/svc/method/bgdataloader start'
timeout_seconds='60'>
</exec_method>
<exec_method
type='method'
name='stop'
exec='/lib/svc/method/bgdataloader stop'
timeout_seconds='60'>
</exec_method>
<exec_method
type='method'
name='refresh'
exec='/lib/svc/method/bgdataloader restart'
timeout_seconds='60'>
</exec_method>
<stability value='Evolving' />
<template>
<common_name>
<loctext xml:lang='C'>
BG-Billing DataLoader
</loctext>
</common_name>
<documentation>
<doc_link name='bg-billing-bitel.ru'
uri='http://bg-billing.bitel.ru' />
</documentation>
</template>
</service>
</service_bundle>
Код:
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
Copyright 2007 Z][ANSWER. All rights reserved.
Use is subject to license terms.
ident "@(#)bgscheduler.xml 1.1 07/06/03 SMI"
Service manifest for bgcsheduler
-->
<service_bundle type='manifest' name='bgbilling:bgscheduler'>
<service
name='application/billing/bgscheduler'
type='service'
version='1'>
<create_default_instance enabled='false' />
<exec_method
type='method'
name='start'
exec='/lib/svc/method/bgscheduler start'
timeout_seconds='60'>
</exec_method>
<exec_method
type='method'
name='stop'
exec='/lib/svc/method/bgscheduler stop'
timeout_seconds='60'>
</exec_method>
<exec_method
type='method'
name='refresh'
exec='/lib/svc/method/bgscheduler restart'
timeout_seconds='60'>
</exec_method>
<stability value='Evolving' />
<template>
<common_name>
<loctext xml:lang='C'>
BG-Billing Scheduler
</loctext>
</common_name>
<documentation>
<doc_link name='bg-billing-bitel.ru'
uri='http://bg-billing.bitel.ru' />
</documentation>
</template>
</service>
</service_bundle>
Вот сообсно и всё, что понадобилось для комфортного запуска и останова билинга, с мониторингом состояния его работы через SMF, я буду ещё улучьшать манифесты, по мере использования Вашего билинга, и буду тогда сюда вылаживать новые их версии, которые будут проверять запущена ли база данных, смонтированы ли файловые системы необходимые для работы билинга, так как у меня например билинг на ZFS, пока всё, если что-то интересует, то в инфе у меня есть ICQ, пишите, отвечу...