PXE + kickstart批量装机及问题解决方案

news/2024/12/3 1:35:11/

目录

一、常见的问题的解决方案

1.1 system-config-kickstart需要图形化界面包X server支持,可通过如下安装:

1.2 一定注意关闭防火墙以及selinux;

1.3验证pxe安装,虚拟机内存至少需要2G  不然在启动安装时可能会报错;

1.4PXE装机设置基础软件仓库问题:最重要的是将inst.stage2换成inst.repo

二、PXE定义及条件

三、搭建基本服务

3.1 搭建DHCP服务

3.2 搭建TFTP服务

3.2.1 获取pxelinux.0系统

最重要的是将inst.stage2换成inst.repo

3.2.2 搭建FTP服务

四、关闭禁用防火墙并禁用SElinux

五、Kickstart文件的生成

六、 创建虚拟机进行测试


一、常见的问题的解决方案

1.1 system-config-kickstart需要图形化界面包X server支持,可通过如下安装:

yum -y install xorg-x11-xauth

完成之后在mobarxterm或者其他终端工具配置参数ssh -X host;

1.2 一定注意关闭防火墙以及selinux;

1.3验证pxe安装,虚拟机内存至少需要2G  不然在启动安装时可能会报错;

1.4PXE装机设置基础软件仓库问题:最重要的是将inst.stage2换成inst.repo

二、PXE定义及条件

定义:PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。

pxe是通过网卡引导启动

1pxe client必须支持pxe用户端功能,并且开机时选择网络启动,才能确保以网
络的方式进入pxe启动程序;
2pxe服务器必须至少提供DHCPTFTPHTTPDvsftpd nfs)的服务,且
还需满足如下要求:
•DHCP服务器除了必须满足为pxe client分配ip地址之外,还需告知tftp所在的
位置(即告诉pxelinux.0的文件位置)
•TFTP服务器则为pxe client 提供bootloader kernel 等重要文件下载服务
使用HTTPD/VSFTPD/NFS服务器提供pxe client所需程序及软件来源(共享
源)

三、搭建基本服务

3.1 搭建DHCP服务

yum -y install dhcp

