●预启动执行环境,在操作系统之前运行
服务端
●运行DHCP服务,用来分配地址、定位引导程序
●运行TFTP服务,提供引导程序下载
客户端
●网卡支持PXE协议
●主板支持网络引导
●规模化:同时装配多台服务器●自动化:安装系统、配置各种服务
●远程实现:不需要光盘、U盘等安装介质
1、客户端向dhcp服务器发送广播请求ip地址
2.dhcp服务器响应客户端请求,分配一个地址池中的可用地址给客户端
3. dhcp服务器提供tftp服务器的地址,指引客户端去tftp服务器取得系统所需的引导文件
4、客户端需要系统启动的内核文件和驱动文件
5、当操作系统安装之后需要一些软件包,客户端向ftp服务器请求
tftp:简单文件传输协议
使用udp的69端口
1、容易实现,速度快,不验证身份权限等,客户端请求文件就给他,无交互
2、一般用作于小文件的传输
●创建应答文件,预先定义好各种安装设置
●免去交互设置过程,从而实现全自动化安装
yum -y install dhcp
复制示例文件到 dhcp的配置文件/etc/dhcp/dhcpd.conf
cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
修改配置文件/etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
systemctl start dhcpd
yum -y install tftp-server.x86_64
yum -y install syslinux
注意syslinux软件包含有pxelinux.0文件,当不知道某个文件是那个软件包提供的可以用 yum provides */文件查看
yum provides */pxelinux.0 查看pxelinux.0文件是由哪个软件包提供的
下载好 syslinux软件包之后,查找pxelinux.0 文件,若不知道该文件的路径,可以检索一下
rpm -ql syslinux | grep pxelinux
cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
挂载镜像光盘
mount /dev/sr0 /mnt
复制内核和驱动文件
cp -p /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp -p /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
vmlinuz为内核执行文件,initrd.img为系统的驱动文件
yum install -y vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
在/var/lib/tftpboot/目录下创建一个目录 pxelinux.cfg
将文件/var/ftp/centos7/isolinux/isolinux.cfg 拷贝至/var/lib/tftpboot/pxelinux.cfg/default下
编辑/var/lib/tftpboot/pxelinux.cfg/default文件
c/xinetd.d,是linux系统小服务的管家,小服务是xinetd.d托管的,启用tftp前需修改xinetd.d
vim /etc/xinetd.d/tftp
systemctl start tftp
systemctl start vsftpd
可以看出此时候报错了,原因:没有将/var/ftp/centos7/isolinux/vesamenu.c32(图形化界面)和var/ftp/centos7/isolinux/splash.png(背景图)拷贝到/var/lib/tftpboot/下,下面我们来拷贝下
复制好之后客户端会出现如下界面
然后回车一下进入语言界面
语言选择,磁盘分区等如果需要自己选择,安装客户机多的话会比较繁琐,所以我们需要kickstart无人值守安装,那么怎么实现kickstart无人值守安装呢,下面我们来讲解下:
1.安装软件
yum -y install system-config-kickstart
2.调用
system-config-kickstart
以下是分区信息:
我们可以看到这个软件包信息失败,所以我们要改下yum的配置文件
改好之后,我们关闭以下,再进入以下,也可以不用指令,图形化界面进入也可以
time out 后面的时间是菜单默认独秒
inenu default//启动自动读秒,当你没有选择时默认的选项
label linux text #文本安装模式 速度更快
/var/lib/tftpboot/pxelinux.cfg/default
修改/var/ftp/ks.cfg