(ΩДΩ)pxe+kickstart自动安装操作系统

本文档详细介绍了如何配置PXE服务器,包括安装dhcp、vsftpd、tftp、xinetd和system-config-kickstart等软件,设置网络段、地址池、TFTP配置,启动相关服务,挂载并共享安装镜像,创建pxelinux.cfg文件,编写kickstart应答文件ks.cfg,最终实现客户端通过PXE自动启动并进行无人值守的Linux系统安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pex+kickstart批量化安装操作系统

实现过程

在这里插入图片描述

  • 客户端会从dhcp池中获取一个IP地址
  • 获取到以后,客户端向tftp发送获取pxelinux.0的请求,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0,Client执行接收到的pxelinux.0文件
  • Client执行接收到的pxelinux.0文件。
  • Client向TFTP发送针对本机的配置信息(记录在TFTP的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作
  • Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client。
  • Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统。
  • Client启动Linux内核(启动参数已经在4中的配置文件中设置好了)。
  • Client通过ftp下载镜像文件,读取autoyast自动化安装脚本, 至此,Client正式进入自动化安装模式开始安装系统直到完成。

开始部署pxe+kickstart

我的环境:

主机名IP地址所需的软件
pxe192.168.42.1dhcp,vsftpd,tftp, xinetd,system-config-kickstart
  1. 安装一个dhcp
yum -y install dhcp
  1. 复制dhcp的配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf
  1. 编辑dhcp的配置文件
cat >>  /etc/dhcp/dhcpd.conf <<EOF
##定义一个网段
subnet 192.168.42.0 netmask 255.255.255.0 {
		#定义网关
        option routers 192.168.42.254;
        #定义子网掩码
        option subnet-mask 255.255.255.0;
        #定义一个地址池
        range 192.168.42.100 192.168.42.200;
        #定义tftp的IP地址
        next-server 192.168.42.2;
        #定义pxelinux.0
        filename "pxelinux.0";
}
EOF
  1. 启动dhcp
systemctl start dhcpd
systemctl enable dhcpd
  1. 安装ftp(从ftp上找镜像文件)
yum -y install vsftpd
  1. 创建在ftp上存放镜像的目录
mkdir /var/ftp/centos7
  1. 把安装系统的镜像挂载到ftp下的cnetos7目录下
mount /dev/sr0 /var/ftp/centos7/
  1. 启动ftp
systemctl start vsftpd
systemctl enable vsftpd
  1. 关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
  1. 访问ftp,看能否看到centos7目录里的
    在这里插入图片描述
  2. 安装tftp
yum -y install tftp-server xinetd
  1. 修改tftp文件
sed -i "/disable/s/yes/no/" /etc/xinetd.d/tftp
  1. 启动tftp
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
  1. 复制镜像文件到tftpboot目录下
cd /var/ftp/centos7/images/pxeboot/
cp vmlinuz initrd.img /var/lib/tftpboot/
  1. 创建pxelinux.cfg
mkdir /var/lib/tftpboot/pxelinux.cfg
  1. 进入到pxelinux.cfg目录下
cd /var/lib/tftpboot/pxelinux.cfg/
  1. 准备pxe引导程序
yum -y install syslinux &>/dev/null
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
  1. 编辑default文件*(修改IP地址为ftp的地址)
cat > /var//lib/tftpboot/pxelinux.cfg/default <<EOF
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.42.1/centos7 ks=ftp://192.168.42.1/ks.cfg
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.42.1/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.42.1/centos7
EOF
  1. 安装kickstart应答
 yum -y install system-config-kickstart
  1. 下载ks.cfg的配置文件(这里面配置的是最小安装)
git clone  https://gitee.com/xiebinzhe/ks.git
  1. 复制到ftp目录下
 cp /root/ks/ks.cfg /var/ftp/ks.cfg
  1. 修改ks.cfg里面的ftp的IP地址(root密码为123456,可根据实际情况指定大小,这里我指定的是20G)
vim /var/ftp/ks.cfg
rootpw --iscrypted $1$fSihSUSE$Y37Dlz98SdUVp76SZHPOc.
url --url="ftp://192.168.42.1/centos7"
part / --fstype="xfs" --ondisk=sda --size=20000
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值