美文网首页
PXE脚本部署安装CentOS7.4

PXE脚本部署安装CentOS7.4

作者: Chovyn | 来源:发表于2020-03-29 23:08 被阅读0次

操作前提

  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

相关文章

网友评论

      本文标题:PXE脚本部署安装CentOS7.4

      本文链接:https://www.haomeiwen.com/subject/hmupuhtx.html