一、介绍
本文是以Windows10为底层操作系统,运行VMware Workstation 虚拟化软件,在vmware上搭建一个PXE启动Centos7.6系统的配置环境并自动安装OS的操作指导。
二、所需软件
虚拟机OS镜像:Centos7.6_X86镜像
安装到服务器的OS镜像:aarch64系统镜像
虚拟化软件:VMware Workstation Pro
三、虚拟机OS镜像安装与环境配置
1)Centos7.6在虚拟机中最小安装,安装过程就不赘述了;
2)配置虚拟机为桥接模式,虚拟机网卡桥接到笔记本网口上;
3)配置虚拟机IP地址为固定地址与桥接网卡为同段;
四、虚拟机UEFI PXE环境配置
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安装源
如果你的虚拟机可以连接外网可以忽略次步骤,可以直接连接公网安装源安装。
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
保存退出后,执行yum repolist all
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 文件可让您进行自动安装,而不需要用户介入。这在同时向大量系统中部署 Red Hat Enterprise Linux 时特别有用。
可将 Kickstart 文件保存在独立服务器系统中,并由每台计算机在安装过程中读取。这个安装方法可支持单一 Kickstart 文件在多个机器中安装 Red Hat Enterprise Linux,使其成为网络和系统管理员的理想工具。
其余详细介绍可以通过访问redhat官网的说明文档了解:
Kickstart配置文件分为几个部分,每部分必须按顺序指定。除非特别说明,每部分内的项目则不必按序排列。各部分的顺序为:
Command 部分——这部分是对OS安装中一些设置项进行设置,分为必选的和可选的,必须在您的 Kickstart 文件中包含必须的选项,这样才能实现全自动安装。
使用 %addon addon_name 命令,则可在 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文件进行自动配置
六、FAQ
6.1、华为Taishan服务器开始安装操作时黑屏
当服务器配置了Avago SAS3408iMR/Avago SAS3416iMR RAID卡时,需要将“Advanced > MISC Config”界面中参数“Support Smmu”设置为“Disabled”。
调试好ks脚本后可以不需要修改该项,虽然不输出安装进度,但是操作系统是可以正常安装的,安装完毕后界面就可以显示。
案例参考:https://support.huawei.com/enterprise/zh/doc/EDOC1100088654/1cd23d9b
之前好多教程都没有实现,博主的教程一遍就成功了,赞赞赞
?