一、pxe简介

1.1pxe是什么?

PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于无人机值守安装操作系统中引导客户端主机安装linux操作系统。Kickstart是一种无人值守的安装方式,其工作原理是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中需要填写参数时则自动匹配Kictstart生成的文件,所有只要Kickstart文件包含了安装过程中需要人工填写的所有参数,那么从理论上来讲完全不需要运维人员的干涉,就可以自动完成安装工作

1.2 pxe服务构建过程

  1. PXE客户机发出DHCP请求,向DHCP服务器申请IP地址,

  1. DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告 知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目 录/var/lib/tftpboot/下

  1. PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。

  1. TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。

  1. PXE客户机通过网络来启动到系统安装主界面。

  1. PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows系统安装文件的请求。

  1. 文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。

  1. PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作

二、部署PXE服务

2.1 环境准备

主机服务器地址:172.16.110.30

1)配置IP地址 关闭selinux和防火墙

2)DHCP部署

3)tftp-server 服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。

4)syslinux //用来提供pxe的引导程序

5)xinetd //用来托管tftp

6)vsftpd //用来放置安装镜像,通过ftp访问镜像安装

7)kickstart //用来无人值守安装

2.2 配置PXE远程安装服务

2.2.1 安装dhcp服务

2.2.1.1 配置软件源

