1、前提
服务端:Kylin-Server-10-SP2-Release-Build09-20210524-x86_64
客户端:Kylin-Server-10-SP2-Release-Build09-20210524-x86_64
服务器IP:192.168.1.100
- 服务端搭建
2.1 nfs搭建
- 安装nfs并修改配置文件
yum install -y nfs-utils
mkdir /V10SP2 /kickstart
echo -e “/V10SP2 *(insecure,rw,async,no_root_squash)\n/kickstart *(insecure,rw,async,no_root_squash)” > /etc/exports
- 将光盘挂载到 /mnt,并将 iso 中的文件拷贝到 /V10SP2中
mount xxx.iso /mnt
cp -avprf /mnt/* /V10SP2
chmod -R 777 /V10SP2
- 编写ks脚本
vim /kickstart/ks.cfg
添加如下内容
#version=DEVEL
# X Window System configuration information
xconfig –startxonboot
# License agreement
eula –agreed
# System authorization information
auth –enableshadow –passalgo=sha512
# Use CDROM installation media
nfs –server=192.168.1.100 –dir=/V10SP2
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot –enable
# System services
services –enabled=”chronyd”
# Keyboard layouts
keyboard –vckeymap=us –xlayouts=’us’
# System language
lang zh_CN.UTF-8
ignoredisk –only-use=sda
# Network information
# Root password
rootpw –iscrypted $6$h8fkf.JIshjmaupc$uARnGcVUbdVaUjndEznoyNeIG5nbaOqnFHR5g.4jtBasbwLPflJ2EllcNrhXM6NRZS/xFriClROmwsLatwg2D1
# System timezone
timezone Asia/Shanghai –isUtc
# System bootloader configuration
#bootloader –append=” crashkernel=auto” –location=mbr –boot-drive=sda
# Partition clearing information
#clearpart –all –initlabel –drives=sda
# Disk partitioning information
#part / –fstype=”xfs” –ondisk=sda –size=51200
#part /boot –fstype=”xfs” –ondisk=sda –size=1024
#part /boot/efi –fstype=”efi” –ondisk=sda –size=200 –fsoptions=”umask=0077,shortname=winnt”
#part swap –fstype=”swap” –ondisk=sda –size=4096
#part /home –fstype=”xfs” –ondisk=sda –size=2689078
%packages
@^kylin-desktop-environment
%end
%addon com_redhat_kdump –enable –reserve-mb=1024M
%end
%anaconda
pwpolicy root –minlen=6 –minquality=1 –notstrict –nochanges –notempty
pwpolicy user –minlen=6 –minquality=1 –notstrict –nochanges –emptyok
pwpolicy luks –minlen=6 –minquality=1 –notstrict –nochanges –notempty
%end
reboot
- 启动 nfs
systemctl restart nfs.service
2.2 tftp和 xinetd 服务搭建
- 安装 tftp 和 xinted 服务
yum install -y tftp-server xinetd
- 修改 tftp 配置文件
vim /etc/xinetd.d/tftp
将 disable = yes 改为 no
- 将光盘中的 grub.cfg,grubx64.efi,initrd.img,vmlinuz 拷贝到 /var/lib/tftpboot 目录下面
cp -avp /V10SP2/EFI/BOOT/grubx64.efi /var/lib/tftpboot
cp -avp /V10SP2/EFI/BOOT/grub.cfg /var/lib/tftpboot
cp -avp /V10SP2/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
- 创建 UEFI 目录并赋权
mkdir /var/lib/tftpboot/UEFI
chmod -R 777 /var/lib/tftpboot/UEFI
- 将光盘中的文件 grub.cfg,grubx64.efi,initrd.img,vmlinuz 拷贝到 /var/lib/tftpboot/UEFI
cp -avp /V10SP2/EFI/BOOT/grubx64.efi /var/lib/tftpboot/UEFI
cp -avp /V10SP2/EFI/BOOT/grub.cfg /var/lib/tftpboot/UEFI
cp -avp /V10SP2/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/UEFI
- 恢复 linux 上下文
cd /var/lib/tftpboot/UEFI && restorecon -v *
- 修改grub.cfg 为如下
vim /var/lib/tftpboot/UEFI/grub.cfg
修改如下:
set default=”0″
function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod all_video
}
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set timeout=60
### END /etc/grub.d/00_header ###
search –no-floppy –set=root -l ‘Kylin-Server-10’
### BEGIN /etc/grub.d/10_linux ###
menuentry ‘Install Kylin Linux Advanced Server V10’ –class fedora –class gnu-linux –class gnu –class os {
# linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=Kylin-Server-10 quiet
# initrdefi /images/pxeboot/initrd.img
linuxefi vmlinuz inst.ks=nfs:192.168.1.100:/kickstart/ks.cfg nvme_core.multipath=N
initrdefi initrd.img
}
- 重启 tftp 和 xinetd 服务
systemctl restart tftp.service
systemctl restart xinetd
2.3 dhcp 服务搭建
- 安装 dhcp 服务
yum install -y dhcp
- 配置dhcp 服务
vim /etc/dhcp/dhcpd.conf
内容如下
subnet 192.30.101.0 netmask 255.255.255.0{
range 192.30.101.100 192.30.101.110;
default-lease-time 6000;
max-lease-time 7200;
option time-offset -3600;
}
class “pxeclients”{
match if substring(option vendor-class-identifier,0,9)=”PXEClient”;
next-server 192.168.1.100;
filename “UEFI/grubx64.efi”;
}
- 开启 dhcp服务、关闭 selinux和防火墙
systemctl restart dhcpd
setenforce 0
systemctl stop firwalld&& systemctl disable firewalld
3、客户端配置
- 将待安装服务器与PXE服务器网线连接到同一个交换机,保证可以dhcp获取到IP。
- 重启待安装服务器,修改启动顺序。选择从接有网线的接口从网络启动。
- 重启客户端服务器会自动安装
备注:由于配置了kickstart。部分参数已经预配置系统无需人工干预,分区部分需要自定义,所有配置设置完成开始安装。安装完成后系统会自动重启,root用户默认密码qwer1234。