PXE+kickstart实现无人值守自动安装操作系统

PXE+kickstart实现无人值守自动安装操作系统

让待安装系统的主机自动安装系统,并且自动的安装kickstart文件安装系统,不需要人工干预,直接自动化批量安装操作系统

在VMware虚拟机中进行操作时,需要先进入虚拟机的虚拟网络编辑器中关闭掉NAT模式的DHCP,以免在后面的实验中发现DHCP服务器争抢情况,造成实验失败

给操作系统安装图形化,并且启动

[root@rhel7 ~]# yum group install "Server with GUI"

[root@rhel7 ~]# init 5
[root@rhel7 ~]# runlevel 
3 5

安装kickstart文件自动配置工具

[root@rhel7 ~]# yum install system-config-kickstart

# 在虚拟机的终端中启动
[root@rhel7 ~]# system-config-kickstart

# 在虚拟机中的图形化界面中进行配置,最后自动保存为ks文件

[root@rhel7 ~]# cat ks.cfg 
platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$751RToEK$Wkc5qL0J.h1Z5y8qbcdQW/
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Use network installation
url --url="http://172.25.254.103/rhel7/"
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=1024
part swap --fstype="xfs" --size=512
part / --fstype="xfs" --grow --size=1

%packages
@base
gcc
%end

%post
mkdir -p /kickstart_succeed
%end

kicistart文件语法检测

[root@rhel7 ~]# ksvalidator ks.cfg 
# 如果没有输出信息,则文件无问题

图形化界面配置生成kicistart文件

图片如下面所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置103主机网络共享源以及ks.cfg文件

[root@rhel7 html]# ln -s /rhel7/ /var/www/html/

[root@rhel7 html]# mv /root/ks.cfg ./
[root@rhel7 html]# ls
ks.cfg  rhel7

使用浏览器访问,测试成功

在这里插入图片描述
在这里插入图片描述

PEX的配置

# 安装PXE需要的相关软件
[root@pxe tftpboot]# yum install syslinux
[root@pxe ~]# yum install tftp-server.x86_64

# 查看tftp软件的相关文件
[root@pxe ~]# rpm -ql tftp-server 
/etc/xinetd.d/tftp
/usr/lib/systemd/system/tftp.service
/usr/lib/systemd/system/tftp.socket
/usr/sbin/in.tftpd
/usr/share/doc/tftp-server-5.2
/usr/share/doc/tftp-server-5.2/CHANGES
/usr/share/doc/tftp-server-5.2/README
/usr/share/doc/tftp-server-5.2/README.security
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz

/var/lib/tftpboot # 主要使用文件

# 启动tftp服务
[root@pxe ~]# systemctl enable --now tftp.service

# 系统启动盘里面的关键内容
[root@pxe rhel7]# cd isolinux/
[root@pxe isolinux]# ls
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL    vesamenu.c32
boot.msg  initrd.img  isolinux.cfg  splash.png  upgrade.img  vmlinuz

# 复制关键文件至tftp服务目录中
root@pxe ~]# cp /rhel7/isolinux/* /var/lib/tftpboot/
[root@pxe ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@pxe ~]# cd /var/lib/tftpboot/
[root@pxe tftpboot]# ls
boot.cat  grub.conf   isolinux.bin  memtest     splash.png  upgrade.img   vmlinuz
boot.msg  initrd.img  isolinux.cfg  pxelinux.0  TRANS.TBL   vesamenu.c32

# 根据配置文件提示,建立pxelinux.cfg目录
root@pxe tftpboot]# mkdir pxelinux.cfg
# 复制isolinux.cfg至pxelinux.cfg/default这个文件中
[root@pxe tftpboot]# cp isolinux.cfg pxelinux.cfg/default

# 修改dhcp配置文件
[root@pxe tftpboot]# vim /etc/dhcp/dhcpd.conf 

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}
# This is a very basic subnet declaration.

subnet 172.25.254.0 netmask 255.255.255.0 {
  range 172.25.254.30 172.25.254.40;
  option routers 172.25.254.2;
  # 主要修改内容是如下两行
  next-server 172.25.254.103;
  filename "pxelinux.0";
}
# 重启dhcp服务
[root@pxe tftpboot]# systemctl restart dhcpd

# 修改defefault文件内容
[root@pxe tftpboot]# vim /var/lib/tftpboot/pxelinux.cfg/default

 2 timeout 30 # 这里为装机页面的默认等待时间,可以调整为30(3秒钟)

 61 label linux
 62   menu label ^Install Red Hat Enterprise Linux 7.9 pxe_kickstart_check
 63   menu default # 将69行的menu default改到此行(63行),将第一个直接按照系统的选项设置为默认选项
 64   kernel vmlinuz
 65   append initrd=initrd.img repo=http://172.25.254.103/rhel7 ks=http://172.25.254.103/ks.cfg  quiet # 修改这里repo按照系统盘位置,以及ks文件的指定,这里都采用PXE服务器网络共享获取
 66 
 67 label check
 68   menu label Test this ^media & install Red Hat Enterprise Linux 7.9
 69 
 70   kernel vmlinuz
 71   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.9\x20Server.    x86_64 rd.live.check quiet

测试主机需要调整BIOS启动项为network启动

虚拟机装完毕系统后,需要更改BIOS启动项,更改为磁盘启动,不然会出现不断从网卡启动进而不断进入装系统的界面

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值