部署PXE实现Kickstart无人值守安装

  • 一、部署PXE远程安装服务
    • 1.1 PEX服务相关介绍
    • 1.2 PXE服务的工作原理
    • 1.3 搭建PXE远程安装服务器大概步骤
    • 1.4 实验:使用VMware搭建PXE远程安装服务器详细步骤
  • 二、实现Kickstart无人值守安装
    • 2.1 实现Kickstart无人值守安装大概步骤
    • 2.2 实验:实现Kickstart无人值守安装详细步骤

一、部署PXE远程安装服务

1.1 PEX服务相关介绍

PXE是有Intel公司开发的网络引导技术,工作在Client/Server模式(也简称CS模式),允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整改操作系统。

1.若要搭建PXE网络体系,必须要满足一下几个前提条件:

  • 客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导;
  • 网络中有一台DHCP服务器以便于为客户机自动分配IP地址、指定引导文件位置;
  • 服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载。

2.PXE服务具备的优点:

  1. 规模化:同时装配多台服务器,无需每一台单独安装操作系统;
  2. 自动化:实现服务器的自动安装及自动配置各种服务;
  3. 远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。

1.2 PXE服务的工作原理

PXE(Pre-boot Execution Environment远程引导技术)是RPL (Remote Initial Program Load远程启动服务)的升级产品。它们的不同之处为: RPL是静态路由,PXE是动态路由。
RPL 是根据网卡上的ID号加上其它的记录组成的一个帧向服务器发出请求,而服务器那里早已经有了这个ID数据,匹配成功则进行远程启动;
PXE则是根据服务器端收到的工作站MAC地址(就是网卡号)使用DHCP服务给这个MAC地址指定一个IP地址,每次重启动可能同一台工作站有与上次启动有不同的IP,即动态分配地址。

以工作站引导过程说明PXE的原理:

  1. 工作站开机后,PXEBootROM(自启动芯片)获得控制权之前先做自我测试,然后以广播形式发出一个请求FIND帧。
  2. 如果服务器收到工作站所送出的要求,就会送回DHCP回应,内容包括用户端的IP地址,预设通讯通道,及开
    机映像文件。否则,服务器会忽略这个要求。
  3. 工作站收到服务器发回的相应后则会回应一个帧,以请求传送启动所需文件。之后,将有更多的讯息在工作站与服务器之间作应答,用以决定启动参数。
  4. BootROM 由TFTP通讯协议从服务器下载开机映像档,这个映像档就是软盘的映像文件。
  5. 工作站使用TFTP协议接收启动文件后,将控制权转交启动块,引导操作系统,完成远程启动。

1.3 搭建PXE远程安装服务器大概步骤

操作前相关介绍:

  • PXE远程安装服务器集成了CentOS 7安装源、TFTP服务、DHCP服务、FTP服务,能够向客户机裸机发送 PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件;
  • TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP端口69;
  • xineta是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。

第一步:安装启用TFTP服务

yum install -y tftp-server xinetd        #使用yum安装tftp-server 和 xinetd程序vim /etc/xinetd.d/tftp                    #修改TFTP服务的配置文件,如下:service tftp{socket_type             = dgramprotocol                = udp                     #TFTP默认使用的UDP协议wait                    = yes                       #yes:客户机单台连接,no:多台连接user                    = rootserver                  = /usr/sbin/in.tftpd       #指定TFTP跟目录(引导文件的存储路径)server_args             = -s /var/lib/tftpbootdisable                 = no                     #no:表示开启TFTP服务per_source              = 11cps                     = 100 2flags                   = IPv4}#将tftp和xinetd服务开启并设为开机自启systemctl start tftpsystemctl enable tftpsystemctl start xinetdsystemctl enable xinetd

第二步:安装启用DHCP服务

yum install -y dhcp                                  #使用yum安装dhcp服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf        #复制dhcp配置文件ddns-update-style none;                              #禁用DNS动态更新(取消原有的#号)
next-server 192.168.80.77;                          #指定TFTP服务器的地址
filename "pxelinux.0";                                #指定要下载的PXE引导程序的文件subnet 192.168.80.0 netmask 255.255.255.0 {            #声明要分配的网段地址range 192.168.80.100 192.168.80.200;             #设置地址池option routers 192.168.80.77;                     #默认网关地址指向TFTP服务器的IP地址
}#启用DHCP服务并设为开机自启
systemctl start dhcpd
systemctl enable dhcpd

