需求
在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机不带光驱或软驱,或者是笔记本配置的非标准的软驱和光驱,如1394接口,USB接口等,在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装Linux,此外,在一些场合,如机房,IT实验室,工厂生产线,有大量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护。这是时候你就需要PXE的强大功能了。本文将就PXE的基本原理和工作方式进行简要介绍。
PXE简介
PXE是由Inte公司开发的网络引导技术,工作在 Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统
前提条件
• 客户机的网卡支持PXE协议(集成 BOOTROM芯片),且主板支持网络引导。
• 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置。
• 服务器通过TFTP( Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。
PXE装机原理图
PXE的装机过程:
PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;
DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上) ;
PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件;
PXE Client 取得pxelinux.0 文件后之执行该文件;
根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统 ;
- 进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装;
实验案例:
使用PXE服务器给以下未装系统的裸机装上centos 6系统
实验环境
服务器系统:centos 6.5
服务器端 ip:192.168.100.20
yum挂载目录:/mnt/sr0
ftp站点目录:/var/ftp/redhat6
客户机硬盘大小:40G
客户机内存内存:最少2G
实验步骤
一、环境部署
1.服务器端、客户端均关闭防火墙
service stop iptables
setenforce 0
二、搭建PXE远程安装服务器
1.准备安装CentOS安装源
mount /dev/sr0 /mnt/sr0/ #挂载光盘目录
yum -y install vsftpd #安装vsftpd服务
mkdir /var/ftp/redhat6 #ftp站点创建共享目录
cp -rf /mnt/sr0/* /var/ftp/redhat6/ #将光盘文件拷贝到站点中
service vsftpd start #启动ftp服务
2.安装并启用TFTP服务
yum -y install tftp-server #安装tftp
vim /etc/xinetd.d/tftp #开启tftp
service xinetd start #启动服务
3.准备内核、初始化镜像文件
cd /mnt/sr0/images/pxeboot/
cp initrd.img vmlinuz /var/lib/tftpboot/ #将内核和镜像文件拷贝到tftp的根目录下
4.准备PXE引导程序、启动菜单文件
yum -y install syslinux #安装引导加载程序
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #将引导程序放在tftp的根目录下
mkdir /var/lib/tftpboot/pxelinux.cfg #在tftpboot下创建启动菜单目录
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #安装菜单
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot #linux引导加载模块//
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/ #压缩内核//
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot #图形化安装菜单
5.安装并启用DHCP服务
yum -y install dhcp
vim /etc/dhcp/dhcpd.conf
service dhcpd start #启动dhcp服务
三、Kickstart无人值守安装
1.安装kickstart工具
yum -y install system-config-kickstart
2.配置安装应答参数
3.安装方法
4.引导装载程序
5.分区信息
6.网络配置
7.验证
8.防火墙配置
9.显示配置
10.软件包选择
11.预安装脚本(默认即可)
12.保存自动应答文件
四、实现批量自动装机
1.启动自动应答文件
cp ks.cfg /var/ftp/redhat6/
vim /var/lib/tftpboot/pxelinux.cfg/default
2.在客户端调整BIOS设置
3.自动装机
总结:
1.实现PXE装机,要求网卡支持PXE功能,且必须有Linux安装源,以及可用的TFTP,DHCP服务器。
2.无人值守的应答文件可通过Kickstart 配置程序完成,该程序由system-config-kickstart 软件包提供。
3.TFTP服务由tftp-server软件包提供,默认由xinetd超级服务器进行管理。
4.用于PXE网络安装的引导程序为pxelinux.0 由软件包syslinux 提供。
5.用于PXE网络安装的linux 内核、初始化镜像文件从centos 6光盘获得,分别为vmlinuz和initrd.img。
6.若最后验证无人值守安装时,发现还是需要手动安装,肯定是自动应答文件配置出了问题。
7.所有安装的客户机内存最小2G,否则会出故障!
转载于:https://blog.51cto.com/13760351/2294019