一、介绍

本文是以Windows10为底层操作,运行VMwareWorkstation虚拟化软件pxe安装linux原理,在vmware上搭建一个PXE启动Centos7.6系统的配置环境并手动安装OS的操作指导。

二、所需软件

虚拟机OS镜像:Centos7.6_X86镜像

安装到服务器的OS镜像:aarch64系统镜像

虚拟化软件:VMwareWorkstationPro

三、虚拟机OS镜像安装与环境配置

1)Centos7.6在虚拟机中最小安装,安装过程就不赘言了;

2)配置虚拟机为桥接模式,虚拟机网卡桥接到电脑网口上;

3)配置虚拟机IP地址为固定地址与桥接网卡为同段;

四、虚拟机UEFIPXE环境配置1、关闭SELinux与防火墙

1.1、关闭SELinx

setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

1.2、关闭Firewall防火墙

systemctl stop firewalld
systemctl disable firewalld

2、搭建虚拟机YUM安装源

假如你的虚拟机可以联接内网可以忽视次步骤linux虚拟主机,可以直接联接网段安装源安装。

2.1、挂载安装盘,执行挂载

mkdir /mnt/dvd
mount /dev/sr0 /mnt/dvd/

2.2、编辑repo配置文件

mkdir /root/repo_back
mv /etc/yum.repos.d/* /root/repo_back/
vim /etc/yum.repos.d/dvd.repo
[cdrom]
name=cdrom
baseurl=file:///mnt/dvd/
enabled=1
gpgcheck=0

保存退出后,执行yumrepolistall

3、创建配置文件与镜像储存路径

mkdir -vp /pxe/yumsource    #存放ISO安装镜像
mkdir /pxe/other            #存放装机配置文件

4、安装配置FTP

4.1、安装并启动服务

yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd

4.2、编辑FTP配置文件,降低匿名访问的pxe文件路径

vim /etc/vsftpd/vsftpd.conf
local_root=/pxe/			#设置FTP根目录
chroot_local_user=YES		#是否将所有用户限制在主目录,YES为启用 NO禁用
anon_root=/pxe/			#设置匿名用户的根目录

image

pxe 网络化安装linux系统方法介绍_pxe安装linux原理_linux pxe http安装

4.3、重启vsftpd服务,并检测状态

systemctl restart vsftpd
systemctl status vsftpd

4.4、打开浏览器联接FTP测试访问

image

5、安装并配置DHCP

5.1、安装DHCP

yum install –y dhcp*

5.2、编辑dhcp配置文件/etc/dhcp/dhcpd.conf

加入以下内容:

ddns-update-style none;
ignore client-updates;
default-lease-time 359200;
max-lease-time     800000;
next-server 172.18.0.1;   
subnet 172.18.0.0 netmask 255.255.0.0 {
        range dynamic-bootp 172.18.0.10 172.18.200.255;
        filename "uefi/shim.efi";
}

image

5.3、启动服务并检测状态

systemctl start dhcpd
systemctl status dhcpd
systemctl enable dhcpd

image

6、安装并配置TFTP

6.1、安装TFTP

yum install -y xinetd
yum install -y tftp-server

6.2、编辑配置文件vim/etc/xinetd.d/tftp

image

6.3、启动服务并查看状态

systemctl start tftp
systemctl status tftp
systemctl enable tftp

image

7、挂载安装源(要批量安装的系统)

mount [ISO镜像] /pxe/yumsource/    #将ISO镜像文件挂载到yumsource路径

检测路径文件:

image

8、设置UEFI启动文件

8.1、进入在tftpboot目录下创建一个uefi目录

cd /var/lib/tftpboot/
mkdir uefi

8.2、启动文件解压拷贝

解压shim文件并拷贝shim.ufi启动文件到/vat/lib/tftpboot/uefi目录下

cp /pxe/yumsource/Packages/shim-x64-15-2.el7.centos.x86_64.rpm /tmp/

pxe 网络化安装linux系统方法介绍_linux pxe http安装_pxe安装linux原理

cd /tmp rpm2cpio shim-x64-15-2.el7.centos.x86_64.rpm |cpio –idmv #解压shimRPM包

image

8.3、将解压的shim.efi引导拷贝到tftp窃听目录下,每种OS的类型路径可能不一致酌情更改

cp /tmp/boot/efi/EFI/centos/shim.efi /var/lib/tftpboot/uefi/

8.4、拷贝安装源中的相应文件到/var/lib/tftpboot/uefi/目录下

cp /pxe/yumsource/EFI/BOOT/grubx64.efi /var/lib/tftpboot/uefi/
cp /pxe/yumsource/images/pxeboot/vmlinuz /var/lib/tftpboot/uefi/
cp /pxe/yumsource/images/pxeboot/initrd.img /var/lib/tftpboot/uefi/

8.5、创建grub.cfg引导文件

cd /var/lib/tftpboot/uefi/
vi grub.cfg
添加以下内容:
set timeout=5
  menuentry 'REDHAT 7' {
  linuxefi uefi/vmlinuz ip=dhcp inst.ks=ftp://172.18.0.1:/other/ks.cfg
  initrdefi uefi/initrd.img
}
aarm操作系统grub.cfg配置文件如下:
set timeout=5
  menuentry 'REDHAT 7' {
  linux uefi/vmlinuz ip=dhcp inst.ks=ftp://172.18.0.1:/other/ks.cfg
  initrd uefi/initrd.img
}

timeout为安装界面等待时间

Inst.ks为手动安装配置文件的路径。

8.6、设置引导文件权限

设置路径/var/lib/tftpboot/uefi中的5个文件权限为777

cd /var/lib/tftpboot/uefi
chmod 777 *

image

9、设置手动安装的ks文件

9.1、Kickstart介绍

Kickstart安装提供一个安装过程手动化的方式,可以是部份手动化,也可以是完全手动化。Kickstart文件包含所有安装程序会问到的问题答案,例如系统中使用的时区、如何对驱动器进行分区、或者应当安装什么软件包。安装开始时提供一个打算好的Kickstart文件可让您进行手动安装,而不须要用户介入。这在同时向大量系统中布署RedHatEnterpriseLinux时非常有用。

可将Kickstart文件保存在独立服务器系统中,并由每台计算机在安装过程中读取。这个安装方式可支持单一Kickstart文件在多个机器中安装RedHatEnterpriseLinux,使其成为网路和系统管理员的理想工具。

其余详尽介绍可以通过访问redhat官网的说明文档了解:

Kickstart配置文件分为几个部份,每部份必须按次序指定。除非非常说明,每部份内的项目则毋须按序排列。各部份的次序为:

Command部份——这部份是对OS安装中一些设置项进行设置,分为必选的和可选的,必须在您的Kickstart文件中包含必须的选项,这样就能实现全手动安装。

使用%addonaddon_namelinux,则可在command部份使用包含安装程序的扩充功能的Anaconda附加组件。

%packages部份——这部份为软件包安装,选取安装OS所需的软件。

%anaconda部份——可在Kickstart文件的%anaconda部份配置附加安装选项。这个部份控制安装系统的用户界面行为。

%pre和%post部份——这两个部份的次序不限,也不是必须的。

%pre为预安装部份,您可以在解析Kickstart文件后、开始安装前立刻添加要在该系运行执行的。

%post为安装后部份,您可以在安装完成后、第一次重启前立刻添加要在该系统中运行的命令。

9.2、导入KS文件布署

按照要求导出更改好的ks.cfg到/pxe/other/,之后将权限更改位755。

vim编辑“ks.cfg”文件内容,可以进行更改,实现手动化布署。

#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
#repo --name="rhel7" --baseurl=ftp://172.18.0.1/yumsource
# Install or upgrade?
install
# Use CDROM installation media
# cdrom
# Use network installation
url --url=ftp://172.18.0.1/yumsource
# Use graphical install
# graphical
text
# Run the Setup Agent on first boot
firstboot --disable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8 --addsupport=zh_CN.UTF-8
# Network information
network --bootproto=dhcp
# Root password
rootpw --plaintext admin123456
# System services
services --enabled="chronyd"
# SELinux configuration
selinux --disabled

# Firewall configuration
firewall --disabled
# System timezone
timezone Asia/Shanghai --isUtc --ntpservers=ntp.aliyun.com
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
# autopart --type=lvm
part /boot --fstype="xfs" --ondisk=sda --size=500
part /boot/efi --fstype="efi" --ondisk=sda --size=2048
part sda3 --fstype="lvmpv" --ondisk=sda --size=430000 --grow
volgroup vg0 sda3
logvol swap  --fstype="swap" --size=65536  --name=lv_swap --vgname=vg0
logvol /     --fstype="xfs"  --size=102400 --name=lv_root --vgname=vg0
logvol /home --fstype="xfs"  --size=51200  --name=lv_home --vgname=vg0
logvol /var  --fstype="xfs"  --size=102400 --name=lv_var  --vgname=vg0 --grow
#
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
# What to do after installation
reboot
# #############################################################################
%packages
@core
ipmitool*
kexec-tools*
kernel-tools*
expect*
lldpad*
chrony*
gdb*
#http*
#telnet*
pciu*

pxe 网络化安装linux系统方法介绍_pxe安装linux原理_linux pxe http安装

#tuned* #xfsdump* %end %pre %end %anaconda %end %post systemctl enable lldpad systemctl start lldpad ########### cd /tmp wget ftp://172.18.0.1/other/* ########### ########## %end

五、服务器设置PXE开始安装

5.1、加载gurb开始安装

image

5.2、已经开始调用ks文件进行手动配置

image

六、FAQ6.1、华为Taishan服务器开始安装操作时死机

当服务器配置了AvagoSAS3408iMR/AvagoSAS3416iMRRAID卡时,须要将“Advanced>MISCConfig”界面中参数“SupportSmmu”设置为“Disabled”。

调试好ks后可以不须要更改该项pxe安装linux原理,尽管不输出安装进度,并且操作系统是可以正常安装的,安装完毕后界面就可以显示。

案例参考:

image

本文原创地址://q13zd.cn/bwojxazyhjpz.html编辑:刘遄,审核员:暂无