admin 管理员组

文章数量: 887019

一、介绍

在批量服务器配置的过程中我们会接触到各种服务器批量配置工具,例如华为的FusionServer uMate套件,Dell的Racadm iDRAC配置工具。这些工具可以通过命令行或者图形化界面对服务器进行快速配置甚至批量配置,而他们多数也有命令行版本,因此可以配合Shell脚本进行自定义的快捷设置。今天我们会对Dell服务器iDRAC管理工具RACADM进行介绍。

iDRAC是戴尔用于服务器远程控制的平台,类似于华为的iBMC和惠普的iLO。通过这平台我们可以在机器下电的前提下对服务器进行初始化的配置和远程控制台操作,非常方便。但是因为这些操作都是高危操作,因此建议不要直接在上线服务器进行练习和测试。可以找一台暂时无人使用的或者退役的戴尔服务器进行相关的联系。

1、RACADM连接方式

RACADM命令行实用程序提供可编写脚本的界面,允许您在本地配置或远程配置远程访问控制器(RAC)。该实用程序在Management Station和普通服务器上运行,包括戴尔服务器本机和其他网络中可连通的标准服务器。

RACADM实用程序支持以下接口:

① 本地

支持从受管服务器的操作系统运行RACADM命令。要运行本地RACADM命令,请在受管服务器上安装OpenManage软件。一次只能在系统上执行一个Local RACADM实例。如果您尝试打开另一个实例,则会显示一条错误消息,并且第二个Local RACADM实例会立即关闭。要从support.dell下载本地RACADM工具,请选择驱动程序和下载,选择服务器,然后选择Systems Management > Dell Toolkit

② SSH或Telnet(指通过该途径登录iDRAC)

也称为固件RACADM。通过使用SSH或Telnet登录iDRAC,可以访问固件RACADM。您无需指定iDRAC IP,用户名或密码即可运行Firmware RACADM命令。与Local RACADM类似,在RACADM提示符下,直接运行不带RACADM前缀的命令。

③ 远程(通过IP和账密远程racadm)

支持从远程管理站(如笔记本电脑或台式机)运行RACADM命令。要运行Remote RACADM命令,请从远程计算机上的OpenManage软件安装DRAC Tools实用程序。要运行远程RACADM命令:将命令配置为本地或SSH / Telnet RACADM命令。

此外,请指定-r -u -p选项。其中-r代表目标iDRAC IP,-u-p分别代表用户密码。

2、RACADM基本语法

① 本地命令语法
racadm get <devicename>.<groupname>.[<index>].[<objectname>]
racadm set <devicename>.<groupname>.[<index>].<objectname> <value>
racadm <subcommand>
复制代码

示例:

racadm get idrac.info
racadm getsysinfo
复制代码
② 远程racadm命令语法

基本语法:

racadm -r <racIpAddr> -u <username> -p <password> get <devicename>.<groupname>.[<index>].[<objectname>]
racadm -r <racIpAddr> -u <username> -p <password> set <devicename>.<groupname>.[<index>].<objectname> <value>
racadm -r <racIpAddr> -u <username> -p <password> <subcommand> 
复制代码

示例:

