基础服务:PXE

基础服务:PXE

  • 服务介绍

    PXE:是一种引导的方式(引导未装系统主机读取引导参数)

    KickStart:是一种无人值守安装方式(记录着系统安装过程中一些参数选项配置的文件)

  • 无人值守自动装机服务

    • 服务角色:PXE Client:表示需要安装操作系统的机器,统称客户端
    • TFTP Server:表示安装TFTPD服务的机器
    • DHCP Server:表示安装DHCPD服务的机器

​ 在实际的操作过程中往往将TFTP Server,DHCP Server部署在一台服务器上,统称PXE服务端。

  • 工作流程

  1. 客户端向服务器DHCP发送IP地址请求,DHCP服务器接收到客户端请求后把IP地址和启动文件pxelinux.0的位置一起发送给客户端。
  2. 客户端向服务端TFTP发送获取pxelinux0消息,TFTP接收到消息后向客户端发送pxelinux.0大小的信息,客户端反馈信息,当TFTP收到客户端返回的消息后,正式向客户端发送pxelinux.0
  3. 客户端接受pxelinux.0文件
  4. 客户端向TFTP发送针对本机的配置信息(在TFTP上的pxelinux.cfg目录下),TFTP将配置文件发送给客户端,客户端根据配置文件执行后续操作
  5. 客户端向TFTP发送Linux内核信息,TFTP接收到消息后将内核信息发送给客户端。
  6. 客户端向TFTP发送根文件请求,TFTP接收到消息后将Linux根文件系统返回给客户端
  7. 客户端启动linux内核
  8. 客户端进入安装模式
  • 使用场景

  1. 无光驱或者光驱损坏,需要安装Linux系统
  2. 对系统维护不当,导致需要频繁安装linux系统
  3. 需要大规模批量部署Linux系统
  • 前提条件

  1. 客户机网卡支持PXE协议,主板支持网络引导(BIOS)
  2. 网络中有DHCP服务器为客户端自动分配网络地址,并指定引导文件位置
  3. 服务器通过TFTP提供引导镜像文件的下载
  • 部署

    • 安装tftp服务

      yum -y install tftp-server xinetd dhcp syslinux system-config-kickstart vsftpd* xinetd
      mkdir /var/ftp/centos
      mount /dev/cdrom /var/ftp/centos/
      systemctl start vsftpd
      
    • 配置tftp服务

      tftp服务由tftp-server软件包提供,默认通过xinetd超级服务进行管理,需要将/etc/xineted.d/tftp中的disable=yes改为no

      安装tftp是为了存放引导文件及内核文件来用的

      安装vsftp是为了挂载镜像,存储cfg文件来用的

      vim /etc/xinetd.d/tftp
      	disable=no
      systemctl start tftp
      systemctl enable tftp
      
    • 准备linux内核,初始化镜像文件

      linux内核文件和初始化镜像文件可以从光盘中找到,位于images/pxeboot下vmlinuz和initrd.img,将这两个文件复制到tftp服务的根目录下

      cd /var/ftp/centos/images/pxeboot
      cp initrd.img vmlinuz /var/lib/tftpboot/
      
    • 准备pxe引导程序,启动菜单文件

      pxe网络安装的引导程序为pxelinux.0 由软件包syslinux提供,安装完软件包后将文件复制到tftp服务的根目录下

      cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpbooy/
      

      启动菜单用来指导客户端的引导过程,默认启动菜单为default,应放在tftp根目录的pxelinux.cfg目录中

      mkdir /var/lib/tftpboot/pxelinux.cfg
      vim /var./lib/tftpboot/pxelinux.cfg/default
      default linux#默认入口名称
      prompt 0 #1 表示等待用户控制,0表示不等待
      timeoout 30 #超时时间
      label linux
      	kernel vmlinuz
      	append initrd=initrd.img devfs=nomount method=ftp://192.168.75.111/centos
      #定义了三个引导入口,分别是图形安装,文本安装,救援模式
      Prompt 设置是否等待用户选择
      Label 定义并大多个启动项分开
      Kernel append 定义引导参数
      
    • 配置并启动DHCP服务

      PXE客户端通常是没有安装系统的裸机,肯定要与服务器取得联系并下载相关的引导文件,所以需要预先配置好DHCP服务来自动分配地址并反馈引导文件的位置。

      cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf vim /etc/dhcp/dhcpd.conf
      
      subnet 192.168.75.0 netmask 255.255.255.0{
      	range 192.168.75.10 192.168.75.30;
      	option domain-name-servers 8.8.8.8;
      	option domain-name "internal.example.org";
      	option routers 192.168.75.111;
      	default-lease-time 600;
      	max-lease-time 7200;
      	next-server 192.168.75.111;  #tftp服务器地址
      	filename "pxelinux.0";  #pxe引导文件名
      }
      
      systemctl start dhcpd
      systemctl restart xinetd
      
      
    • 创建新的虚拟机并确认和PXE服务器在同一网卡模式上来验证

      在这里插入图片描述

  • 使用kickstart实现无人值守安装

    使用kickstart工具配置安装应答文件,自动安装 安装过程中的的各种配置,不需要手动干预,提升效率。

    1. 通过系统命令system-config-kickstart生产cfg配置文件,保存在/var/ftp/pub目录下

    2. 修改系统中已有的/root/anaconda-ks.cf配置文件模板

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      !在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

vim /var/lib/tftpboot/pxelinux.cfg/default
default linux
prompt 0
timeout 30
label linux
	kernel vmlinuz
	append initrd=initrd.img	devfs=nomount	method=ftp://192.168.80.40/centos ks=ftp://192.168.80.40/pub/ks.cfg
###控制kickstart控制多台label
vim /var/lib/tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 300
label linux
	kernel vmlinuz
	append	initrd=initrd.img	devfs=nomount	method=ftp://192.168.75.111/centos	ks=ftp://192.168.80.40/pub/ks.cfg

label linux-mini
	kernel vmlinuz
	append	initrd=initrd.img	devfs=nomount	method=ftp://192.168.75.111/centos	ks=ftp://192.168.80.40/pub/ks-mini.cfg
	


ls /var/ftp/pub/
ks.cfg ks-mini.cfg
  • 环境测试

    新建一虚拟机网络模式启动与PXE Server用同一网卡

    在boot界面直接回车或者输入linux-mini回车,将采用不同的ks文件安装操作系统
    在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值