rules 命令

用途

Virtual I/O Server (VIOS) 上管理和部署设备设置规则。

语法

规则 -操作 [ -l deviceInstanceName | -t 类/子类/类型 ][ -属性=值 ] [-d] [-n] [-s] [ -f RulesFile ] [-F] [-h]

描述

规则命令用于捕获,部署,更改,比较和查看 VIOS 规则。 它利用 AIX® 运行时专家解决方案 (ARTEX) 技术。 VIOS 提供了预定义的缺省规则,其中包含针对 VIOS 最佳实践建议的 VIOS 设备配置的关键规则。 可以使用 rules 命令来管理 VIOS上的设备设置规则。

参数

参数名 描述
-o 操作

捕获

捕获 VIOS上的当前系统配置。 如果当前规则存在,那么新捕获的系统配置会覆盖现有系统配置。 否则,将会使用出厂缺省规则作为模板来捕获当前系统设置。

 

部署

应用建议的出厂缺省规则以实现最佳实践,或应用 VIOS上的当前规则。 该参数不但会将新设置部署到设备类型,而且还会对设备实例进行更改。 如果不存在当前规则,那么该参数会根据当前系统设置创建新的规则文件,并通知您修改规则并再次部署。 在系统重新引导之后,新设置才会生效。

 

IMPORT

将用户指定的规则文件导入到 VIOS 当前规则。 如果在执行合并操作期间,当前规则文件中存在相同的规则,那么用户指定的规则是主要规则。 如果不存在现有当前规则文件,那么将根据缺省规则创建当前规则文件。 如果规则或设备不受 AIX ARTEX 目录支持,那么导入操作将失败并通知您除去无效规则,然后重试。

如果更改后的值小于 ODM 中的当前缺省值,那么会显示警告以引起您的注意。 但是,系统会允许导入操作继续进行,直到完成为止。

要控制规则兼容性,在缺省情况下,会将 ioslevel 规则与当前规则及用户指定的规则进行比较。 如果用户指定的 ioslevel 低于当前规则或者缺失,那么该操作将会停止。 必须使用 -F 标志来强制导入操作继续而不进行任何检查。

 

list

根据规则模板列出并查看规则文件内容或系统配置。 输出的第一列是class/subclass/type,二是attribute,第三是value.

 

差集

如果指定 -n 标志,那么列出不匹配的设备和属性,并以数字方式量化差异。

添加

根据设备实例名称或设备唯一类型,向 VIOS 当前规则或用户指定的规则文件添加新规则。 如果规则已存在,那么它将返回错误。

但是,现有 AIX ARTEX 目录必须支持设备实例或设备类型。 否则,该命令会失败。

注: 命令 rules -o add -l hdisk0 -a reserve_policy=no_reserve 用于为 disk/fcp/mpioosdisk 添加规则,而不是仅为 hdisk0 添加规则。 与 rules -o add -t class/subclass/type -a reserve_policy=no_reserve (如果您没有 ODM 信息) 相比,这是一个更简单,更方便的版本调用。
 

修改

可以根据设备类型或设备实例,修改当前规则或用户指定的规则文件中的规则。 如果尝试修改的规则不存在,那么会显示错误消息,要求您添加规则而不是尝试修改规则。
注: 请参阅 add 操作中的注释以了解设备实例和类型用法。

删除

从当前规则或用户指定的文件中删除规则。 如果需要删除的规则不存在,那么会显示错误消息。 不能从当前规则或用户指定的规则文件中删除包含在缺省规则中的规则。
注: 请参阅 add 操作中的注释以了解设备实例和类型用法。
-l deviceInstanceName

可以使用设备实例名称来在 ODM 中搜索设备类型 (class/subclass/type)。 这可确保您可以创建新规则而不必具备 ODM 信息的相关知识。

-l 标志与 -t 标志是互斥的。

-t 类/子类/类型

可以使用标记来指定设备类、子类和设备的类型。

-t 标志与 -l 标志互斥。

-a Attribute=Value 属性和值是设备类型的一对设置。 为特定属性添加或修改规则需要此参数。
-d 设置系统的缺省规则。
-n rules -o diff 命令一起使用时,将显示差异数。
-s rules -o diff 命令配合使用时,将显示并列出当前系统设置。
-f rulesFile 用于用户指定的规则文件。
-f 当与 rules -o import 命令一起使用时,它会强制导入操作继续,即使迂到非致命错误也是如此。
-h 显示用法。

退出状态

此命令返回以下退出值:

返回码 描述
重大安全事件数量 成功完成。
> 0 发生错误。

文件

项目 描述
/usr/sbin/rules 包含规则命令。

安全性

rules 命令受 RBAC 支持并可由 padminroot 用户访问。

