使用 racadm 管理远程卡

对于远程卡的管理,有很多中方式,除了常规的通过 web 的方式,还有通过 OMSA,或者 IPMI 等方式,DELL 官方提供了一个叫 racadm 的工具同样可以比较方便的管理,这个套件包含在 OMSA 里面。
最常见的就是需要修改远程可的 IP 等相关信息。首先是获取远程卡的 IP 信息:
# racadm getniccfg
# racadm getconfig -g cfgLanNetworking

修改 IP:
# racadm setniccfg -s 192.168.1.2 255.255.255.0 192.168.1.1

或者像这样分开设置:
# racadm config -g cfgLanNetworking -o cfgNicEnable 1
# racadm config -g cfgLanNetworking -o cfgNicIpAddress 192.168.1.2
# racadm config -g cfgLanNetworking -o cfgNicNetmask 255.255.255.0
# racadm config -g cfgLanNetworking -o cfgNicGateway 192.168.1.1
# racadm config -g cfgLanNetworking -o cfgNicUseDhcp 0

或者先获取关于 RAC 的所有信息:
# racadm getconfig -f rac.cfg

修改相关段落之后再更新:
# cat rac.cfg

[cfgLanNetworking]
cfgNicEnable=1
cfgNicIPv4Enable=1
cfgNicIpAddress=192.168.1.2
cfgNicNetmask=255.255.255.0
cfgNicGateway=192.168.1.1

# racadm config -f rac.cfg

其他的一些比较有用的命令,分别是 reset idrac 卡、开关机重启、查看 event log、清除 event log、获取服务代码:
# racadm racresetcfg
# racadm serveraction [powerdown|powerup|powercycle]
# racadm getsel
# racadm clear
# racadm getsvctag

如果要修改远程机器的 idrac 的信息,加 -r 参数指定 ip:https_port:
# racadm -r ip:https_port -u root -p calvin config -g cfgLanNetworking -o cfgNicGateway 192.168.1.1

比如由于之前的网络升级(1, 2, 3, 4)出现了一点小故障,此处省略 1000 字,导致的结果是我们的服务器完全无法 ssh。这只能修改 idrac 的 net,而 idrac 的 net 同样存在 gw 设置的问题,这时候只能从同一网段的某台机器进去,批量指定一下 gw:
# for i in {1..100};do racadm -r 192.168.1.${i}:1111 -u root -p calvin config -g cfgLanNetworking -o cfgNicGateway 192.168.1.1;done

再比如需要修改 idrac 的端口(http, https)的:
# racadm -r ip  -u root  -p calvin config -g cfgRacTuning -o cfgRacTuneHttpPort 81
# racadm -r ip:443  -u root  -p calvin config -g cfgRacTuning -o cfgRacTuneHttpsPort 444
# racadm -r ip:444  -u root  -p calvin config -g cfgRacTuning -o cfgRacTuneSshPort 1000

之前记录过可以通过 ipmi 来完成 user/passwd 的修改,通过 racadm 同样可以完成,racadm 应该是封装了 ipmitool 等工具的:
# racadm -r ip -u root -p calvin config -g cfgUserAdmin -o cfgUserAdminUserName jaseywang -i 2
# racadm -r ip -u jaseywang -p calvin  config -g cfgUserAdmin -o cfgUserAdminPassword jaseywang  -i 2

还有个常用的就是通过 racadm 来 pxe 启动安装机器:
# racadm config -g cfgServerInfo -o cfgServerBootOnce 1
# racadm config -g cfgServerInfo -o cfgServerFirstBootDevice PXE
# racadm serveraction powercycle

# racadm config -g cfgServerInfo -o cfgSErverFirstBootDevice "HDD"
# racadm serveraction powerup
# racadm config -g cfgServerInfo -o cfgServerBootOnce 0

最后一个,要获取到机器的快速服务代码:
# racadm getsysinfo | grep "Service Tag"

要找到这些选项很简单,按照上面的那个 config -f rac.cfg,将所有的选项都 dump 出来就好了。-g 的对应的 [] 里面的内容,-o 则对应下面的一个个选项。

ref:
https://cs.uwaterloo.ca/~brecht/servers/docs/PowerEdge-2600/en/Racadm/racadmc1.htm
http://stuff.mit.edu/afs/athena/dept/cron/documentation/dell-server-admin/en/idrac1/appa.htm