PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)

一、认识PXE
1.PXE的定义:是intel公司推出的一款通过网络来引导操作系统的协议,广泛用于网吧的无盘系统。
2.PXE的工作过程:
1)PXE客户机发出dhcp请求,向服务器申请ip地址。
2)DHCP服务器响应PXE客户机的请求,自动从ip地址池中分配一个ip地址给PXE客户机,并告知PXE客户机TFTP服务器的ip地址和PXE引导程序文件pxelinux.0。
3)PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
4)TFTP服务器响应PXE客户机的请求,将其共享pxelinux.0文件传输给PXE客户机。
5)PXE客户机通过网络来启动到系统安装主界面。
6)PXE客户机向文件共享服务器发起centos或Windows系统安装的请求。
7)文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。
8)PXE客户机进入到安装提示向导界面,用户需要手动来完成系统的操作。
3.kickstart自动化系统安装:
在PXE服务器上用vim或kcikstart工具创建一个系统自动安装应答文件ks.cfg,并用文件共享服务来共享ks.cfg文件。ks.cfg自动应答文件中记录是安装操作步骤。

PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
二、搭建PXE服务器(centos7.5 服务器ip192.168.11.11)

  1. 准备工作
    关闭selinux和防火墙
    setenforce 0
    getenforce
    PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
  2. 部署DHCP服务器
    yum install -y dhcp
    rpm -qc dhcp 查看配置文件列表
    PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
    cat /etc/dhcp/dhcpd.conf
    PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
    cat /usr/share/doc/dhcp*/dhcpd.conf.example 复制模板。将以下内容复制到 /etc/dhcp/dhcpd.conf下

PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
vim /etc/dhcp/dhcpd.conf
将模板写入该文件文件中,并更改如下
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
重启服务
systemctl restart dhcpd
systemctl enable dhcpd
新建一台测试机test pxe客户机:
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
进入自定义硬件:
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
内存改为大于等于1324
开机后如图
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
3. 部署tftp-server服务器
yum install -y tftp-server
rpm -qc tftp-server

PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
vim /etc/xinetd.d/tftp

只需修改disable = yes 改成disable = no
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
重启服务
systemctl restart tftp
systemctl enable tftp

  1. 安装提供pxelinu.0的syslinux软件
    yum install -y syslinux mlocate 注释:mlocate可能已经安装
    updatedb
    locate pxelinux.0
    PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
    共享指定文件到/var/lib/tftpboot目录中
    cd /var/lib/tftpboot
    cp -v /usr/share/syslinux/pxelinux.0 ./
    df -hT
    cp -v /dvd/isolinux/* ./
    mkdir -v pxelinux.cfg
    cp -v isolinux.cfg pxelinux.cfg/default
    重启test pxe客户机后如图:
    PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)

  2. 以vsftpd文件共享部署

yum install -y vsftpd
systemctl restart vsftpd
systemctl enable vsftpd

共享centos7镜像到/var/ftp/dvd目录
mkdir /var/ftp/dvd
mount /dev/sr0 /var/ftp/dvd

修改/var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default
进入后按
:set nu
行号显示内容 修改如下:
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
重启test pxe客户机验证:
光标键到首行,按tab键,回车
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
就成功到达了客户机启动安装界面了如图:
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
三、到第二步已经成功部署了PXE服务器了,以上我们可以手动进行centos基本的安装,但我们还可以用kickstart自动安装功能。
1.方法:使用kickstart程序或vim来创建ks.cfg自动应答文件。用文件共享来共享ks.cfg自动应答文件。
2.实施过程:
在文章以上的基础上进行操作
cd
chmod 644 anaconda-ks.cfg
mkdir -pv /var/ftp/ks
cp anaconda-ks.cfg /var/ftp/ks/ks.cfg
再次修改/var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)
再次重启虚拟机,就不需要执行步骤安装centos7了。
PXE服务器的部署(centos7)(dhcp+tftp+vsftpd+自动化详解)