Tag Archive for 'smc'

Solaris 10 ve SMC ile Servis Yönetimi

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′/>