Dell Racadm管理工具

Racadm

racadm是直接操作dell自带的idrac的工具,ipmitool可以实现的操作通过它都可以执行,包括idrac、bios、nic、raid等等。

安装racadm

该工具包含在Dell OMSA组件里,安装OMSA即可!

#!/bin/bash

#安装SNMP
yum -y install net-snmp
cp -p /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak

#安装OMSA Agent
yum -y install libxslt libcmpiCppImpl0 libwsman1 sblim-sfcb sblim-sfcc openwsman-client openwsman-server
ping -c 4 linux.dell.com

#配置DELL OMSA YUM安装源
wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash

#确认repo文件已生成
if [ -f /etc/yum.repos.d/dell-omsa-repository.repo ];then
echo -e "\033[34mdell-omsa-repository.repo ok\033[0m"
else
exit
fi

#开始安装OMSA
yum -y install srvadmin-all

#安装srvadmin-cm软件包(srvadmin-cm是配合戴尔OpenManage Essentials进行清册,以及更新系统的)
yum -y install zlib.i686 compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686
yum -y install srvadmin-cm

#启动OMSA进程(端口1311)
/opt/dell/srvadmin/sbin/srvadmin-services.sh start

#snmp配置文件修改
grep -Ev "^#|^$" /etc/snmp/snmpd.conf.bak > /etc/snmp/snmpd.conf
sed -i "s/notConfigUser/OMEUser/g" /etc/snmp/snmpd.conf
sed -i "s/public/OME/g" /etc/snmp/snmpd.conf
sed -i "s/notConfigGroup/OMEGroup/g" /etc/snmp/snmpd.conf
sed -i "s/notConfigUser/OMEUser/g" /etc/snmp/snmpd.conf
chkconfig snmpd on
service snmpd restart

RPM包安装

wget http://downloads.dell.com/FOLDER03574555M/1/OM-MgmtStat-Dell-Web-LX-8.3.0-1908_A00.tar.gz -P /tmp/
tar zxvf OM-MgmtStat-Dell-Web-LX-8.3.0-1908_A00.tar.gz
cd /tmp/linux/rac/RHEL6/x86_64/
rpm -ivh srvadmin*
ln -s /opt/dell/srvadmin/sbin/racadm /usr/sbin/racadm

安装racadm依赖组件
yum -y install openssl-devel
使用语法
racadm -r <racIpAddr> -u <username> -p <password> <subcommand> 
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>
使用场景

批量重启服务器(DELL)脚本

#!/bin/bash
idrac_user="XXX"
idrac_password="XXX"
cat /.../idrac.txt | while read ip
do
/opt/dell/srvadmin/sbin/racadm -r $ip -u $idrac_user -p $idrac_password serveraction hardreset &> /dev/null
if [ $? -eq 0 ];then
echo -e "\033[34mServer:$ip has been reboot successful\033[0m"
else
echo -e "\033[31mServer:$ip reboot failuer\033[0m"
fi
done

批量修改Idrac管理卡密码(DELL)脚本

#!/bin/bash
idrac_user="XXX"
idrac_password="XXX"
cat /.../idrac.txt | grep -Ev "#|$" | while read ip
do
/opt/dell/srvadmin/sbin/racadm -r $ip -u $idrac_user -p $idrac_password config -g cfgUserAdmin -o cfgUserAdminPassword -i 2 "Password" &> /dev/null
if [ $? -eq 0 ];then
echo -e "\033[34mServer:$ip password has been modified successful\033[0m"
else
echo -e "\033[31mServer:$ip password modified failuer\033[0m"
fi
done

通过ssh远程修改Idrac管理卡密码

#前提 
yum -y install OpenIPMI OpenIPMI-tools OpenIPMI-devel && chkconfig ipmi on && service ipmi restart

#!/bin/bash
for ip in `cat /../hexi_ssh_ok.txt | grep -Ev "#|$"`
do
echo $ip
ssh -o StrictHostKeyChecking=no yongjianhu@$ip "sudo ipmitool -I open user set password 2 password"
if [ $? -eq 0 ];then
echo $ip >> /home/yongjianhu/modify_idrac_password/modify_ok.txt
else
echo $ip >> /home/yongjianhu/modify_idrac_password/modify_problem.txt
fi
done

清除iDrac日志信息

#!/bin/bash
idrac_user="XXX"
idrac_password="XXX"
cat /.../idrac.txt | grep -Ev "#|$" | while read ip
do
/opt/dell/srvadmin/sbin/racadm -r $ip -u $idrac_user -p $idrac_password clrsel &> /dev/null
if [ $? -eq 0 ];then
echo -e "\033[34mServer:$ip iDrac logs has been cleared successful\033[0m"
else
echo -e "\033[31mServer:$ip iDrac logs has been cleared failuer\033[0m"
fi
done
其他更多用法,详见帮助
Remote RACADM usage syntax:
racadm -r <RAC IP address> -u <username> -p <password> <subcommand> <options>racadm -r <RAC IP address> -i <subcommand> <options>
The "-i" option allows the username and password to be entered interactively.
Examples:
racadm -r 192.168.0.120 -u racuser1 -p aygqt12a getsysinforacadm -r 192.168.0.120 -u racuser2 -p gsdf12o1 getractimeracadm -r 192.168.0.120 -u racuser3 -p djh2iuha getconfig -g cfgSerialracadm -r 192.168.0.120 -u racuser5 -p dsajkhds help getsysinfo
Display a list of available subcommands for the remote RAC:
racadm -r <RAC IP address> -u <username> -p <password> help
Display more detailed help for a specific subcommand:
racadm -r <RAC IP address> -u <username> -p <password> help <subcommand>
0%