racadm环境之多线程并发(一)

发布时间:2020-06-26 18:50:11 作者:吾言
来源:网络 阅读:18148

本人习惯通过cobbler部署物理机系统,那我就来说说部署系统前需要做哪些准备。

1.BIOS设置是否符合标准。比如F1/F2错误提示、系统启动顺序、是否有开启PXE启动等。

2.你从哪个网卡进行pxe引导,cobbler部署需确定对应服务器网卡的MAC地址。

3.做磁盘阵列,此项是最耗费时间的。也是这个原因,才有了这个文档。

4.更改idrac root用户的密码,并新增一个组内通用用户。




一、racadm环境部署及文档说明

此文档仅适用于dell且配置了iDRAC远程管理卡的机器(主要是配置了idrac ip,方便远程连接)。全文脚本依赖于racadm环境,需在放置脚本的服务器上安装srvadmin包。以下脚本就是为解决前文中的系统部署前准备事宜。

环境部署如下:

# 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/bin/racadm /usr/bin/racadm

具体命令和用法,我就不说了,大家可以参考以下手册

http://www.dell.com/support/manuals/us/en/19/idrac7-8-with-lc-v2.20.20.20/iDRAC_RACADM_Pub-v3/storage?guid=GUID-9E3676CB-B71D-420B-8C48-C80ADD258E03&lang=en-us


二、 脚本说明

脚本部分一共包含三部分。


1.run.sh脚本内容

#!/bin/bash
# chenss
# date : 2016-09-10

PATH="/opt/dell/srvadmin/bin/:/opt/dell/srvadmin/sbin/:$PATH"
if [ $# -gt 0 ]; then
     echo -e "\e[0;31;1mCorrect syntax: sh run.sh\e[0m"
     exit
fi

start=`date +%s`
NicGetMac='/data/script/idrac/modules/modules_GetNicMac.sh'
CreateRaid='/data/script/idrac/modules/modules/modules_CreateRaid.sh'
AddUser='/data/script/idrac/modules/modules_AddUser.sh'
Check='/data/script/idrac/modules/modules/modules_SetBios.sh'
delvd='/data/script/idrac/modules/modules/modules_DelVds.sh'
disk_convert='/data/script/idrac/modules/modules/modules_DiskModeConvert.sh'
defpass='/data/script/idrac/modules/modules_RestorPass.sh'
reboot='/data/script/idrac/modules/modules/modules_SysReboot.sh'
pxe='/data/script/idrac/modules/bootseq.sh'
idrac_file='/data/script/idrac/hosts'
NewInit='/data/script/idrac/modules/modules_NewInit.sh'

cat << EOF 
########## please option your choice: [1-10] ############
(1)  Get server NIC mac-address
(2)  Remove all or the virtual disk other than the system disk
(3)  Physical Disk mode convert
(4)  Create raid1 or raid5
(5)  Add idrac user and change root passwd
(6)  Bios disable F1/F2 errot prompt and setup HDD first boot
(7)  check system boot seq
(8)  Restore the root default password
(9)  reboot system
(10) New server raid、bios init
(99) Execute the command manually
(*) exit script
########################################################
EOF

read -p "please option your choice: " choice
case $choice in
1)script="$NicGetMac";;
2)read -p "This operation will remove virtual disk,Are you sure? [Y|N]" confirm
if [ "$confirm" == "Y" -o "$confirm" == "y" ]; then
    script="$delvd"
    read -p "Romve all or no system virtual disk? [all|nosys]" rmvd
    if [ "$rmvd" != "all" -a "$rmvd" != "nosys" ]; then
         echo -e "\e[0;31;1m: argu error,you can only enter 'all' or 'nosys',please enter again\e[0m"
         exit
    fi
else
    echo -e "\e[0;31;1mYou can only enter 'Y' or 'N',please enter again\e[0m"
    exit
fi;;
3)read -p "This operation will convert disk mode,May be erase disk data,Are you sure? [Y|N]" confirm
if [ "$confirm" == "Y" -o "$confirm" == "y" ]; then
    script="$disk_convert"
else
    echo -e "\e[0;31;1mYou can only enter 'Y' or 'N',please enter again\e[0m"
    exit
fi;;
4)read -p "This operation will create raid,May be erase disk data,Are you sure? [Y|N]" confirm
if [ "$confirm" == "Y" -o "$confirm" == "y" ]; then
    script="$CreateRaid"
else
    echo -e "\e[0;31;1mYou can only enter 'Y' or 'N',please enter again\e[0m"
    exit
fi;;
5)script="$AddUser";;
6)script="$Check";;
7)script="$pxe";;
8)script="$defpass";;
9)read -p "This operation will reboot system,Are you sure? [Y|N]" confirm
if [ "$confirm" == "Y" -o "$confirm" == "y" ]; then
    script="$reboot"
fi;;
10)read -p "This operation will remove virtual disk,Are you sure? [Y|N]" confirm
if [ "$confirm" == "Y" -o "$confirm" == "y" ]; then
    script="$all"
else
    echo -e "\e[0;31;1mYou can only enter 'Y' or 'N',please enter again\e[0m"
    exit
fi;;
99)read -p "please input command: " a b c d e f g;;
*)echo -e "\e[0;31;1margu error,please check...\e[0m"
exit;;
esac

