批量自动化配置Dell服务器idrac管理口IP
工作中经常会遇到一次上几十台、几百台服务器的情况
每当到这个时候小伙伴们拿台笔记本和一根网线,一台服务器、一台服务器的去修改idrac IP
为了节约这个工作量,利用dell的racadm工具,写了下面这个脚本。只要运行起这个脚本,后面要做的就只是插拔网线的工作
[root@localhost ~]# curl -s http://linux.dell.com/repo/hardware/dsu/bootstrap.cgi | bash [root@localhost ~]# yum -y install srvadmin-all
在采购时dell会提供一份服务器的sn列表,会根据这个列表规划好每台服务器的idrac IP,我们可以将此转换成以逗号分隔的CSV文件如下:
[root@localhost ~]# cat idrac_ip_list AAAAAAA,10.10.10.2,255.255.255.0,10.10.10.1 BBBBBBB,10.10.10.3,255.255.255.0,10.10.10.1
[root@localhost ~]# cat set_idrac_ip.sh #!/usr/bin/env bash # @Author : Eric Winn # @Email : eng.eric.winn@gmail.com # @Time : 2018-07-27 14:47 # @Version : 1.0 # @File : set_idrac_ip # @Software : PyCharm # the file of idrac idrac_ip_list_file=${1} if [ ! -f "${idrac_ip_list_file}" ]; then echo "idrac_ip_list_file is not found!!!!" echo "$0 [idrac_ip_list_file]" exit 127 fi # idrac Default infomation idrac_default_ip=${2:-192.168.0.120} idrac_default_user=${3:-root} idrac_default_pass=${4:-calvin} # racadm bin racadm_bin=/opt/dell/srvadmin/sbin/racadm # install check srvadmin_install="curl -s http://linux.dell.com/repo/hardware/dsu/bootstrap.cgi | bash\nyum -y install srvadmin-all" test ! `ls ${racadm_bin} 2> /dev/null` && printf "Please run these commands as root to install racadm.\n\e[1;31m${srvadmin_install}\e[0m\n" && exit 1 RACADM="${racadm_bin} -r $idrac_default_ip -u $idrac_default_user -p $idrac_default_pass" # idrac history idrac_sn_history=() # idrac set set_idrac_ip(){ # get SN sn=`${RACADM} get BIOS.SysInformation.SystemServiceTag |grep SystemServiceTag |awk -F '=' '{print $2}'` if [ "${sn}s" == "s" ]; then echo "Get idrac sn is field!" return 1 fi # We only need the first 7 characters sn=${sn:0:7} echo "sn ======> ${sn}" for h_sn in ${idrac_sn_history[*]} do if [ "$h_sn" == "${sn}" ]; then echo "The ${sn} is already set." return 0 fi done # get new idrac_net from idrac_ip_list_file new_idrac_net=(`grep ${sn} $idrac_ip_list_file|awk -F ',' '{print $2,$3,$4}'`) if [ "${new_idrac_net}s" == "s" ]; then echo "The ${sn} is not in the ${idrac_ip_list_file}" return 1 fi echo "Setting the new ip: ${new_idrac_net[*]}" # set idrac ip ${RACADM} setniccfg -s ${new_idrac_net[*]} | grep successfully if [ $? -eq 0 ]; then idrac_sn_history=(${idrac_sn_history[*]} ${sn}) return 0 else echo "Set is field!" return 1 fi } # check internet check_internet() { pings="" echo -e "Connecting ...\c" while [ "${pings}s" == "s" ] do pings=`ping -c 2 $idrac_default_ip |awk 'NR==6 {print $4}'` if [ "${pings}s" == "s" ]; then echo -e ".\c" else echo fi done return 0 } # main function main() { while true do check_internet if [ $? -eq 0 ]; then echo "Let's starting set" set_idrac_ip if [ $? -eq 0 ]; then echo echo "Now , Please change to a new server" sleep 5 else echo echo "Please check it." sleep 15 fi fi done } main
注:后面的idrac_ip是csv文件名
[root@localhost ~]# sh set_idrac_ip.sh idrac_ip Connecting ... Let's starting set sn ======> AAAAAAA Setting the new ip: 10.10.10.2 255.255.255.0 10.10.10.1 Static IP configuration enabled and modified successfully Now , Please change to a new server
批量自动化配置Dell服务器idrac管理口IP的更多相关文章
- 联想 lenove 3750 M4服务器更改启动项和管理口IP
联想 lenove 3750 M4服务器更改启动项和管理口IP 注: 因为在机房拍照的原因,再加上工作比较忙:整理成文档的时候有的过程已经忘记了,所以有的步骤可能会缺失,里面的选项都已经用中文方式表达 ...
- Linux下搭建Oracle11g RAC(2)----配置DNS服务器,确认SCAN IP可以被解析
从Oracle 11gR2开始,引入SCAN(Single Client Access Name) IP的概念,相当于在客户端和数据库之间增加一层虚拟的网络服务层,即是SCAN IP和SCAP IP ...
- DELL服务器iDRAC相关设置
iDRAC又称为Integrated Dell Remote Access Controller,也就是集成戴尔远程控制卡 iDRAC卡相当于是附加在服务器上的一台小电脑,通过与服务器主板上的管理芯片 ...
- zabbix3.2通过snmp v2采集Dell服务器iDRAC口信息监控硬件
模板下载 https://files.cnblogs.com/files/LuckWJL/zbx_export_templates.xml 模板源代码 <?xml version="1 ...
- Dell服务器iDrac口默认账号密码和IP
https://blog.csdn.net/artdao1987/article/details/79875528
- 戴尔 R730xd 服务器更改管理口密码 图文教程
一.开机根据提示按F2进入配置界面 - 选择中间的iDRAC Setting选项,回车确认 二.进入之后选择 user configuration 选项 三.在change password 处键入新 ...
- DELL服务器管理工具和RACADM介绍
DELL服务器管理工具和RACADM介绍 一.Dell服务器管理工具介绍 Dell对服务器(DELL PowerEdge)的管理主要提供了三种管理工具,分别是Dell Remote Access Co ...
- dell服务器快速设置idrac
前提:将服务器专用的idrac网络接口,连接到网络上 1.登录到服务器(即被监控的服务器). 2.安装客户端工具 yum install OpenIPMI OpenIPMI-devel OpenI ...
- puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置
1. 概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...
随机推荐
- 【源码阅读】vm-insert与vm-storage之间的通讯
先说结论 vm-insert与vm-storage之间采用极其简单的通讯协议 对于简单的场景,越简单性能越高 vm-insert连接到vm-storage后,先发送字符串vminsert.02,vm- ...
- manjaro20夜灯夜间模式开关
- Python小练习更改版(更改一部分代码,与错误)
之前上传的发现有部分代码错误,重新上传: 更改了第一次的代码与错误,增加了注释与商店部分功能: 没有每天坚持更新博客,与初衷相差甚远,坚持!每天进步一点点! user_list.txt 部分代码: { ...
- HTTPS加密证书流程(2)
目录 一:HTTPS加密证书流程 二:证书对比 三:自签证书 1.(lb服务器负载均衡代理) 2.(创建CA证书 创建密码) 3.生成自签证书(公钥),同时去掉私钥的密码(Enter) 四:证书内容解 ...
- APC 篇——总结与提升
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- ApacheCN C/C++ 译文集(二) 20211204 更新
编写高效程序的艺术 零.序言 第一部分:性能基础 一.性能和并发性介绍 二.性能测量 三.CPU 架构.资源和性能 四.内存架构和性能 五.线程.内存和并发 第二部分:高级并发 六.并发和性能 七.并 ...
- 在Rainbond中实现数据库结构自动化升级
Rainbond 这款产品一直致力于打通企业应用交付的全流程,这个流程中不可或缺的一环是企业应用的不断升级.迭代.Rainbond 特有的能力,是可以将囊括多个服务组件的企业应用系统进行打包,并执行一 ...
- java.lang.IllegalArgumentException: Failed to register servlet with name 'dispatcher'.Check if there is another servlet registered under the same name
前言 一年前接手了一个项目,项目始终无法运行,不管咋样,都无法处理,最近,在一次尝试中,终于成功处理了. 含义 意思很明显了,注册了一个相同的dispatcher,可是找了很久,没有相同的Contro ...
- python使用插入法实现链表反转
# encoding=utf-8 class LNode(object): def __init__(self, x): self.data = x self.next = None def reve ...
- java中Statement 对象
1.创建Statement对象建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句.Statement 对象用 Connection 的方法 createStatement 创建,如下列代码段 ...