1.什么是PXE?
PXE( Preboot eXecution Environment,预启动执行环境 )是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。
PXE是通过网卡引导启动。
2.pxe部署优点?
(1) 规模化
(2) 自动化
(3) 远程实现
3.搭建pxe网络体系需要什么条件?
1. 要支持pxe协议,支持网络引导,只需在bios设置中允许从network启动
2. 网络中有一台dhcp服务器方便为客户机提供ip地址,引导文件位置
3. tftp服务提供内核和镜像文件的下载
4.搭建pxe 远程安装服务器
TFTP默认是由xinetd 超级服务器使用udp 69端口
daemon 守护进程(运行在后台的程序)
DHCP服务,能够向客户机裸机发送 PXE引导程序、 Linux 内核、启动菜单等数据,以及提供安装文件。
TFTP(简单文件传输协议),是一个基于UD实现的用于在客户机和服务器之间进行简单 文件传输 的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP 端口69,
xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。
5.部署搭建远程安装服务器
1.安装并启用TFTP服务
yum install -y tftp-server xinetd
修改TFTP服务配置文件
vim /etc/xinetd.d/ftp
1.1开启服务并设置为开机自启
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
2.安装DHCP服务并修改配置文件
2.1 yum install -y dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
把原文件路径复制到etc配置文件下面
2.2.修改配置文件
vim /etc/dhcp/dhcpd.confddns-update-style none; 禁用dns动态更新 next-server 192.168.80.10; #指定 TFTP 服务器的地址filename "pxelinux.0"; #指定 PXE 引导程序的文件名subnet 192.168.80.0 netmask 255.255.255.0 {#声明要分配的网段地址range 192.168.80.100 192.168.80.200;#设置地址池option routers 192.168.80.10;#默认网关地址指向TFTP服务器的IP地址}systemctl start dhcpdsystemctl enable dhcpd
3.准备linux内核,初始化镜像文件
镜像和内核文件路径 /mnt/images/pxeboot/
cd /mnt/images/pxeboot#已事先把光盘挂载到/mnt目录中cp vmlinuz /var/lib/tftpboot/#复制 Linux系统的内核文件 到TFTP根目录下cp initrd.img /var/lib/tftpboot/#复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下
4.准备pxe引导程序
yum install -y syslinux 安装pxe引导程序cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot 把syslinux引导文件复制到tftp路径下
5. 安装ftp服务,准备centos7安装源
yum -y install vsftpd 安装vsftpd服务mkdir /var/ftp/centos7 在/var/ftp下创建centos7文件cp -rf /mnt/* /var/ftp/centos7/ 把mnt目录复制到var/ftp/centos中-r 复制目录文件夹 -f 强制复制systemctl start vsftpdsystemctl enable vsftpd 开启服务
6.配置启动菜单文件
默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg #创建pxelinux.cfg文件 vim /var/lib/tftpboot/pxelinux.cfg/defaultdefault auto #指定默认入口名称defaultprompt 1 #设置是否等待用户选择,“1”表示等待用户控制label auto#图形安装(默认)引导入口,label 用来定义启动项kernel vmlinuz#kernel 和 append用来定义引导参数append initrd=initrd.img method=ftp://192.168.80.10/centos7label linux text#文本安装引导入口kernel vmlinuzappend text initrd=initrd.img method=ftp://192.168.80.10/centos7label linux rescue#救援模式引导入口kernel vmlinuzappend rescue initrd=initrd.img method=ftp://192.168.75.60/centos7
7.关闭防火墙验证pxe安装
1.使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。2.开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口;3.若执行“linux text”命令,则进入文本安装入口;若执行 “linux rescue”命令,则进入救援模式。
配置完成装机成功,解决PXE装完后还需要手动设置,就用到Kickstart 无人值守安装。
二.kickstart无人值守安装
1.安装应答文件
yum install -y systemctl-config-kickstart
2.打开“Kickstart 配置程序”窗口通过桌面菜单“应用程序”-->“系统工 具”-->“Kickstart” 打开或执行 “system-config-kickstart” 命令打开
3.配置kickstart选项
4. 保存自动应答文件 /root/ks.cfg
5.配置需要安装的软件包
将vim anaconda-ks.cfg 中的文件复制到ks.cfg中
可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,只需要复制%packages 到%end 部分即可。
如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end
6.编辑引导菜单文键default,添加ks引导参数
vim /var/lib/tftpboot/pxelinux.cfg/defaultdefault auto prompt 0 #设置是否等待用户选择,“0”表示不等待用户控制label autokernel vmlinuz#kernel 和 append用来定义引导参数append initrd=initrd.img method=ftp://192.168.80.10/centos7 ks=ftp://192.168.80.10/ks.cfg#添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径