利用 pxe +dhcp+ tftp+ http+kickstart 实现批量部署linux系统

一、为什么要实现批量部署

  • 在企业里,要管理很多台服务器,要管理这些服务器,你首先得给电脑都装上linux系统,那么,难道要一台一台手动安装好几千台服务器?
  • 当然不是,我们只需要一台已经做好相应配置的主机去批量安装其他主机系统就可以了。

1、PXE是什么

  • 预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统 。
  • 由Intel和Systemsoft公司于1999年9月20日公布的技术
  • C/S的工作模式
  • PXE客户端会调用网际协议(IP)、用户数据协议(UDP)、动态主机分配协议(DHCP)、小型文件传输协议(TFTP)、HTTP等网络协议。
    PXE 协议大致上结合了DHCP和TFTP,虽然都有在两者上面有改进。DHCP用于查找合适的启动伺服器,TFTP用于下载初始引导程序和附加文件

2.PXE 工作模式的原理

思路:
   服务器上的网卡是必须的设备,从网卡启动,访问别人的资源,进行自动安装。
在这里插入图片描述

  • 注意
    为什么主机2要选择dhcp获取ip?
    因为主机2只有网卡,并没有安装系统,要想静态获取ip,必须使用软件。

3.实现步骤

3.1
  1.配置本地yum源
  2.yum install httpd dhcp system-config-kickstart -y
3.2.资源的部署
  • 共享镜像资源

http模块:

  mkdir /var/www/html/rhel7.0

在这里插入图片描述

  systemctl start httpd 
  systemctl stop firewalld

在这里插入图片描述

  mount /镜像资源 /var/www/html/rhel7.0  #临时挂载

在这里插入图片描述

  vim /etc/rc.d/rc.local #设置永久挂载,里面写mount...
  chmod +x /etc/rc.d/rc.local
  /etc/rc.d/rc.local
3.3共享ks配置资源

system-config-kickstart 模块

  mkdir /var/www/html/ks
  system-config-kickstart  
     #打开图形化界面,进行相应设置 其他步骤不变。
     第二步,选择的源是HTTP 172.25.254.110 (本机目录) 目录:/rhel7.0

在这里插入图片描述

  • 在最后一步,设置安装系统后自动配置好yum源
  cat >/etc/yum.repos.d/westos.repo <<EOF
  [rhel7.0]
  name=rhel7.0
  baseurl=http://172.25.254.110/rhel7.0
  gpgcheck=0
  EOF

在这里插入图片描述

  • 保存文件
  /var/www/html/ks/ks1.cfg(名字可以随便起)

在这里插入图片描述

  • 编辑文件
  vim /var/www/html/ks/ks1.cfg

在这里插入图片描述

  ksvalidator /var/www/html/ks/westos.cfg 对文件进行语法检测

在这里插入图片描述
此处有报错,修改之后,再检测没有错误。

3.4程序的准备

dhcp模块

  1.cd /etc/dhcp/
  2.cat /dhcpd.conf
  3.cp ....example  /dhcpd.conf
  4.vim  dhcpd.conf
   #该删的删,该添的添

之前已经做过,这里不再赘述。

  systemctl restart dhcp
  • 回到PEX工作原理,主机1在响应主机2的dhcp请求时,让它给2的file文件的内容是让主机2去读取isolinux目录里的内容,即可实现安装。
    而isolinux目录的内容,是由PXE环境去引导读取的。

pxe模块:

  yum search pxelinux yum 
  install syslinux.x86_64 -y  #此程序包括了pxe环境执行时的一套组件包

在这里插入图片描述
查看syslinux的配置信息:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
tftp模块

  yum search tftp 
    #发布资源时所需要的软件,之所以不用apache,因为pxelinux.0头文件只读tftp服务。是开发时设置的。

在这里插入图片描述

  yum install tftp-server.x86_64 -y

在这里插入图片描述
在这里插入图片描述

  sytemctl start tftp 
  sytemctl enable tftp

实验环境到这里就部署好了,接下来是操作环节。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值