作者: FOXL 来由:51CTO论坛料理整理
常例义务
SMF 是 Solaris 中一项格外显著的改不都雅,因为它影响了料理模型。因而,虽然我们激劝您阅读有关 SMF 下场的注意信息(请拜见以下“注意信息”部门),但您大约还是但愿从进修怎样实施一些常例体系料理义务入手下手。
◆启用和禁用供职
在 Solaris 10 之前的版本中,没有一个很好的方法来永久禁用 Solaris 中的供职。常用方法是将相应的 rc 脚本重定名为不再实施的称呼,但在下一次体系晋级后此改不都雅将会生效。此外,基于 inetd 的供职是议决一种完全分比方的方法(即编纂设置装备安排文件)启用和禁用的。在 SMF 下,可以运用 svcadm(1M) 命令设置装备安排这两品种型的供职,并且在计较机晋级后这些改不都雅将连气儿无效。以下是对启用和禁用某些供职的体式款式的角力计较:
--------------------------------------------------------------------------------------------------------
旧方法:mv /etc/rc2.d/S75cron /etc/rc2.d/x.S75cron
SMF 方法:svcadm disable system/cron:default
旧方法:编纂 /etc/inet/inetd.conf,将 finger 行取消注解
SMF 方法:svcadm enable network/finger:default
--------------------------------------------------------------------------------------------------------
在上述示例中,svcadm 的最后一个参数是供职的 FMRI。
请细心,svcadm 仅用于 SMF 供职,由 rc 脚本控制的传统供职与在晚期发行版中的义务体式款式相通。
◆制止、启动和从新启动供职
从前,供职已由引导时运转的 rc 脚本启动,并议决 start 参数运转。一些 rc 脚本供给了 stop 选项,少数 rc 脚本还承诺运用 restart。在 SMF 中,这些义务都是议决 svcadm(1M) 命令完成的:
--------------------------------------------------------------------------------------------------------
旧方法:/etc/init.d/sshd stop
SMF 方法:svcadm disable -t network/ssh:default
旧方法:/etc/init.d/sshd start
SMF 方法:svcadm enable -t network/ssh:default
旧方法:/etc/init.d/sshd stop; /etc/init.d/sshd start
SMF 方法:svcadm restart network/ssh:default
旧方法:kill -HUP `cat /var/run/sshd.pid`
SMF 方法:svcadm refresh network/ssh:default
-----------------------------------------------------------------------------------------------------------
svcadm enable 和 svcadm disable 的 "-t" 选项表示所哀求的操作应该是且自的 (temporary),它不会影响此供本能机能否会在体系下一次引导时启动。这与上述“启用和禁用供职”示例构成了角力计较。
与启用和禁用供职一样,不该该运用 svcadm 控制由 rc 脚本控制的供职;这些供职将不停按晚期发行版中的体式款式义务。
◆窥察引导过程
如“显著的改不都雅”部门所述,在缺省状况下,引导过程与晚期的 Solaris 发行版比拟要精简得多。这样就增长了不能供给有价钱信息的“无用新闻”,这些“无用新闻”大约会招致引导期间爆发的任何实践题目不恣意被发明。
已添加一些新的引导选项,以控制引导的注意程度。您大约会发明一个格外有用的选项 "-m verbose",该选项在每个供职测验测验启动时打印一行信息。这与基于 Unix 和与 Unix 相通的某些其他操作体系的缺省引导体式款式相通。注意的引导过程如下所示:
{1} ok boot -m verbose
Rebooting with command: boot -m verbose
Boot device: /pci@1c,600000/scsi@2/disk@0,0:a File and args: -m verbose
SunOS Release 5.10 Version Generic 64-bit
Copyright 1983-2004 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
[ network/pfil:default starting (pfil) ]
[ network/loopback:default starting (Loopback network interface) ]
[ system/filesystem/root:default starting (Root filesystem mount) ]
Oct 18 13:53:02/13: system start time was Mon Oct 18 13:52:57 2004
[ network/physical:default starting (Physical network interfaces) ]
[ system/filesystem/usr:default starting (/usr and / mounted read/write) ]
( more service messages elided )
[ system/filesystem/local:default starting (Local filesystem mounts) ]
[ network/ntp:default starting (network time protocol (NTP)) ]
[ system/utmp:default starting (utmpx monitoring) ]
[ system/filesystem/local:default starting (Local filesystem mounts) ]
[ system/console-login:default starting (Console login) ]
demobox console login: checking ufs filesystems
/dev/rdsk/c0t0d0s7: is logging.
Oct 18 13:53:14/50: system/system-log:default starting
Oct 18 13:53:14/51: network/inetd:default starting
Oct 18 13:53:14/52: system/cron:default starting
( more service messages elided )
供职启动新闻的按次在每次引导时大约会有所分比方,因为 SMF 将根据供职的相关性干系并行启动这些供职。
假定供职无法乐成启动,则除了打印启动新闻之外,还会打印正告新闻。以下是 NTP 供职无法启动的一个示例:
[ system/filesystem/local:default starting (Local filesystem mounts) ]
[ network/ntp:default starting (network time protocol (NTP)) ]
Oct 25 13:58:42/49 ERROR: svc:/network/ntp:default:
Method "/lib/svc/method/xntp" failed with exit status 96.
Oct 25 13:58:42 svc.startd[4]: svc:/network/ntp:default:
Method "/lib/svc/method/xntp" failed with exit status 96.
[ network/ntp:default misconfigured (see 'svcs -x' for details) ]
[ system/utmp:default starting (utmpx monitoring) ]
( more service messages elided )
前两条错误新闻在正常引导和注意引导期间城市表示;最后一条错误新闻 ("network/ntp:default misconfigured ...") 仅在注意引导期间表示。
◆发明缺点
Solaris 尚未供给一个全面的用于查找体系供职题目的方法。而今存在一些可帮忙捕获并诊断这些题目的措置方案,包括运用 coreadm(1M) 命令记载到特定于站点的监视脚本,以及 Sun Cluster 等综合性产物。新的 svcs(1) 命令包括一个“解释”选项 ("svcs -x"),可打印出有关未运转供职的注意新闻(由措置方案驱动)。svcs -x 将表示供职掉败的时分和缘由,供给获取此题目注意信息的体式款式,并列出受此题目影响的其他供职。
连气儿来看一下无法启动的 NTP 供职的示例:
# svcs -x
svc:/network/ntp:default (Network Time Protocol (NTP).)
State: maintenance since Mon Oct 18 13:58:42 2004
Reason: Start method exited with $SMF_EXIT_ERR_CONFIG.
See: http://sun.com/msg/SMF-8000-KS
See: ntpq(1M)
See: ntpdate(1M)
See: xntpd(1M)
Impact: 0 services are not running.
NTP 供职已被置于维护体式款式,因为启动脚本指示该供职的设置装备安排存在题目。有关供职缺点的注意信息,请拜见 /var/svc/log 目录(或 /etc/svc/volatile 目录)中该供职的日记文件。日记文件名基于冗长体式款式的 FMRI,将 "/" 替换为 "-"。因而,svc:/network/ntp:default 供职的日记文件为 /var/svc/log/network-ntp:default.log。议决此日记文件可以疾速得出结论,即 NTP 捍卫历程的设置装备安排文件 /etc/inet/ntp.conf 已被删除。
以下是另一个示例,表示了 SMF 可以跟踪相关性,并指出与禁用的供职相关的题目。在此示例中,我们运用 "-v" 选项来反省受影响的供职的列表。
# svcs -x -v
svc:/application/print/server:default (LP Print Service)
State: disabled since Mon Oct 18 16:17:27 2004
Reason: Disabled by an administrator.
See: http://sun.com/msg/SMF-8000-05
See: man -M /usr/share/man -s 1M lpsched
Impact: 1 service is not running:
svc:/application/print/rfc1179:default
在以上示例中,已明白禁用了 application/print/server:default 供职,但未禁用依靠于该供职的另一个供职 (application/print/rfc1179:default)。因而,禁用第一个供职已使得第二个供职无法运转。
版权声明:
原创作品,承诺转载,转载时请务必以超链接体式款式标明文章 原始来由 、作者信息和本声明。否则将穷究端方责任。