如何利用pxe实现批量安装linux系统

1.使用的相关服务和工具(里面涉及到的所有的协议均要下载相应的服务才会生效)

(1)PXE协议(在部署服务器过程中起着至关重要的作用,它涉及到tftp服务)

  • PXE 是由 Intel 设计的协议,计算机可以通过 PXE 协议从网络引导系统启动,PXE 协议在启动过程分为 client 和 server 端
  • PXE 协议运行过程主要解决两个问题:
  • 首先解决 IP 地址的问题,然后解决如何传输操作系统启动文件和安装文件的问题
  • 对于第一个问题,可以通过在服务端搭建DHCP服务器解决,DHCP 服务器主要用于动态分配 IP 地址给客户端
  • PXE 环境下,DHCP 服务器在给客户端一个ip地址的同时需要额外加载 PXE 的相关配置给客户端,这样客户端才会知道自己下一步要干嘛
  • 针对第二个问题,在启动初期因为 PXE客户端中有相应的 TFTP 客户端,可以通过 TFTP 协议到 TFTP 服务器(服务端)中下载相关文件启动计算机
  • 后期在安装过程中,则通过 FTP 或 NFS 协议提供大量的操作系统安装文件的下载
  • 我所使用的协议是http协议,客户端共享服务端的yum源软件仓库与ks.cfg文件给客户端,从而引导客户端自动装系
  • PXE是预启动执行环境,全名是Pre-boot Execution Environment
  • 通过网络接口启动计算机,不需要依赖本地存储设备或本地已安装的操作系统
  • 由Intel和Systemsoft公司于1999年9月20日公布的技术,采用C/S的工作模式
  • PXE客户端会调用网际协议(IP)、用户数据协议(UDP)、动态主机分配协议(DHCP)、小型文件传输协议(TFTP)等网络协议

(2)Kickstart(生成自动安装脚本的工具,利用它才可以自动生成ks.cfg文件,该文件里面回答了安装过程中的所有问题)

  • 通过传统的方式安装和部署计算机时,都会要求通过交互的方式,回答各类问题,以完成安装和部署任务,过程繁琐,且无法实现自动化
  • 红帽公司开发了 Kickstart 的安装方法,通过 ks 文件可以解决所有普通安装方式中需要回答的问题
  • 可以通过 system-config-kickstart 工具定制 ks 文件,也可以通过相关语法来手工编写安装脚本

(3)DHCP(这个在搭建DHCP服务中已经详细讲过)

  • 动态主机配置协议,主要用于给 DHCP 客户端自动分配 IP 地址,便于用户管理网络内部的计算机
  • 针对 PXE 环境下,DHCP 服务器除分配 IP 地址外
  • 还需要额外配置”next-server”选项定义 TFTP 服务器的地址,设置”filename”选项定义启动文件的名称
  • 并且启动”booting”与”bootp”的支持

(4)TFTP与FTP

  • 简单文件传输协议(TFTP)主要用于为客户机与服务器之间进行简单文件传输的协议
  • 在 PXE 早期启动过程中,主要通过 TFTP 协议传输”pxelinux.0”
  • 文件传输协议(FTP),适用于大量文件传输的情形,在后期安装过程,主要通过 FTP 协议传输 Linux 操作系统的安装包
  • FTP 服务主要是下载 ks.cfg 文件和操作系统文件的,也可以用 HTTP 或 NFS 来代替
  • 我的实验当中是用HTTP服务代替FTP服务,yum源与ks.cfg文件的共享均在httpd服务下进行

(5)HTTP

  • HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写
  • 是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议
  • HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)
  • HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
  • HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求
  • Web服务器根据接收到的请求后,向客户端发送响应信息

2.实验思路

利用desktop虚拟机给server主机装系统,需要在desktop虚拟机上进行如下操作:
搭建dhcp服务器:给新系统分配动态ip
开启http服务:提供共享给新系统,读取ks.cfg文件安装系统,利用共享yum源安装官方软件和第三方软件
开启tftp服务:tftp是一种简单文本传输协议,进行简单文本传输,该服务的端口号为69
关闭防火墙:才能实现共享,从而引导另外一台主机
创建pxe配置文件default

3.实验环境:先开一个全新的虚拟机,配置好yum源与ks.cfg文件,并且可以共享

声明:由于前面已经配置过共享yum源与自动安装脚本,就不再重复,接着上一篇的实验环境继续往下做
此时已经开启dhcpd服务

1.共享yum源地址如下

2.共享的ks.cfg文件访问如下:

3.查看dhcpd服务和httpd开启情况

可见,都开启了

4.用Desktop给server服务器装系统

第一步:搜索包含pxe程序的软件包

第二步:yum install dhcp httpd syslinux -y,先把需要的东西全部下载下来

安装成功

第三步:引入pxe这个程序,该程序引导server主机去寻找ttt主机安装系统(先开启tftp服务才会有pxe程序起作用)

1.yum search tftp 寻找tftp服务

2.yum install tftp-server.x86_64 -y 安装tftp服务

tftp安装成功

3.systemctl status tftp 查看tftp是否开启

4.安装xinted

显示已安装。

5.vim /etc/xinetd.d/tftp 编辑该配置文件将tftp服务的disable=yes状态改为disable=no状态,并重启该服务

6.chkconfig --list 查看pxe这个程序的状态

 

可以看到tftp显示为on了

7.netstat -antlupe | grep 69 查看端口是否为69

第四步:配置tftp服务器

cp /var/www/html/westos/isolinux/* /var/lib/tftpboot/ 	从iso中拷贝内核镜像和文件系统镜像到tftp服务的配置目录下,让server主机在pxe程序的引导下知道自己的内核等安装信息
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 	拷贝pxelinux.0文件到tftp根目录,该操作的目是让server主机得到ip地址的同时也会有pxe程序引导它下一步要去哪里
mkdir /var/lib/tftpboot/pxelinux.cfg 	准备默认的菜单配置文件,创建这个目录是因为pxelinux.0默认其为配置目录,创建pxelinux.cfg目录,固定目录名称
cd /var/lib/tftpboot/ 	切换到tftp的配置目录下面
cp isolinux.cfg pxelinux.cfg/default 	default文件,必须为这个名称,创建一个pxe程序默认的读取文件default,其内容与isolinux.cfg一样,因此直接复制

查询pxelinux.0文件所在目录

vim /etc/dhcpd.conf 继续编辑dhcp的配置文件

写入:

systemctl restart dhcpd 重启dhcp服务,使设置生效

编辑default文件,让server主机自动装系统时去读取包含其安装参数的ks.cfg文件

第五步:测试

  • 为了让企业当中所有的装系统的服务器自动选择目录进行安装
  • 一般使用ups电源,让所有的服务器的安装同时进行

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值