PXE批量安装服务器

[复制链接]
发表于 2025-10-19 21:47:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
KickStart主动化安装摆设



  • PXE原理
PXE(preboot execute environment,预启动实验情况)是由Intel公司开辟的最新技能,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操纵体系,在启动过程中,终端要求服务器分配IP所在,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中实验,由这个启动软件包完成终端(客户端)根本软件设置,从而引导预先安装在服务器中的终端操纵体系


  • PXE Client从PXE网卡启动,通过PXE BootRom以UDP的情势发送一个广播哀求,向本网络中DHCP服务器所求IP
  • DHCP服务器收到客户端的哀求,验证是否来KickStart主动化安装摆设自合法的PXEClient的哀求,验证通过返反相应,相应内容包罗:分配的IP所在、pxelinux启动步伐的位置以及设置文件的位置
  • 客户端收到服务器的回应后,发送一个帧到TFTP服务端,哀求传输启动所需文件,包罗:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件
  • 当服务器收到客户端的哀求后,他们之间之后将有更多的信息在客户端与服务器之间作应答,用以决定启动参数。BootROM由TFTP通讯协议从Boot Server下载启动安装步伐锁必须的文件(pxelinux.0 pxelinux.cfg/default)。default文件下载完成后,会根据该文件中界说的引导次序,启动Linux安装步伐的引导内核
  • 客户端通过pxelinux.cfg/default文件乐成的引导Linux安装内核后,安装步伐起首必须确定你通过什么安装介质来安装Linux,如果是通过网络安装(NFS、FTP、HTTP),则会在这个时间初始化网络,并定位安装源位置。接着会读取default文件中指定的主动应答文件ks.cfg所在位置,根据该位置哀求下载该文件
  • 将ks.cfg文件下载返来后,通过该文件找到OSServer,并按照该文件的设置哀求下载安装过程须要的软件包。OS Server和客户端创建毗连后,将开始传输软件包,客户端将开始安装操纵体系。安装完成后,将提示重新引导盘算机。



  • DHCP服务安装设置

  • 安装DHCP服务
      # yum -y install dhcp*

     # rpm -ql | grep "dhcpd.conf"


  • 编辑DHCP设置文件
# vim /etc/dhcpd/dhcpd.conf

               default-lease-time 21600;

               max-lease-time 43200;

               subnet 192.168.245.0 netmask 255.255.255.0 {

                    range dynamic-bootp 192.168.245.180 192.168.245.200;

                    option subnet-mask 255.255.255.0;

                    option routers 192.168.245.2;

                    default-lease-time 21600;

                    max-lease-time 43200;

                    next-server 192.168.245.129;

                    filename "/pxelinux.0";

                    host InstallOS {

                        hardware ethernet 00:0C:29:BA:18:17;

                        fixed-address 192.168.245.185;

                    }

              }


  • 启动dhcp服务
            # systemctl restart dhcpd

           # netstat -lntup | grep dhcpd




  • TFTP安装设置

  •  安装TFTP服务器
            # yum -y install tftp-server



  •  编辑TFTP服务设置文件
            # vim /etc/xinetd.d/tftp

                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

                }



  • 启动TFTP服务
            # systemctl restart tftp

            # netstat -lntup | grep 69



  • HTTP安装设置


  •  安装HTTP
         # yum -y install httpd


  •   挂载体系镜像,使镜像可以通过web访问
         # mkdir /var/www/html/centos7.6

         # mount /dev/cdrom /var/www/html/centos7.6


  • 启动httpd,访问镜像
        # systemctl restart httpd



  • PXE引导设置(bootstrap)

  •   安装syslinux
         syslinux是一个功能强盛的引导加载步伐,而且兼容各种介质。SYSLINUX是一个小型的Linux操纵体系,它的目标是简化初次安装Linux的时间,并创建修护或别的特别用途的启动盘。如果没有找到pxelinux.0这个文件,可以安装一下。

            

            # yum -y install syslinux

            # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

            # cp /var/www/html/centos7.6/isolinux/* /var/lib/tftpboot/ 

    # mkdir /var/lib/tftpboot/pxelinux.cfg/

    # cp /var/www/html/centos7.6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default


  • 编辑客户端设置文件default
# vim /var/lib/tftpboot/pxelinux.cfg/default

default ks

prompt 0


label ks

  kernel vmlinuz

  append initrd=initrd.img ks=http://192.168.245.129/ks_config/Centos7.6-ks.cfg #cfg文件访问路径


创建KS文件

    



  • 编写ks文件
        # ks_config

        # vim /var/www/html/ks_config/Centos7.6-ks.cfg

         install

         url --url="http://192.168.245.129/centos7.6/"  #镜像访问路径

         text

         lang en_US.UTF-8

         keyboard us                            

         zerombr

         bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

         network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6

timezone --utc Asia/Shanghai

authconfig --enableshadow --passalgo=sha512

rootpw  --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/

clearpart --all --initlabel

part /boot --fstype=xfs --asprimary --size=500

part swap --size=2048

part / --fstype=xfs --grow --asprimary --size=20000

firstboot --disable

selinux --disabled

firewall --disabled

logging --level=info

reboot

%packages

@base

@compat-libraries

@debugging

@development

tree

nmap

sysstat

lrzsz

dos2unix

telnet

%end


回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表