安装后, DHCP 服务的主配置文件为 /etc/dhcp/dhcp.conf ,我们可以修改配置文件以实现为客户端分配网络参数。
copy样例文件到/etc/dhcp/dhcp.conf
[root@zcfwork ~]# cd /usr/share/doc/dhcp-4.2.5/
[root@zcfwork dhcp-4.2.5]# ll
total 8
-rw-r--r--. 1 root root 3306 Jun  9  2021 dhcpd6.conf.example
-rw-r--r--. 1 root root 3262 Nov 19  2012 dhcpd.conf.example
drwxr-xr-x. 2 root root   70 Sep  7 20:38 ldap
[root@zcfwork dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
修改配置文件 :  vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;      #设置DHCP服务器模式
ignore client-updates;          #禁止客户端更新
log-facility local7;            #使用rsyslog记录日志
subnet 192.168.150.0 netmask 255.255.255.0 {range 192.168.150.3 192.168.150.120;             #地址池option subnet-mask 255.255.255.0;                 #子网掩码option domain-name-servers 192.168.150.2;        #设置DNSoption domain-name "contoso.com";                   #域名搜索列表option routers 192.168.150.2;   #网关地址     default-lease-time 600;    #默认租约期限(单位秒)max-lease-time 7200;    #最大租约期限(单位秒)next-server 192.168.150.132;    #设置DNSfilename "pxelinux.0";    #在next-server上需要下载的文件
}
重启服务
systemctl restart dhcpd
检测端口信息
[root@zcfwork ~]# netstat -lntup | grep dhcpd
udp        0      0 0.0.0.0:67              0.0.0.0:*                           4398/dhcpd

3.2 搭建TFTP服务

TFTP 服务为客户端提供一种简单的文件共享,非常适用于传输小且简单的 PXE 启动文件。
yum install xinetd tftp tftp-server
vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{socket_type             = dgramprotocol                = udpwait                    = yesuser                    = rootserver                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpbootdisable                 = noper_source              = 11cps                     = 100 2flags                   = IPv4
}
disable = no #把原来的yes改成no
改完重启服务
systemctl restart xinetd
查看进程及端口如下
[root@zcfwork ~]# netstat -a |grep tftp
udp        0      0 0.0.0.0:tftp            0.0.0.0:*
[root@zcfwork ~]# netstat -atunp |grep :69
udp        0      0 0.0.0.0:69              0.0.0.0:*                           4409/xinetd

3.2.1 获取pxelinux.0系统

安装syslinux并拷贝pxelinux.0文件到TFTP服务器
yum install syslinux -y #通过安装syslinux获取引导文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
将镜像放在光驱并运行如下命令,从光盘中复制启动镜像文件和启动配置文件到TFTP共享目录
mount -o loop -t iso9660 /dev/sr0 /media
将镜像中的相关文件复制到tftp根目录
cp -a /media/isolinux/* /var/lib/tftpboot/
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cd pxelinux.cfg
创建如下default文件
[root@zcfwork pxelinux.cfg]# vim default
default vesamenu.c32
timeout 60
display boot.msg menu backgroud splash2.png menu title beautiful girl
label centos7 64 <Auto Installation>menu label Install CentOS Linux ^7 x86_64 <Auto>kernel vmlinuzappend initrd=initrd.img inst.stage2=ftp://192.168.150.132/pubinst.repo=ftp://192.168.150.132/pubinst.ks=ftp://192.168.150.132/ks.cfg
label centos7 64 <Manual Installation>menu label Install CentOS Linux ^7 x86_64 <Manual>kernel vmlinuzappend initrd=initrd.img inst.stage2=ftp://192.168.150.132/pub
label localmenu defaultmenu label Boot from ^local drivelocalboot 0xffff
menu end

最重要的是将inst.stage2换成inst.repo

3.2.2 搭建FTP服务

yum install vsftpd -y

重启服务

systemctl restart vsftpd

将镜像挂载到ftp的发布目录,便于使用ftp访问

umount /media

mount /dev/sr0 /var/ftp/pub
[root@zcfwork pxelinux.cfg]# cd /var/ftp/pub/
[root@zcfwork pub]# ll
total 696
-rw-r--r--.  3 root root     14 Oct 29  2020 CentOS_BuildTag
drwxr-xr-x.  3 root root   2048 Oct 26  2020 EFI
-rw-rw-r--. 21 root root    227 Aug 30  2017 EULA
-rw-rw-r--. 21 root root  18009 Dec  9  2015 GPL
drwxr-xr-x.  3 root root   2048 Oct 26  2020 images
drwxr-xr-x.  2 root root   2048 Nov  2  2020 isolinux
drwxr-xr-x.  2 root root   2048 Oct 26  2020 LiveOS
drwxr-xr-x.  2 root root 673792 Nov  4  2020 Packages
drwxr-xr-x.  2 root root   4096 Nov  4  2020 repodata
-rw-rw-r--. 21 root root   1690 Dec  9  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 21 root root   1690 Dec  9  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--.  1 root root   2883 Nov  4  2020 TRANS.TBL

四、关闭禁用防火墙并禁用SElinux

systemctl stop firewalld.service

systemctl disable firewalld.service

[root@zcfwork pub]# getenforce
Permissive
[root@zcfwork pub]# setenforce 0

禁用SElinux

[root@zcfwork pub]# vim /etc/sysconfig/selinux# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

修改为 :SELINUX=disabled

五、Kickstart文件的生成

使用yum安装system-config-kickstart

yum install system-config-kickstart
[root@zcfwork pub]#  system-config-kickstart

 

 

 也可以在/root目录下看到应答文件

[root@zcfwork ~]# ll
total 8
-rw-------. 1 root root 1587 Jul 19 22:48 anaconda-ks.cfg
-rw-r--r--. 1 root root  919 Sep  8 09:39 ks.cfg

 在末尾添加这几行:

[root@zcfwork ~]# tail ks.cfg
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=300
part swap --fstype="swap" --size=1000
part / --fstype="xfs" --grow --size=1
%packages
@base
net-tools
@core
%end
检查有无语法错误:
ksvalidator ks.cfg
ks应答文件移动到/var/ftp下,然后重启服务
mv ks.cfg  /var/ftp

 systemctl restart vsftpd

六、 创建虚拟机进行测试

 

光标移动到最后,然后回车,按住shift+号移动到第一个位置,如下: 

 F10 保存退出


http://www.ppmy.cn/news/157303.html

相关文章

Windows装机方案

浏览器 Chrome/Cent Browser Chrome是现代浏览器的标准。在世界浏览器份额当属第一&#xff0c;即使Google服务不可用&#xff0c;也足够担当浏览器首选。 Cent Browser是Chromium系最惊艳的定制浏览器。内置了常用的、便捷的实用功能&#xff0c;例如&#xff0c;滚动标签栏…

装机春天时刻,盘点4月高性价比国产SSD

在 PC 需求下滑以及国产长江存储疯狂助攻情况下&#xff0c;目前闪存芯片市场库存开始饱和起来。 放眼望去&#xff0c;各品牌 SSD 几乎都被迫卷入了价格战&#xff0c;特别是国产品牌。 要不是显卡售价依然高高在上&#xff0c;小忆一度以为搞机佬的春天来了&#xff01; 趁…

Emacs之解决gtags -i --single-update占用率100%卡死问题(一百零六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Java基础编程

Java入门 1. JDK的安装目录介绍 目录名称说明bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。conf该路径下存放了JDK的相关配置文件。include该路径下存放了一些平台特定的头文件。jmods该路径下存放了JDK的各种模块。legal该路径下存放了JDK各模块的授权文…

如何读取带空格的字符串?

scanf()函数在读取字符时&#xff0c;识别到空格就会终止读取&#xff0c;那么如何读取带空格的字符串呢&#xff1f; 一、gets()&#xff08;gets_s()&#xff09; 从标准输入(stdin)&#xff08;指的是键盘输入&#xff09;读取字符&#xff0c;并将它们作为 C 字符串存储到…

移通创联 Modbus转Profinet网关将丹佛斯变频器接入西门子1200PLC配置案例

Modbus转Profinet网关将丹佛斯变频器接入西门子1200PLC配置案例 案例简介&#xff1a; 本案例是移通创联Modbus转Profinet网关YT-PN-01将丹佛斯变频器接入西门子1200PLC用到的设备为西门子1200PLC一台&#xff0c;移通创联Modbus转Profinet网关YT-PN-01一个&#xff0c;丹佛斯…

SideBar 可动态设置数据

网上很多SideBar都是写死的26个字母&#xff0c;不能根据名称来动态显示&#xff0c;自己改了一下&#xff0c;分享给大家参考&#xff1a; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint;…

工业物联网 SCA-IOT2050 通过 Profinet 采集变频器数据至 OPC UA 服务器

本实例将使用IOT2050通过Profinet采集Danfoss变频器实时频率。 视频示例 [一起学工业物联网] SCA-IOT2050新模式“PROFINETOPC UA”之Danfoss变频器FC280 创建profinet链接并在配置文件中导入博途生成的工程文件。 创建新的标签并配置频率变量以读取变频器输出的实时频率。数据…