第三步:准备Linux内核、初始化镜像文件

cd /mnt/images/pxeboot/                          #进入到挂载的光盘目录(无法进入的话检查挂载情况)
cp vmlinuz /var/lib/tftpboot/                   #复制Linux 系统的内核文件到TFTP根 目录下
cp initrd.img /var/lib/tftpboot/                #复制初始化镜像文件(linux引导加载模块)到TFTP根目录下

第四步:准备PXE引导程序

yum install -y syslinux                                  ##PXE引导程序由软件包syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    #复制PXE引导程序到TFTP根目录下

第五步:安装FTP服务,准备CentOS 7安装源

yum install -y vsftpd                                #使用yum安装vsftpd服务
mkdir /var/ftp/centos7                              #在/var/ftp目录下创建centos7,作为安装源目录
cp -rf /mnt/* /var/ftp/centos7/                     #将挂载的光盘内的文件全部复制到centos7中#将vsftpd服务开启并设置为开机自启动
systemctl start vsftpd
systemctl enable vsftpd

第六步:配置启动菜单文件

#默认的启动菜单文件在TFTP根目录的pxelinux.cfg 子目录下,文件名为default,所以需要创建pxelinux.cfg目录 和 default 配置文件mkdir /var/lib/tftpboot/pxelinux.cfg               #创建目录
vim /var/lib/tftpboot/pxelinux.cfg/default          #创建配置文件并修改default auto              #指定默认入口名称
prompt 1                    #设置是否等待用户选择,“1"表示等待用户控制label auto                   #图形安装(默认)引导入口,label用来定义启动项
kernel vmlinuz              #kernel和append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.77/centos7label linux text           #text安装(默认)引导入口,label用来定义启动项
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.80.77/centos7label linux rescue            #rescue安装(默认)引导入口,label用来定义启动项
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.80.77/centos7

第七步:关闭防火墙和安全防护,验证PXE网络安装

systemctl stop firewalld         #关闭防火墙
setenforce 0                        #关闭安全防护

1.使用VMware创建的虚拟机进行测试,虚拟机内存至少需要2GB,否则在启动安装时可能会报错,其他安装步骤无需改变。
2.开启虚拟机,在提示字符串"boot:"后直接按Enter键( 或执行“auto"命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口; 若执行“linux text"命令,则进入文本安装入口;若执行"linux rescue"命令,则进入救援模式。

1.4 实验:使用VMware搭建PXE远程安装服务器详细步骤

第一步:安装并启用TFTP服务

1)检查yum本地源是否配置正确和是否已经挂载。

2)使用yum安装tftp-server 和 xinetd程序

3)修改TFTP服务的配置文件

4)将tftp和xinetd服务开启并设为开机自启

第二步:安装启用DHCP服务
1)使用yum安装dhcp服务,从/usr/share/doc/dhcp-4.2.5/目录中复制dhcpd.conf.example配置文件到 /etc/dhcp/中,并修改名称为dhcpd.confdhcp覆盖原文件。

2)修改dhcpd.conf配置文件

第三步:准备Linux内核、初始化镜像文件

第四步:准备PXE引导程序

第五步:安装FTP服务,准备CentOS 7安装源

第六步:配置启动菜单文件


第七步:关闭防火墙和安全防护,验证PXE网络安装

1)关闭防火墙和安全防护

2)在VMware中创建新Linux虚拟机,内存选择为至少2G,其他无需改变,在启动boot页面直接回车即可

3)自动装机成功,但是可以看到安装设置仍然自己手动操作,这时就需要我们的Kicstart无人值守安装了。

二、实现Kickstart无人值守安装

上面介绍了通过PXE技术远程安装CentOS 7 系统的方法,安装介质不再受限于光盘、移动硬盘等设备,大大提高了系统安装的灵活性,然而安装期间人需要手动选择语言、键盘类型、指定安装源等一系列交互操作,当需要批量安装时非常不方便,这里我将介绍通过Kickstart工具配置安装应答文件,自动完成安装过程中的各种设置,从而无须手动干预,提高网络装机效率,同时也可以在应答文件中通过添加%post脚本,完成安装后的各种配置操作(这里我举例添加脚本自动挂载光盘)。

2.1 实现Kickstart无人值守安装大概步骤

第一步:安装应答文件

yum install -y system-config-kickstart       #安装Kickstart程序

第二步:打开Kickstart配置程序窗口

通过桌面菜单“应用程序”————>>“系统工具”————>>“Kickstart”打开,
或者执行
system-config-kickstart         #调出Kickstart配置程序

第三步:配置Kickstary选项

> 1)基本配置 :> 默认语言:中文(简体)> 时区设为:Asia/shanghai> 设置root密码> 勾选“安装后重启”
> 2)安装方法:> 选择TFP> FTP服务器:ftp://192.168.80.77              #选择服务器的ip,本机IP> FTP目录:centos7                          #之前创建的目录
> 3)引导装载程序选项:> “安装类型”:安装新引导装载程序> “安装选项”:在主引导记录(MBR)中安装引导装载程序> “GRUB选项”:可以根据自己的需求进行设置
> 4)分区信息:> 主引导记录:清除主引导记录> 分区:删除所有现存分区> 磁盘标签:初始化磁盘标签> 点击布局:添加分区> 挂载点: /boot, 文件系统类型: xfs, 固定大小: 500M> 文件系统类型: swap, 固定大小: 4096M> 挂载点: /home, 文件系统类型: xfs, 固定大小: 4096M> 挂载点: /,文件系统类型: xfs,使用磁盘上全部未使用空间
> 5)网络配置> 添加网络设备:ens33> 网络类型设为:DHCP
> 6)防火墙配置:> SELinux:禁用> 安全级别:禁用防火墙
> 7)安装后脚本:(设置装机后自动配置yum本地源)> mkdir /etc/yum.repos.d/repo.bak> mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak> echo"[local]> name=local> baseurl=file:///mnt> enabled=1> gpgcheck=0" > /etc/yum.repos.d/local.repo

第四步:保存自动应答文件

选择“Kickstart 配置程序“窗口的”文件”—————>>“保存命令”,选择指定保存位置,文件名为ks.cfg
默认保存在/root/ks.cfg
cp /root/ks.cfg /var/ftp/ks.cfg         #将ks.cfg文件复制到FTP根目录下

第五步:配置需要安装的软件包

可以根据需要将/root/anaconda-ks.cfg的软件包安装脚本复制到ks.cfg文件中,只需要复制%packages到%end部分即可。
如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end

第六步:编辑引导菜单文件default,添加ks引导参数

vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0            #设置是否等待用户选择,“0”表示不等待用户控制label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.80.77/centos7 ks=ftp://192.168.80.77/ks.cfg
#添加ks引导参数以指定ks.cfg应答文件的URL路径

第七步:测试功能,将之前新创建未配置的虚拟机重启即可测试。

2.2 实验:实现Kickstart无人值守安装详细步骤

第一步:安装应答文件

第二步:打开Kickstart配置程序窗口

第三步:配置Kickstary选项

1)“基本配置”栏配置如下

2)“安装方法”栏配置如下

3)“引导装载程序选项”一栏配置如下:

4)“分区信息”一栏配置如下:

5)“网络配置”一栏配置如下:

5)“防火墙配置”一栏配置如下:

6)“安装后脚本”一栏配置如下:

第四步:保存自动应答文件

1)保存到指定的位置上

2)复制保存的ks.cfg文件到FTP的根目录下

第五步:配置需要安装的软件包

第六步:编辑引导菜单文件default,添加ks引导参数

第七步:测试

1)重启之前新创建的未配置虚拟机

2)测试是否可以自动配置时间、语言、分区等信息,如下图自动配置即代表完成。

如何不费吹灰之力的装机?部署PXE实现Kickstart无人值守安装 — 装机界的最强王者相关推荐

  1. shell脚本一键装机(pxe配合kickstart无人值守)

    shell脚本一键装机(pxe配合kickstart无人值守) shell脚本实现无人值守安装 图文详细步骤可以参前期博文: PXE批量网络装机(超详细实验教程)教会你自动化批量安装linux 系统 ...

  2. pxe和kickstart无人值守安装

    1.安装dhcp和tftpserver Yum install dhcp tftp-server 编辑tftp-server的配置文件 Vi /etc/xinetd.d/tftp 修改如下,将yes更 ...

  3. PXE+Kickstart 无人值守安装系统

    文章目录 无人值守系统 部署安装 创建PXE服务器虚拟机并设置IP地址 配置本地yum源 安装并配置DHCP服务 安装并配置TFTP服务 安装SYSLinux 复制引导文件 安装并配置vsftpd服务 ...

  4. PXE网络批量装机+Kickstart无人值守安装

    1.什么是PXE? PXE( Preboot eXecution Environment,预启动执行环境 )是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网 ...

  5. PXE配合Kickstart无人值守装机

    PXE配合Kickstart无人值守装机 一.PXE概述 二.PXE批量部署的优点 三.部署PXE远程安装服务 四.搭建PXE远程安装服务器 1.安装并启用TFTP 服务 2.安装并启用DHCP服务 ...

  6. Linux PXE批量网络装机与Kickstart 无人值守安装

    Linux PXE批量网络装机与Kickstart 无人值守安装 一.PXE批量网络装机 二.PXE的三个优点 三.搭建PXE的先前条件 四.配置PXE装机服务器 1.安装并启用 TFTP 服务 2. ...

  7. PXE装机+kickstart无人值守安装

    搭建PXE远程安装服务器,本例集成了TFTP服务.DHCP服务,能够向客户机发送PXE引导程序,内核,启动菜单等. 1.准备RHEL6安装源,网络安装源一般通过HTTP,FTP协议发布,另外页支撑NF ...

  8. PXE高效批量安装和Kickstart无人值守安装——真正完成批量自动安装

    PXE高效批量安装和Kickstart无人值守安装--真正完成批量自动安装 一.PXE概述 二.PXE的优点 三.搭建PXE的前提 四.部署PXE远程安装服务 1.安装TFTP服务 2.修改TFTP服 ...

  9. 【Linux】PXE+Kickstart无人值守安装系统

    文章目录 前言 一.简介 二.配置DHCP 三.TFTP 四.SYSLinux服务程序 五.vsftpd服务 六.Kickstart应答文件 七.自动安装系统 八.总结 前言 本文来记录下PXE+Ki ...

最新文章

  1. Java网络编程笔记6
  2. Python 技术篇-用os库读取本地文件的字节数、文件大小
  3. pku2229--sumsets(zjgsu,分花)
  4. 机器人学习--Imperial College London机器人学课程
  5. CTA策略02_boll
  6. 2014计算机中山大学新华学院分数线,中山大学新华学院历年分数线 2021中山大学新华学院录取分数线...
  7. python 可控制深度遍历文件夹
  8. tp6 获取session_thinkphp6不能设置session以及模板无法获取session的坑附解决办法
  9. usb禁止重定向_【外设那些事】6.USB重定向-如何使用(下)
  10. stc单片机id加密c语言,STC单片机使用加密芯片SMEC98SP的加密实例源码
  11. Apache ShenYu 网关正式支持 Dubbo3 服务代理
  12. stata面板数据gmm回归_GMM估计的Stata操作流程
  13. 分享几个不错的流程图制作网站
  14. 百度网盘百度云不限速下载几种方法介绍汇总(借助网页或者软件等)
  15. 山腰中的AMD,向前是唯一的选择
  16. 清明2013——祭父
  17. 8xmax升级鸿蒙,配置设计各种寒酸:Redmi10X开箱
  18. python成功解决'\xbe\xfc\xca\xc2'类型字符数据的正常输出问题
  19. 如何一键修改视频画面的尺寸大小呢?
  20. python多张图片生成ppt_天呐,还能这么玩!用 Python 生成动态 PPT

热门文章

  1. shell脚本中的一些特殊符号
  2. 基于UDP的网络群聊聊天室
  3. intellij IDEA中 introduce local variable 快捷键自动补全
  4. 机器学习新宠:对比学习论文实现大合集,60多篇分门别类,从未如此全面
  5. esxi 6.0 定时关机
  6. linux服务器启动不起来,如何解决Linux不能启动问题
  7. Windows Server 2012 磁盘管理之 简单卷、跨区卷、带区卷、镜像卷和RAID-5卷
  8. java8 排序问题
  9. 【哈佛积极心理学笔记】第11讲 养成良好习惯
  10. win10忘记密码_惊!黑客破解电脑密码竟然这么简单~