PXE+Kickstart+DHCP+TFTP+FTP实现半自动化装机

本文详细介绍了如何使用kickstart和Cobbler进行批量操作系统安装。实验步骤包括设置DHCP服务器自动分配IP,搭建TFTP服务传输启动文件,配置FTP服务共享安装源,以及生成和验证kickstart自动应答文件。过程中涉及了网络服务如DHCP、TFTP和FTP的配置,以及系统安装关键文件的准备和客户端的自动安装流程。
摘要由CSDN通过智能技术生成

操作系统批量装机所采用的安装方式主要有两种:kickstart和Cobbler

该实验的原理图:

实验中pe请求工作流程: 

  1. pxe客户端发送udp广播请求: PXE 客户端从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向本网络中的DHCP服务器索取IP。
  2. DHCP服务器提供信息: DHCP服务器收到客户端的请求,验证是否来至合法的PXE 客户端的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。
  3. pxe客户端请求下载启动文件: 客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件
  4. TETP服务器响应客户端请求并传送文件: 当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM由TFTP通讯协议从tftp服务器 下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。
  5. 请求下载自动应答文件: 客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
  6. 客户端安装操作系统: 将ks.cfg文件下载回来后,通过该文件找到http镜像,并按照该文件的配置请求下载安装过程需要的软件包。  http镜像和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。

本次实验,将上面需要的三种服务安装在同一台机子上,

kickstart文件可以通过下面三种方式进行生成:

  1. 手动书写
  2. 通过system-config-kickstart图形工具
  3. 通过红帽的安装程序Anaconda自动生成

需要关闭防火墙, selinux,iptables

使用yum安装,system-config-kicstart: 启动时也是直接输入命令

搭建DHCp服务,自动分配ip地址

DHCP服务器主要实现在企业内部网络为客户端分配IP地址等网络参数。在我们的无人值守环境中,当客户端选择从网络启动后,就会通过发送广播数据包的形式寻找DHCP服务器,从DHCP获得IP地址等参数后才可以通过TFTP共享读取启动文件。

下载: yum -y install dhcp

安装后,DHCP服务的主配置文件为/etc/dhcp/dhcp.conf,我们可以修改配置文件以实现为客户端分配网络参数。

Copy样例文件到/etc/dhcp/dhcp.conf

 

 然后修改: vim /etc/dhcp/dhcpd.conf(主要修改部分) 

 启动服务,检查端口:

 

2.搭建tftp服务,:

tftp服务为客户端提供了一种简单的文件共享,非常适用于传输小且简单的文件传输,的PEX启动文件,

yum install xinetd tftp tftp-server

vim /etc/xinetd.d/tftp;

 

 查看端口信息:

 获取pxelinux.0系统:

安装syslinux并拷贝pxeLinux.0文件到tftp服务器.

yum install syslinux -y 通过安装获得syslinux引导文件

之后将:文件进行拷贝: cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

将镜像放在光驱并运行下面的挂载命令,从光盘中复制镜像文件和启动配置文件,到tftp共享目录.

执行挂载命令: 将光驱挂载到主机上:

mount -o loop -t iso9660 /dev/sr0 /media

-o 是: 特殊选项:可以指定挂载的额外选项,比如读写权限、同步/异步等,如果不指定,则使用默认值(defaults)

在将镜像中的相关文件复制到tftp的根目录中.

执行拷贝命令: cp -a /media/isolinux/*   /var/lib//tftpboot 

然后进入到/var/lib//tftpboot

mkdir pxelinux.cfg

cd pxelinux.cfg

在该目录下创建default文件:


default vesamenu.c32
timeout 60

display boot.msg
menu background splash.png
menu title girl of beauty

label centos7 64 <Auto Installation>
  menu label Install CentOS Linux ^7 x86_64 <Auto>
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=ftp://192.168.181.6/pub inst.repo=ftp://192.168.181.6/pub inst.ks=ftp://192.168.181.6/ks.cfg

label centos7 64 <Manual Installation>
  menu label Install CentOS Linux ^7 x86_64 <Manual>
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=ftp://192.168.181.6/pub

label local
  menu default
  menu label Boot from ^local drive
  localboot 0xffff


menu end
  1. 搭建ftp服务:

FTP是file Transfer Protocol的简写,及文件传输协议。目前市面上有很多可以实现FTP协议的软件,Vsftp就是一种利用FTP协议进行数据共享的软件,vsftp主要特色就是提供一种安全的数据共享服务。我们可以使用它作为Centos系统文件的共享服务平台,当客户端从网络启动正式进入到安装界面后,还需要读取Centos光盘中的系统文件,以完成最后的安装。这些文件就通过vsftp共享给网络用户。

安装: yum install vsftp -y

systemctl restart vsftp 重启服务

在将之前光驱挂载到其他指定位置:

umount /media

mount /dev/sr0 /var/ftp/pub

 

然后启动kickstart图形化页面:

执行命令:

 

 

 

 

 

 

 

 

 

 

 

 

然后可以使用ksvalidator ks.cfg  检查语法错误

将ks应答文件移动到/var/ftp下,然后重启服务

 然后创建新的虚拟机进行测试:

光标移动到最后,然后回车,按住shift和+号移动到第一个位置,最终结果如下:

 

然后f10保存,退出

然后进入下面的界面,选择第一项.

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴爃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值