一、介绍
本文是以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/ #设置匿名用户的根目录
4.3、重启vsftpd服务,并检测状态
systemctl restart vsftpd systemctl status vsftpd
4.4、打开浏览器联接FTP测试访问
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"; }
5.3、启动服务并检测状态
systemctl start dhcpd systemctl status dhcpd systemctl enable dhcpd
6、安装并配置TFTP
6.1、安装TFTP
yum install -y xinetd yum install -y tftp-server
6.2、编辑配置文件vim/etc/xinetd.d/tftp
6.3、启动服务并查看状态
systemctl start tftp systemctl status tftp systemctl enable tftp
7、挂载安装源(要批量安装的系统)
mount [ISO镜像] /pxe/yumsource/ #将ISO镜像文件挂载到yumsource路径
检测路径文件:
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/ cd /tmp rpm2cpio shim-x64-15-2.el7.centos.x86_64.rpm |cpio –idmv #解压shimRPM包
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 *
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* #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开始安装
5.2、已经开始调用ks文件进行手动配置
六、FAQ6.1、华为Taishan服务器开始安装操作时死机
当服务器配置了AvagoSAS3408iMR/AvagoSAS3416iMRRAID卡时,须要将“Advanced>MISCConfig”界面中参数“SupportSmmu”设置为“Disabled”。
调试好ks后可以不须要更改该项pxe安装linux原理,尽管不输出安装进度,并且操作系统是可以正常安装的,安装完毕后界面就可以显示。
案例参考:
本文原创地址://q13zd.cn/bwojxazyhjpz.html编辑:刘遄,审核员:暂无