Chinaunix首页 | 论坛 | 博客
  • 博客访问: 90802264
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-20 12:30:24

作者:Sandor Sklar  出处:
本文将介绍 SMIT 工具以及如何使用它。系统管理界面工具(System Management Interface Tool,SMIT)是一种交互式的应用程序,它几乎可以用来简化 AIX® 系统管理中各方面的工作。在学习完本文后,您将会把 SMIT 作为 AIX 系统管理员最好的工具。
系统管理界面工具(通常称为 SMIT)是 AIX® 中附带的一种交互式工具。几乎任何系统管理任务都可以通过使用 SMIT 屏幕来完成,通常采用层次的方式对这些屏幕进行逻辑分组,以便能够方便地进行导航。可以使用与各种功能相关联的快捷路径 直接转到相关的屏幕。
SMIT 中最重要的特性之一是,您可以准确地查看它在执行相关命令之前或之后执行了哪些命令。SMIT 并没有对操作系统使用任何特殊的挂钩。它所执行的所有操作都是通过标准的 AIX 命令和 Korn Shell 函数完成。尤其是当您需要为重复性任务实现自动化时,这种特性非常有价值,您可以使用 SMIT 创建合适的命令行序列,然后在自己的脚本中使用这些命令。
SMIT 是基本操作系统中的一部分,/usr/bin/smit 命令位于 bos.sysmgt.smit 文件集。有两种版本的 SMIT:全屏幕文本模式版本和图形 X Windows® 客户端。如果设置了 DISPLAY 变量,那么 AIX 将自动运行 GUI 版本。要使用文本模式版本,甚至在设置了 DISPLAY 变量的情况下,那么可以运行 smitty 命令,或运行 smit -a
如果启动 SMIT 时没有指定快捷路径,那么将显示主菜单。在所有的 SMIT 屏幕中,都可以使用箭头键在所显示的选项中向上或向下移动。回车键用来选择当前高亮显示的项目。要返回一个级别,可以按 F3Esc + 3
SMIT 使用四种类型的屏幕来进行交互并为用户显示相关信息:菜单、对话框、选择器和命令状态屏幕。
菜单 屏幕显示了任务列表,只能选择其中一项。如果 SMIT 启动时没有指定快捷路径,那么将显示主菜单(有关文本模式版本的内容,请参见清单 1)。



                               System Management

Move cursor to desired item and press Enter.

  Software Installation and Maintenance
  Software License Management
  Devices
  System Storage Management (Physical & Logical Storage)
  Security & Users
  Communications Applications and Services
  Print Spooling
  Problem Determination
  Performance & Resource Scheduling
  System Environments
  Processes & Subsystems
  Applications
  Installation Assistant
  Using SMIT (information only)
            
F1=Help             F2=Refresh          F3=Cancel           F8=Image
F9=Shell            F10=Exit            Enter=Do                    

图 1 显示了该工具 GUI 版本 SMIT 的主菜单。



对话框 屏幕由特定任务的选择而产生。不同的符号表示每个字段可以接受的信息条目的类型。您在这些字段中输入的数据将用来生成 SMIT 所执行的命令。



               Change / Show Characteristics of a User

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
  
