PXE高效批量网络装机

操作过程

大概过程

  1. 分配给同一局域网内新加机器的地址(配置文件) dhcp 分配地址 指明tftp 服务器的地址
  2. tftp服务端开启 udp 配置 默认关闭
  3. 安装syslinux 取得 pxelinux.0 文件
  4. 安装vsftpd服务挂载软件安装源(mount /dev/sr0 /var/ftp/centos7)
  5. 将四大文件拷入 (/var/lib/tftpboot )
  • initrd.img
  • pxelinux.0 (类似grub)
  • pxelinux.cfg/default (手写)
  • vmlinuz

6.将服务开启,关闭防火墙,selinux

具体操作步骤:

yum install tftp-server   vsftpd   syslinux  dhcp   -y
cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example                 //配置文件模板在此目录下
#   see dhcpd.conf(5) man page
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example     /etc/dhcp/dhcpd.conf
#将模板文件覆盖掉配置文件

vim /etc/dhcp/dhcpd.conf

subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.200 192.168.100.230;
  option routers 192.168.100.100;
  next-server 192.168.100.100;    #指定tftp的服务器地址
  filename "pxelinux.0";          #指定启动文件 
}

rpm -ql tftp-server

#主要文件:
#/etc/xinetd.d/tftp    //配置文件
#/var/lib/tftpboot    //站点

vim /etc/xinetd.d/tftp 
#14行改成no,启动服务
  1 default: off
  2 # description: The tftp server serves files using the trivial file transfer \
  3 #       protocol.  The tftp protocol is often used to boot diskless \
  4 #       workstations, download configuration files to network-aware printers, \
  5 #       and to start the installation process for some operating systems.
  6 service tftp
  7 {
  8         socket_type             = dgram
  9         protocol                = udp
 10         wait                    = yes
 11         user                    = root
 12         server                  = /usr/sbin/in.tftpd
 13         server_args             = -s /var/lib/tftpboot
 14         disable                 = no                       #14行改成no,启动服务
 15         per_source              = 11
 16         cps                     = 100 2
 17         flags                   = IPv4
 18 }
#每项详解
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = no    //wait no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接,表示是否开启多线程一起工作,否则需要等待
        user                    = root
        server                    = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot    //指定TFTP根目录(引导文件的存储路径) -c允许上传
        disable                 = no   //disable no表示开启TFTP服务 
        per_source              = 11    //通过限制一个主机的最大连接数,从而防止某个主机独占某个服务,这里每个IP地址的连接数是11个
        cps                     = 100 2   //表示服务器最多启动100个连接,如果达到这个数目将停止启动新服务2秒。在此期间不接受任何请求
        flags                   = IPv4
}

rpm -ql syslinux |grep pxelinux.0    //安装完成后找到该文件的地址
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    //拷贝到站点文件里

rpm -ql vsftpd 
cd  /var/ftp
mkdir centos7
mount /dev/sr0 /var/ftp/centos7/

cd /var/ftp/centos7/
ls
#CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-#CentOS-Testing-7
#EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL


cd images/
ls
#efiboot.img  pxeboot  TRANS.TBL
cd pxeboot/
ls
#initrd.img  TRANS.TBL  vmlinuz
cp initrd.img vmlinuz /var/lib/tftpboot/
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cd pxelinux.cfg/
vim default


default linux
prompt 1

label linux
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.91.100/centos7    ks=ftp://192.168.91.100/ks.cfg

label linux text
        kernel vmlinuz
        append text initrd =initrd.img method=ftp://192.168.91.100/centos7

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.91.100/centos7
        
ls  
#四大文件    
#initrd.img  pxelinux.0  pxelinux.cfg/default  vmlinuz

 systemctl stop firewalld.service
 systemctl start dhcpd
 systemctl start tftp
 systemctl start vsftpd
 setenforce 0

CentOS 8,7,6 不同版本的kickstart文件格式不尽相同,不可混用

[root@localhost tftpboot]#yum install system-config-kickstart -y
#安装图形化工具
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值