nimadapters 命令

用途

从节文件中定义网络安装管理 (NIM) 子适配器定义。

语法

nimadapters {-p | -d | -r } -fSecondaryAdapterFileName 适配器定义名

nimadapters {-p | -d | -r }-a client= 客户端 [-a info=AttributeList ] 适配器_def_name

描述

nimadapters 命令解析辅助适配器节文件,以构建将 NIM 辅助适配器定义作为 adapter_def 资源的一部分添加至 NIM 环境所需的文件。 nimadapters 命令不配置辅助适配器。 实际配置是在引用 adapter_def 资源的 nim -o bos_instnim -o cust 操作期间进行的。
注: 在使用 nimadapters 命令之前,必须配置 NIM 主控机。 有关更多信息,请参阅 安装和迁移 指南中的 配置 NIM 主控机和创建基本安装资源

辅助适配器文件规则

子适配器文件的格式必须符合以下规则:

  • 在节头之后,紧跟以下格式的属性行: Attribute = Value
  • 如果在同一节内多次定义某个属性值,那么只使用最后一个定义。
  • 如果使用无效属性关键字,那么忽略该属性定义。
  • 文件的每个行都只能具有一个头或属性定义。
  • 对于每台机器的主机名,定义文件中可以存在不止一个节。
  • 对于每台机器的主机名,每个节都代表该 NIM 客户机上的子适配器定义。 对于同一台机器的主机名,两个子适配器定义不能具有同一个位置或 interface_name。 在每个给定的 NIM 客户机上,每个适配器或接口只应该有一个定义。
  • 如果节头项是关键字 default,即指定了使用它来定义缺省值。
  • 可以为任何子适配器属性指定缺省值。 但是,netaddr 和 secondary_hostname 属性必须是唯一的属性。 location 和 interface_name 在 NIM 客户机上也必须具有唯一的值。
  • 如果没有为子适配器指定属性,但定义了缺省值,那么使用该缺省值。
  • 可以在定义文件的任意位置指定和更改缺省值。 在缺省值设置完成后,它适用于其后所有的定义。
  • 要为所有以后的机器定义关闭缺省值,请在缺省节中将属性值设置为 nothing。
  • 要为单个机器定义关闭缺省值,请在机器节中将属性值设置为 nothing。
  • 可以在客户机定义文件中包含注释。 注释以 # 字符开头。
  • 当为头以及属性关键字和值解析定义文件时,将忽略制表符和空格。
注:nim -o bos_instnim -o cust operation期间,如果 NIM 检查客户机上的配置数据并确定已使用 adapter_def 资源中请求的属性配置了辅助适配器,那么不会重新配置此辅助适配器。

辅助适配器文件关键字

子适配器文件使用以下关键字指定机器属性:

必需属性

machine_type = secondary | etherchannel | install
将 machine_type 属性指定为 secondary 明显地区分了 nimadapters 输入与 nimdef 输入。 如果将辅助适配器文件错误地传递到 nimdef 命令,那么很容易检测到该错误。 将忽略带有 install 的 machine_type 的节。
netaddr
为子适配器指定网络地址。
network_type = en | et | sn | ml | vi
指定网络接口的类型,该类型可能是 en、et、sn、ml 或 vi 之一。 此属性替换建议不使用的 network_type 属性。
subnet_mask
指定子适配器使用的子网掩码。

可选属性

