批量自動化配置Dell伺服器idrac管理口IP

2021-09-24 18:19:55 字數 3172 閱讀 4396

背景說明

工作中經常會遇到一次上幾十台、幾百台伺服器的情況

每當到這個時候小夥伴們拿臺筆記本和一根網線,一台伺服器、一台伺服器的去修改idrac ip

為了節約這個工作量,利用dell的racadm工具,寫了下面這個指令碼。只要執行起這個指令碼,後面要做的就只是插拔網線的工作

安裝racadm工具包

[root@localhost ~]# curl -s  | 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 : [email protected]

# @time : 2018-07-27 14:47

# @version : 1.0

# @file : set_idrac_ip

# @software : pycharm

# the file of idrac

idrac_ip_list_file=$

if [ ! -f "$" ]; then

echo "idrac_ip_list_file is not found!!!!"

echo "$0 [idrac_ip_list_file]"

exit 127

fi# idrac default infomation

idrac_default_ip=$

idrac_default_user=$

idrac_default_pass=$

# racadm bin

racadm_bin=/opt/dell/srvadmin/sbin/racadm

# install check

srvadmin_install="curl -s | bash\nyum -y install srvadmin-all"

test ! `ls $ 2> /dev/null` && printf "please run these commands as root to install racadm.\n\e[1;31m$\e[0m\n" && exit 1

racadm="$ -r $idrac_default_ip -u $idrac_default_user -p $idrac_default_pass"

# idrac history

idrac_sn_history=()

# idrac set

set_idrac_ip() get bios.sysinformation.systemservicetag |grep systemservicetag |awk -f '=' ''`

if [ "$s" == "s" ]; then

echo "get idrac sn is field!"

return 1

fi# we only need the first 7 characters

sn=$

echo "sn *****=> $"

for h_sn in $

doif [ "$h_sn" == "$" ]; then

echo "the $ is already set."

return 0

fidone

# get new idrac_net from idrac_ip_list_file

new_idrac_net=(`grep $ $idrac_ip_list_file|awk -f ',' ''`)

if [ "$s" == "s" ]; then

echo "the $ is not in the $"

return 1

fiecho "setting the new ip: $"

# set idrac ip

$ setniccfg -s $ | grep successfully

if [ $? -eq 0 ]; then

idrac_sn_history=($ $)

return 0

else

echo "set is field!"

return 1

fi}# check internet

check_internet() s" == "s" ]

dopings=`ping -c 2 $idrac_default_ip |awk 'nr==6 '`

if [ "$s" == "s" ]; then

echo -e ".\c"

else

echo

fidone

return 0

}# main function

main()

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

背景說明 工作中經常會遇到一次上幾十台 幾百台伺服器的情況 每當到這個時候小夥伴們拿臺筆記本和一根網線,一台伺服器 一台伺服器的去修改idrac ip 為了節約這個工作量,利用dell的racadm工具,寫了下面這個指令碼。只要執行起這個指令碼,後面要做的就只是插拔網線的工作 安裝racadm工具包...

批量自動化配置Dell伺服器idrac管理口IP

背景說明 工作中經常會遇到一次上幾十台 幾百台伺服器的情況 每當到這個時候小夥伴們拿臺筆記本和一根網線,一台伺服器 一台伺服器的去修改idrac ip 為了節約這個工作量,利用dell的racadm工具,寫了下面這個指令碼。只要執行起這個指令碼,後面要做的就只是插拔網線的工作 安裝racadm工具包...

批量自動化配置Dell伺服器idrac管理口IP

背景說明 工作中經常會遇到一次上幾十台 幾百台伺服器的情況 每當到這個時候小夥伴們拿臺筆記本和一根網線,一台伺服器 一台伺服器的去修改idrac ip 為了節約這個工作量,利用dell的racadm工具,寫了下面這個指令碼。只要執行起這個指令碼,後面要做的就只是插拔網線的工作 安裝racadm工具包...