目录
基础服务:PXE服务介绍无人值守自动装机服务工作流程使用场景前提条件部署使用kickstart实现无人值守安装环境测试
基础服务:PXE
服务介绍 PXE:是一种引导的方式(引导未装系统主机读取引导参数)
KickStart:是一种无人值守安装方式(记录着系统安装过程中一些参数选项配置的文件)
无人值守自动装机服务
服务角色:PXE Client:表示需要安装操作系统的机器,统称客户端TFTP Server:表示安装TFTPD服务的机器DHCP Server:表示安装DHCPD服务的机器
在实际的操作过程中往往将TFTP Server,DHCP Server部署在一台服务器上,统称PXE服务端。
工作流程
客户端向服务器DHCP发送IP地址请求,DHCP服务器接收到客户端请求后把IP地址和启动文件pxelinux.0的位置一起发送给客户端。客户端向服务端TFTP发送获取pxelinux0消息,TFTP接收到消息后向客户端发送pxelinux.0大小的信息,客户端反馈信息,当TFTP收到客户端返回的消息后,正式向客户端发送pxelinux.0客户端接受pxelinux.0文件客户端向TFTP发送针对本机的配置信息(在TFTP上的pxelinux.cfg目录下),TFTP将配置文件发送给客户端,客户端根据配置文件执行后续操作客户端向TFTP发送Linux内核信息,TFTP接收到消息后将内核信息发送给客户端。客户端向TFTP发送根文件请求,TFTP接收到消息后将Linux根文件系统返回给客户端客户端启动linux内核客户端进入安装模式
使用场景
无光驱或者光驱损坏,需要安装Linux系统对系统维护不当,导致需要频繁安装linux系统需要大规模批量部署Linux系统
前提条件
客户机网卡支持PXE协议,主板支持网络引导(BIOS)网络中有DHCP服务器为客户端自动分配网络地址,并指定引导文件位置服务器通过TFTP提供引导镜像文件的下载
部署
安装tftp服务
yum -y install tftp-server xinetd dhcp syslinux system-config-kickstart vsftpd* xinetd
mkdir /var/ftp/centos
mount /dev/cdrom /var/ftp/centos/
systemctl start vsftpd
配置tftp服务
tftp服务由tftp-server软件包提供,默认通过xinetd超级服务进行管理,需要将/etc/xineted.d/tftp中的disable=yes改为no
安装tftp是为了存放引导文件及内核文件来用的
安装vsftp是为了挂载镜像,存储cfg文件来用的
vim /etc/xinetd.d/tftp
disable=no
systemctl start tftp
systemctl enable tftp
准备linux内核,初始化镜像文件
linux内核文件和初始化镜像文件可以从光盘中找到,位于images/pxeboot下vmlinuz和initrd.img,将这两个文件复制到tftp服务的根目录下
cd /var/ftp/centos/images/pxeboot
cp initrd.img vmlinuz /var/lib/tftpboot/
准备pxe引导程序,启动菜单文件
pxe网络安装的引导程序为pxelinux.0 由软件包syslinux提供,安装完软件包后将文件复制到tftp服务的根目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpbooy/
启动菜单用来指导客户端的引导过程,默认启动菜单为default,应放在tftp根目录的pxelinux.cfg目录中
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var./lib/tftpboot/pxelinux.cfg/default
default linux#默认入口名称
prompt 0 #1 表示等待用户控制,0表示不等待
timeoout 30 #超时时间
label linux
kernel vmlinuz
append initrd=initrd.img devfs=nomount method=ftp://192.168.75.111/centos
#定义了三个引导入口,分别是图形安装,文本安装,救援模式
Prompt 设置是否等待用户选择
Label 定义并大多个启动项分开
Kernel append 定义引导参数
配置并启动DHCP服务
PXE客户端通常是没有安装系统的裸机,肯定要与服务器取得联系并下载相关的引导文件,所以需要预先配置好DHCP服务来自动分配地址并反馈引导文件的位置。
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf vim /etc/dhcp/dhcpd.conf
subnet 192.168.75.0 netmask 255.255.255.0{
range 192.168.75.10 192.168.75.30;
option domain-name-servers 8.8.8.8;
option domain-name "internal.example.org";
option routers 192.168.75.111;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.75.111; #tftp服务器地址
filename "pxelinux.0"; #pxe引导文件名
}
systemctl start dhcpd
systemctl restart xinetd
创建新的虚拟机并确认和PXE服务器在同一网卡模式上来验证
使用kickstart实现无人值守安装 使用kickstart工具配置安装应答文件,自动安装 安装过程中的的各种配置,不需要手动干预,提升效率。
通过系统命令system-config-kickstart生产cfg配置文件,保存在/var/ftp/pub目录下
修改系统中已有的/root/anaconda-ks.cf配置文件模板
!
vim /var/lib/tftpboot/pxelinux.cfg/default
default linux
prompt 0
timeout 30
label linux
kernel vmlinuz
append initrd=initrd.img devfs=nomount method=ftp://192.168.80.40/centos ks=ftp://192.168.80.40/pub/ks.cfg
###控制kickstart控制多台label
vim /var/lib/tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 300
label linux
kernel vmlinuz
append initrd=initrd.img devfs=nomount method=ftp://192.168.75.111/centos ks=ftp://192.168.80.40/pub/ks.cfg
label linux-mini
kernel vmlinuz
append initrd=initrd.img devfs=nomount method=ftp://192.168.75.111/centos ks=ftp://192.168.80.40/pub/ks-mini.cfg
ls /var/ftp/pub/
ks.cfg ks-mini.cfg
环境测试 新建一虚拟机网络模式启动与PXE Server用同一网卡
在boot界面直接回车或者输入linux-mini回车,将采用不同的ks文件安装操作系统