adapter_attributes
用空格分隔的物理适配器属性和值的列表(例如,“Attribute1=Value1 Attribute2=Value2”)。 要查看可以为请求的物理适配器设置的属性列表,请运行命令 lsattr -E -l AdapterName
interface_attributes
用空格分隔的接口属性和值的列表(例如,“Attribute1=Value1 Attribute2=Value2”)。 要查看可以为请求的接口设置的属性列表,请运行命令 lsattr -E -l InterfaceName。 此属性替换 attributes 属性。
cable_type
指定电缆类型(如果 network_type 为 en 或 et)。
注释
指定要包含在子适配器定义中的注释。 注释字符串包含在双引号(")中。
interface_name
为子适配器指定网络接口的名称(例如,en1、sn0、m10)。 不要同时指定 location 和 interface_name。
注: interface_name 必须与 interface_type 一致。
位置
指定该网络接口相应的适配器的物理位置。 不要同时指定 location 和 interface_name。
注: 除多链路伪设备外,强烈建议使用该位置。 如果未指定 location,并且用户添加多个适配器,或者在添加一个适配器的同时重新安装操作系统,那么操作系统可能以意外的方式重新指定适配器和网络接口。
multiple_physloc
此属性可与以太通道或 VIPA 节一起使用以指定物理适配器与接口关联。
media_speed
指定介质速度(如果 network_type 为 en 或 et)。
secondary_hostname
要使用 netaddr 属性保存在 /etc/hosts 文件中的主机名。 将不会使用 hostname 命令或 uname -S 命令设置此主机名。
bos_preconfig
指定用于更改可调参数值的 tunchange 命令。 使用 bos_preconfig 属性,可更改已被 /usr/lpp/bos.sysmgt/nim/methods/c_cfgadptrs 脚本设置为缺省值的可调参数。 bos_preconfig 属性用于 nim -o bos_inst 命令。 有关可调值的有效节和相关节命令的更多信息,请参阅 tunchange 命令。
bos_preconfig 属性的格式如下:
bos_preconfig="tunchange -f nextboot -t Stanza [ -o tunable=value ... ]"
需求: 必须重新启动系统,才能使您使用 bos_preconfig 属性进行的任何新设置生效。
cust_preconfig
指定用于更改可调参数值的 vmo 命令。 使用 cust_preconfig 属性,可更改已被 /usr/lpp/bos.sysmgt/nim/methods/c_cfgadptrs 脚本设置为缺省值的可调参数。 cust_preconfig 属性用于 nim -o cust 命令。 有关有效可调参数的更多信息,请参阅 vmo 命令。
cust_preconfig 属性的格式如下:
cust_preconfig="vmo -r [ -o tunable=value ... ]"
注: 必须重新启动系统以使用 cust_preconfig 属性来设置可调参数。
route
指定添加到网络路由表的路径值。 必须指定以下值,或者将不想指定的值留空:
目标 IP
路径所指的主机或网络。 将该值指定为数字地址。
目标子网掩码
掩码决定目标 IP 所属的网络。 将该值指定为数字地址。
网关 IP
包所发至的网络。 将该值指定为数字地址。
每个值必须用双冒号 (::) 分隔,三个值的每个附加集合必须用逗号 (,) 分隔。 路由属性的格式如下所示:
route="DestHostA::MaskHostA::GatewayHostA, DestHostB::MaskHostB::GatewayHostB, ..."
在下面的示例中,对于未应用的值,可留空但仍须用双冒号将其隔开:
route="1.2.3.4::::5.6.7.8"
当使用带有 -a info 标志的 nimadapters 命令添加路径属性时,必须使用双冒号将路径值隔开,并且必须用空格隔开每一个三值组。

辅助适配器文件节错误

在以下任何一种情况下,子适配器节都会引起错误:
  • 位于节头用于定义的主机名是不可解析的。
  • 缺少必需的属性。
  • 为某个属性指定了无效值。
  • 发生属性不匹配。 例如,如果 interface_type 不是 en 或 et,那么不能指定 cable_type=bnc 或 media_speed=1000_Full_Duplex。
  • 该节同时包含 location 属性和 interface_name 属性。
  • 对于同一个适配器位置和同一个主机名,多次发生子适配器定义。
  • 对于同一个 interface_name 和同一个主机名,子适配器定义将发生多次。

如果子适配器节不正确,那么报错,忽略该节,并且处理以下输入而不考虑不正确的节。

示例辅助适配器文件

以下是子适配器文件的外观示例:
# Set default values.

 default:

     machine_type  = secondary

     subnet_mask   = 255.255.240.0

     network_type  = en

     media_speed   = 100_Full_Duplex

 # Define the machine "lab1"

 # Take all defaults and specify 2 additional attributes.

 # Unlike the case of the client definitions that are input to the

 # nimdef command, the secondary adapter definition includes at least

 # one required field that cannot be defaulted.

 lab1:

     netaddr = 9.53.153.233

     location = P2-I1/E1

 # Change the default "media_speed" attribute.

 default:

     media_speed   = 100_Half_Duplex


 # define the machine "test1"

 # Take all defaults and include a comment.

 test1:

     comments      = "This machine is a test machine."

# define a machine with a VIPA interface that uses interfaces en2 and en3.
 lab2:
     machine_type         = secondary
     interface_type       = vi
     interface_name       = vi0
     netaddr              = 9.53.153.235
     subnet_mask          = 255.255.255.0
     secondary_hostname   = lab3
     interface_attributes = "interface_names=en2,en3"

 # define a machine with an etherchannel adapter that uses the adapters at
 # the following location codes P1-I4/E1 and P1/E1
 lab4:
     machine_type         = etherchannel
     interface_type       = en
     interface_name       = en2
     netaddr              = 9.53.153.237
     subnet_mask          = 255.255.255.0
     multiple_physloc     = P1-I4/E1,P1/E1

 # define a machine with an etherchannel adapter that uses the
 # ent2 and ent3 adapters and uses mode 8023ad.
 lab6:
     machine_type         = etherchannel
     interface_type       = en
     interface_name       = en2
     netaddr              = 9.53.153.239
     subnet_mask          = 255.255.255.0
     adapter_attributes = "adapter_names=ent2,ent3 mode=8023ad"

标志

描述
-a 指定下列 attribute=value 对:
client=nim_客户机名称
指定将添加或除去子适配器定义的 NIM 客户机。 此选项允许您为客户机定义一个子适配器。 要定义多个子适配器,请使用节文件。
info=AttributeList
预览或定义子适配器时,如果指定了 client 属性,那么必须使用 info 属性。 AttributeList 是用逗号分开的属性列表。 必须在以下 order:interface_type , location , interface_name , cable_type , media_speed , netaddr , subnet_mask , interface_attributes , secondary_hostname , machine_type , adapter_attributes , multiple_physloc , bos_preconfig , cust_preconfig 和 route.Use 小写n/a以指定将不使用值。
-d 定义子适配器。 将在 adapter_def 位置为每个有效的辅助适配器定义创建 Client.adapter 文件。 如果 nimadapters 命令迂到 NIM 客户机的现有辅助适配器定义,那么将替换现有定义。
-f SecondaryAdapterFileName 指定子适配器文件的名称。
-p 显示预览来标识任何错误。 此标志会处理辅助适配器文件或 info 属性,但不会将适配器定义添加至 NIM 环境。
该预览显示以下内容:
  • 全部完整和有效的子适配器节。
  • 全部无效子适配器节和故障原因。
    注: 在使用辅助适配器文件来配置辅助适配器之前,请指定 -p 标志以验证所有节是否都正确。
-r 除去特定客户机或某个子适配器节文件中列出的所有客户机的子适配器定义。 如果未指定客户机属性或子适配器节文件,将除去 adapter_def 资源中的所有子适配器定义。

参数

描述
适配器定义 此参数是运行 nimadapters 命令所必需的。 指定包含子适配器定义文件的目录的 adapter_def NIM 资源。 必须先使用 nim -o define 操作定义 adapter_def 资源,然后才能将 adapter_defnimadapters 命令配合使用。

退出状态

0
命令成功完成。
>0
发生错误。

安全性

访问控制: 您必须具有 root 用户权限才能运行 nimadapters 命令。

RBAC 用户和可信 AIX® 用户注意: 此命令可以执行特权操作。 只有特权用户才能执行特权限定的操作。 有关权限与特权的更多信息,请参阅安全性中的“特权限定的命令数据库”。 有关与该命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。

示例

  1. 要将子适配器定义文件 secondary_adapters.defs 中描述的 NIM 子适配器添加到 my_adapter_def resource,请输入:
    nimadapters -d -f secondary_adapters.defs my_adapter_def
  2. 要预览客户机定义文件 secondary_adapters.defs,请输入:
    nimadapters -p -f secondary_adapters.defs my_adapter_def
  3. 要为名称为 pilsner 的客户机定义 NIM 子适配器,请输入:
         nimadapters -d \
    
         -a info="en,P2-I1/E1,n/a,bnc,1000_Full_Duplex,9.53.153.233,255.255.254.0,n/a,n/a,n/a,n/a,n/a" \
    
         -a client=pilsner my_adapter_def
    
  4. 要从 my_adapter_def resource 资源除去名称为 pilsner 的客户机的 NIM 子适配器定义,请输入:
    nimadapters -r -a client=pilsner my_adapter_def
  5. 要除去文件 secondary_adapters.defs中定义的客户机的 NIM 辅助适配器定义,请输入:
    nimadapters -r -f secondary_adapters.defs my_adapter_def
  6. 要从 my_adapter_def 资源除去所有 NIM 子适配器定义,请输入:
    nimadapters -r my_adapter_def

文件

描述
/usr/sbin/nimadapters 包含 nimadapters 命令。