[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enabled=1

2.2.2.2 配置dhcp服务

[root@localhost ~]# yum install -y dhcp
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf # 编辑dhcp服务的配置文件
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
subnet 172.16.110.0 netmask 255.255.255.0 {range 172.16.110.100 172.16.110.200;option domain-name-servers 8.8.8.8;option routers 172.16.110.1;option broadcast-address 172.16.110.255;next-server 172.16.110.30;   # 指向tftp服务器的ipfilename "pxelinux.0";        # 指定pxe引导程序文件名
}[root@localhost ~]# systemctl restart network

2.2.2 安装tftp服务

TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP 端口69

xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。

安装tftp、xinetd服务

[root@localhost ~]# yum install -y tftp-server xinetd

开启tftp服务:

[root@localhost ~]# vim /etc/xinetd.d/tftp 

启动tftp服务和xinetd服务

[root@localhost ~]# systemctl start xinetd tftp

2.2.3 准备PXE引导程序

pxelinux.0是个二进制文件,主要作用相当于一个系统安装步骤的指引,引导客户端如何安装系统
yum provides /pxelinux.0 #查找这个文件是由哪个软件包安装的

# 安装syslinux服务
[root@localhost ~]# yum install -y syslinux# 查看pxelinux.0文件的位置
[root@localhost ~]# find / -name pxelinux.0
/usr/share/syslinux/pxelinux.0# 将pxelinux.0文件复制到tftp的根目录 /var/lib/tftpboot
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

2.2.4 配置启动菜单文件

启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载驱动。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动菜单配置可参考以下操作自动或手动建立。至于为什么要是/var/lib/tftpboot/pxelinux.cfg/default文件,因为是由pxelinux.0这个文件决定好的 pxelinux.cfg目录默认是没有的需要手动创建

2.2.4.1 创建default文件

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# touch /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost ~]# ls /var/lib/tftpboot/pxelinux.cfg/default
default

2.2.4.2 编辑default文件

[root@localhost ~]# cat /var/lib/tftpboot/pxelinux.cfg/default
default auto    # 指定默认入口名称,对应下面的label auto
timeout 300     # 安装等待时间 单位十分之一秒 1/10
prompt 0        # 设置是否等待用户选择,“1”表示等待用户控制,0表示不等待用户控制label auto              kernel vmlinuz    # 会去 /var/lib/tftpboot/目录下找linux内核文件和驱动文件append initrd=initrd.img method=ftp://172.16.110.30/centos7 # method 安装源

用于 PXE 网络安装的 Linux 内核、驱动文件可以从 CentOS 7 系统光盘/镜像获得, 分别为 vmlinuz 和 initrd.img,位于光盘目录 images/pxeboot 下,将其复制到/var/lib/tftpbooot/

[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@localhost pxeboot]# ls /var/lib/tftpboot/
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz

2.2.5 安装FTP服务

安装FTP服务 准备Centos7的安装源

yum -y install vsftpd #安装vsftpd服务
mkdir /var/ftp/centos7 #在ftp根目录下创建目录centos7
cp -rf /mnt/* /var/ftp/centos7/ #将镜像文件强制复制到centos7目录中
systemctl start vsftpd #开启vsftpd服务
systemctl enable vsftpd #开启vsftpd服务开机自启

三、 实现Kickstart无人值守安装

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

3.1 安装Kickstart服务

准备安装应答文件 system-config-kickstart 工具

yum install -y system-config-kickstart

3.2 打开Kickstart配置程序窗口

可以通过桌面菜单 "应用程序" --> “系统工具” --> "Kickstart" 打开

# 或者执行命令
system-config-kickstart

3.3 配置Kickstart选项

  1. 基本配置

  1. 安装方法

  1. 引导装载程序

  1. 分区信息

  1. 网络配置

  1. 防火墙配置

  1. 显示配置

  1. 软件包选择

这里只有当本地yum源仓库标签为development才会生效 示例如下:

[root@localhost ~]# cat /etc/yum.repos.d/local.repo
[development]
name=alksdja
baseurl=file:///mnt
gpgcheck=0
enabled=1
  1. 安装后脚本

  1. 保存配置

3.4 启动菜单配置ks

efault auto
timeout 300
prompt 0label autokernel vmlinuzappend initrd=initrd.img method=ftp://172.16.110.30/centos7 ks=ftp://172.16.110.30/ks.cfg

3.5 设置最小化安装

编辑ks.cfg文件

# 添加如下内容
%packages
@^minimal
%end

PXE+Kickstart实现无人值守批量部署服务器相关推荐

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

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

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

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

  3. 批量部署服务器系统,自动化运维之cobbler批量部署服务器系统 | opengers

    借助cobbler完成服务器系统的批量安装 cobbler封装了tftp, pxe, kickstart, dhcp这些技术, 而且不会使网段中多出一台dhcp服务器 文中客户端是相对cobbler服 ...

  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装

    作者:JackTian 微信公众号:杰哥的IT之旅(Jake_Internet) 1.什么是 PXE? 严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的 ...

  5. 使用PXE+Kickstart构建无人值守系统安装服务

    1.无人值守系统 本书在第1章讲解了使用光盘镜像来安装Linux系统的方法,坦白讲,该方法适用于只安装少量Linux系统的情况.如果生产环境中有数百台服务器都需要安装系统,这种方式就不合时宜了.这时, ...

  6. pxe+kickstart实现无人值守网络安装rhel5.4

    前言:系统的装我们有很多种方式,光盘.硬盘.ftp.http等,而对于拥有多台主机的实验环境而言,单一的通过光盘等来手动显然已经无法满足需求,现在我们就来了解一下通过pxe/kickstart 实现通 ...

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

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

  8. linux 虚拟机大量udp请求失败_利用PXE远程装机服务批量部署Linux

    1.安装并配置DHCP服务器 (要先安装yum源) yum -y install dhcp cd /usr/share/doc/ cd dhcp-4.2.5/ 拷贝example文件到另一目录并覆盖: ...

  9. PXE+KickStart 自动化安装的部署,解决:Warning:/dev/root/ does not exist 的问题

    PEX服务器的部署 一.安装环境 1.注意事项: 保证局域网仅有一个DHCP 不建议在生产环境下做这个实验,因为生产环境有路由器 建议在VM虚拟机环境仅主机模式下做这个实验. 服务器搭建成功之后,需要 ...

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

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

最新文章

  1. css3动画,监控动画执行完毕
  2. BZOJ-2748: [HAOI2012]音量调节 (傻逼背包DP)
  3. boost::rational用法的测试程序
  4. AngularJS(九):路由
  5. 马云又向美国捐赠50万份检测试剂盒和100万只口罩
  6. pthread_cleanup_push()/pthread_cleanup_pop()的详解
  7. web安全day15:本地口令爆破
  8. Windows下PyMC安装
  9. 全网首发:编译Android doubango时,armv7-a编译不出来的解决办法
  10. wav格式怎样转换成flac
  11. 计算机03年word做母亲节贺卡,《WORD贺卡的制作—母亲节快乐》教学反思
  12. 沙耶的玩偶(doll)
  13. mysql插入失败39_Mysql错误:Duplicateentryamp;#39;127amp;#39;forkeyamp;#39;PRIMARYamp;#39;的解决方法-一团网...
  14. 微软Azure组面试(部分)
  15. Linux搭建samba服务及使用案例
  16. node更改html中的列表,HTMLCollection和NodeList
  17. Oracle 12.2 新特性:在线PDB数据库克隆(Pluggable Hot Clone)
  18. ubuntu18.04添加自定义分辨率
  19. windows server 2016 搭建AD域服务
  20. android 实时高斯模糊 毛玻璃效果

热门文章

  1. torch.flip()
  2. 原码反码补码移码简单介绍[一句话概括]
  3. 让文字沿着路径动起来 (SVG)
  4. 计算机图形学数学基础
  5. 2276计算机基础与程序设计,浙大建筑
  6. IOP JPCS独立出版 | 2023年第二届材料科学与工程国际会议(CoMSE 2023)
  7. http://localhost:63342/健身房前端项目开发/Fitness_room/css/bootstrap.min.css.map?_ijt=9ldd0n7td4j0b0neg8f55qn
  8. 计算机网络自顶向下方法第6版-第8章网络安全课后解析
  9. 如何利用多开软件在Windows电脑上提升翻译效率?
  10. SAP 实现同时显示多个ALV GRID(其中包含单击和双击等事件)