pxe的作用 远程装服务器
通过 dhcp 服务器 分配 Ip 然后 通过 http 或者是 ftp 来拉取rpm包来安装 系统

注:
传输文件的 时候使用的是 tftp协议
TFTP (简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。 TFTP服务默认由xinetd服务进行管理,使用UDP 端口 69
xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。比如 telnet

1.安装dhcp

(1)下载 and 覆盖 配置文件

  1. yum -y install dhcp
  2. cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

(2)修改配置文件

option domain-name-servers ns1.example.org, ns2.example.org;
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
next-server 10.47.165.108;   #指定tftpserver在哪里
filename "/pxelinux.0";     #网络引导程序文件

 #  子配置  A slightly different configuration for an internal subnet.
 #子网配置
subnet 10.47.165.0 netmask 255.255.255.0 {
 range 10.47.165.110 10.47.165.150;       #DHCP地址池的范围
 option domain-name-servers 114.114.114.114;  #DNS地址   (可以设置)
 option domain-name "example.com"; #域名地址
 option routers 10.47.165.70;     #网关地址
 default-lease-time 600;      #租约期  获取到的ip存活多长时间
 max-lease-time 7200;  #租约期到期,在的话就还可以用,不在自动回收
}

(3)启动并开机自启服务

systemctl start dhcpd && systemctl enable dhcpd

2.安装tftp服务

(1)下载软件包

yum -y install tftp* xinetd

(2)修改排位置文件
image.png
(3)开启服务

systemctl start tftp xinetd && systemctl enable tftp xinetd

(4)准备pxe的引导程序

yum -y install syslinux-extlinux.x86_64 
cp /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot/

注:
这里的 sys 这个包 我们也可以不安装 可以直接去 光盘 挂载目录下边找
在 /opt/centos/iamges/pxeboot/
(我的光盘挂载在 /opt/centos)

3.配置 启动菜单文件

配置默认启动文件:
vim /var/lib/tftpboot/pxelinux.cfg/default

default auto
prompt 0

label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://10.47.165.108/centos7 ks=ftp://10.47.165.108/ks.cfg

image.png
注:
这里 我只写了一行 因为默认 选的就是 auto 这里的label 就是一个名字
跟 name一样 取什么名字都可以 你也可以把救援模式 都写上去 都无所谓
我这里就写了 一个
注意: 这里后边是要添加 ks文件的不要忘记了 !! method=…

4.准备初始化镜像

 mount /dev/cdrom /opt/centos
cp /opt/centos/images/pxeboot/vmlinuz     /var/lib/tftpboot/ 
cp  /opt/centos/images/pxeboot/initrd.img   /var/lib/tftpboot/

注: 为什么需要 vmlinuz 和 initrg呢 因为开机的时候 会读取到
会通过 tftp协议 然后从你的 ftp http 服务器 把这两个文件拉取到 要安装系统的机器

5.安装ftp服务,准备安装源

(1)ftp服务器的安装和拷贝安装源

yum  -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /opt/centos/*  /var/ftp/centos7/

注: 
这里的centos7目录是防止 安装源的 然后 要安装系统的机器通过 ftp服务器
拉取到 安装源

(2)启动服务

 systemctl start vsftpd && systemctl enable vsftpd

(3)关闭防火墙和 selinux 否则 拉取不到文件

systemctl stop firewalld  && systemctl disable firewalld
setenforce 0 
vim /etc/selinux/config

6.安装 Kickstart ,实现无人值守安装

(1)安装systemctl-config-kickstart 工具

yum -y install systemctl-config-kickstart

centos7光盘里边自带的就有

(2) 打开“Kickstart 配置程序” 窗口  (这个的作用就是生成一个 ks 文件 安装的我们指定就可以了)
可以通过桌面菜单 “应用程序”——> “系统工具”——>“Kickstart” 打开
或者
命令行执行 “ system-config-kickstart “

 system-config-kickstart

注意: 你如果使用 命令行执行方式的话 需要有2 条件
1.linux有图形界面
2.需要有xmanager
否则的话就会出现如下的报错!!!
image.png

如果你都满足的话 他就会弹出来这个 让你选择image.png

选择对应的参数:

image.png

image.png
image.png

image.png

注:
这里硬盘多的话 要安装在一块硬盘上不然的话 系统分区装在不同的分区上
会无法启动 而且你一定不能写错 写上对应硬盘的名字

image.png

image.png

image.png

保存

image.png
image.png

自定义配置(最小化安装)

image.png

7.添加ks文件

image.png

注: 我们的ks文件是要放在 ftp服务器的 默认目录下的
目的就是在于 让要安装系统的机器 拉取到ks文件
然后根据 ks 文件来安装 系统
image.png