示例

  1. 要添加新规则,请输入以下命令:
    rules -o add -t disk/vscsi/cvdisk -a queue_depth=8
  2. 要将 reserve_policy 规则添加到其实例为 hdisk0 的设备类型的当前规则,请输入以下命令:
    rules -o add -l hdisk0 -a reserve_policy=no_reserve
  3. 要将 serve_policy 规则添加到设备类型 disk/fcp/mpioosdisk 的当前规则,请输入以下命令:
    rules -o add -t disk/fcp/mpioosdisk -a reserve_policy=no_reserve
  4. 要将 service_policy 规则添加到其实例为 hdisk0 的设备类型的用户指定规则文件,请输入以下命令:
    rules -o add -l hdisk0 -a reserve_policy=no_reserve -f/tmp/rules.xml
  5. 要删除规则,请输入以下命令:
    rules -o delete -t disk/vscsi/cvdisk -a queue_depth
  6. 要从 disk/fcp/mpioapdisk 设备类型的当前规则中删除 reserve_policy,请输入以下命令:
    rules -o delete -t disk/fcp/mpioapdisk -a reserve_policy
  7. 要从 hdisk0 设备类型的当前规则中删除 reserve_policy,请输入以下命令:
    rules -o delete -l hdisk0 -a reserve_policy
  8. 要从 hdisk0 设备类型的 /tmp/rules.xml 规则文件中删除 reserve_policy,请输入以下命令:
    rules -o delete -l hdisk0 -a  reserve_policy -f /tmp/rules.xml
  9. 要修改现有规则,请输入以下命令:
    rules -o modify -t adapter/pciex/df1000fe -a num_cmd_elems=2048
  10. 要修改 disk/fcp/mpioapdisk 设备类型的当前规则文件中的 reserve_policy 规则,请输入以下命令:
    rules -o modify -t disk/fcp/mpioapdisk -a reserve_policy=no_reserve
  11. 要修改 hdisk0 设备类型的当前规则文件中的 reserve_policy 规则,请输入以下命令:
    rules -o modify -l hdisk0 -a reserve_policy=no_reserve
  12. 要修改 hdisk0 设备类型的 /tmp/rules.xml 规则文件中的 reserve_policy 规则,请输入以下命令:
    rules -o modify -l hdisk0 -a reserve_policy=no_reserve -f /tmp/rules.xml
  13. 要列出并查看缺省规则,请输入以下命令:
    rules -o list -d
  14. 要列出并查看当前规则,请输入以下命令:
    rules -o list
  15. 要列出并查看当前系统设置,请输入以下命令:
    rules -o list -s
  16. 要列出并查看用户指定的文件中的规则内容,请输入以下命令:
    rules -o list -f user_rules.xml
  17. 要列出 VIOS 系统设置与当前规则之间的不匹配设备和属性,请输入以下命令:
    rules -o diff -s
  18. 要列出 VIOS 系统设置与缺省规则之间的不匹配设备和属性,请输入以下命令:
    rules -o diff -s -d
  19. 要列出当前规则与出厂缺省规则之间的不匹配设备和属性,请输入以下命令:
    rules -o diff -d
  20. 要列出当前规则与 user_rules.xml 文件之间的不匹配设备和属性,请输入以下命令:
    rules -o diff -f user_rules.xml
  21. 要列出两个规则文件之间的不匹配设备和属性,请输入以下命令:
    rules -o diff -f rules1.xml rules2.xml
  22. 要找出两个文件之间的不匹配数目,请输入以下命令:
    rules -o diff -n -f rules1.xml rules2.xml
  23. 要列出系统中的规则,请输入以下命令:
    rules -o list -s

    系统将显示以下输出:

    disk/fcp/mpioosdisk            reserve_policy       no_reserve
    disk/fcp/mpioapdisk            reserve_policy       single_path
    disk/fcp/nonmpiodisk           reserve_policy       no_reserve
    disk/fcp/aixmpiods8k           reserve_policy       no_reserve
    disk/sas/mpioapdisk            reserve_policy       no_reserve
    disk/sas/mpioosdisk            reserve_policy       no_reserve
    disk/sas/scsd                  reserve_policy       no_reserve
    disk/sas/sisarray              reserve_policy       no_reserve
    disk/vscsi/cvdisk              reserve_policy       no_reserve
  24. 要捕获 VIOS 当前系统设置并将其保存到当前规则文件,请输入以下命令:
    rules -o capture
          
  25. 要部署 VIOS 建议的缺省规则,请输入以下命令:
    rules -o deploy -d
  26. 要部署 VIOS 当前规则,请输入以下命令:
    rules -o deploy
  27. 要将用户指定的规则文件导入到当前规则中,请输入以下命令:
    rules -o import -f user_rules.xml
  28. 要将包含在 user_rules.xml 文件中的用户指定的规则导入到当前规则中并忽略 ioslevel 不兼容性,请输入以下命令:
    rules -o import -f user_rulex.xml -F
  29. 要显示 rules 命令的用法,请输入以下命令:
    rules -h