racadm -r 192.168.1.0 -u root -p xxxx get idrac.ssh.port 
                                 Security Alert: Certificate is invalid - Certificate is not signed by Trusted Third Party Continuing execution. 
                                 Use -S option for racadm to stop execution on certificate-related errors. [Key=idrac.Embedded.1#SSH.1] Port=22 
复制代码

需要注意的是此类远程命令一般都会出现安全警报,一般来说无视即可。

部分远程命令不会出现安全警告,例如:

racadm -r 192.168.0.0 -u root -p xxxx set idrac.ssh.port 22
racadm -r 192.168.0.0 -u root -p xxxx getsysinfo
racadm -r 192.168.0.0 -u root -p xxxx --nocertwarn get idrac.ssh.port
复制代码
③ 获取索引编码的设备信息

racadm可以精确地指定本地或者远程服务器需要操作或者查询的设备编号,只要有准队的对应设备索引即可。类似于snmp中OID的用法。

以下语法为指定特定设备:

device.<group name>.[<index>].<object name>
复制代码

如果想要获取整个设备组的信息,可以用以下语法:

racadm get device.<group name>
复制代码

示例:

racadm get nic.nicconfig
                                       NIC.nicconfig.1 [Key=NIC.Integrated.1-1-1#nicconfig]
                                       NIC.nicconfig.2 [Key=NIC.Integrated.1-2-1#nicconfig]
                                       NIC.nicconfig.3 [Key=NIC.Integrated.1-3-1#nicconfig]
                                       NIC.nicconfig.4 [Key=NIC.Integrated.1-4-1#nicconfig]
复制代码

如果要获取特定的设备组,则用以下语法:

racadm get device.<group name>.<index>
复制代码

示例:

racadm get nic.nicconfig.2
        [Key=NIC.Integrated.1-2-1#nicconfig]
        BannerMessageTimeout=5
        BootStrapType=AutoDetect
        HideSetupPrompt=Disabled
        LegacyBootProto=NONE
        LnkSpeed=AutoNeg
        #VLanId=1
        VLanMode=Disabled
复制代码

如果要获取特定的设备(单一),则用以下语法:

racadm get device.<group name>.<index>.<object name> 
复制代码

示例:

racadm get nic.nicconfig.3.legacybootproto
        [Key=NIC.Integrated.1-3#NICConfig]
        Legacybootproto=PXE
复制代码

以上示例都使用了本地指令格式,事实上remote指令格式也可以一样使用

④ RACADM 远程登录参数说明
参数名 用法
-r <HostIP> 输入远程配置目标的IP
-r <HostIP>:<Port> 输入远程配置目标的IP和端口
-u <username> 输入远程配置目标的用户名
-p <password> 输入远程配置目标的密码
-S 指定RACADM必须确认证书的有效性,如果有效性存疑则停止配置
--nocertwarn 不显示与证书相关的警告消息。(常用)

二、RACADM子命令(关键)

racadm的能量核心就在于其强大丰富的子命令集。大量的子命令可以让我们本地或者远程通过命令行非常精确地、细微地、全面的对服务器进行配置和操作。本章会对所有的常用racadm子命令进行说明。

1、help子命令

和大多数Linux命令一样,racadm也可以用help子命令来查询相关指令的信息和具体设备组或设备的信息。语法格式如下:

racadm help
racadm help <subcommand>
racadm help <device name>.<Group>
racadm help <device name>.<Group>.<object>
复制代码

示例:

racadm help idrac.lcd       #显示idrac.lcd的帮助文档
racadm help system.power    #显示系统电源的帮助文档
复制代码

2、arp子命令

arp子命令用于显示地址解析协议(ARP)表的内容,说白了主要就是用来查目标服务器远控卡的MAC地址。无法添加或删除ARP表条目。要使用此子命令,必须具有“调试”权限。语法格式如下:

racadm arp
复制代码

示例:

racadm arp
        (10.00.1.1) at bc:16:65:d7:27:43 [either] on bond0
复制代码

3、autoupdatescheduler子命令

autoupdatescheduler子命令用于自动更新服务器上设备的固件。要运行此子命令,必须具有服务器控制权限。

  • 可以启用或禁用autoupdatescheduler子命令。
  • 可能无法启用Lifecycle Controller和CSIOR来运行此子命令。
  • 可以启用或禁用autoupdatescheduler。
  • 所需的最低Lifecycle Controller版本是Lifecycle Controller 1.3。
  • 当已调度作业并运行clear命令时,将清除调度参数。
  • 如果在计划作业时无法访问网络共享或缺少目录文件,则作业将失败。

以下为语法格式:

  • 创建autoupdatescheduler:
racadm autoupdatescheduler create -u <user> -p <password> -l <location>\
-f <filename> -time <time> -dom <DayOfMonth> -wom <WeekOfMonth> -dow <DayofWeek>\
-rp <repeat> -a <applyreboot> -ph <proxyHost> -pu <proxyUser> -pp <proxyPassword>\
-po <proxyPort> -pt <proxyType> 
复制代码
  • 查看autoupdatescheduler的参数:
racadm autoupdatescheduler view
复制代码
  • 清除并显示autoupdatescheduler的参数:
racadm autoupdatescheduler clear 
复制代码

示例:

racadm autoupdatescheduler create -u nfsadmin -p nfspwd -l 1.2.3.4:/share -f cat.xml -time 14:30 -dom 1 -rp 5 -a 1
复制代码
racadm autoupdatescheduler view
        hostname    = 192.168.1.1
        sharename   = nfs
        sharetype   = nfs
        catalogname = Catlog.xml
        time        = 14:30dayofmonth =1
        repeat      = 5
        applyreboot = 1
        idracuser   = racuser
复制代码
racadm autoupdatescheduler clear
        RAC1047: Successfully cleared the Automatic Update (autoupdate) feature settings
复制代码

4、cd子命令

cd子命令有点类似于Linux的cd指令,区别是linux下cd是切换当前工作目录,而racadm中cd是用来切换工作的对象Object。语法格式如下:

racadm> cd <object>
复制代码

示例:

racadm>>cd system
        racadm/system>
复制代码

5、cd..子命令

cd..子命令类似于linux中的cd ..,作用是回到上一层工作Object。语法格式如下:

racadm> cd..
复制代码

示例:

racadm/ power> cd..
        system>>
复制代码

6、clearasrscreen子命令

清除内存中的上次崩溃(ASR)内容。语法格式如下:

racadm clearasrscreen
复制代码

7、clearpending子命令

clearpending子命令用于删除设备中所有属性(对象)的Pending值(包括NIC,BIOS,FC和存储)。语法格式如下:

racadm clearpending <FQDD> 
复制代码

示例:

racadm clearpending NIC.Integrated.1-1
复制代码

8、closessn子命令

closessn子命令用于关闭设备上的会话。使用getssninfo查看可使用此命令关闭的会话列表。要运行此子命令,您必须具有管理员权限。语法格式如下:

racadm closessn –i <session_ID>
racadm closessn -a
racadm closessn -u <username>
复制代码
  • -i <session_ID> - 要关闭的会话的会话ID,可以使用RACADM getssninfo子命令检索。无法关闭运行此命令的会话。
  • -a - 关闭所有会话。
  • -u <username> - 关闭特定用户名的所有会话。 仅当用户名包含最多16个字符时,-u选项才能在本地RACADM中使用。如果用户名包含超过16个字符,请使用-i选项。

示例:

  • 关闭会话1234
racadm closessn -i 1234
复制代码
  • 关闭除root用户的活动会话之外的所有会话
racadm closessn –u root
复制代码
  • 关闭所有会话
racadm closessn –a
复制代码

9、clrsel子命令

clrsel子命令用于从系统事件日志(SEL)中删除所有现有记录。要使用此子命令,您必须具有清除日志权限。语法格式如下:

racadm clrsel [-m <module>]
复制代码

m 必须是以下值之一:

  • server- <n> - 其中n = 1到16
  • server- <nx> - 其中n = 1到8; x = a,b,c,d(小写)

示例:

racadm clrsel -m server-1
复制代码

10、config子命令

config子命令用于单独设置iDRAC配置参数或将其作为配置文件的一部分进行批处理,然后修改CMC配置属性。如果数据不同,则会使用新值写入iDRAC对象。语法格式如下:

racadm config -g <group> -o <object> <value> [-m <module>]
racadm config -g <group> -i <index> -o <object> <value>
复制代码

输入参数说明:

  • -f - -f <filename> 选项使config读取<filename>指定的文件的内容并配置iDRAC。该文件必须包含“iDRAC用户指南”中的“解析规则”一节中指定的格式的数据。
  • -continue - 此选项仅与-f选项一起使用。如果组中的配置文件不成功,则继续配置文件中的下一个组。如果未使用此选项,则配置会在特定组不成功时停止。在不成功的组之后,未配置其余组。
  • -p - 此选项必须与-f选项一起使用。它指示config在配置完成后删除配置文件-f <filename>中包含的密码条目。要应用密码,必须在执行config -f命令之前删除配置文件中的前一个只读标记#。
  • -g - -g <groupName>或group选项必须与-o选项一起使用。 <group>指定包含要设置的对象的组。
  • -o - -o <objectName>或object选项必须与-g选项一起使用。此选项指定使用字符串写入的对象名称 <value> - 要设置为配置对象的值。
  • -i - -i <index>或index选项仅对索引组有效,可用于指定唯一组(与-g和-o一起使用)。<index>是从1到n的十进制整数,其中n可以从1到特定组支持的最大索引数不等。如果未指定-i <index>,则假定组的值为1,这些组是具有多个条目的表。索引由索引值指定,而不是命名值。
  • -c - -c或check选项与config子命令一起使用,并允许用户解析cfg文件以查找语法错误。如果发现错误,则显示行号和不正确的简短描述。写入权限不适用于iDRAC。此选项仅供检查。

示例:

racadm config -g cfgLanNetworking -o cfgNicIpAddress 10.35.10.100
==============or=====================
racadm config -f myrac.cfg 
复制代码

11、coredump子命令

coredump子命令用于显示与iDRAC最近发生的任何关键问题相关的详细信息。coredump信息可用于诊断这些关键问题。如果可用,则coredump信息在iDRAC电源周期内保持不变,并且在以下任一情况发生之前保持可用。使用coredumpdelete子命令删除coredump信息。语法格式如下:

racadm coredump
复制代码

示例:

racadm coredump
        Feb 19 15:51:40 (none) last message repeated 5 times
        Feb 19 15:52:41 (none) last message repeated 4 times
        Feb 19 15:54:12 (none) last message repeated 4 times
        Feb 19 15:56:11 (none) last message repeated 2 times
        Feb 22 11:46:11 (none) kernel:
复制代码

12、coredumpdelete子命令

该命令用于删除所有的coredump信息。语法格式如下

racadm coredumpdelete
复制代码

13、diagnostics子命令

非常重要的子命令,可以从从iDRAC收集并导出远程诊断报告。最新成功运行的远程诊断的结果可通过NFS或CIFS共享远程检索和检索。语法格式如下:

  • 运行远程诊断报告:
racadm diagnostics run -m <mode> -r <reboot type> -s <start time> -e <expiration time>
复制代码
  • 导出远程诊断报告:
racadm diagnostics export -f <file name> -l <NFS or CIFS share location> -u <username> -p <password> 
复制代码

参数说明如下:

  • -m <mode> - 指定诊断模式的类型。类型是: 从iDRAC收集并导出远程诊断报告。 0(快速) - 快速模式执行诊断测试的子集。 1(扩展) - 扩展模式执行所有可用的诊断测试。 2(两者) - 按顺序连续运行表达和扩展测试。
  • -f <文件名> - 指定配置文件的名称。
  • -l - 指定网络共享的位置(NFS或CIFS)。
  • -u <username> - 指定要导入文件的远程共享的用户名。
  • -p <password> - 指定要导入文件的远程共享的密码。
  • -r <reboot type> - 指定重新启动类型。类型可以是以下之一: pwrcycle - 动力循环 graceful - 没有强制关机的优雅重启 forced- 强制关机时正常重启
  • -s <start time> - 以yyyymmddhhmmss格式指定计划作业的开始时间。默认值TIME_NOW 立即启动作业。
  • -e <到期时间> - 以yyyymmddhhmmss格式指定计划作业的到期时间。默认值TIME_NA 不应用等待时间。

示例:

  • 启动远程诊断操作:
racadm diagnostics run -m 1 -r forced -s 20121215101010 -e TIME_NA
复制代码
  • 将远程诊断报告导出到CIFS共享:
racadm diagnostics export -f diagnostics -l //169.254.23.44/cifs -u administrator -p password123  
复制代码
  • 将远程诊断报告导出到NFS共享:
racadm diagnostics export -f diagnostics -l 169.254.23.44:/nfs -u administrator -p password123  
复制代码

14、eventfilters子命令

eventfilters子命令用于显示事件过滤器设置列表。要将此子命令与set和test选项一起使用,您必须具有管理员权限。语法格式如下:

racadm eventfilters <eventfilters command type>
racadm eventfilters get -c <alert category>
racadm eventfilters set -c <alert category> -a <action> -n <notifications>
racadm eventfilters set -c <alert

本文标签: 管理工具 批量 服务器 dell RACADM