目录
一、pxe的定义
1、pxe基础
预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
pxe是通过网卡引导启动
(1)实现的硬件条件
(2)BIOS支持
(3)网卡支持(现在基本都已支持)
(4).需要在bios中开启开关,服务器一般没打开(bmc界面里打开)
(5)服务器通过tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载
2、pxe的优点
(1)规模化:同时装配多台服务器
(2)自动化:安装系统配置各种服务
(3)远程实现:不需要光盘、U盘等安装介质
3、pxe的过程
(1)网卡需要查找相关的dhcp服务器(获取地址时间)
(2)找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址还提供给客户机TFTPserver地址(dhcp本身不提供)
(3)网卡使用tftp客户端吧引导程序加载到内存中来
(4)bios执行引导程序
(5)引导程序会去TETE去查找配置文件
(6)根据配置文件去引导安装系统
(7)系统安装过程
二、批量安装操作系统
1、pxe安装
(1)第一步安装软件
[root@localhost ~]# yum install dhcp tftp-server vsftpd syslinux -y
(2)修改tftp的配置文件
[root@localhost ~]# vim /etc/xinetd.d/tftp
#修改TFTP服务的配置文件
protocol = udp #TFTP默认使用UDP协议
wait = no #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args = -s /var/lib/tftpboot #指定TFTP根目录(引导文件的存储路径)
disable = no #no表示开启TFTP服务
(3) 配置dhcp
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf #修改DHCP服务的配置文件
subnet 192.168.216.0 netmask 255.255.255.0 {
range 192.168.216.20 192.168.216.50;
option routers 192.168.216.10;
next-server 192.168.216.10; # 指定 TFTP 服务器的地址
filename "pxelinux.0"; #指定要下载的 PXE 引导程序的文件
(4) 配置ftp和ftp
[root@localhost ~]# cd /var/ftp #切到ftp的目录
[root@localhost ftp]# mkdir centos7 #创建目录
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7 #挂载镜像
[root@localhost ftp]# cd centos7/ #切进目录
[root@localhost centos7]# cd isolinux #切进目录
[root@localhost isolinux]# cp initrd.img vmlinuz /var/lib/tftpboot/ #复制文件到tftp目录
[root@localhost isolinux]# cd /var/lib/tftpboot/ #切进目录
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./ #复制文件到当前目录
[root@localhost tftpboot]# mkdir pxelinux.cfg #创建新的目录
[root@localhost tftpboot]# cd pxelinux.cfg/ #切进目录
[root@localhost pxelinux.cfg]# vim default #编辑文件
default auto #指定默认入口名称
prompt 1 #设置是否等待用户选择,
“1”表示等待用户控制
label auto #图形安装(默认)引导入
口,label 用来定义启动项
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.216.10/centos7
label linux text
kernel vmlinuz
append text initrd =initrd.img method=ftp://192.168.216.10/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.216.10/centos7
(5) 配置网卡
(6)刷新服务
(7) 验证
2、无人值守安装
(1)搭建本地仓库
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir lb
[root@localhost yum.repos.d]# mv *.repo lb
[root@localhost yum.repos.d]# vim local.repo
[local]
name=local
baseurl=file:///var/ftp/centos7
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]# yum clean all && yum makecache
(2)安装无人值守软件
[root@localhost yum.repos.d]# yum install system-config-kickstart -y
(3) 配置 ks.cfg文件并保存
(3) 编辑引导菜单文件 default,添加 ks 引导参数
(4)重启服务
(5) 验证