`

《使用SMF管理Solaris 10系统服务攻略》

阅读更多

一、 监控SMF服务

    1 . 查看所有服务的状态

    使用命令:svcs –a
    图1是JDS桌面环境下的svcs –a 命令的输出。

 

    svcs 命令显示服务实例的状态(STATE)、开始时间(STIME)和 FMRI。每个服务的状态都为下列状态之一:
 degraded-服务实例处于启用状态,但是以有限的功能运行。
 disabled-服务实例处于禁用状态且尚未运行。
 legacy_run-传统服务不由 SMF 进行管理,但是可查看服务。此状态只能由传统服务使用。
 maintenance-服务实例遇到错误,必须由管理员解决。
 offline-服务实例处于启用状态,但是尚未运行或者无法运行。
 online-服务实例处于启用状态,并且已成功启动。
 uninitialized-此状态是所有服务在配置经过读取之前的初始状态。
    svc模式的FMRI表示SMF服务,而lrc模式的FMRI表示旧的基于rc脚本的服务。

    第三列FMRI就是服务名称。上述输出中显示了在Solaris 10中捆绑的Samba、Apache 1.3.x服务名称,由于它们仍然沿用了rc脚本的启动方式,所以它们的名称是以lrc开头的,这类服务无法用svcadm来管理。比如试图运行命令svcadm enable lrc:/etc/rc3_d/S90samba,系统会报错。上述输出中显示了ssh服务的服务名为svc:/network/ssh:default。用FMRI表示的服务名称可以唯一地标识一个服务,但是名称通常都比较冗长,不便记忆。所以SMF允许服务名称的缩写,只要可以唯一标识服务,scheme,instance,category都可以省。所以ssh服务的名称可以简写成ssh。简写的服务名在SMF的命令行工具中都可以使用。以下是常见服务的名称 :

 

    2 查看没有未正常启动的服务

    使用命令:svcs –x
    图2是CDE桌面环境下的svcs –x 命令的输出。

 

    3. 显示由 FMRI 指定的服务的状态报告

    以ssh服务为例:
    svcs -l network/ssh:default
    fmri svc:/network/ssh:default
    名称 SSH server
    启用 是
    状态 online
    next_state none
    state_time 2007年6月24日 21时8分01秒
    logfile /var/svc/log/network-ssh:default.log
    重启程序 svc:/system/svc/restarter:default

 

    4. 显示某个服务所依赖的服务

    以ssh服务为例:

#svcs -d network/ssh:default

 

    5显示依赖于某个服务的其他服务

    以ssh服务为例:

#svcs -D network/ssh:default

 

solaris里由inetd统一管理诸如ftp,telnet等网络服务

可以用 svcs -a | grep ftp 和 svcs -a | grep telnet 命令检查目前两个服务的运行状态

如果返回

disable                          svc:/network/ftpd:default

disable                          svc:/network/telnetd:default

可以执行

svcadm  enable  svc:/network/ftpd:default

svcadm  enable  svc:/network/telnetd:default

启动服务

 

二、 管理SMF服务

    可以使用 RBAC 权利配置文件来允许用户管理某些 SMF 服务,而不必授予用户 root 访问权限。权利配置文件定义用户可以运行哪些命令。

    1 禁用一个服务:telnet

    以前,人们使用telnet这样的工具来进行远程管理unix系统,但是后来由于非法访问者手段的不断提高,telnet被证明为一个不安全的访问方法而遭到无情的抛弃。让人不可思议的是:既然telnet不安全,那sun为何还要默认启动telnet服务。所以需要马上进行关闭这个服务的步骤:

 成为超级用户或承担包括 Service Management 权限配置文件的角色。

 检查要禁用的服务的相关项。

    如果此服务具有所需的相关项,则无法禁用此服务。

 禁用此服务。

    图3是禁用一个服务telnet 的三个命令步骤:
#svcs -D network/telnet:default

#svcs disable telnet

#svcs -D network/telnet:default

 

 第一个命令的输出表明 telnet服务没有相关项。本示例中的第二个命令禁用 telnet服务。第三个命令显示 telnet服务确实处于禁用状态。

    同样的方法关闭rlogin等其他不需要的服务。 

2 启用一个服务

    服务一旦被禁用,其禁用状态将持续到重新引导之后。使服务重新运行的唯一方法就是启用服务。

 成为超级用户或承担包括 Service Management 权限配置文件的角色。

 确定是否满足服务相关性。

    如果服务处于启用状态,则说明满足了服务相关性。否则,请使用 svcadm enable -r FMRI 以递归方式启用所有的相关性。

    # svcs -l FMRI|grep enabled
 启用服务。

    # svcadm enable FMRI
    以rlogin服务为例子。

    图4是启用一个服务rlogin 的三个命令步骤: 

图4是启用一个服务rlogin 的三个命令步骤

    第一个命令的输出说明满足了服务相关性。,第二个命令启用 rlogin 服务。第三个命令显示 rlogin 服务实例处于联机状态。

    3如何重新启动服务

    如果由于配置更改或其他原因而需要重新启动当前正在运行的服务,那么,可以重新启动该服务,而不必键入单独的命令来先停止后启动该服务。只有必须在禁用服务之后、启用服务之前更改配置时,才需要特意地先禁用服务,然后再启用。使用命令:
    # svcadm restart FMRI


    下面是重新启动ssh命令:
    # svcadm restart ssh

 

4 如何恢复处于维护状态的服务

? 成为超级用户或承担包括 Service Management 权限配置文件的角色。

? 确定依赖该服务的任何进程是否已停止。

    说明:通常当某个服务实例处于维护状态时,与该实例相关的所有进程均已停止。但是,您应当在继续操作之前确保这一点。以下命令将列出与某个服务实例相关的所有进程以及这些进程的 PID(进程标识符)。

    # svcs -p FMRI

? 中止剩余的所有进程。

    对于由 svcs 命令显示的所有进程重复上述步骤。

    # pkill -9 PID

    如有必要,请修复服务配置。有关错误的列表,请查看 /var/svc/log 中相应的服务日志文件。

? 恢复此服务方法:

   # svcadm clear FMRI

   5 如何恢复到另一个SMF 快照

    如果一个服务配置有误,则可以通过恢复到上次成功启动的快照来修复问题。在以下过程中,使用的是 console-login 服务以前的快照。

? 成为超级用户或承担包括 Service Management 权限配置文件的角色。

? 运行 svccfg 命令。

    # svccfg

    svc:>

? 选择要修复的服务实例。

    注意这里必须使用对该实例进行完全定义的 FMRI,而不允许使用快捷方式。

    svc:> select system/console-login:default

    svc:/system/console-login:default>

? 创建可用快照的列表。

    svc:/system/console-login:default> listsnap

    initial

    running

    start

    svc:/system/console-login:default>

? 选择或恢复到 start 快照。

    start 快照是上次成功启动服务时的快照。

    svc:/system/console-login:default> revert start

    svc:/system/console-login:default>

? 退出 svccfg。

    svc:/system/console-login:default> quit

? 更新服务配置系统信息库中的信息。

    该步骤用 start 快照中的配置信息更新系统信息库。

    # svcadm refresh system/console-login

? 重新启动服务

    # svcadm restart system/console-login

6 SMF中的inetd服务

    SMF包含了对inetd服务管理,除了标准的svccfg, svcadm, svcs命令外,SMF还提供了inetadm和inetconv专门管理inetd服务。inetadm命令用来查看、启用/禁用、修改inetd服务,inetconv则是用来将旧的inetd服务配置转化成SMF规范的服务。常用的inetadm选项如下 :
    inetadm -e fmri 启用指定的inetd服务
    inetadm -d fmri 禁用指定的inetd服务
    inetadm -l fmri 列出指定inetd服务的属性
    inetadm -p 列出默认inetd服务的属性
    如果不指定参数inetadm将列出当前系统所有的inetd服务。

? 显示由 inetd 控制的服务
    使用命令:

 

说明:命令输出较长中间部分省略。命令列出由 inetd 控制的服务,其中包括每个服务的 FMRI、运行状态以及服务是处于启用还是禁用状态。

? 使用inetadm禁用telnet服务
    这里可以使用inetadm的方法禁用telnet服务,步骤如下:

 

图6使用inetadm禁用telnet服务

    第一个命令的输出表明 telnet服务在启用状态。本示例中的第二个命令禁用 telnet服务。第三个命令显示 telnet服务确实处于禁用状态。

    总结:本文主要介绍了使用SMF来管理Solaris 10系统服务的监控和管理部分,后边会介绍设置SMF服务、使用脚本来管理服务和使用SMF进行调试和修复的方法。

 

 

 

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    solaris_系统服务管理

    在本文中,我们将深入探讨 Solaris 10 的系统服务管理,特别是如何使用 `svcs` 命令来查看、控制和分析系统服务。 `svcs` 是 Solaris 系统中用于管理和查看服务状态的核心命令。以下是一些基本用法: 1. **列出...

    Solaris-SMF

    Solaris Service Management Facility (SMF) 是一个功能强大的服务管理框架,为Solaris系统的服务管理提供了全面的支持。通过使用标准的命令和文件结构,SMF使得服务的管理变得更加简单和高效。无论是对于初学者还是...

    sun solaris SMF框架和高级用法

    在讨论Sun Solaris SMF(Service Management Facility)之前,我们先简要回顾一下传统的服务管理框架存在的问题,这些问题促使了SMF的诞生和发展。 - **RC.D目录和运行级别**:早期的系统通常使用RC.D目录来存放...

    solaris中高级系统管理全套资料

    在信息技术领域,Solaris操作系统以其稳定性和高效性而备受推崇,尤其在企业级服务器环境中,Solaris系统管理是不可或缺的技能。本资料集全面覆盖了Solaris中高级系统管理的各项核心内容,旨在帮助读者深入理解并...

    Solaris高级系统管理员指南(PDF)

    这本书涵盖了Solaris系统的高级特性和管理技巧,帮助读者提升在性能优化、安全性强化、网络配置、存储管理和故障排查等方面的能力。 1. **Solaris操作系统基础**:首先,了解Solaris的基本架构和组件是至关重要的,...

    Solaris10高级系统管理SA202S10_SG

    《Solaris10高级系统管理SA202S10_SG》是针对Sun Microsystems的Solaris 10...通过《Solaris10高级系统管理SA202S10_SG》的学习,不仅可以增强对Solaris系统的掌握,也有利于进一步提升在多操作系统环境下的管理技能。

    solaris系統管理指南-初級管理.pdf

    通过学习这些知识点,管理员可以更加高效地管理Solaris系统,确保系统的稳定运行和高效性能。此外,文档中提到的各种管理工具和方法不仅适用于Solaris系统,也对其他Unix类操作系统具有参考价值。

    Solaris系统管理指南:设备和文件系统(官方中文文档)

    《Solaris系统管理指南:设备和文件系统》是Sun Microsystems公司发布的官方中文文档,旨在帮助系统管理员深入了解并有效管理Solaris环境中的设备和文件系统。本指南不仅涵盖了理论知识,还提供了丰富的实践指导和...

    Oracle Solaris10 系统管理指南:打印-262

    Oracle Solaris 10 系统管理指南中的“打印-262”章节主要涵盖了在 Solaris 操作系统中管理打印服务的相关知识。Solaris 是一个功能强大的企业级操作系统,尤其在服务器和数据中心环境中广泛使用。Oracle 公司对 ...

    Solaris 10 System Administration Guide - Advanced Administration.rar

    通过学习《Solaris 10 System Administration Guide - Advanced Administration》,读者能够深入理解Solaris 10操作系统,并掌握高级系统管理技巧,从而在实际工作中更高效地维护和优化Solaris系统。这份指南不仅...

    操作系统\Solaris操作系统\Solaris

    3. **Service Management Facility (SMF)**:SMF是Solaris的服务管理框架,它取代了传统的init系统,提供了一种更加灵活和可配置的服务启动和管理系统,使得服务的依赖关系得以清晰管理。 4. **DTrace**:DTrace是...

    Solaris 10中文完全安装图解

    - 学习使用SMF管理服务,使用DTrace进行性能监控和问题排查,掌握基本的文件系统管理和网络配置知识。 总的来说,Solaris 10中文完全安装图解将引导用户一步步完成安装,同时了解和掌握系统管理的基础知识。通过这...

    Solaris 10 配置 samba 服务

    在本文中,我们将深入探讨如何在 Solaris 10 系统上配置 Samba 服务,以便实现与 Windows 系统之间的文件和打印机共享。Samba 是一个开源软件,它允许 Unix 或 Linux 系统与 Windows 网络无缝协作。在 Solaris 10 中...

    sun solaris管理手册

    手册的目的是帮助读者深入理解和有效地管理Solaris系统。 一、Solaris操作系统基础 Solaris操作系统基于UNIX,提供了丰富的网络功能和强大的多任务处理能力。其核心特性包括:ZFS文件系统,提供高级数据保护和管理...

    Solaris初级系统管理员

    2. **SMF(Service Management Facility)**:服务管理系统,用于启动、停止和监视系统服务,实现服务的动态配置和管理。 3. **pfexec**:基于角色的命令执行工具,允许用户以特定角色的权限运行命令,提高了安全性...

    Solaris高级系统管理员指南.rar

    10. **系统维护与升级**:学习如何定期维护Solaris系统,包括软件包管理、补丁应用和系统升级流程。 11. **Solaris容器与虚拟化**:介绍Solaris的Container技术,如何创建和管理资源隔离的虚拟环境,以及对比其他...

    Oracle10g for Solaris10

    Oracle 10g for Solaris 10 是一个专为Sun Microsystems的Solaris 10操作系统设计的企业级数据库管理系统。这个版本的Oracle数据库系统在 Solaris 上提供了高性能、高可用性和可扩展性,使得它成为大型企业和服务...

    SOLARIS V10 安装宝典

    SOLARIS V10的Service Management Facility(SMF)使得服务管理和监控变得更加简便,宝典会解释如何使用SMF管理系统服务。 最后,不要忘记对新系统进行性能调优和安全检查。SOLARIS 10提供了一系列工具,如DTrace和...

    Solaris10基本配置与管理

    5. **系统服务管理**:Solaris 10引入了SMF(Service Management Facility),一个现代化的服务管理系统。通过`svcs`命令,我们可以启动、停止、禁用和监控系统服务。 6. **系统监控与性能调优**:Solaris 10提供了...

    solaris高级系统管理员指南

    10. **系统服务管理**:熟悉`SMF(Service Management Facility)`,它是Solaris的一种现代服务管理框架,用于启动、停止、监视和管理系统服务。 总之,《Solaris高级系统管理员指南》涵盖了从基础到高级的广泛内容...

Global site tag (gtag.js) - Google Analytics