您的位置:首页 > 其它

懒人装机必备(PXE环境&kickstart工具)——你要做的只有按下回车

2019-09-11 17:03 711 查看

本次博客将带领各位使用PXE进行网络装机,以及使用kickstart工具进行真一键装机。

PXE环境

被称为预启动执行环境,提供了一种使用网络接口启动计算机的机制,让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。

实验准备

第一步,安装本次实验所需的所有服务

输入:

yum install dhcp -y //安装DHCP服务
yum install tftp-servsers -y //安装TFTP服务
yum install vsftpd -y //安装FTP服务
yum install syslinux -y //安装引导程序

第二步,添加网卡并设置静态IP

注意:使用PXE环境进行网络装机时,需全程在局域网中进行!!!

为第二块设置静态IP地址
实验步骤:

1、输入:
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36 //将第一张网卡配置文件进行复制,方便后续修改
2、输入:vim /etc/sysconfig/network-scripts/ifcfg-ens36 //对新网卡配置文件进行修改
3、具体配置过程见下图实例
4、完成配置后,输入:service network restart //重启网络服务
5、输入:ifconfig //查看IP是否更改成功
实例:

以上,就完成了本次实验的所有前期准备,下面将正式开启实验进程!!

正式实验

一、配置FTP服务

FTP服务:
FTP(常规用途文件传输协议)服务,通常存放系统镜像,比TFTP协议安全,存储容量大,但效率低于TFTP。
配置步骤:
前期准备已经将FTP服务安装完毕,输入:

rpm -ql vsftpd
来查看FTP服务内的所有文件,其中
“/var/ftp”
为FTP服务的站点,也是光盘镜像的存放地。
此时为了存放之后的安装光盘镜像需输入:
mkdir /var/ftp/centos7
在FTP站点中创建空文件夹。

在虚拟机中添加光盘镜像,输入:
mount /dev/sr0 /var/ftp/centos7
将光盘挂载到FTP站点内

这样就完成了FTP服务的配置,接下来开始配置TFTP服务。

二、配置TFTP服务

TFTP(简单文件传输协议)服务,运行于UDP69端口,速度快效率高,但可储存容量小。
本次实验TFTP站点将承载引导程序pxelinux.0、压缩内核vmlinuz、系统初始化文件initrd.img、启动菜单default。

1、开启TFTP服务

输入:

rpm -ql tftp-server

查看TFTP协议包含了哪些内容,其中

“/etc/xinetd.d/tftp”
为TFTP协议配置文件、
“/var/lib/tftpboot”
为TFTP协议的站点。

输入:

vim /etc/xinetd.d/tftp

进入配置文件中进行修改,将“disable”从yes改为no

2、添加引导程序pxelinux.0

输入:

rpm -ql syslinux | grep pxelinux

从我们事先准备的syslinux软件包中进行筛选,使用cp命令将引导程序复制到

“/var/lib/tftpboot”
站点之中

3、添加压缩内核(vmlinuz)以及系统初始化文件(initrd.img)

压缩内核与系统初始化文件通常都保存在光盘镜像中,而我们之前已经将镜像挂载到FTP的站点之中,所以我们只需要手动进行复制即可。输入:

cp /var/ftp/centos7/images/pxeboot/initrd.img /var/ftp/centos7/images/pxeboot/vmlinuz /var/lib/tftpboot/

将两个文件进行复制。

4、添加启动菜单(default)

到目前为止,TFTP站点中的四大金刚已集齐三个,唯独缺少重要的启动菜单。而与其它三个不同,启动菜单是唯一一个需要手动进行配置的。输入:

mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default

其中

“pxelinux.cfg”
文件夹、
“default”
文件两者,名称千万不能输错,一旦输错,引导程序将无法找到,导致安装系统失败。

“default”
文件中按照下图进行手动添加

三、配置DHCP服务

到此为止,PXE环境已完成大半。只剩下给客户端分配的DHCP服务还没有进行配置。

配置DHCP

输入:

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf

将模板对配置文件进行覆盖,并按下图进行修改

到此为止,PXE环境的所有设置都完成设置,下面需要的就是开启服务。

四、开启所有服务,完成整个环境的设置

输入:

systemctl start dhcpd //开启DHCP服务
systemctl start tftp //开启TFTP服务
systemctl start vsftpd //开启FTP服务
systemctl stop firewalld.service //关闭防火墙
setenforce 0 //关闭增强性安全功能

以上,就是完整的PXE网络装机的环境设置。虽说已经使安装系统变得非常便捷,不过有伟人说过:“懒惰,是推动科技进步的第一动力。”有没有更为便捷的装机方式呢?
答案是当然有,那就是接下来要进行实验的使用kickstart工具安装。

关于kickstart

kickstart无人值守技术
  • 创建应答文件,预先定义好各种安装设置
  • 免去交互设置过程,从而实现全自动化安装
  • 通过添加%post脚本,完成安装后的各种配置操作

实现kickstart无人值守

保留之前的PXE环境不变,在此基础之上安装kickstart软件包,输入:

yum install system-config-kickstart -y

完成安装后,进入centos7的图形化界面中点击桌面左上角的应用程序,选择系统工具→kickstart软件

接下来就是模板文件的创建

基本设置

1、语言设置为简体中文
2、键盘为美式键盘
3、时区选择为亚洲/上海
4、填写root密码
5、勾选安装后重启

安装方法

1、安装方法选择FTP
2、FTP服务器内填“ftp://192.168.100.100/”
3、FTP目录内填“centos7”

引导装载程序选项(重要!!!!)

1、安装类型勾选“安装新引导装载程序”

分区信息

1、在布局中使用添加按钮,为系统添加“/boot”、“swap”、“/home”、“/”分区

网络设备

1、点击添加网络设备
2、输入“ens33”
3、点击确定进行添加

全部使用默认设置

从验证到预安装脚本之间都保留默认设置,无需变更
其中“软件包选择”我们将稍后进行添加

安装后脚本

勾用解释程序”——输入“/bin/bash”

保存

点击左上角文件,选择保存到/var/ftp目录中

我们此时返回字符界面内,输入:

cd ~                              //返回家目录中
vim anaconda-ks.cfg   //进入该模板文件中

上图中的段落就可用于我们的ks.cfg文件中,返回文件保存地:

cd /var/ftp/
vim ks.cfg                   //对文件进行编辑

在文件末行,将复制的段落进行粘贴。

光进行组件包的添加,不进行引导。安装启动时仍然无法识别,仍需要手动进行安装=没有添加组件包。
所以我们需要在启动菜单default文件中添加引导:

vim /var/lib/tftpboot/pxelinux.cfg/default

在原有的内容后面添加组件包的引导,具体如下图:

所有配置均已完成,下面唯一要做的就是按回车。剩下的就是全自动,科技万岁!!!!!!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: