Solaris’in önceki sürümlerinde bir servisi açıp/kapamak için diğer çoğu UNIX dağıtımlarında olduğu gibi /etc/init.d altındaki scriptler kullanılırdı. Solaris 10 ile birlikte buna ek olarak Service Management Facility (SMF) adı verilen bir yöntem geldi.
Açık servisleri listelemek için svcs komutu verilir. –a parametresi verilirse aktif/pasif tüm servisler listenir.
# svcs
STATE STIME FMRI
legacy_run 16:40:13 lrc:/etc/rcS_d/S50sk98sol
legacy_run 16:41:47 lrc:/etc/rc2_d/S10
lulegacy_run 16:41:55 lrc:/etc/rc2_d/S20sysetup
legacy_run 16:41:56 lrc:/etc/rc2_d/S40llc2
legacy_run 16:41:57 lrc:/etc/rc2_d/S42ncakmod
legacy_run 16:41:58 lrc:/etc/rc2_d/S47pppd
legacy_run 16:41:58 lrc:/etc/rc2_d/S70uucp
legacy_run 16:41:59 lrc:/etc/rc2_d/S72autoinstall
legacy_run 16:42:00 lrc:/etc/rc2_d/S73cachefs_daemon
legacy_run 16:42:01 lrc:/etc/rc2_d/S81dodatadm_udaplt
legacy_run 16:42:01 lrc:/etc/rc2_d/S89PRESERVE
legacy_run 16:42:01 lrc:/etc/rc2_d/S94ncalogd
legacy_run 16:42:02 lrc:/etc/rc2_d/S98deallocate
online 16:37:38 svc:/system/svc/restarter:default
online 16:37:43 svc:/network/pfil:default
online 16:37:44 svc:/network/tnctl:default
online 16:37:45 svc:/network/loopback:default
online 16:37:45 svc:/system/filesystem/root:default
online 16:38:00 svc:/system/scheduler:default
online 16:38:07 svc:/system/boot-archive:default
online 16:38:07 svc:/system/installupdates:default
…
svcs –p parametresi ile ilgili servisin çalışan prosesleri hakkında bilgi alınabilir.
# svcs -p network/smtp:sendmail
STATE STIME FMRI
online 16:41:43 svc:/network/smtp:sendmail
16:41:43 550 sendmail
16:41:43 555 sendmail
# ps -fp 550,555
UID PID PPID C STIME TTY TIME CMD
smmsp 550 1 0 16:41:43 ? 0:00 /usr/lib/sendmail -Ac -q15m
root 555 1 0 16:41:44 ? 0:01 /usr/lib/sendmail -bd -q15m
-d parametresi ile ilgili servisin bağımlı olduğu servisleri, -D ile de bu servise bağımlılığı olan servisleri görebilirsiniz. –l parametresi ile ise belirtilen servisle ilgili detaylı bilgi alınabilir.
# svcs -d network/smtp:sendmail
STATE STIME FMRI
online 16:40:10 svc:/system/identity:domain
online 16:40:15 svc:/system/filesystem/local:default
online 16:40:18 svc:/network/service:default
online 16:40:19 svc:/milestone/name-services:default
online 16:41:30 svc:/system/filesystem/autofs:default
online 16:41:39 svc:/system/system-log:default
# svcs -D network/smtp:sendmail
STATE STIME FMRI
online 16:42:03 svc:/milestone/multi-user:default
# svcs ssh
STATE STIME FMRI
online 16:41:32 svc:/network/ssh:default
# svcs -l ssh
fmri svc:/network/ssh:default
name SSH server
enabled true
state online
next_state none
state_time January 2, 2010 4:41:32 PM EET
logfile /var/svc/log/network-ssh:default.log
restarter svc:/system/svc/restarter:default
contract_id 64
dependency require_all/none svc:/system/filesystem/local (online)
dependency optional_all/none svc:/system/filesystem/autofs (online)
dependency require_all/none svc:/network/loopback (online)
dependency require_all/none svc:/network/physical (online)
dependency require_all/none svc:/system/cryptosvc (online)
dependency require_all/none svc:/system/utmp (online)
dependency require_all/restart file://localhost/etc/ssh/sshd_config (online)
1.1.1 SMF Çalışma mantığı
SMF ile çalıştırılan her bir servis için ayrı bir xml yapılandırma dosyası vardır. Bu dosyalar /var/svc/manifest/ altında tutulmaktadır. Örneğin ssh servisinin FMRI(Fault Management Resource Identifier) yukarıda svc:/network/ssh olarak gözükmektedir. Bu servisin yapılandırma dosyası /var/svc/manifest/network/ altındaki ssh.xml dosyasıdır.
# more /var/svc/manifest/network/ssh.xml
<?xml version=”1.0″?>
<!DOCTYPE service_bundle SYSTEM “/usr/share/lib/xml/dtd/service_bundle.dtd.1″>
<!–
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
ident “@(#)ssh.xml 1.7 04/12/09 SMI”
NOTE: This service manifest is not editable; its contents will
be overwritten by package or patch operations, including
operating system upgrade. Make customizations in a different
file.
–>
<service_bundle type=’manifest’ name=’SUNWsshdr:ssh’>
<service
name=’network/ssh’
type=’service’
version=’1′>
<create_default_instance enabled=’false’ />
<single_instance />
<dependency name=’fs-local’
grouping=’require_all’
restart_on=’none’
type=’service’>
<service_fmri
value=’svc:/system/filesystem/local’ />
</dependency>
…
<exec_method
type=’method’
name=’start’
exec=’/lib/svc/method/sshd start’
timeout_seconds=’60′/>

0 Response to “Solaris 10 ve SMC ile Servis Yönetimi”