一、pxe
1.1、pxe自动装机
服务端和客户端
pxe c/s模式:允许客户端通过网络从远程服务器(服务端)下载引导镜像,加装安装文件,实现自动化安装操作系统。
无人值守:无人值守,就是安装选项不需要人为干预,可以自动化实现。
1.2、pxe的优点:
1、规模化 同时装配多台服务器 20多 30台。
2、自动化。
3、远程实现,不需要光盘,u盘。
c/s客户端和服务端都可以是多台。
1.3、pxe的安装条件:
硬件,网卡要支持pxe协议。主板支持网络引导。
软件 服务端要有dhcp,可以在客户启动时,自动分配ip地址。
TFTP:简单文件传输协议,传小文件,引导镜像文件很小,使用TFTP
VSFTP:文件传输协议,传送文件,安装文件。
test1作为服务端。
TFTP xinetd 网络守护进程服务程序,用来管理轻量级的网络服务,管理tftp的文件传输。TFTP是一个后台进程,使用的是udp协议,端口是69。
DHCP自动分配ip地址
VSFTP
准备pxe的引导文件,通过光盘镜像把文件复制出来
vmlinuz----linux系统的内核文件
initrd.img------初始化的镜像文件,引导加载的模块文件
pxelinux.0----引导程序文件
安装pxe的引导程序
配置启动菜单文件。
二、PXE安装操作如下:
1、关闭防火墙,安全机制,
安装软件–tftp-server(tftp软件名)、xinetd
网络守护进程服务程序,用来管理轻量级的网络服务,管理tftp的文件传输。TFTP是一个后台进程,使用的是udp协议,端口是69。
[root@test1 ~]# systemctl stop firewalld
[root@test1 ~]# setenforce 0
[root@test1 ~]# yum -y install tftp-server xinetd
2、启动服务–enable为开机自启
[root@test1 ~]# systemctl start tftp ##udp传输协议
[root@test1 ~]# systemctl enble tftp
[root@test1 ~]# systemctl start xinetd.service ##管理tftp简单文本传输
[root@test1 ~]# systemctl enable xinetd.service ##enable---开机自启
3、更改xinetd下的tftp配置文件
[root@test1 ~]# vim /etc/xinetd.d/tftp
更改配置文件,记得重启一下
systemctl restart tftp
systemctl restart xinetd
4、配置DHCP服务------服务端test1为虚拟机动态配置网络
第一步、安装dhcp
yum -y install dhcp
第二步、复制dhcp模板文件进行配置/etc/dhcp/dhcpd.conf(因为源目录下文件为空)
[root@test1 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
第三步、开始配置动态分配网址文件
vim /etc/dhcp/dhcpd.conf
最后,重启dhcp服务
systemctl restart dhcpd
5、准备PXE的引导程序
①、vmlinuz----linux系统的内核文件
②、initrd.img------初始化的镜像文件,引导加载的模块文件
③、pxelinux.0----引导程序文件
挂载光盘镜像,下载光盘中/mnt–/images/pxeboot/的initrd.img 、 vmlinuz
mount /dev/cdrom /mnt/
[root@test1 ~]# cd /mnt/
[root@test1 mnt]# cd images
[root@test1 images]# ls
efiboot.img pxeboot TRANS.TBL
[root@test1 images]# cd pxeboot
[root@test1 pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
④、把vmlinuz内核文件复制到tftp的根目录
⑤、把initrd.img初始化文件复制到tftp的根目录中
[root@test1 pxeboot]# cp vmlinuz /var/lib/tftpboot/
[root@test1 pxeboot]# cp initrd.img /var/lib/tftpboot/
[root@test1 pxeboot]# cd /var/lib/tftpboot/
[root@test1 tftpboot]# ls
initrd.img vmlinuz
⑥、安装pxe的引导程序:yum -y install syslinux
进入文件, cd /usr/share/syslinux/,
把pxelinux.0引导程序文件复制到tftp根目录中,
cp pxelinux.0 /var/lib/tftpboot/
cd /var/lib/tftpboot/
ls
initrd.img pxelinux.0 vmlinuz
6、安装vsftpd软件:
yum - y install vsftpd
cp -rf /mnt/* /var/ftp/centos7/
把mnt所有文件,也就是光盘镜像文件全部复制过来。
7、重启服务vsftpd
[root@test1 centos7]# systemctl restart vsftpd
8、配置启动菜单文件:
[root@test1 centos7]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@test1 centos7]# cd /var/lib/tftpboot/
[root@test1 tftpboot]# cd pxelinux.cfg
[root@test1 pxelinux.cfg]# vim default
default auto
#指定安装程序的入口,适用这个文件作为安装程序的入口。自动选择。
prompt 0
#是否等待用户选择,0不等待用户输入,自动完成。就是需要手动完成
label auto
#图形化界面的默认安装入口
kernel vmlinuz
#加载内核文件,vmlinuz
append initrd=initrd.img method=ftp://192.168.168.10/centos7
label linux text
#字符界面,最小化安装
kernel vmlinuz
#加载内核
append initrd=initrd.img method=ftp://192.168.168.10/centos7
label linux rescue
#救援模式的引导入口
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.168.10/centos7
9、无人值守软件安装:yum -y install system-config-kickstart
以下操作生成配置文件ks.cfg
安装后脚本:
勾选“使用解释程序”:/bin/bash
rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=ftp://192.168.233.10/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo
10、添加安装包:
%packages
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
binutils
chrony
ftp
gcc
kernel-devel
kexec-tools
make
open-vm-tools
patch
python
%end
11、图形化配置安装选向,调用
[root@test1 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
12、ftp的根目录/var/ftp,复制ks.cfg到/var/ftp目录下
[root@test1 ~]# cp ks.cfg /var/ftp/
[root@test1 ~]# cd /var/ftp/
[root@test1 ftp]# ls
centos7 ks.cfg pub
装选向,调用
[root@test1 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
[外链图片转存中…(img-rhc49AKl-1717751219892)]
12、ftp的根目录/var/ftp,复制ks.cfg到/var/ftp目录下
[root@test1 ~]# cp ks.cfg /var/ftp/
[root@test1 ~]# cd /var/ftp/
[root@test1 ftp]# ls
centos7 ks.cfg pub
[外链图片转存中…(img-70qmY85r-1717751219892)]