作者:JackTian
微信公众号:杰哥的IT之旅(Jake_Internet)

1、什么是 PXE?

严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。

PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。

运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。

此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

2、什么是 Kickstart?

KickStart 是一种无人职守安装方式,KickStart 的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件;

在其后的安装过程中(不只局限于生成 KickStart 安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找 KickStart 生成的文件。

当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。

这样,如果 KickStart 文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取 ks.cfg 文件,然后去忙自己的事情。等安装完毕,安装程序会根据 ks.cfg 中设置的重启选项来重启系统,并结束安装。

3、PXE 网络装机原理说明

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

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

4、PXE 网络装机的基本流程

  • 客户端向服务端上的 DHCP 发送请求 IP 地址消息,DHCP 检查客户端是否合法,如果合法则返回客户端的IP地址,同时将启动文件 pxelinux.0 的位置信息一并传送给客户端;
  • 客户端向服务器上的 TFTP 发送获取 pxelinux.0 消息,TFTP 接受到消息之后再向客户端发送 pxelinux.0 大小信息,试探客户端是否满意。当 TFTP 收到客户端返回的同意大小信息之后,正式向客户端发送 pxelinux.0;
  • 客户端运行接收到的 pxelinux.0 文件;
  • 客户端向 TFTP 发送针对本机的配置文件信息(记录在 TFTP 上的 pxelinux.cfg 目录下),TFTP 将配置文件发给客户端,客户端根据配置文件执行后续操作;
  • 客户端向 TFTP 发送请求 Linux 内核信息,TFTP 接受到消息之后将内核发送给客户端;
  • 客户端向 TFTP 发送根文件请求,TFTP 接受到消息之后返回 Linux 根文件系统;
  • 客户端启动 Linux 内核;
  • 客户端进入安装模式;

5、PXE 网络装机的适用场景

  • 服务器无光驱或者光驱损坏,需要安装 Linux 操作系统
  • 对系统维护不恰当,导致需要频繁安装 Linux 操作系统
  • 需要大规模批量部署 Linux 操作系统(应用于企业)

6、PXE 网络装机的前提条件

  • 客户机网卡支持 PXE 协议(集成 BOOTROM 芯片),主板支持网络引导(BIOS 中调整);
  • 网络中有 DHCP 服务器为客户机自动分配网络地址,并且指定引导文件位置;
  • 服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载;

PXE(Pre-boot Execution Environment,预启动执行环境)结合 Kickstart 配置实现无人值守自动安装

7、PXE 环境部署

服务端IP:192.168.200.254

# service iptables stop
# setenforce 0


配置YUM仓库

# mount /dev/cdrom /mnt/
# rpm -i /mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
# umount /dev/cdrom
# mkdir /var/ftp/rhel6
# mount /dev/cdrom /var/ftp/rhel6/
# service vsftpd restart

# vim /etc/yum.repos.d/yum.repo[base]                                //仓库类别
name=Red Hat Enterprise Linux 6       //仓库名称
baseurl=ftp://192.168.3.10/rhel6      //URL访问路径
gpgcheck=0                            //验证软件包的签名



安装并启用 TFTP 服务

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

# yum -y install tftp-server# vim /etc/xinetd.d/tftp service tftp
{socket_type             = dgramprotocol                = udpwait                    = yesuser                    = rootserver                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpbootdisable                 = noper_source              = 11cps                     = 100 2flags                   = IPv4
}
# service xinetd restart

准备 Linux 内核,初始化镜像文件

用于 PXE 网络安装的 Linux 内核,初始化镜像文件可从光盘中找到分别为 vmlinuz 和 initrd.img 位于 images/pxeboot 下,将两个文件复制到 tftp 服务的根目录下。

# cd /var/ftp/rhel6/images/pxeboot/
# cp vmlinuz initrd.img /var/lib/tftpboot/

准备 PXE 引导程序,启动菜单文件

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

# yum -y install syslinux
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像,默认的启动菜单为 default,应放置 tftp 根目录的 pxelinux.cfg 子目录中。

# mkdir /var/lib/tftpboot/pxelinux.cfg
# cat /var/lib/tftpboot/pxelinux.cfg/default
default auto                                   // 默认入口名称
prompt 1                                       // 1:表示等待用户控制
label autokernel vmlinuzappend initrd=initrd.img devfs=nomount ramdisk_size=8192

定义了三个引导入口,分别是图型安装(默认),文本安装,救援模式

  • Prompt:设置是否等待用户选择
  • Label:定义并分隔启动项
  • Kernel append:定义引导参数

无人值守安装只需要一个入口

安装并启用DHCP服务

用来为客户机(裸机)自动分配地址并指定引导文件位置

# yum -y install dhcp
# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"?y
# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
next-server 192.168.200.254;            # TFTP 服务器地址
filename "pxelinux.0";                  # PXE 引导程序文件名subnet 192.168.200.0 netmask 255.255.255.0 {option routers 192.168.200.254;
option subnet-mask 255.255.255.0;
option domain-name "crushlinux.com";
option domain-name-servers 202.106.0.20, 8.8.8.8;
range 192.168.200.100 192.168.200.200;
default-lease-time 21600;
max-lease-time 43200;
}
# service dhcpd start

验证PXE网络安装

  • 新购买的服务器不需要额外的设置直接启动;
  • 已有操作系统的服务器启动时调整 BIOS 中的 Boot 选项将 Network 或 LAN 设置为第一个,然后启动服务器。

    在boot:直接回车 或者输入auto,将会进入默认的图形安装入口

    选择相应的语言

    设置键盘类型

    选择通过URL安装


编辑网卡

设置PXE网络安装服务器

实现 Kickstart 无人值守安装

使用 kickstart 工具配置安装应答文件,自动安装安装过程中的各种设置,无需手动干预,提高装机效率

  • 通过系统中 system-config-kickstart 工具生成配置文件
  • 修改系统中已有的 /root/anaconda-ks.cfg 文件
# yum -y install system-config-kickstart
# system-config-kickstart







在生产环境中

预安装脚本:可用户安装加载一些外置卡的驱动,例如RAID卡
安装后脚本:可用于设置一些初始化配置

将文件取名为 ks.cfg,并保存到 /var/ftp/pub 下

# ll /var/ftp/pub/ks.cfg
-rw-r--r--. 1 root root 1204 12月 19 00:31 /var/ftp/pub/ks.cfg

编辑引导菜单文件 default

# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label autokernel vmlinuzappend ks=ftp://192.168.200.254/pub/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192

今天的推荐不知道大家喜欢吗?如果你喜欢,请在文章底部留言和点赞,以表示对我的支持,你们的留言点赞是我持续更新的动力哦,感谢大家!

1、点个赞,让更多的人看到这篇文章,顺便激励下我,嘻嘻。

2、关注我的原创微信公众号「杰哥的IT之旅」专注于IT技术干货文章,以及不定期的分享学习资料,实用工具,面试经验等,当然了还有内推机会哦,期待你的关注!

RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装相关推荐

  1. PXE+kickstart实现无人值守安装 CentOS 6.5

    一.PXE 介绍 PXE(Preboot Execution Environment ,预启动执行环境是由 Intel 公司开发的技术,工作于Client/Server的网络模式,支持工作站通过网络从 ...

  2. Kickstart +ftp+dhcp+tftp实现Linux系统的无人值守安装

    基本原理及概念: 一.配服务器的IP地址: 二.yum 的配置如下: 1.[root@localhost ~]# mount /dev/cdrom /mnt/cdrom 2.[root@localho ...

  3. PXE+Kickstart实现无人值守批量安装Linux

    PXE+Kickstart实现无人值守批量安装Linux 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的 ...

  4. Pxe+Kickstart批量网络安装操作系统

    Pxe+Kickstart 实现无人值守批量网络安装操作系统 说明: 当批量给主机安装操作系统时,我们不可能用传统的方式--用光盘.U盘等,一台一台逐个安装,这样一来,费时又力,对于批量部署主机时,效 ...

  5. linux系统批量装机,PXE+Kickstart实现无人值守批量安装Linux

    PXE+Kickstart实现无人值守批量安装Linux 实验准备:主机myrhel2作为服务器端,新建一个没有安装操作系统的虚拟主机,而且其与服务器端在同一个网段 安装的条件: 服务器端: 支持TF ...

  6. 用Kickstart批量安装Linux系统、Kickstart安装,linux批量安装;Linux的Kickstart的 无人值守安装;linux pxe自动安装linux系统...

    用Kickstart批量安装Linux|Kickstart,批量安装:Linux的Kickstart的 无人值守安装:linux pxe自动安装linux系统: KickStart + DHCP + ...

  7. DHCP+TFTP+VSFTP+pxelinux+kickstart实现RedHat的自动安装

     1.配置DHCP服务 #安装dhcpd软件包 yum install dhcpd -y #编辑dhcpd服务配置文件,配置问 #vim /etc/dhcpd.conf ddns-update-sty ...

  8. Linux之DHCP+tftp+syslinux+PXE+Cobbler

    DHCP简介 DHCP全称为:Dynamic host configuration protocol协议,其协议前身为Boot protocol, 其工作于67,68/UDP端口,服务端工作于67端口 ...

  9. 自建DHCP TFTP服务 用PXE启动实现无人值守安装Centos6

    下面是自己制作的PXE安装Centos6的环境已经配置脚本 #!/bin/bash ########################################################## ...

最新文章

  1. mybatis配置文件解析
  2. 基本概念,BGP协议的特征和消息类型,状态转换?
  3. RealNetworks CTO:我们追求低复杂度的软解码
  4. 设计模式(六)------设计模式六大原则(5):迪米特法则
  5. js中的this指针(二)
  6. 2007年11月网络工程师考试试题答案
  7. 【实习之T100开发】T100 单档程序开发(2)添加功能
  8. 英伟达TX2烧录系统_英伟达秀全球最大GPU,黄仁勋从烤箱里拿出的产品果然爆了...
  9. Matlab信息加密解密系统
  10. (课程笔记1)ENVI裁剪出Landsat8全色波段和其他波段的同一区域数据
  11. XML语言的基本语法-Java Web
  12. 【Mockplus教程】安装Mockplus
  13. SAP中的电子数据交换EDI
  14. Java14它真的来了, 真是尾气都吃不到了
  15. 淘宝旺旺号转userid 或 uid 接口与方法
  16. 蒲公英App开发之检测新版本
  17. 获取Avrix上Computer Vision and Pattern Recognition的论文,进一步进行统计分析。
  18. 华为笔记本键盘说明图_【华为 MateBook 13 笔记本电脑外观细节】LOGO|键盘|屏幕_摘要频道_什么值得买...
  19. 解决Mac Pro TouchBar虚拟按键无反应问题
  20. xtwpro2编程器_xtw100编程器软件

热门文章

  1. (二)Redis基本操作-List
  2. 公司活动抽奖平台--纯前端
  3. cloudcompare隐藏屏幕中心十字标
  4. 光伏扶贫国家帮,监管短板亟补齐
  5. 未来90%的制造业在互联网上,阿里云ET工业大脑成为十大“黑科技”创新产品之一...
  6. 《机器学习基石》作业一
  7. 找实习中的一些困惑,如何解决?
  8. 游戏化思维:从工具到玩具
  9. vc6.0 中classview栏的所有类不见了,该怎么解决?删除.clw,.ncb.....等等,这些网络资源的方法根本不行
  10. 德马吉DMG MORI数控面板维修CNC控制面板维修SLIMline