酸爽!我用这套无人值守安装系统瞬间搞定上百台服务器(8)

时间:2018-12-17   来源:   网友评论:0   人气: 619 作者:

# Root password

rootpw --iscrypted $1$vIP9ZiKA$ryz7cg0/2NwoOYVnHhHCF1 #root密码

# System services

#services --enabled="chronyd"

# Do not configure the X Window System

skipx #不使用图形界面

# Accept license

eula --agreed #同意最终用户许可协议

# Reboot after installation

reboot #安装后重启

# Disk partitioning information

%include /tmp/partition.ks

%pre #系统安装前所执行的脚本

#!/bin/sh

# 创建分区,如果分区比较简单,可以放在上面,分区比较多的,可以像这样写脚本放在%pre块内

act_mem=$(cat /proc/meminfo | grep MemTotal | awk '{printf("%d",$2/1024)}')

echo "" > /tmp/partition.ks

echo "clearpart --all --initlabel" >> /tmp/partition.ks

echo 'part pv.767 --fstype="lvmpv" --ondisk=sda --size=1 --grow' >> /tmp/partition.ks..ec01]oho 'part biosboot --fstype="biosboot" --ondisk=sda --size=2' >> /tmp/partition.ks

echo 'part /boot --fstype="ext4" --ondisk=sda --size=512' >> /tmp/partition.ks

echo 'volgroup rhel --pesize=4096 pv.767' >> /tmp/partition.ks

echo 'logvol /data --fstype="ext4" --size=1 --grow --name=data --vgname=rhel' >> /tmp/partition.ks

echo 'logvol / --fstype="ext4" --size=102400 --name=root --vgname=rhel' >> /tmp/partition.ks

if [ ${act_mem} -ge 65536 ]

then

echo "logvol swap --fstype=swap --name=swap --vgname=rhel --size=65536" >> /tmp/partition.ks

elif [ ${act_mem} -le 8192 ]

then

echo "logvol swap --fstype=swap --name=swap --vgname=rhel --size=${act_mem}" >> /tmp/partition.ks

else

echo "logvol swap --fstype=swap --name=swap --vgname=rhel --size=$(expr ${act_mem} / 2)" >> /tmp/partition.ks

fi

%end

%post #系统安装后所执行的脚本

#Sshd config

sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

......

/bin/sh /tmp/ip.sh

/bin/sh /tmp/zabbix_agent.sh

%packages #安装包,%packages块指定以下都是需要进行安装的包。

@base #最小化安装需要@base和@core。@后写的是包组

@console-internet

@core

autoconf #没有任何前缀的表示需要安装的包

chrony

expect

gcc

gcc-c++

......

%end #最后需要用%end结尾

%addon com_redhat_kdump --enable --reserve-mb='auto'

ip.sh、ip.txt、zabbix_agent.sh是安装后所需要执行的脚本,配置在%post块内,使用wget下载下来,再进行执行。可以自行编写脚本实现功能,比如根据机器序列号进行IP配置,进行内核参数调优,权限设置,加入zabbix监控等等。

以下附加一份IP配置脚本,因为比较特殊,需要在网卡上配置vlan,打vlan标签。

↓上下滑动可查看完整内容

ip.txt

#依次对应序列号、业务网IP、数据网IP、管理网IP、主机名

XXXXXXXX 10.1.1.1 10.10.1.1 10.20.1.1 XXXX-1.1

ip.sh

SN=`dmidecode -t 1 |grep "Serial Number" |awk -F ": " '{print $2}'` #取本机序列号

ip_1=`cat /tmp/ip.txt |grep $SN |awk -F " " '{print $2}'` #按照序列号指定对应IP

ip_10=`cat /tmp/ip.txt |grep $SN |awk -F " " '{print $3}'`

ip_20=`cat /tmp/ip.txt |grep $SN |awk -F " " '{print $4}'`

host_name=`cat /tmp/ip.txt |grep $SN |awk -F " " '{print $5}'`

cat > /etc/sysconfig/network-scripts/ifcfg-eth2 << EOF


 

文章评论