[TOP]                                           [Entry Fields]
* User NAME                                    root
  User ID                                     [0]                     #
  ADMINISTRATIVE USER?                         true                   +
  Primary GROUP                               [system]                +
  Group SET                                   [system,bin,sys,securi> +
  ADMINISTRATIVE GROUPS                       []                      +
  ROLES                                       []                      +
  Another user can SU TO USER?                 true                   +
  SU GROUPS                                   [ALL]                   +
  HOME directory                              [/]
  Initial PROGRAM                             [/usr/bin/ksh]
  User INFORMATION                            [palatino root]
  EXPIRATION date (MMDDhhmmyy)                [0]
[MORE...37]

F1=Help             F2=Refresh          F3=Cancel           F4=List
F5=Reset            F6=Command          F7=Edit             F8=Image
F9=Shell            F10=Exit            Enter=Do

选择 屏幕需要用户选择一个目标,通常是将在后续对话框屏幕中使用的设备。选择器通常作为弹出式 窗口出现,重叠在前一个屏幕的文本之上。



LOGICAL VOLUME name                            
                                                                          
 Move cursor to desired item and press Enter. Use arrow keys to scroll.   
                                                                          
 [TOP]                                                                    
   fslv00            jfs        64    128   2    open/syncd    /ora-dat 
   fslv01            jfs        64    128   2    open/syncd    /u06     
   fslv02            jfs        64    128   2    open/syncd    /u07     
   lv07              jfs        11    22    2    open/syncd    /SUL_ora 
   paging05          paging     32    32    1    open/syncd    N/A      
   fslv05            jfs        320   640   4    open/syncd    /u08     
   fslv06            jfs        24    48    2    open/syncd    /w01     
   fslv07            jfs        16    32    4    open/syncd    /local/a 
   lv11              jfs2       128   128   1    open/syncd    /mkcd/mk 
   fslv09            jfs        128   256   2    open/syncd    /u02     
 [MORE...51]                                                            
                                                                        
 F1=Help               F2=Refresh              F3=Cancel                
 Esc+8=Image           Esc+0=Exit              Enter=Do                 
 /=Find                n=Find Next                                      

命令状态 屏幕显示 SMIT 所执行的命令的输出。屏幕最上面的内容表示了当前状态(RunningOKFailed),并且还显示了是否向 STDOUT 或 STDERR 写入了任何数据。



	
                           COMMAND STATUS

Command: OK            stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

File                                  Fileset               Type
------------------------------------------------------------------
/usr/bin/smit                         bos.sysmgt.smit       File




F1=Help          F2=Refresh       F3=Cancel        Esc+6=Command
Esc+8=Image      Esc+9=Shell      Esc+0=Exit       /=Find 
n=Find Next                                                         

因为 SMIT 功能的层次结构的本质,所以很容易向下逐层展开到 希望执行的任务。如果您发现从菜单中选择了错误的项目,可以按 F3(或 Esc + 3)返回到前一个屏幕。
SMIT 中的每个菜单和对话框屏幕都具有相应的快捷路径,它可以用来直接转到该屏幕。要确定特定屏幕的快捷路径,可以导航至该屏幕,然后按下 F8Esc + 8。弹出的窗口中将列出快捷路径,并将当前屏幕的内容 写入 SMIT 日志文件。



             PRINT SCREEN                 

 Press Enter to save the screen image              
     in the log file.                                
 Press Cancel to return to the application.      

   Current fast path:                           
       "mkuser"                                   

F1=Help          F2=Refresh       F3=Cancel    
Esc+8=Image      Esc+0=Exit       Enter=Do

SMIT 提供了一些键命令,可用来快速地在冗长的、滚动的输出屏幕中进行导航。尽管这些键盘输入在命令状态屏幕中最有用处,但它们可以在所有的屏幕中使用(请参见表 1)。



键盘输入 操作
向下箭头 向下滚动一行
向上箭头 向上滚动一行
Control + V (或 PageDown) 向下滚动一页
Escape + V (或 PageUp) 向上滚动一页
Escape + > (或 End) 跳至输出或清单的末尾
Escape + < (或 Home) 跳至输出或清单的开头

每个 SMIT 会话都会在两个文件中记录相关条目:smit.log 和 smit.script。这些文件将会写入到 HOME 环境变量指定的目录,而不是在 /etc/passwd 中指定的该用户的实际 home 目录。
SMIT 不会覆盖现有的日志文件,如果这些文件已经存在,并且可以由当前用户进行写入,它通常会尝试在这些文件后追加信息。如果 SMIT 不能写入这些文件,它会显示一则警告消息,然后继续执行相应的功能而不再进行日志记录。
请注意,尽管任何用户都可以运行 SMIT 可执行文件,但是它完成所需任务时执行的许多 AIX 命令需要 root 或其他受限的权限。如果未授权的用户试图完成其中的任务,那么任务将会失败。因为 SMIT 通常由 root 运行,所以应该对 SMIT 日志文件进行监视和清理,以确保它们不会变得过大并占用 / 文件系统中所有的可用空间。
smit.log 文件包含关于使用 SMIT 执行的操作的详细信息。对于每个 SMIT 会话,它将记录 SMIT 启动的日期和时间、访问的每个菜单屏幕的记录(以及该屏幕的快捷路径)、SMIT 执行的所有命令和这些命令的输出。
在确定对系统进行了哪些更改以及这些更改的具体发生时间时,对 smit.log 进行监视非常有用。然而,该日志文件将不会反映任何直接通过运行系统命令所进行的更改。
smit.script 文件包含 SMIT 执行任务时实际运行的 AIX 命令。该文件以 Korn Shell 语法书写,所以它可以作为命令序列本身 执行,这样做可以重复原来由 SMIT 执行的所有任务。
smit.script 的常见用法之一是,复制跨系统的大量的任务。如果使用 SMIT 实现对一个系统的所有更改,那么可以将 smit.script 复制到其他的系统,并且加以执行,这样可以实现所有系统的更改,而无需编写任何代码。
现在,让我们将 SMIT 应用于一个实际的 AIX 示例。假设您需要为 10 个或 100 个 AIX 系统分别添加一个 4 GB的文件系统。您可以手动地完成这项操作,但是最后可能会感到非常厌倦,并且反复地进行输入增加了出现错误的可能。您可以将合适的命令组织在一起,并使用各种参数和标志,然后在每个系统中运行它们。或者,可以让 SMIT 为您编写这些命令。
在下面的示例中,使用 SMIT 创建一个 4 GB 的增强 JFS (JFS2) 文件系统,该文件系统在系统重启时自动装入到装入点 /fs01,并使用内联 JFS 日志。然后,将 SMIT 编写的脚本复制到其他的系统,并在其中运行该脚本以创建文件系统。
启动 SMIT 的第一步是使用命令:smit -s /tmp/mknewfs.ksh crjfs2std-s 标志告诉 SMIT 将其脚本输出写入到文件 /tmp/mknewfs.ksh,而不是缺省的文件 /smit.script。具体的操作将被记录到 /smit.log。通过指定快捷路径 crjfs2std,您可以直接转到 Add an Enhanced Journaled File System 对话框屏幕。在显示该屏幕(如清单 6 中所示)之前,您需要在其中选择一个卷组以创建新的文件系统。



Add an Enhanced Journaled File System

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                               [Entry Fields]
  Volume group name                          datavg
  SIZE of file system
          Unit Size                          Gigabytes    +
*         Number of units                   [4]           #
* MOUNT POINT                               [/fs01]
  Mount AUTOMATICALLY at system restart?     yes          +
  PERMISSIONS                                read/write   +
  Mount OPTIONS                             []            +
  Block Size (bytes)                         4096         +
  Inline Log?                                yes          +
  Inline Log size (MBytes)                  []            #
 
F1=Help          F2=Refresh       F3=Cancel      F4=List
F5=Reset         F6=Command       F7=Edit        F8=Image          
F9=Shell         F10=Exit         Enter=Do

在按 Enter 键使得 SMIT 执行清单 6 中的命令之前,清单 7 中的脚本将写入到文件 /tmp/mknewfs.ksh。



#
#     [Sep 06 2006, 17:46:28]
#
x() {
LIST=
FLAG=0
for i in "$@"
do
        case "$i" in
        Megabytes)      FLAG=1;;
        Gigabytes)      FLAG=2;;
        512bytes)       ;;
        size=*) case "$FLAG" in
                1)      LIST="$LIST \"$i\"M"
                        FLAG=0;;
                2)      LIST="$LIST \"$i\"G"
                        FLAG=0;;
                0)      LIST="$LIST \"$i\""
                        ;;
                esac
                ;;
        *)      LIST="$LIST \"$i\""
                ;;
        esac
