PXE+Kickstart全自动无人值守安装Centos7.9

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数;比如:我们安装系统的时候需要分区、设置时区、设置root密码、安装后执行的脚本等等,这些操作都记录下来并生成一个名为ks.cfg的文件
本次使用的镜像为:CentOS-7-x86_64-DVD-2009.iso

安装一台Centos7作为PXE服务器本机IP:1.1.1.182,然后禁用selinux和firewalld防火墙,需要安装的服务有dhcp、xinetd、syslinux、httpd、tftp-server、system-config-kickstart

#禁用selinux和firewalld防火墙
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
systemctl stop firewalld.service
systemctl disable firewalld.service
#安装dhcp、xinetd、syslinux、httpd、tftp-server服务
yum install -y dhcp xinetd syslinux httpd tftp-server
#启动这些服务并设置开机自启
systemctl start dhcp
systemctl start xinetd
systemctl start httpd
systemctl start tftp
systemctl enable dhcpd
systemctl enable xinetd
systemctl enable httpd
systemctl enable tftp

首先配置DHCP服务

vi /etc/dhcp/dhcpd.conf  #添加以下内容

# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
ddns-update-style none;
ignore client-updates;
default-lease-time 259200;
max-lease-time 518400;
option domain-name-servers 1.1.1.181;
subnet 1.1.1.0 netmask 255.255.255.0 {
       range 1.1.1.100 1.1.1.210; #地址池范围
       option routers 1.1.1.181; #网关ip
       option subnet-mask 255.255.255.0; #掩码
       # the configuration for tftp-server
       next-server 1.1.1.182; #本机IP
       # the configuration file for pxe boot
       filename "pxelinux.0";  # 如果是UEFI模式,修改为“BOOTX64.EFI”
       #filename "BOOTX64.EFI";

#重启dhcp服务
systemctl restart dhcpd

然后准备好iso镜像文件

挂载到/mnt,然后复制所有文件到/var/www/html/centos7/目录下

#挂载镜像到/mnt
mount /dev/cdrom /mnt/
#新建centos7目录
mkdir /var/www/html/centos7/
#将镜像文件复制到网站目录
cp -rf /mnt/* /var/www/html/centos7/

这里需要设置软件源给kickstart调用,这里的仓库名必须是development

vim /etc/yum.repos.d/nsd.repo #添加以下内容

[development] 
name=nsd01 
baseurl=http://1.1.1.182/centos7 
gpgcheck=0

yum repolist
这里已经识别到了

接下来安装system-config-kickstart图形化设置工具用来生成ks.cfg自动应答文件

yum install system-config-kickstart -y
#安装完成后运行以下命令打开图形化界面
system-config-kickstart  
#如果使用MobaXterm之类的工具,打不开图形化需要安装gdm,安装完重新连接即可打开
yum -y install gdm

打开配置程序,根据需要配置,然后点击文件》保存》生成ks.cfg自动应答文件放到/var/www/html/网站目录

kickstart配置程序

安装方法这里选择HTTP

设置好yum仓库后这里就可以选择安装软件了

我生成的ks.cfg文件配置参考

vi /var/www/html/ks.cfg #配置文件如下

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$Ytd1w1uG$kmW9AkWt8S/jUtb6W272O1
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled


# 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://1.1.1.182/centos7"
# System bootloader configuration
# bootloader --location=partition
# Clear the Master Boot Record
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=200
part swap --fstype="xfs" --size=2048
part / --fstype="xfs" --grow --size=1 #剩余空间全部给/分区

%packages
@base

%end

#给文件授权让所有人可读
chmod a+r /var/www/html/ks.cfg

以上操作设置好了后验证以下两个网站能不能正常访问文件

http://1.1.1.182/centos7
http://1.1.1.182/ks.cfg
以上网站正常访问,即进行下一步

接下来设置tftpboot引导参数

#创建tftpboot/centos7目录
mkdir /var/lib/tftpboot/centos7/
#将源镜像的这两个文件复制到tftpboot  
cp /var/www/html/centos7/images/pxeboot/initrd.img /var/lib/tftpboot/centos7/
cp /var/www/html/centos7/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7/
#将syslinux的引导复制到tftpboot
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#创建pxelinux.cfg文件夹,和default引导配置文件
mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default #输入以下内容


default menu.c32
prompt 0
timeout 100

menu title ########## PXE Boot Menu ##########

#全自动kickstart无人值守安装
label linux
  menu label ^Install CentOS7 x64 kickstart with HTTP
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img inst.repo=http://1.1.1.182/centos7 ks=http://1.1.1.182/ks.cfg

#普通PXE引导安装
label linux
  menu label ^Install CentOS7 x64 with HTTP
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img inst.repo=http://1.1.1.182/centos7


#给文件授权
chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

接下来,测试PXE全自动无人值守安装,新建一台虚拟机设置同一网段网卡,内存不小于2G,设置网络启动

安装完成

配置是按自动应答文件设置的

接下测试多台(4台)一起安装,安装均正常

PXE+Kickstart全自动无人值守安装Centos7.9
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