前语
PXE( Preboot eXecution Environment,预发动履行环境 )是由Inter公司开发的网络引导技能,工作在Client/Server模式,答应客户机经过网络从长途服务器下载引导镜像,并加载装置文件或整个操作体系。PXE是经过网卡引导发动。
工作站开机后, PXE BootROM(自发动芯片) 获得操控权之前先做自我测验,然后 以播送方式发出一个请求FIND帧。 假如服务器收到工作站所送出的要求, 就会送回 DHCP 回应, 内容包含用户端的 IP 地址, 预设通讯通道, 及开机映像文件。 否则, 服务器会疏忽这个要求。 工作站收到服务器发回的呼应后则会回应一个帧,以请求传送发动所需文件。 之后,将有更多的消息在工作站与服务器之间作应对, 用以决议发动参数。 BootROM 由 TFTP 通讯协议从服务器下载开机映像档, 这个映像档就是软盘的映象文件。工作站运用TFTP 协议接收发动文件后,将操控权转交发动块,引导操作体系,完结长途发动。
PXE批量布置的优点:
规模化:一起装配多台服务器;
主动化:装置体系、装备各种服务.
长途完成:不需求光盘、U盘等装置介质
PXE(Preboot eXcution Environment)预发动履行环境,在操作体系之前运转;需求服务端运转DHCP服务,用来分配地址、定位引导程序;运转TFTP服务,供给引导程序下载。客户端网卡支撑PXE协议;主板支撑网络引导。
建立PXE网络体系的前提条件
1.客户机的网卡要支撑PXE协议(集成BOOTROM芯片),且主板支撑网络引导。一般大多数服务器主机都支撑,只需在BIOS设置中答应从 Network 或 LAN 发动即可。 2.网络中有一台 DHCP 服务器以便为客户机主动分配地址、指定引导文件方位。 3.服务器要经过 TFTP服务(简略文件传输协议)来供给引导镜像文件的下载。
PXE装备环境要求
- 预备CentOS 7 装置源(YUM库房)
- 装置并启用TFTP服务
- 供给Linux内核、PXE引导程序等
- 装置并启用DHCP服务
- 装备发动菜单
TFTP(简略文件传输协议),是一个根据UDP协议完成的用于在客户机和服务器之间进行简略文件传输的协议,适合于小文件传输的应用场合。TFTP服务默许由xinetd服务进行办理,运用UDP端口69;xinetd是新一代的网络看护进程服务程序,又名超级服务器,常用来办理多种轻量级Internet服务。
预备四大文件
-
pxelinux.0:引导程序。(来自syslinux程序)
-
default:引导程序的装备文件。(需求手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)
-
vmlinuz:内核文件。(从光盘中获取,坐落 isolinux 目录下)
-
initrd.img: 体系发动镜像文件。(从光盘中获取,坐落 isolinux 目录下)
initrd 的英文意义是 boot loader initialized RAM disk,即由引导程序初始化的RAM磁盘。initrd是在实践根文件体系可用之前挂载到体系中的一个初始根文件体系。initrd与内核绑定在一起, 并作为内核引导进程的一部分进行加载。内核然后会将这个initrd文件作为其阶段引导进程的一部分来加载模块,这样才能在今后的引导进程中运用真正的文 件体系,并挂载实践的根文件体系。根文件体系能够存储在包含IDE、SCSI、USB在内的多种介质上,假如将这些设备的驱动都编译进内核,能够想象内核 会多么巨大、臃肿。所以能够把initrd看做是在发动进程中衔接内核与根文件体系的一个桥梁。
进程简概
-
装置4个软件包:dhcp、tftp-server、vsftpd、syslinux(获得prelinux.0文件)。
-
装备DHCP服务器,分配IP地址,指明tftp服务器的地址。(虚拟机需求敞开仅主机模式,模仿内网环境)
-
修改TFTP服务装备文件,敞开服务(默许是封闭状况)。
-
挂载软件装置源(一般情况下都运用光盘中的装置源,即挂载光驱),并将三大文件先拷入/var/lib/tftpboot/ 目录中:pxelinux.0,vmlinuz,initrd.img。
-
在/var/lib/tftpboot/ 目录下,创建子目录pxelinux.cfg,在子目录下编写引导程序的装备文件default。
-
封闭防火墙和selinux。发动dhcpd、tftp、vsftpd。
-
运用空白客户机(裸机)测验能否主动装机。
建立PXE长途装置服务器
- 装置启用TFTP服务 yum -y install tftp-server xinetd 修正TFTP服务的装备文件
vim /etc/xinetd.d/tftp
pprotocol = udp TFTP运用UDP协议
wait = no no表明客户机能够多台一起衔接,yes表明客户机只能一台一台衔接
server_args = -s /var/lib/tftpboot 指定TFTP根目录(文件存储路径)
disable = no no表明敞开TFTP服务
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
- 装置并启用 DHCP 服务
yum -y install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf 修正DHCP服务的装备文件
ddns-update-style none; 禁用 DNS 动态更新
next-server 192.168.142.10; 指定 TFTP 服务器的地址
filename "pxelinux.0"; 指定 PXE 引导程序的文件名
subnet 192.168.142.0 netmask 255.255.255.0 { 声明要分配的网段地址
range 192.168.142.5 192.168.142.55; 设置地址池
option routers 192.168.142.10; 默许网关地址指向TFTP服务器的IP地址
systemctl start dhcpd
systemctl enable dhcpd
cd /mnt/images/pxeboot 已事先把光盘挂载到/mnt目录中
cp vmlinuz /var/lib/tftpboot/ 仿制 Linux体系的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/ 仿制初始化镜像文件(linux引导加载模块)到TFTP根目录下
yum -y install syslinux PXE引导程序由软件包 syslinux 供给
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 仿制 PXE引导程序 到TFTP根目录下
- 装置FTP服务,预备CentOS 7 装置源
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd
systemctl enable vsftpd
- 装备发动菜单文件
默许的发动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto 指定默许进口名称
prompt 1 设置是否等候用户挑选,“1”表明等候用户操控
label auto 图形装置(默许)引导进口,label 用来界说发动项
kernel vmlinuz kernel 和 append用来界说引导参数
append initrd=initrd.img method=ftp://192.168.142.10/centos7
label linux text 文本装置引导进口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.142.10/centos7
label linux rescue 救援模式引导进口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.142.10/centos7
- 封闭防火墙,验证 PXE 网络装置
systemctl stop firewalld.service
setenforce 0
运用 VMware创建的虚拟机进行测验,虚拟机内存至少需求 2GB,否则在发动装置时可能会报错。 敞开虚拟机,在提示字符串“boot:”后直接按Enter键(或履行“auto”指令),将会主动经过网络下载装置文件,并进入默许的图形装置进口; 若履行“linux text”指令,则进入文本装置进口;若履行 “linux rescue”指令,则进入救援模式。
无人值守装置
无人值守装置也称为静默装置—–在装置进程中能够静默装置好预先规划集成的一些常用软件,装置完毕今后软件就现已能够运用,许多软件都支撑静默装置,常见的Windows系列操作体系,微软的Office系列及服务器软件等,以及Linux,都支撑无人值守装置。一般见到的Windows的Ghost装置,也归于静默装置的一种。
linux无人值守装置装备
1.预备装置应对文件
装置system-config-kickstart 东西
yum install -y system-config-kickstart
翻开“Kickstart 装备程序”窗口
经过桌面菜单“应用程序”–>“体系东西”–>“Kickstart” 翻开
或履行 “system-config-kickstart” 指令翻开
默许言语设为“中文(简体)”
时区设为“Asia/Shanghai”
设置root密码
高档装备中勾选“装置后重启”。
FTP服务器:ftp://192.168.142.10
FTP目录:centos7
“装置类型”:装置新引导装载程序
“装置选项”:在主引导记载(MBR)中装置引导装载程序
主引导记载:清除主引导记载
分区:删除一切现存分区
磁盘标签:初始化磁盘标签
布局:增加分区
挂载点:/boot,文件体系类型:xfs,固定巨细:500M
文件体系类型:swap,固定巨细:4096M
挂载点:/home,文件体系类型:xfs,固定巨细:4096M
挂载点:/,文件体系类型:xfs,运用磁盘上全部未运用空间
网络装备:
增加网络设备“ens33”
网络类型设为“DHCP”
禁用 SELinux、禁用防火墙
rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=ftp://192.168.80.10/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo
其它选项坚持默许设置即可
-
保存主动应对文件
挑选“Kickstart 装备程序”窗口的“文件”–>“保存”指令,挑选指定保存方位,文件名为ks.cfg默许保存在/root/ks.cfg
cp /root/ks.cfg /var/ftp/ks.cfg -
装备需求装置的软件包 能够根据需求将/root/anaconda-ks.cfg 的软件包装置脚本仿制到 ks.cfg文件中,只需求仿制%packages 到%end 部分即可。
如要求最小化装置,可仿制下面内容:
vim ks.cfg
%packages
@^minimal
%end
- 修改引导菜单文件 default,增加 ks 引导参数
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.80.10/centos7 ks=ftp://192.168.80.10/ks.cfg
- 验证无人值守装置 当客户机每次以PXE方式引导时,将主动下载ks.cfg应对装备文件,然后根据其中的设置装置CentOS 7 体系,而无须手艺干涉。 cat /etc/yum.repos.d/local.repo
总结:PXE与无人值守装置相配合运用完成了主动化;规模化;长途完成,极大提高了工作效率。