Solaris就事经管东西 SMF疾速入门指南(1)
作者: FOXL 情由:51CTO论坛清算
阅读提示:已往,UNIX 操纵琐屑包括一组就事:这些就事是与任何交互式用户登录都不接洽关系的软件法子,用于侦听和呼应请求以实行特定的使命(如传送电子邮件、呼应 ftp 请求,可以或应许实行近程呼吁)。
已往,UNIX 操纵琐屑包括一组就事:这些就事是与任何交互式用户登录都不接洽关系的软件法子,用于侦听和呼应请求以实行特定的使命(如传送电子邮件、呼应 ftp 请求,可以或应许实行近程呼吁)。这些传统就事往常是一些单独的运用法子,它们作为单个历程实行,在琐屑指导时启动,并在琐屑启动和运转时继承实行,可措置惩罚给与到的任何请求。
此刻,经管员必需经管一系列就事,这些就事的作用已经凌驾了此原始模子的作用范畴。Sun 推出了 Service Management Facility(SMF,就事经管东西),以简化这些琐屑就事的经管。SMF 是 Solaris 操纵琐屑的一项新功能,为每个 Solaris 琐屑上的就事和就事经管建立支撑的、一致的模子。它是 Solaris 10 中猜测性自我修复技能的中心部门,为软件和硬件障碍以及经管错误供应自动规复功能。
在本指南中,我们将介绍 SMF 的功能及劣势,指出 Solaris 中显著更新的部门,并声明如何运用 SMF 完成典型的经管使命。可以在 Sun 的 BigAdmin Web 站点上找到 SMF 及猜测性自我修复功能的仔细指南。
功能
Service Management Facility 已经改进了 Solaris 经管模子的几个方面。一些最显著的更新包括:
◆ 就事由可以终止检查(运用新的 svcs(1) 呼吁)和经管(运用 svcadm(1M) 和 svccfg(1M))的一级东西显示。
◆ 无论失落败的就事是由经管员错误、软件错误招致,照样受无法改正的硬件错误的影响,这些就事都将按摄影关性顺序自动从新启动。
◆ 可以获取有关设置配备陈设错误或举动异常的就事的仔细信息,包括对就事未运转的缘由的声明(运用 "svcs -x"),以及每个就事单独的历久性日记文件。
◆ 指导历程中出现的功能比较等闲调试,因为在启动障碍期间可以控制指导仔细程度,记载就事启消息态,以及供应更坚实的控制台接见。
◆ 自动拍摄就事设置配备陈设快照,从而更等闲备份、规复和除失落对就事所做的更改。
◆ 可以运用受支撑的东西 (svcadm(1M)) 启用和禁用就事,从而承诺更改不受晋级和修补法子的影响而保管原样。
◆ 经管员可以更等闲地将使命安适地委派给非超级用户,这些使命包括设置配备陈设、启动、终止或从新启动就事(如 smf_security(5) 手书页中所述)。
◆ 凭据就事的相关性并行启动就事,可以更快地指导大型琐屑。
固然终止了上述更改,但最大程度地保管了与现有经管习俗的兼容性。比方,大多半站点外地的 "rc" 脚本和 ISV 供应的 "rc" 脚本仍将无效。
显著的更改
SMF 供应的大多半新功能都在“背景”任务,或颠末议定新呼吁终止接见;但某些更改仍会很快表现出来。以下表现了个中的一些更改。
在早期版本的 Solaris 中,大量输出将在指导期间打印到琐屑控制台。固然这些静态对所发作的状况终止了比较深入的论述,但在某些方面并不异常有用。多半就事可以或许会打印静态,注解它们已联机,而很多其他就事则不打印静态。某些障碍体例也可以或许会打印一些静态(如 "WARNING:Timed out waiting for NIS to come up"),这些静态并不克不及赞助诊断底子功能。错误静态无意直接打印到控制台,但不会在任何日记中表现。
此刻,指导历程中表现的静态精简了很多。以下是在 SMF 下指导时盘算机所表现内容的示例:
SunOS Release 5.10 Version Generic 64-bit
Copyright 1983-2004 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: demobox
NIS domain name is testlab.example.com
checking ufs filesystems
demobox console login:
固然打印的静态变少了,但 SMF 使得指导历程加倍明晰。每个就事在 /var/svc/log 目录(关于在单个用户的重大事宜之前启动的就事,则为 /etc/svc/volatile 目录)中都有一个日记文件,指出就事启动的时间和方式、可否乐成启动,以及在初始化期间可以或许打印的扫数静态。假设在指导期间发作严肃功能,则您可以在维护体例下登录到控制台,并可运用 svcs(1) 呼吁赞助诊断此功能。即使功能招致指导挂起(如上面提到的 NIS 障碍)时也是云云。最初,新的 "-m" 指导选项(请拜见 kernel(1M))承诺您将指导历程设置配备陈设得加倍仔细,可以在每个就事启动时打印一条重大静态。
您可以或许还会仔细到,克制历程后进程会“拒绝克制”。比方:
# ps -fp `pgrep -d, sendmail`
UID PID PPID C STIME TTY TIME CMD
root 330 1 0 14:21:05 ? 0:00 /usr/lib/sendmail -bd -q15m
smmsp 331 1 0 14:21:05 ? 0:00 /usr/lib/sendmail -Ac -q15m
# pkill -9 sendmail
# ps -fp `pgrep -d, sendmail`
UID PID PPID C STIME TTY TIME CMD
root 530 1 0 14:51:02 ? 0:00 /usr/lib/sendmail -bd -q15m
smmsp 531 1 0 14:51:02 ? 0:00 /usr/lib/sendmail -Ac -q15m
初看起来,固然运用了 kill -9,却似乎没有发作任何状况。然则请仔细,PID 是不合的,而且历程的启动时间已经更改;事实上,旧的 sendmail 历程确实已经克制。
颠末议定 SMF,Solaris 内核可以考虑就事、此就事的历程和其他就事(担当从新启动此就事)之间的关系。此从新启动关系与 Sun 的新技能严鳞集成,用于在 Solaris 上终止障碍经管,从而承诺 SMF 从新启动法子领会就事历程失落败的缘由是经管员错误、相关就事障碍、软件错误照样底子的硬件障碍。只需在任何就事障碍之后捕获到此信息,SMF 就会关摄影应的从新启动法子,该法子将确定是颠末议定将此就事置于维护体例来禁用就事(因为它看起来存在功能),照样自动从新启动该就事。缺省的 SMF 从新启动法子 svc.startd 担当启动和从新启动 Solaris 琐屑上的大多半就事。在以上示例中,svc.startd 仔细到 sendmail 已克制,针对此状况记载了一条静态,并自动从新启动 sendmail。
假设您要终止某个就事但不从新启动其历程,请运用 svcadm(1M) 呼吁(请拜见以下“常规使命”部门)。其他请仔细,并非扫数的琐屑就事都已转为运用 SMF;属于这些传统就事的任何历程在克制后都不会从新启动。
最初您可以或许会仔细到,与畴前的 Solaris 刊行版比拟,/etc/init.d 和 /etc/rc◆.d 目录以及 /etc/inittab 文件中的内容此刻要少得多。SMF 经管的就事不再运用 rc 脚本或 inittab 条目终止启动和封闭,是以与这些就事对应的脚本已被删除。在未来的 Solaris 刊行版中,SMF 将经管更多的就事,而且这些目录中的内容将会越来越少。用于经管 ISV 供应或外地开辟的就事的 rc 脚本和 inittab 条目将继承在指导时运转。与推出 SMF 之前的状况不合,这些就事可以或许不会在指导历程中的同临时辰运转,但肯定不会在指导历程之前运转,是以其非理解理睬依靠的任何就事仍将可用。
就事称号
Solaris 运用称为 FMRI(Fault Managed Resource Identifier,障碍经管本钱标识符)的 URI 字符串来标识为其供应了初级障碍和本钱经管功能的琐屑东西。SMF 所经管的就事被分派了前缀为方案称号 "svc" 的 FMRI 字符串,如以下的 Solaris 就事 syslogd(1M) 示例所示:
◆ svc://localhost/system/system-log:default
◆ svc:/system/system-log:default
◆ system/system-log:default
请仔细,SMF 所运用的这些就事 FMRI 有以下三种显示方式:第一种是包括职位途径(如 "localhost")的绝对途径;第二种是相关于外地盘算机的途径;第三种仅仅是省略了字符串前缀的就事标识符。本文档其他部门所介绍的 SMF 经管员东西往常运用第三种体例来描画就事(因为假定这些就事作用于外地就事)。可在多种本钱上或跨盘算机操纵的其他经管东西可以或许运用其他体例来描画就事。当前 Solaris 刊行版中的 SMF 东西只能经管当田主机上的就事。
因为 FMRI 字符串异常长,是以 SMF 东西承诺运用缩写体例的 FMRI。缩写必需具有独一性,必需与就事称号的扫尾部门相婚配(但 ":default" 可以省略),而且必需以 "/" 扫尾。是以上述 FMRI 可以运用以下缩写:
◆ system-log:default
◆ system-log
运用这些缩写时应异常稳重,因为可以或许会在包括沟通子串的某一点添加新就事(如 "svc:/mysite/system-log:default")。假设运用非独一的缩写,SMF 东西将打印申饬静态。
Solaris 琐屑就事的 FMRI 包括一样平常功能类别,如“运用法子”、“重大事宜”、“集合”、“平台”和“琐屑”,以及与就事的警戒历程或旧的 rc 脚本称号相反的描画性称号。svcs(1) 呼吁将列出盘算机上可用的扫数举动就事:
% svcs
STATE STIME FMRI
...
online 11:19:35 svc:/network/nfs/status:default
offline 18:20:30 svc:/application/print/rfc1179:default
maintenance 18:20:26 svc:/network/ntp:default
因为就事此刻是一级东西,是以 SMF 甚至可以颠末议定运用 svcs(1) 呼吁的 "-a" 选项供应有关未启用的就事的信息。
版权声明:
原创作品,承诺转载,转载时请务必以超链接体例标明文章 原始情由 、作者信息和本声明。否则将深究司法责任。