互联网行业岗位需求与SEO策略探讨

张开发
2026/4/3 10:57:49 15 分钟阅读
互联网行业岗位需求与SEO策略探讨
PXEKickstart 无人值守批量部署操作系统 VMware测试环境一.原理说明PXEPXEPre-boot Execution Environment预启动执行环境是由Intel公司开发的技术工作于Client/Server的网络模式支持工作站通过网络从远端服务器下载映像并由此支持通过网络启动操作系统在启动过程中终端要求服务器分配IP地址再用TFTPtrivial file transfer protocol或MTFTP(multicast trivial file transfer protocol)协议下载引导文件和驱动文件到本机内存中执行由这个启动文件完成终端基本软件设置从而引导预先安装在服务器中的终端操作系统最后通过NFS/HTTP/FTP获取镜像包和应答文件完成系统的安装。严格来说 PXE 并不是一种安装方式而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡NIC即网卡中必须要有PXE Client。 PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server端而PXE Client则在网卡的 ROM 中。当计算机引导时 BIOS 把 PXE Client 调入内存中执行然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。 DHCP 服务器会给 PXE Client将要安装系统的主机分配一个 IP 地址由于是给 PXE Client 分配 IP 地址所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外在 PXE Client 的 ROM 中已经存在了 TFTP Client那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。如上图所示为PXE的工作原理图上述12个过程可以简化为3个部分1请求、分配IP地址-过程1、2该部分使用DHCP协议2请求获取引导文件和驱动文件-过程3到10该部分使用TFTP协议3请求下载应答文件和镜像包安装操作系统-过程11、12该部分使用NFS/HTTP/FTP协议三个协议选一种即可。为什么下载引导文件和驱动文件使用TFTP协议而下载应答文件和镜像包使用NFS/HTTP/FTP协议呢而不是采用同样的协议呢原因是TFTPTrivial File Transfer Protocol是一种简单的文件传输协议基于UDP适用于传输小文件和引导文件。TFTP不需要建立复杂的连接传输速度快适合用于引导文件和驱动文件的传输更重要的是TFTP是网卡自带的协议在不安装任何软件的情况下即可从TFTP服务器获取引导文件和驱动文件而NFS/HTTP/FTP需要额外的客户端软件在未获得驱动文件的情况下显然实现不了靠NFS/HTTP/FTP协议传输文件。FTP/NFS/HTTP 基于TCP适合传输大文件因此在驱动文件安装好后满足了FTP/NFS/HTTP的使用条件更适合用来传输镜像包。KickstartKickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数。比如我们安装系统的时候需要分区、设置时区、设置root密码、安装后执行的脚本等等这些操作都记录下来并生成一个名为ks.cfg的文件。总体配置说明通过PXE自动化部署Linux系统需要配置如下内容DHCPTFTPNFS/HTTP/FTPKickstart应答文件。本文我们选择通过DHCPTFTPHTTPKickstart应答文件进行部署。服务名称主要作用dhcpd部署dhcp服务器的服务分配网卡信息及指引获取启动文件tftp部署tftp服务器的服务提供驱动及引导文件的传输syslinux提供驱动及引导文件httpd提供完整系统镜像的传输Kickstart应答文件提供安装过程中选项的问答设置本文采用Ubuntu22.04物理机和VMware作为测试平台并用其配置两台虚拟机CentOS 7.9服务端后续称其为宿主机 测试机空系统将由PXEKickstart自动部署系统二.环境准备 (实验平台VMware® Workstation Pro 25H2)宿主机1.操作系统CentOS 7.92.硬件信息3.网卡配置说明宿主机需要使用NAT和Host-only双网卡测试机只需Host-only单网卡。NAT模式的网卡为创建虚拟机时默认的网卡模式。宿主机可用其上网。Host-only模式的网卡为VMware为虚拟机提供的仅主机模式该网卡默认提供DHCP功能为使用该网卡模式的虚拟机自动分配IP地址实现虚拟机之间的组网通信。测试机可通过其获取宿主机提供的配置文件、镜像文件、应答文件等来实现自动安装系统。同时宿主机由于后续需要配置DHCP服务需要关闭VMware对于该网卡模式的DHCP功能来防止冲突具体操作如下打开编辑-虚拟网络编辑器-选择仅主机本文服务端和客户端均使用仅主机模式-去勾选DHCP-应用-确定。未防止DHCP功能冲突需要修改宿主机Host-only网卡的IP地址将其改为静态IP#nmtui方式修改IP为手工指定的IP地址方式见下图nmtui编辑连接–选中Host-only的网卡可通过VMware的Virtual Network Editor查看Host-only的网段再通过ip a查看确定网卡名称–编辑相关信息网卡名称、IPV4–确定–退出–重启下图的ip应避开192.168.21.1和192.168.21.254,网关可以留空内网不需要VMware 虚拟网络编辑器默认配置┌─────────────────────────────────────────┐│ VMnet1 (Host-Only) ││ 子网: 192.168.21.0/24 ││ ├─ 虚拟网卡 VMnet1: 192.168.21.1 ←── VMware 自己占用│ └─ DHCP 服务: 192.168.21.254 (自动分配 128-254) │└─────────────────────────────────────────┘[rootlocalhost ~]ipa1: lo:LOOPBACK,UP,LOWER_UPmtu65536qdisc noqueue state UNKNOWN group default qlen1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet127.0.0.1/8 scopehostlo valid_lft forever preferred_lft forever inet6 ::1/128 scopehostvalid_lft forever preferred_lft forever2: ens33:BROADCAST,MULTICAST,UP,LOWER_UPmtu1500qdisc pfifo_fast state UP group default qlen1000link/ether 00:0c:29:91:3b:81 brd ff:ff:ff:ff:ff:ff inet172.16.143.128/24 brd172.16.143.255 scope global noprefixroute dynamic ens33 valid_lft 1528sec preferred_lft 1528sec inet6 fe80::784d:3db6:a59c:cc17/64 scopelinknoprefixroute valid_lft forever preferred_lft forever3: ens35:BROADCAST,MULTICAST,UP,LOWER_UPmtu1500qdisc pfifo_fast state UP group default qlen1000link/ether 00:0c:29:91:3b:8b brd ff:ff:ff:ff:ff:ff inet192.168.21.10/24 brd192.168.21.255 scope global noprefixroute ens35 valid_lft forever preferred_lft forever inet6 fe80::1b92:535c:b662:4137/64 scopelinknoprefixroute valid_lft forever preferred_lft forever4.软件准备1.关闭防火墙并禁止自启动systemctl stop firewalld systemctl disable firewalld验证[rootlocalhost ~]systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded(/usr/lib/systemd/system/firewalld.service;disabled;vendor preset: enabled)Active: inactive(dead)Docs: man:firewalld(1)2.关闭SELinuxsetenforce0#临时关闭sed-is/SELINUXenforcing/SELINUXdisabled//etc/selinux/config#永久关闭需重启验证[rootlocalhost ~]getenforce Disabled# 临时关闭显示 Permissive3.挂载镜像isomkdir/mnt/isomount/dev/cdrom /mnt/iso验证[rootlocalhost ~]df-h文件系统 容量 已用 可用 已用% 挂载点 devtmpfs1.9G01.9G0% /dev tmpfs1.9G01.9G0% /dev/shm tmpfs1.9G 13M1.9G1% /run tmpfs1.9G01.9G0% /sys/fs/cgroup /dev/sda3 46G9.4G 37G21% / /dev/sda1 297M 214M 84M72% /boot tmpfs 378M 24K 378M1% /run/user/1000 /dev/sr04.4G4.4G0100% /mnt/iso4.配置本地yum源[rootlocalhost ~]cat/etc/yum.repos.d/local.repo[development]# 名称必须为 “development”否则到后面kickstart配置会出现软件包选择出现没有软件包信息nameLocal CentOSbaseurlfile:///mnt/isoenabled1gpgcheck0测试机创建虚拟机需要注意如下几点网络类型选择仅主机模式与PXE服务端的网络类型一致磁盘类型选择SCSI或SATA与应答文件的sda保持一致最后在自定义硬件中将CD驱动器移除防止产生干扰。点击硬件自定义移除原有的CD驱动器将网卡改为Host-only模式最后需要注意硬盘类型为SATA或SCSI与应答文件的sda匹配。最后的测试机配置如下三、DHCPyuminstalldhcp-y# 修改配置文件vim/etc/dhcp/dhcpd.conf subnet192.168.21.0 netmask255.255.255.0{# 所在网段range192.168.21.50192.168.21.100;# 分配给客户端的 IP 池option subnet-mask255.255.255.0;# 客户端子网掩码default-lease-time21600;# 默认IP租期时间max-lease-time43200;# 最大IP租期时间# PXE 关键配置next-server192.168.21.10;# TFTP 服务器地址filenamepxelinux.0;# 网络引导程序}# 启动DHCP并设置自启动systemctl start dhcpd systemctlenabledhcpd# 验证[rootlocalhost ~]systemctl status dhcpd ● dhcpd.service - DHCPv4 Server Daemon Loaded: loaded(/usr/lib/systemd/system/dhcpd.service;enabled;vendor preset: disabled)Active: active(running)since 二2026-03-3123:55:03 PDT;1h 6min ago Docs: man:dhcpd(8)man:dhcpd.conf(5)Main PID:1077(dhcpd)Status:Dispatching packets...Tasks:1CGroup: /system.slice/dhcpd.service └─1077 /usr/sbin/dhcpd-f-cf/etc/dhcp/dhcpd.conf-userdhcpd-groupdhcpd --no-pid四、TFTPyuminstalltftp-server xinetd-y# 修改配置文件vim/etc/xinetd.d/tftp# 将disable设置为noservicetftp{socket_typedgram protocoludpwaityesuserroot server/usr/sbin/in.tftpd server_args-s/var/lib/tftpboot disableno per_source11cps1002flags eIPv4}# 启动 tftp 并设置自启动# 因为 tftp 服务是挂载在超级进程 xinetd 下的所以通过启动 xinetd 来启动 tftp 服务。systemctl start xinetd systemctlenablexinetd# 验证netstat-ntulp|grep69[rootlocalhost ~]netstat-ntulp|grep69udp000.0.0.0:690.0.0.0:*1088/xinetd五、Syslinux# 安装syslinux只是为了要 pxelinux.0 引导加载程序没有别的用意。yuminstallsyslinux-y# 复制pxelinux.0 文件至/var/lib/tftpboot/ 文件夹中cp/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/# 拷贝光盘里的配置文件cp/mnt/iso/isolinux/* /var/lib/tftpboot/# 验证[rootlocalhost ~]ls/var/lib/tftpboot/ boot.cat grub.conf isolinux.bin memtest pxelinux.cfg TRANS.TBL vmlinuz boot.msg initrd.img isolinux.cfg pxelinux.0 splash.png vesamenu.c32六、HTTP系统的安装方式可以选择HTTP、FTP、 NFS这里使用HTTP方式的安装。yuminstallhttpd-y# 启动 http 并设置开机自启动systemctl start httpd systemctlenablehttpd# 复制光盘全部内容至http 的根目录/var/www/html/pub 下mkdir/var/www/html/pubcp-r/mnt/iso/* /var/www/html/pub验证七、Kicktartyuminstallsystem-config-kickstart-y# 在桌面环境下配置Kickstart生成ks.cfg 文件system-config-kickstart注如果你的软件列表没有信息。解决办法检查yum源配置是否为 [development] 配置好后重新打开kickstart配置窗口即可。[rootlocalhost ~]cat/etc/yum.repos.d/local.repo[development]# 名称必须为 “development”否则到后面kickstart配置会出现软件包选择出现没有软件包信息nameLocal CentOSbaseurlfile:///mnt/isoenabled1gpgcheck0如下图# 复制到HTTP下的ks目录mkdir/var/www/html/kscpks.cfg /var/www/html/ks/验证八、修改 default# 创建配置文件夹cd/var/lib/tftpboot/mkdirpxelinux.cfg# 复制配置文件cp/var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/defaultvim/var/lib/tftpboot/pxelinux.cfg/default# 需修改的部分如下label linux menu label ^Install PXEKickstart_CentOS7 kernel vmlinuz appendinitrdinitrd.imgkshttp://192.168.21.10/ks/ks.cfgksdeviceeth0net.ifnames0biosdevname0# 参数解释appendinitrdinitrd.img ks // 存放ks配置文件的服务器地址和路径通过该路径找到对应的ks.cfg文件来引导系统安装ksdeviceeth0 // 指定该网卡进行ks的数据交互可忽略net.ifnames0biosdevname0// 修改内核参数让网卡命名变为ethXX# 自动化安装配置vim/var/lib/tftpboot/pxelinux.cfg/default default linux# 在配置文件第一行找到default加上label的名称即可。经测试完成能够正常安装安装完成后进行了重启登陆后验证脚本信息九、可能出现的问题配置好后进行自动化部署的时候出现如下报错信息如下图/sbin/dmsquash-live-root: line 273: write error: No space left on device解决办法检查虚拟机或服务器的内存大小,RedHat7.3以上的版本进行Kickstart安装需要分配至少2GB的内存。引用https://www.cnblogs.com/l-hh/p/11368796.htmlhttps://blog.51cto.com/u_14186550/14091360?articleABtest0https://www.cnblogs.com/misakivv/p/18190306https://blog.51cto.com/u_16905328/13443648

更多文章