概述
PXE(Preboot Execution Environment)是一种允许计算机通过网络启动自己的操作系统的技术。它允许计算机在缺少本地存储设备或操作系统的情况下,从远程服务器上下载并执行操作系统。PXE通常用于无盘站点或远程支持,可以通过网络直接引导计算机,而无需使用本地硬盘或光盘。
pxe的工作原理
- DHCP:为计算机分配IP地址。
- FTP:进行系统文件的传输。
- TFTP:提供操作系统镜像文件。
- 客户端:在启动时通过DHCP获取IP地址,然后通过TFTP和FTP下载启动文件,完成操作系统的加载和安装。
pxe的优点
- 规模化:同时装配多台服务器(一台服务器一般可以装配20-30台)
- 自动化:系统安装和服务配置不需要人工干预
- 远程实现:既不需要光盘,也不需要U盘
一、pxe
pxe----->自动安装系统必要的运行环境
1.安装并启动tftp服务
yum -y install tftp-server xinetd #安装tftp和xinetd服务
vim /etc/xinetd.d/tftp
wait=no #yes串行,no并行
disable=no #开启tftp服务
systemctl restart tftp
systemctl enable tftp #开机自启,可以不设置
systemctl restart xinetd
2.安装并启用 dhcp 服务
yum -y install dhcp #安装dhcp
cd /usr/share/doc/dhcp-4.2.5/
cp dhcpd.conf.example /etc/dhcp/dhcpd.conf #复制覆盖掉/etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
next-server 192.168.206.10; #指定TFTP服务器的ip地址(本机)
filename "pxelinux.0"; #指定要下载pxe引导程序的文件
subnet 192.168.206.0 netmask 255.255.255.0 {
range 192.168.206.60 192.168.206.70;
option routers 192.168.206.10; #指向本机
}
systemctl restart dhcpd
3.准备 Linux 内核、初始化镜像文件
mount /dev/cdrom /mnt #挂载
cd /mnt/images/pxeboot/
cp initrd.img /var/lib/tftpboot/ #initrd.img:linux引导加载模块
cp vmlinuz /var/lib/tftpboot/ #vmlinuz:内核文件
4.pxe的引导文件
yum -y install syslinux
cd /usr/share/syslinux/
cp pxelinux.0 /var/lib/tftpboot/
ls /var/lib/tftpboot/ #三个文件必不可少
5.安装vsftp,进行系统文件的传输
yum -y install vsftpd
mkdir /var/ftp/centos7 #在匿名用户工作的目录/var/ftp下创建目录centos7
cp -rf /mnt/* /var/ftp/centos7 #把整个光盘镜像强制复制到匿名用户工作的目录
6. 设置启动菜单的文件
cd /var/lib/tftpboot/
mkdir pxelinux.cfg #pxelinux.cfg目录名是固定的
cd pxelinux.cfg/
vim default #在该目录下创建default文件
default auto #声明pxe入口文件的位置 指定默认的接口
prompt 0 #表示不等待用户选择,自行操作
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.206.10/centos7
#图形化界面的安装入口,kernel和append来引导定义系统配置的文件
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.206.10/centos7
#字符串界面的入口
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.206.10/centos7
#救援模式
systemctl stop firewalld #关闭系统防火墙
setenforce 0 #关闭系统安全机制
二、无人值守
1.安装system-config-kickstart 工具
yum -y install system-config-kickstart
2.打开“Kickstart 配置程序”窗口
通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开
或执行 “system-config-kickstart” 命令打开
3.配置kickstart选项
4.保存自动应答文件
选择“Kickstart 配置程序”窗口的“文件”-->“保存”命令,选择指定保存位置,文件名为ks.cfg
默认保存在/root/ks.cfgcp /root/ks.cfg /var/ftp/ks.cfg
5.配置需要安装的软件包
vim /var/ftp/ks.cfg
%end的下面粘贴
#完全安装
%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
#最小化安装
%packages
@^minimal
%end
6.编辑引导菜单文件 default,添加 ks 引导参数
vim /var/lib/tftpboot/pxelinux.cfg/default
append initrd=initrd.img method=ftp://192.168.206.10/centos7 ks=ftp://192.168.206.10/ks.cfg
##添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径
7.验证无人值守安装
新建虚拟机(centos7 64位)-->开启虚拟机-->自动安装-->设置root账户密码-->等待安装完毕