PXE 无人值守安装:
    通过网络方式自动进行系统安装
   
    dhcp+tftp+vsftpd/http/nfs+kickstart

1.应用场景
  1)需要进行大批量的部署操作系统(批量化)
  2)pc机或者是没有光驱的服务器
  3)需要经常更换或者重装linux操作系统

2.需求
   1)网络畅通并且有一台发布安装源的服务器
   2)需要被安装系统的机器支持网络引导,有pxe芯片 
  

3.服务器的需求
    1)dhcp  用来给客户端分配ip
    2)tftp  用来发布内核和驱动文件  vmlinuz  initrd.img
    3)配置安装启动文件 ks.cfg
        kickstart
    4)vsftpd    提供镜像和ks.cfg文件
         vsftpd  nfs http
 
 4.PXE工作原理视图

pxe自动化部署_第1张图片




下面是PXE服务器的搭建

工作环境:
服务器   ip:192.168.11.11  

1.配置DHCP                                端口号: udp / 67

安装服务软件

yum install -y dhcp

查看软件生成的文件

rpm -ql dhcp

/etc/dhcp    //配置文件目录
/etc/dhcp/dhcpd.conf    //配置文件
/etc/rc.d/init.d/dhcpd    //启动脚本
/etc/sysconfig/dhcpd    //启动脚本的配置文件
/usr/sbin/dhcpd              //守护进程
/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample   //配置文件的模版
/var/lib/dhcpd/dhcpd.leases   //租约信息

查看配置文件

rpm -qc dhcp

/etc/dhcp/dhcpd.conf    **dhcp服务器的主配置文件(实现DHCPipv4功能)

/etc/dhcp/dhcpd6.conf    dhcp服务器的主配置文件(实现DHCPipv4功能)

/etc/openldap/schema/dhcp.schema

/etc/sysconfig/dhcpd      dhcp服务器的辅助配置文件(用于多网卡环境)

/var/lib/dhcpd/dhcpd.leases   dhcp服务器的租约文件(记录客户机从服务器获取的IP地址信息)

/var/lib/dhcpd/dhcpd6.leases

配置

cat  /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example 

mkdir -pv /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf 修改以下内容

subnet 192.168.11.0 netmask 255.255.255.0 {

  range 192.168.11.26 192.168.11.30;

  option domain-name-servers 8.8.8.8;

  option domain-name "qf.com";

  option routers 192.168.11.2;

  option broadcast-address 192.168.11.255;

  default-lease-time 6000;

  max-lease-time 72000;

  next-server 192.168.11.11;

  filename "pxelinux.0";

}

定义网络地址和子网掩码

指定IP地址池的范围(起始和截止IP)

域名解析服务器的IP地址

域名

网关IP地址

广播地址

默认租约时间

最大租约时间

TFTP服务器的IP地址

PXE引导程序文件名

       

启动服务

systemctl restart  dhcpd

systemctl enable dhcpd

systemctl status  dhcpd

netstat -atunlp | grep :67                  67号端口的网络进程序

2019-02-22_140036.png

PXE客户机测试:

1. VMware虚拟机软件中新建一台名称为PXE0centos7_64位系统的虚拟机。

2. PXE0虚拟机的内存设置成1324M

3. PXE0虚拟机创建一个名称为“NOS”的快照。

4.启动PXE0虚拟机,会发现它自动获到了IP地址,并卡在了下图的界面

pxe自动化部署_第2张图片

2.配置tftp                                     端口号:  udp /69

安装服务软件

rpm -q tftp-server

yum install -y tftp-server

查看配置文件

rpm -qc tftp-server

2019-02-22_111725.png

cat /etc/xinetd.d/tftp

pxe自动化部署_第3张图片

启动服务

systemctl restart tftp

systemctl enable tftp

systemctl status tftp

netstat -atunlp | grep 69         查网络进程中关于69号端口关键字的信息


2019-02-22_140122.png

3.配置 kickstart redhat 提供一个安装脚本工具(填好后保存,默认会生成一个ks.cfg文件)

安装提供pxelinux.0的sysliunx软件,共享pxe引导程序文件。

rpm -q syslinux mlocate

yum install -y syslinux mlocate

更新文件查找数据库中pxelinux.0文件

updatedb

locate pxelinux.0

共享指定文件到/var/lib/tftpboot目录中

cd /var/lib/tftpboot

cp -v /usr/share/syslinux/pxelinux.0    ./

df -hT

cp -v /dvd/isoliunx/*   ./

mkdir -v pxelinux.cfg

cp -v isolinux.cfg  pxelinux.cfg/default


PXE客户机测试:

重启PXE0虚拟机,会发现它自动获到了IP地址,并卡在了下图的

pxe自动化部署_第4张图片



4.配置vsftpd文件共享                                端口号:  21

安装服务

rpm -q vsftpd

yum install -y vsftpd

查看配置文件

rpm -qc vsftpd

pxe自动化部署_第5张图片

启动服务

systemctl restart vsftpd

systemctl enable vsftpd

systemctl status vsftpd

netstat -atulp |grep vsftpd

netstat -atunlp | grep :21




2019-02-22_140206.png

共享系统镜像文件到/var/ftp/dvd目录

mkdir -v /var/ftp/dvd

mount /dev/sr0  /var/ftp/dvd

修改/var/lib/tftpboot/pxelinux.cfg/default 启动菜单内容

vim /var/lib/tftpboot/pxelinux.cfg/default

2019-02-22_141151.png

修改为

2019-02-22_141422.png

进入/var/lib/tftpboot目录下修改文件

cd /var/lib/tftpboot      

pxe自动化部署_第6张图片

将图片名修改为splash.png并加入可以修改界面文件


PXE客户机测试:

1. 重启PXE0虚拟机,等待自动进入系统安装菜单界面。

2. 在安装菜单界面用方向键选择第1个菜单,按Tab键显示菜单的内容,此时可以看到如下图所示的内容。


pxe自动化部署_第7张图片


在第1个菜单界面上直接按回车键,等待安装程序的启动,直到进入下图所示的界面。

pxe自动化部署_第8张图片