PXE批量装机配置

一、PXE工作流程

1.网卡上的PXE芯片有512字节,存放了DHCP和TFTP的客户端
2.启动计算机并选择网卡启动
3.PXE上的DHCP客户端会向DHCP服务器,申请IP地址
4.DHCP服务器分配一个IP址地给它,同时DHCP配置文件还告诉PXE
  TFTP服务器的地址,并去下载一个pxelinux.0的文件
  (1)next-server 192.168.193.140;
  (2)filename "pxelinux.0";
5.pxelinux.0告诉PXE要址载的配置文件是pxelinux.cfg目录下面的default
6.PXE下载并依据配置文件的内容下载启动必须的文件,并通过kickstart.cfg配置文件开始安装系统

二、关闭防火墙、selinux
(1)由于涉及到主机间不同基于不同协议的通信,所以为了避免不必要的麻烦,我们选择关闭防火墙以及selinux。
#systemctl disable firewalld          # 关闭防火墙
#vim /etc/selinux/config               # 修改文件永久关闭selinux
SELINUX=disabled                         # 设置SELINUX的值为disabled
(2)查看一下生效情况
# firewall-cmd --state
not running
# getenforce
Disabled

三、安装并配置DHCP服务
# yum install dhcp -y

#rpm -ql dhcp         # 查询dhcp相关的配置文件
/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
/usr/share/doc/dhcp-4.2.5/dhcpd6.conf.example

#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf   # 复制模板配置文件

# vim  /etc/dhcp/dhcpd.conf

#---------可用最简配置-------------------

subnet 192.168.128.0 netmask 255.255.255.0 {
        range 192.168.193.20 192.168.193.100;   //地址范围
        option routers 192.168.193.140;      //默认网关指向客户端
        option domain-name-servers 114.114.114.114;  //地址解析南京的服务器解析
        next-server 192.168.193.140;  //指向TFTP服务器是自己的地址
        filename "pxelinux.0";            //ftp站点底下的引导程序文件位置
}

** 多网卡默认监听eth0,指定DHCP监听eth1网卡**
# vim /etc/sysconfig/dhcpd  在这个文件中,不是/etc/dhcp/dhcpd.conf
# Command line options here
DHCPDARGS=eth1  # 指定监听网卡

四、安装配置TFTP、安装VSftpd文件传输协议、挂载操作系统安装镜像文件
(1)安装xinetd、tftp-server和syslinux(或syslinux-tftpboot 使用这个包就不必手工将启动内核文件vmlinuz, initrd.img pxelinux.0复制到tftp server的根目录下,这个包自动搞好。)
# yum install -y xinetd
# yum install -y tftp-server syslinux  #syslinux 会在 /usr/share/syslinux/pxelinux.0 生成pxelinux.0文件 ,需要手动复制到/var/lib/tftpboot/ 目录中。

(2)配置xinetd,由xinetd管理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  #默认disable是yes的,把它改为no即可
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

systemctl enable tftp
systemctl enable xinetd
systemctl start tftp
systemctl start xinetd

(3)安装VSftpd文件传输协议、挂载操作系统安装镜像文件
# yum install vsftpd -y
# cd /var/ftp
# mkdir centos7
# mount /dev/sr0 /var/ftp/centos7
# df -hT
# systemctl start vsftpd
# systemctl enable vsftpd

五、复制内核文件、初始化文件到TFTP服务目录中
     TFTP服务根目录下要放4个文件
    (1)vmlinuz     #vmlinuz在镜像文件中,是可引导的、压缩的内核文件,vmlinuz是vmlinux的压缩文件。是可执行的Linux内核
    (2)initrd.img  #initrd.img在镜像文件中,是“initial ram disk”的简写。initrd用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态
    (3)pxelinux.cfg/default #安装菜单
    (4)pxelinux.0  #由syslinux生成
# cd /var/ftp/centos7/images/pxeboot
# yum -y install syslinux
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

六、配置客户端启动配置文件
# mkdir /var/lib/tftpboot/pxelinux.cfg
# cd /var/lib/tftpboot/pxelinux.cfg
# vim default
default auto
prompt 0  //0自动   1手动
 
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.128.140/centos7
 
label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://192.168.128.140/centos7
 
label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.128.140/centos7

如果要实现自动化安装,需要修改default文件
       在 append initrd 后面添加   ks=ftp://192.168.193.128/ks.cfg  (指定自动化脚本ks.cfg路径)


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值