done
eval crfs -v jfs2 $LIST
}
x -g'datavg' 'Gigabytes' -a size='4' -m'/fs01' 
-A''`locale yesstr | awk -F: '{print $1}'`'' 
-p'rw' -a agblksize='4096' '-a logname=INLINE'

剩下来的工作是,将上面的脚本复制到其他的 AIX 系统,并运行它。可以通过许多方法来完成这项任务。最简单(尽管不是很安全)的方法是,根据这些系统进行循环,对该脚本执行 rcp 操作,然后使用 rsh 来执行它(请参见清单 8)。



For host in host1 host2 ... hostN; do \
rcp /tmp/mknewfs.ksh $host:/tmp/mknewfs.ksh ; \
rsh $host ksh /tmp/mknewfs.ksh ; \
done

这仅仅只是个示例,但它说明了,使用 SMIT 作为 AIX 管理员可以获得许多优点并节省大量的时间。


对于任何 AIX 管理员,SMIT 都是一种功能强大的工具。与大多数工具一样,熟练掌握其操作步骤的最好方法是使用它。尽管 SMIT 可以在活动的 系统中执行相应的操作,但是却没有提供撤销 功能,了解这一点非常重要。对于一些操作(但不是所有的操作),SMIT 会发出永久删除信息的警告,并且需要进行确认以便继续执行。
更安全的使用 SMIT 应用程序的方法是,使用 -x 标志调用它。当在命令行中指定了 -x 标志时,SMIT 表面上工作正常,但实际上却没有执行任何命令。相反,它会把在正常操作过程中将要执行的命令写入到 smit.script 文件。
SMIT 菜单和对话框屏幕中的许多选项和输入字段都提供了内置的帮助特性,可以使用箭头键高亮显示或选择该项目来加以访问,然后按 F1(或 Esc + 1)。这时将显示一个弹出 窗口对所选项目进行详细地解释。


 
学习
  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文

  • :这是 smit 命令(bos.man.en_US.cmds 文件集的一部分)的 man 页面,它提供了关于可用来修改 SMIT 行为的标志和参数的信息。

  • :要了解更多关于 FastPath 的信息,可以阅读这篇说明文档。

  • :这个指南提供了关于通过创建新的菜单和任务来扩展 SMIT 的详细信息。

  • developerWorks AIX and UNIX 专区提供了大量的关于 AIX 系统管理各方面工作的信息。

  • AIX and UNIX 新手入门:访问“New to AIX and UNIX”页面以了解更多关于 AIX 和 UNIX 的内容。

  • :请确保充分利用 poweraix.org,这是由用户群体、合作伙伴、IT 专业人员和商业用户共同组成的 AIX 社区的信息中心。

  • developerWorks 技术活动和网络广播:跟踪最新的 developerWorks 技术活动与网络广播。

  • :AIX 相关技术信息的协作环境。

  • 播客:收听播客并与 IBM 技术专家保持同步。

获得产品和技术
  • IBM 试用软件:使用 IBM 软件开发您的下一个项目,可直接从 developerWorks 下载这些试用软件。
阅读(1515) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~