服务器 频道

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

    【IT168 专稿】前文(12)主要介绍了使用SMF来管理Solaris 10系统服务的监控和管理部分,这里会介绍设置SMF服务、使用脚本来管理服务和使用SMF进行调试和修复的方法。

一、 如何修改服务

    1 修改smf服务

    以下过程显示如何更改不是由 inetd 服务管理的服务的步骤:
 成为超级用户或承担包括 Service Management 权限配置文件的角色。
 根据需要对配置文件进行更改。
 重新启动服务。

    # svcadm restart FMRI

    说明:许多服务都有一个或多个用来定义启动或其他配置信息的配置文件。这些文件可以在服务正在运行时进行更改。只有当服务已经启动后,才能检查这些文件的内容。我们看一个例子:

    更改NFS 文件系统共享的目录

    要更改 NFS 服务共享文件系统,必须在 /etc/dfs/dfstab 文件中定义 NFS 文件系统,然后重新启动 NFS 服务。以下示例显示 dfstab 文件的外观以及如何重新启动服务。
# cat /etc/dfs/dfstab cat /etc/dfs/dfstab share -F nfs -o rw=engineering -d "home dirs" /export/home2 # svcadm restart svc:/network/nfs/server
    2 查看、修改服务的环境变量

    Unix(包括Solaris)是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。

    (1) 使用set命令显示所有本地定义的Shell变量,如图1


    图1 用set命令显示所有本地定义的Shell变量

    从图1可以看到登录的用户名称(root),终端号(6),SSh ip地址和端口等信息。

    (2) 使用env命令显示所有的环境变量
# env HOME=/ LANG=zh_CN.GB18030 LOGNAME=root MAIL=/var/mail//root PATH=/usr/sbin:/usr/bin SHELL=/sbin/sh SSH_CLIENT=192.168.206.12 1048 22 SSH_CONNECTION=192.168.206.12 1048 192.168.206.129 22 SSH_TTY=/dev/pts/6 TERM=xterm TZ=PRC USER=root
    (3) 修改环境变量的步骤

    以下过程显示如何修改 cron 环境变量以帮助进行调试。cron 系统可处理所有基于时间的命令执行计划,并提供了可用于在特定时间运行命令的两个不同解决方案。

 成为超级用户或承担包括 Service Management 权限配置文件的角色。
 检验该服务是否正在运行。
# svcs system/cron STATE STIME FMRI online 19:06:04 svc:/system/cron:default  查看修改前的环境变量 使用命令:pargs -e `pgrep -f /usr/sbin/cron`
    命令输出如图2 。


    图2查看修改前的环境变量
 设置环境变量。
    下面笔者设置的是 UMEM_DEBUG 环境变量。使用命令如下:
# svccfg -s system/cron:default setenv UMEM_DEBUG default  刷新和重新启动该服务 使用命令如下: # svcadm refresh system/cron # svcadm restart system/cron  检验修改是否生效 使用命令:pargs -e `pgrep -f /usr/sbin/cron`
    命令输出如图3 。

    图3检验修改是否生效

    对比图2和图3 可以看到修改后的环境变量是:
    envp[7]: UMEM_DEBUG=default
0
相关文章