1、原理说明:

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

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

2、工作流程:

  1. 客户端向服务器上DHCP发送请求IP地址消息,DHCP检查客户端是否合法,如果合法则返回客户端的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给客户端;
  2. 客户端向服务器上的TFTP发送获取pxelinux.0信息,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. 客户端进入安装模式;

3、适用场景:

  1. 服务器无光驱或者光驱损坏,需要安装Linux操作系统;
  2. 对系统维护不适当,导致需要频繁安装Linux操作系统;
  3. 需要大规模批量部署Linux操作系统;

4、前提条件:

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

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

5、什么是PXE?

  严格来说,PXE并不是一种安装方式,而是一种引导的方式。进行PXE安装的必要条件是要安装的计算机中包含一个PXE支持的网卡(NIC),即网卡中必须要有PXE clinet。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协议到TFTPserver上下载所需的文件。

6、什么是KickStart?

  KickStart是一种无人值守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件。在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装着安全可以只告诉安装程序从何处取ks.cfg文件;

PXE服务环境部署-服务器IP:10.10.10.109(功能实现:半自动)

(1)安装并启用TFTP服务:

  TFTP服务由TFTP-server软件包提供,默认由xinetd超级服务运行管理,因此配置文件位于/etc/xinetd.d/tftp。配置时只要将“disable=yes”改为“disable=no”。然后启动xinetd服务即可;TFTP该服务不要用于外网,TFTP用于内部就可以了,因为用于TFTP到外网不安全,容易遭受黑客攻击;

/etc/init.d/iptables stop
setenforce
mount /dev/cdrom /mnt/
rpm -i /mnt/Packages/vsftpd-2.2.-.el6_4..x86_64.rpm
umount /dev/cdrom
mkdir /var/ftp/rhel6
mount /dev/cdrom /var/ftp/rhel6/
service vsftpd restart

确保在浏览器输入:ftp://10.10.10.109/rhel6,能访问到以下内容;

修改本地yum源:

vim /etc/yum.repos.d/yum.repo
------------------------------------------------------
[base]
name=Red Hat Enterprise Linux
baseurl=ftp://10.10.10.109/rhe16
gpgcheck=
------------------------------------------------------

安装TFTP软件:

yum -y install tftp-server
vim /etc/xinetd.d/tftp

/etc/init.d/xinetd start

查看那个端口被那个进程占用:lsof -i:端口

注:xinetd是互联网守护进程服务

(2)准备Linux内核、初始化镜像文件:

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

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

(3)准备PXE引导程序、启动菜单文件:

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

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

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

mkdir -p /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
---------------------------------------------------------------------
default auto
prompt
label auto
  kernel vmlinuz
  append initrd=initrd.img devfs=nomount ramdisk size=
---------------------------------------------------------------------

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

Prompt 设置是否等待用户选择

Label  定义并分隔启动项

Kernel append 定义引导参数

(4)安装并启动DHCP服务:

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

yum -y install dhcp
vim /etc/dhcp/dhcpd.conf
---------------------------------------------------------------------
subnet 10.10.10.0 netmask 255.255.255.0 {
  range 10.10.10.110 10.10.10.200;
  option routers 10.10.10.109;
  next-server 10.10.10.109;
  option domain-name "xingzhen.com";
  default-lease-time ;
  max-lease-time ;
  filename "pxelinux.0";
}
以下为意思翻译
option domain-name "amber.com"; //选择域名
default-lease-time ; //指定默认租约时间的长度,单位是秒
max-lease-time ; //指定最大租约时间的长度,单位是秒
log-facility local7; //记录设备 subnet 192.168.52.0 netmask 255.255.255.0 { //描述一个IP地址是否属于该子网
range 192.168.52.100 192.168.52.200; //提供动态IP的范围
option routers 192.168.52.1; //选择路由器
next-server 192.168.52.88; //指定TFTP服务器的地址(本地)
filename "pxelinux.0"; //指定PXE引导程序的文件名
---------------------------------------------------------------------
/etc/init.d/dhcpd start

验证PXE网络安装:

1.  新购买的服务器不需要额外的设置直接启动

2.  已有操作系统的服务器启动时调整BIOS中的Boot选项将Network或LAN设置为第一个,然后启动服务器。

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

选择相应的语言

设置键盘类型

选择通过URL安装

编辑网卡

设置PXE网络安装服务器

图形化安装配置程序

实现KickStart无人值守安装-全自动

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

1.  通过系统中system-config-kickstart工具生成配置文件

2.  修改系统中已有的/root/anaconda-ks.cfg文件

yum -y install system-config-kickstart

在linux的桌面窗口中执行如下命令,这里可以不用去Linux的桌面窗口,直接在xshell中执行:system-config-kickstart,但是会报错:

报错:system-config-kickstart

Could not open display because no X server is running.

Try running 'system-config-kickstart --help' for a list of options.

如果报以上错误可以安装以下软件:

yum -y install gdm

dgm是图形支持的插件,安装完成以后就可以使用了!但是如果你在xshell命令输入system-config-kickstart还是会报上面的错误,我们使用xmanager链接服务器:

找到xstart这个软件:双击它,

图中的2部分是输入IP地址:

如果是去Linux本机服务器操作可以执行以下命令:但是必须是安装了图形化界面的Linux操作系统才行哟~

system-config-kickstart

Linux图形化界面操作图2

配置图如下,按照以下操作,选择对应的即可,也可选择自己需要的去执行;

在生产环境中:

