一.什么是pxe
PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。
pxe是通过网卡引导启动
1.1实现的硬件条件
1.BIOS支持
2.网卡支持(现在基本都已支持)
3.需要在bios中开启开关,服务器一般没打开(bmc界面里打开)
4.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置 网卡自带DHCP功能 dhcp 指明分配的ip地址
5.服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载 udp()协议 网卡自带这个功能(不支持其他的远程共享服务)
二.实现过程讲解
1.网卡需要查找相关的dhcp服务器(获取地址时间)
2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
3.网卡使用tftp客户端吧引导程序加载到内存中来
4.bios执行引导程序
5.引导程序会去TFTP去查找配置文件
6.根据配置文件去引导安装系统
7.系统安装过程
三.搭建所需服务
TFTP服务
TFTP(简单文件传输协议):内核和引导文件
是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。
vsftp:安装系统镜像文件获取方式
可以使用http ftp等方式,ftp文件传输的一种。
syslinux
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。
pxelinux.0 启动pxe pxe可以支持
DHCP服务
四.PXE 优点
规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质
五.实操过程
安装dhcp
覆盖模版文件
编辑刚刚复制来的文件,找到32行。根据自己的电脑网卡做相应配置
打开dhcp服务
安装TFTP软件
查看,编辑配置文件
开启TFTP服务
来到 tftpboot 文件夹下,提前进行挂载
将 isolinux 中的vmlinuz 和 initrd.img文件复制到 tftpboot 文件夹下
安装syslinux服务
将 pxelinux.0 文件复制到 tftpboot 文件夹下
安装 vsftp 服务
在 ftp 文件夹下创建 centos7文件夹,挂载
回到 tftpboot 文件夹,创建文件夹 pxelinux.cfg
到 pxelinux.cfg 中编写 default 文件
1 default linux
2 timeout 600
3
4 label linux
5 kernel vmlinuz
6 append initrd=initrd.img method=ftp://20.0.0.100/centos7
7 ks=ftp://20.0.0.100/ks.cfg
8
9 label rescue
10 kernel vmlinuz
11 append text initrd=initrd.img method=ftp://20.0.0.100/centos7
12 ks=ftp://20.0.0.100/ks.cfg
13
14 label test
15 kernel vmlinuz
16 append text initrd=initrd.img method=ftp://20.0.0.100/centos7
17 ks=ftp://20.0.0.100/ks.cfg
重启服务
新建虚拟机测试
进入安装界面
使用kickstart技术,进行自动化安装,先安装软件system-config-kickstart
进入图形化界面配置
选择安装方法列进行配置
引导装载程序选项
分区信息
boot 4096
swap 4096
/ 1