PXE装机是一种利用PXE(Preboot eXecution Environment)技术进行操作系统安装的方法。通过PXE装机,计算机可以通过网络启动,并从远程服务器获取操作系统镜像,而不需要使用本地光盘或USB驱动器。
实施PXE装机的步骤通常包括以下几点:
1. 配置服务器端
a. 配置PXE服务器
- 在服务器上安装并配置适当的PXE服务器软件,比如常用的有ISC DHCP和TFTP服务器。
- 配置DHCP服务器,指定PXE启动客户端时的引导文件和服务器地址。
b. 存储操作系统镜像
- 在PXE服务器上存储操作系统的镜像文件,通常是ISO镜像文件或安装文件的副本。
2. 配置客户端(需要安装操作系统的计算机)
a. 启动计算机
- 在计算机启动时按下相应的键(通常是F12或其他特定的启动键)进入启动菜单。
b. 选择PXE启动
- 从启动菜单中选择启动方式为PXE或网络启动。
c. 从服务器获取镜像
- 计算机会从配置好的PXE服务器上获取引导信息,并下载操作系统镜像文件。
d. 安装操作系统
- 一旦镜像文件下载完成,计算机将启动操作系统安装程序,用户可以按照提示进行安装操作系统的流程。
3. 完成安装
- 在操作系统安装完成后,计算机会重新启动,可以断开PXE网络启动,以后就可以直接从本地硬盘启动操作系统了。
PXE装机可以大规模快速地部署操作系统,并且在维护和更新系统时非常方便,尤其在企业或大型网络环境下非常实用。
实际操作
1.安装vsftp软件
yum install tftp-server.x86_64 dhcp syslinux vsftpd -y
2. 生成dhcp 配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
.3.修改配置文件
vim /etc/dhcp/dhcpd.conf
subnet 192.168.50.0 netmask 255.255.255.0 { #网段,子网掩码
range 192.168.50.20 192.168.50.50; #地址池
option routers 192.168.50.105; # 网关
next-server 192.168.50.105; #服务器地址
filename "pxelinux.0"; # 引导程序名称
}
4.修改tftp配置文件
vim /etc/xinetd.d/tftp //修改 tftp 配置文件 将yes 改为no
disable = no
5.准备四大文件
第一个文件pxelinu.0
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
第二个内核驱动文件
mount /dev/sr0 /mnt #挂载光盘
cd /mnt/isolinux/ #进入光盘文件夹isolinux中
cp vmlinuz initrd.img /var/lib/tftpboot/ #复制文件
手写配置文件
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
vim pxelinux.cfg/default
default linux
timeout 600
label linux
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.50.105/centos7
label linux text
kernel vmlinuz
append text initrd =initrd.img method=ftp://192.168.50.105/centos7
准备yum仓库
mkdir /var/ftp/centos7
mount /dev/sr0 /var/ftp/centos7/ #挂载
重启相关服务
systemctl start dhcpd
systemctl start tftp.socket
systemctl start vsftpd
这里我们可以新建一台虚拟机,内存要2G以上,注意服务端关闭防火墙和安全机制
出现图形化界面表示第一步成功 ,这一步可做可不做,是为了验证前面的操作
6. 准备应答文件 自动安装操作系统
yum install system-config-kickstart -y # 安装图形化界面 制作应答文件的工具
这里我们看到多了ks.cfg文件
7.修改文件
cd /var/lib/tftpboot/
vim pxelinux.cfg/default
default linux
timeout 600
label linux
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.50.105/centos7 ks=ftp://192.168.50.105/ks.cfg
label linux text
kernel vmlinuz
append text initrd =initrd.img method=ftp://192.168.50.105/centos7