本次博客将带领各位使用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、安装方法选择FTP
2、FTP服务器内填“ftp://192.168.100.100/”
3、FTP目录内填“centos7”
引导装载程序选项(重要!!!!)
分区信息
网络设备
全部使用默认设置
安装后脚本
保存
我们此时返回字符界面内,输入:
cd ~ //返回家目录中
vim anaconda-ks.cfg //进入该模板文件中
上图中的段落就可用于我们的ks.cfg文件中,返回文件保存地:
cd /var/ftp/
vim ks.cfg //对文件进行编辑
在文件末行,将复制的段落进行粘贴。
光进行组件包的添加,不进行引导。安装启动时仍然无法识别,仍需要手动进行安装=没有添加组件包。
所以我们需要在启动菜单default文件中添加引导:
vim /var/lib/tftpboot/pxelinux.cfg/default