预安装脚本:可用户安装加载一些外置卡的驱动,例如RAID卡

安装后脚本:可用于设置一些初始化配置

cp /root/ks.cfg /var/ftp/pub/
vim /var/lib/tftpboot/pxelinux.cfg/default  #把之前的内容改掉,写上以下内容,即可!
-----------------------------------------------------------------
default auto
prompt
label auto
  kernel vmlinuz
  append ks=ftp://10.10.10.109/pub/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
-----------------------------------------------------------------

vim /var/ftp/pub/ks.cfg
在firewall --disabled前面添加以下内容即可:
unsupported_hardware

在/var/ftp/pub/ks.cfg文件中添加的内容主要是解决以下报错:

PXE+Kickstart网络装机(Centos6.5版本)的更多相关文章

  1. DHCP\PXE+kickstart网络装机平台

    DHCP概述及原理: ​ DHCP地址分配的四次会话 ​ DISCOVERY -****OFFER -REQUEST -ACK 服务端基本概念: 租期:允许客户机组用IP地址的时间期限,单位为秒 作用 ...

  2. Service系统服务(五):PXE基础装机环境、配置并验证DHCP服务、配置PXE引导、验证PXE网络装机、PXE+kickstart自动装机

    一.PXE基础装机环境 目标: 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 1> 在CentOS真机部署Web目录/var/www/html/rh7dvd   2&g ...

  3. Linux PXE无人值守网络装机

    Linux PXE无人值守网络装机 一.实验环境: 2台Linux系统(RHEL6.5版本),1台作为:PXE远程安装服务器(安装dhcp服务.ftp服务.tftp服务),另1台作为:客户端(未装RH ...

  4. pxe+Kickstart自动装机补充知识点

    1.vmlinuzvmlinuz是可引导的.压缩的内核.“vm”代表“Virtual Memory”.Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制.Linux能够使用硬盘 ...

  5. 第六章、PXE高效网络装机、Kickstart无人值守安装

    目录 一.部署PXE远程安装服务 1PXE定义 2PXE服务优点 3搭建网络体系前提条件 4PXE实现过程讲解 二.搭建PXE远程安装服务器 三.Kickstart无人值守安装 一.部署PXE远程安装 ...

  6. pxe kickstart 配置+TFTP+NFS多版本系统部署

    系统centos6.5x86_64 1.DHCP服务配置. yum安装dncp [root@cnhzdhcp16593 ~]# yum -y install dhcp 配置dhcp服务,新建dhcpd ...

  7. vmware上搭建kickstart 网络安装centos6.2的过程

    前言 什么是PXE? PXE(Pre-boot Execution Environment,预启动执行环境)协议使计算机可以通过网络启动.协议分client和server. PXE client 在网 ...

  8. Linux PXE + Kickstart 自动装机

    大规模装机时,使用无人值守装机便可大大简便人工操作,提高效率. PXE 网络安装 配置双网卡 这里ens33为nat网络,ens37为仅主机网络,配置ens37 [root@localhost ~]# ...

  9. PXE+kickstart网络安装CentOS7.4系统及过程中各种报错

    环境:关闭防火墙.selinux 注意:虚拟机进行网络安装的话,7.3以后的系统是需要2G以上的内存 [root@kickstart ~]# cat /etc/redhat-release CentO ...

随机推荐

  1. 只需十四步:从零开始掌握Python机器学习(附资源)

    转载:只需十四步:从零开始掌握Python机器学习(附资源) Python 可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源.你现在也在考虑从 Python 入门机器学习吗?本教程或许 ...

  2. centos6的mysql安装

    1.安装mysql服务端 yum install mysql-server        yum install mysql-devel 2.下载mysql的压缩包 wget http://dev.m ...

  3. linux系统LNMP环境部署

    源码安装 nginx# yum -y install gcc openssl-devel# useradd -s /sbin/nologin nginx# tar xf nginx-1.14.0.ta ...

  4. Java基础:8种基本数据类型,取值范围和储存字节说明。

    Java中,一共有8种基本数据类型: 4种整数型:int,short,long,byte. 2种浮点型:float,double. 1种字符类型:char. 1种表示真值的类型:boolean. [S ...

  5. Python日志模块logging简介

    日志处理是项目的必备功能,配置合理的日志,可以帮助我们了解系统的运行状况.定位位置,辅助数据分析技术,还可以挖掘出一些额外的系统信息. 本文介绍Python内置的日志处理模块logging的常见用法. ...

  6. lqb 基础练习 十进制转十六进制

    基础练习 十进制转十六进制 时间限制:1.0s   内存限制:512.0MB     问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8,9,A ...

  7. ArcGIS API For Javascript:新增热力图层的方法

    当我们要制作一个热力图层,可以通过以下 3 步来实现: 引入类 在 require 中需引入 "esri/layers/FeatureLayer", "esri/rend ...

  8. 领扣(LeetCode)第三大的数 个人题解

    给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2 ...

  9. 官宣!Amazon EMR正式支持Apache Hudi

    ​Apache Hudi是一个开源的数据管理框架,其通过提供记录级别的insert, update, upsert和delete能力来简化增量数据处理和数据管道开发.Upsert指的是将记录插入到现有 ...

  10. python容器类型元组的操作

    元组:使用小括号进行表示一组元素,其元素与元素之间使用逗号隔开:注意:元组的的值是不可修改的: 1.元组值得增加:元组是不可以直接增加值的,但是可以通过+进行拼接 # 声明一个元组: tuple1 = ...