服务器 频道

网管经验谈:灵活设置Solaris的SMF服务

三、 SMF服务的调试和修复

    1 自动修复已损坏的SMF系统信息库

    系统信息库守护进程 svc.configd 在启动之后不会对配置系统信息库执行完整性检查。配置系统信息库存储在 /etc/svc/repository.db SMF系统信息库中。配置系统信息库可能会由于以下某种原因而损坏:磁盘故障,硬件错误,软件错误,无意中覆写文件。如果完整性检查失败,svc.configd 守护进程会向控制台写入一条消息,随后,svc.startd 守护进程将退出,并启动 sulogin,以便您进行维护。步骤如下:
 在 sulogin 提示符处输入 root 密码。sulogin 使 root 用户能够进入系统维护模式来修复系统。
    运行以下命令:
    # /lib/svc/bin/restore_repository
    运行此命令可指导您完成恢复未经损坏的备份所必需的步骤。SMF 会在系统的任何关键时刻自动提取系统信息库的备份。

    2 手工修复已损坏的SMF系统信息库

    步骤如下:
 成为超级用户或者授权角色用户
 停止svc.startd daemon #pstop ‘pgrep svc.startd’  停止svc.configd daemon #pkill svc.configd  保存当前数据库 #cp /etc/svc/repository.db /etc/svc/repository.bad  用备份数据库替换当前库。 #cp /lib/svc/seed/global.db /etc/svc/repository.db
    3 在系统启动时如何交互式启动服务

 成为超级用户或者授权角色用户
 不启动svc.startd daemon,但是在控制台启动sulogin
    ok boot –m milestone=none
 以root登陆到系统
 启动所有服务:
    #svcadm milestone –t all
 查看那些服务没有启动:
    #svcs -l
 然后修复这些问题,检查这些服务是否启动。
    a. 检查所有服务是否在线使用命令:
    #svcs -l
    b. 检查login进程是否在运行使用命令:
    #svcs –l system/console-login:default
 继续系统启动进程

    4 当SMF服务没有启动时如何处理

    假设打印服务处于禁用状态,处理步骤:
 成为超级用户或者授权角色用户
 查看问题服务信息
    #svcs –xv
    输出如图6 。


    图6查看问题服务信息
 修复后,重新启动问题服务。
    #svcadm enable application/print/server
 重新查看服务信息 

    使用svcs -a 命令查看服务,如图7 。


    图7 使用svcs -a 命令查看

    从图7 的最后三行已经处于online状态了。

    总结:到此为止smf服务系列文章全部介绍完了,主要介绍了管理和监视服务管理工具 (Service Management Facility, SMF) 所需的任务。另外,本章还提供了与管理运行级脚本有关的信息。Solaris 10引入全新的后台服务管理机制,该机制被称为SMF,它包含了新的概念、管理工具和服务定义方式。比如用里程碑(milestone)代替了运行级别的概念;用服务配置库代替分散在/etc/rcx.d目录的服务启动脚本。通过使用SMF技术,系统中所有的服务可以在一个统一而强大的平台中进行配置和管理。同时,它也是预测性自愈技术的组成部分,可以自我侦测各服务的运行状态,尽可能地减少服务下线的机率。另外,利用SMF 技术系统管理员可以降低系统维护难度,减少人为出错机会。
0
相关文章