PXE脚本部署安装CentOS7.4

操作前提

  1. 服务器不带业务,已接线,可互通。或多个虚拟机已配置在同一NAT网络下。需安装操作系统。
    (如需批量部署服务器,但未接线,可自备集线器HUB和网线,HUB的转发能力有限)
  2. 服务器硬盘配置相同。或虚拟机硬盘容量设置为一致。
  3. 准备系统镜像文件,如CentOS-7.4-x86_64-DVD-1708.iso

项目部署的准备工作

  1. 自备笔记本电脑、网线、一个U盘。
  2. 客户提供的部署方案(分区方案)

操作步骤:

  1. 按部署方案,安装好第一台服务器。将系统镜像连接在服务器,通过lsblk命令确认ROM为sr0

    如果不是sr0,需修改脚本。
  2. 确认服务器系统用于互联的网口名称,如eno2,该网口已接线可互通。
  • 输入命令:nmtui后回车,进入配置网络的图形界面,进入Edit a connection可以看到服务器有很多网口,分别有不同名称,拍照记录,按BACKQUIT,退出图形界面。
  • 使用命令:ethtool -p 加上网口名ethtool -p eno2,闪烁确认网口。
  1. 将PXE脚本拷贝到服务器中,并执行命令./pxe-legacy-tool7.4,在提示中,输入需要用于pxe部署的网口名称,如eno2,该网口已接线可互通。
  2. 其他服务器开机,自动或手动按F12进入PXE安装。

脚本内容如下

#!/bin/bash
read -p "what is your PXE internet access:" intername
systemctl stop firewalld
systemctl disable firewalld
############配置本地yum源##################

mkdir /iso
mount /dev/sr0 /iso #如已手工挂载镜像到/iso,这句可注释掉
rm -rf /etc/yum.repos.d/*
touch /etc/yum.repos.d/local.repo
cat > /etc/yum.repos.d/local.repo <<EOF
[base]
name=base
baseurl=file:///iso
gpgcheck=0
EOF
yum clean all
yum list

###########配置网卡######################
cat > /etc/sysconfig/network-scripts/ifcfg-$intername <<EOF
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=$intername
DEVICE=$intername
IPADDR=192.168.10.20
NETMASK=255.255.255.0
ONBOOT=yes
EOF
systemctl restart network
systemctl status network
ifconfig $intername


###########配置dhcp服务###################
yum install -y dhcp
cat  > /etc/dhcp/dhcpd.conf <<EOF
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.1;
range dynamic-bootp 192.168.10.21 192.168.10.255;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.10.20;
filename "pxelinux.0";
}
EOF

systemctl restart dhcpd
systemctl enable dhcpd
systemctl status dhcpd

###########配置ftp####################
yum install -y xinetd
systemctl start xinetd
systemctl enable xinetd
yum install -y tftp-server
cat >/etc/xinetd.d/tftp <<EOF
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
EOF

systemctl restart xinetd
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp  /iso/images/pxeboot/vmlinuz  /var/lib/tftpboot
cp /iso/images/pxeboot/initrd.img  /var/lib/tftpboot
cp /iso/isolinux/vesamenu.c32  /var/lib/tftpboot
cp /iso/isolinux/boot.msg  /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default
cat >  /var/lib/tftpboot/pxelinux.cfg/default <<EOF
default linux
label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=ftp://192.168.10.20 ks=ftp://192.168.10.20/pub/ks.cfg quiet
EOF



############配置vsftp##################
yum install -y vsftpd
systemctl restart vsftpd
systemctl enable vsftpd
echo "please wait for minutes ...."
cp -r /iso/* /var/ftp
systemctl restart vsftpd

############应答文件###################
cp ~/anaconda-ks.cfg  /var/ftp/pub/ks.cfg
chmod +r /var/ftp/pub/ks.cfg
cat /var/ftp/pub/ks.cfg |grep cdrom
#第一台是从cdrom启动的,后面的并不是,需要修改
sed -i 's/cdrom/url --url=ftp:\/\/192.168.10.20/g' /var/ftp/pub/ks.cfg
sed -i '/^# Disk partitioning information/i\clearpart --all --initlabel' /var/ftp/pub/ks.cfg
扩展阅读
  1. 学习了解PXE脚本-CSDN博客
    https://blog.csdn.net/weixin_34032621/article/details/91509784
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容