if egrep -v '^#|^$|^NIC|^RAID' $idrac_file | grep '[^[:digit:]].*-' &> /dev/null; then
    menu_ipseq='1'
else
    menu_ipseq='2'
fi

function ShExec {
        NUM=`grep '^NIC' $idrac_file | awk '{print $2}'`
        mode=`egrep '^mode' $idrac_file | awk '{print $2}'`
        raid_level=`egrep '^RAID' $idrac_file | awk '{print $2}'`
        if [ -n "$a" ]; then
            racadm -r $idrac_ip -u root -p calvin $a $b $c $d $e $f $g --nocertwarn  | egrep -v -B 9 'Default username'
        elif [ "`basename $script`" == "modules_GetNicMac.sh" ]; then
            sh $script $idrac_ip $NUM
        elif [ "`basename $script`" == "modules_DelVds.sh" ];  then
            sh $script $idrac_ip $rmvd
        elif [ "`basename $script`" == "modules_DiskModeConvert.sh" ];  then
            sh $script $idrac_ip $mode
        elif [ "`basename $script`" == "all.sh" ]; then
            sh $script $idrac_ip $mode $raid_level
        else
            sh $script $idrac_ip $raid_level
        fi
}

function SEQ {
egrep -v '^#|^$' $idrac_file | grep '[^[:digit:]].*-' | while read idracs; do
    prefix=`echo $idracs | awk -F '[.-]' '{print $1"."$2"."$3}'`
    begin=`echo $idracs | awk -F '[.-]' '{print $4}'`
    end=`echo $idracs | awk -F '[.-]' '{print $5}'`
    for i in `seq ${begin} ${end}`; do
        {
        idrac_ip=${prefix}.$i
        ShExec
        }&
    done
    wait
done
}

function NOSEQ {
egrep -v '^#|^;|^$' $idrac_file | grep '^[[:digit:]].*$' | while read idracs; do
    {
    idrac_ip=`echo $idracs | awk '{print $1}'`
    ShExec
    }&
wait
done
}

case $menu_ipseq in
1) SEQ;;
2) NOSEQ;;
*) echo "usage: error,please check script!"
esac

over=`date +%s`
echo "used time : `expr $over - ${start}`s"


2.hosts文件内容,初步定义如下。

# 网卡编号
NIC_NUM: 1

# 需转换的硬盘模式
mode: all_raid

# RAID 级别
RAID: 5

# IDRAC IP 列表
192.168.1.1-10


3.README文档介绍

一、脚本运行格式:
sh run.sh
然后根据需求选择需执行的操作

########## please option your choice: [1-10] ############
(1)  Get server NIC mac-address
(2)  Remove all or the virtual disk other than the system disk
(3)  Physical Disk mode convert
(4)  Create raid1 or raid5
(5)  Add idrac user (JPush) and change root passwd
(6)  Bios disable F1/F2 errot prompt and setup HDD first boot
(7)  check system boot seq
(8)  Restore the root default password
(9)  reboot system
(10) New server raid、bios init
(99) Execute the command manually
########################################################

二、执行脚本选项说明
1.获取服务器网卡的 mac-address
2.根据需求删除所有虚拟磁盘或保留除系统盘的其它所有虚拟磁盘(机器转hadoop业务或出厂阵列不规划时应用)
3.硬盘(包含SSD)在直通和raid模式间转换。
4.创建raid1或raid5。
5.添加idrac用户、更改及恢复默认root用户密码。
6.更改BIOS(禁用F1、硬盘第一引导)
7.检查系统第一启动项
8.还原IDRAC root用户密码为 calvin
9.通过IDRAC强行重启服务器
10.把阵列清除、阵列创建、BIOS更改封装在一个脚本(阵列创建格式同选项4)
99.执行传递的idrac命令


三、hosts文件填写规范
1.NIC_NUM后的数字表示第几块网卡,电口用网口3或4进行PXE安装,光口用网口1或2进行PXE安装
2.硬盘模式: [ all_raid | hdd_raid | hdd_jobd | ssd_raid | ssd_jobd ] (脚本会执行机器重启操作)
书写格式:mode和”硬盘模式“间必须有空格。例:[ mode: hdd_raid ] 或 [ mode hdd_raid ] 均可。
all_raid:所有硬盘都转换为RAID模式
hdd_raid:除2块558G系统盘外,所有HDD磁盘转换为RAID模式
hdd_jobd:除2块558G系统盘外,所有磁盘转换为直通模式
ssd_raid:所有SSD磁盘转换为RAID模式
ssd_jobd:所有SSD磁盘转换为直通模式
3.阵列类型: [ 1 | 5 ]
RAID5说明:
方式一:有2块558G左右盘做sda ,其余HDD做sdb
方式二:所有HDD大小一样,划分300G做sda,剩下做sdb。两种方式都会判断是否有SSD)
硬盘模式说明(脚本会执行机器重启操作):
4.IDRAC IP书写格式:
方式一:192.168.1.1-10
方式二:
192.168.1.1
192.168.1.2
192.168.1.3

推荐阅读:
  1. pfSense book之多WAN
  2. racadm环境之服务器网卡mac获取(二)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

bios 服务器 dell

上一篇:eclipse下Monkeyrunner平台搭建Pydex

下一篇:PL/SQL Developer(64bit)免安装客户端连接Oracle数据库

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》