32. PXE+Kickstart批量装机
1. PXE介绍
(1)PXE(preboot execute environment,预启动执行环境)是Intel公司提出的一项通过网络来引导系统的标准。
PXE最直接的表现是:在网络环境下工作站可以省去硬盘,但又不是通常所说的无盘站的概念,因为使用该技术的PC在网络方式下的运行速度要比有盘PC快三倍以上。当然使用PXE的PC也不是传统意义上的TERMINAL终端,因为使用了PXE的PC并不消耗服务器的CPU,RAM等资源,故服务器的硬件要求极低。
(2)kickstart与PXE的关系
kickstart实现方式依赖于PXE环境。通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统。
PXE客户端会调用网络协议(IP)、用户数据报协议(UDP)、动态主机设定协议 (DHCP)、小型文件传输协议(TFTP)等网络协议。
2. PXE+KickStart大概运行原理:
(1)DHCP服务器用来给客户机分配IP;
(2)TFTP服务器用来存放PXE的相关文件,比如:系统引导文件;
(3)FTP服务器用来存放系统安装文件;
(4)KickStart所生成的ks.cfg配置文件;
(5)带有一个PXE支持网卡的将安装的主机。
3. PXE+Kickstart+DHCP+TFTP+FTP/HTTP/NFS 实现半自动化装机
3.1 system-config-kickstart需要图形化界面包X server支持,可通过如下安装:
[root@WWcentos ~]# yum install xorg-x11-xauth此时已安装好:
[root@WWcentos ~]# rpm -qa |grep xorg-x11-xauth
xorg-x11-xauth-1.0.9-1.el7.x86_64
3.2 在MoBaXterm或者其他终端工具上配置参数ssh -X host
3.3 搭建DHCP服务:
(1)DHCP服务器主要实现在企业内部网络为客户端分配IP地址等网络参数。
(2)安装DHCP
[root@192 ~]# yum install dhcp -y
(3)copy样例文件到/etc/dhcp/dhcpd.conf 安装后,DHCP服务的主配置文件为/etc/dhcp/dhcpd.conf,进行修改主配置文件以实现为客户端分配网络参数。
[root@192 ~]# cd /usr/share/doc/dhcp-4.2.5/
[root@192 dhcp-4.2.5]# ll
total 8
-rw-r--r--. 1 root root 3306 Jun 10 2021 dhcpd6.conf.example
-rw-r--r--. 1 root root 3262 Nov 20 2012 dhcpd.conf.example
drwxr-xr-x. 2 root root 70 Sep 12 09:15 ldap[root@192 dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? yes
[root@192 dhcp-4.2.5]#
(4)修改配置文件:vim /etc/dhcp/dhcpd.conf
ddns-update-style interim; #设置DHCP服务器模式
ignore client-updates; #禁止客户端更新
log-facility local7; #使用rsyslog记录日志
subnet 192.168.137.0 netmask 255.255.255.0 {range 192.168.137.200 192.168.137.220; #地址池option subnet-mask 255.255.255.0; #子网掩码option domain-name-servers 192.168.137.2; #设置DNSoption domain-name "contoso.com"; #域名搜索列表option routers 192.168.137.2; #网关地址default-lease-time 600; #默认租约期限(单位秒)max-lease-time 7200; #最大租约期限(单位秒)next-server 192.168.137.138; #下一个访问的服务器地址,tftp服务器地址。(这里写此主机的服务器地址)filename "pxelinux.0"; #在next-server上需要下载的文件
}
(5)重启服务 systemctl restart dhcpd
[root@192 yum.repos.d]# systemctl restart dhcpd[root@192 yum.repos.d]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server DaemonLoaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor prese t: disabled)Active: active (running) since Mon 2022-09-12 10:32:07 CST; 20s ago
注意:如若出现报错,查看其日志信息:日志位置为 /var/log/messages
(6)检测端口信息 netstat -lntup |grep dhcpd
[root@192 yum.repos.d]# netstat -lntup |grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 2019/dhcpd
3.4 搭建TFTP服务
(1)TFTP服务为客户端提供一种简单的文件共享,非常适用于传输小且简单的PXE启动文件。
(2)安装TFTP
[root@192 ~]# yum install xinetd tftp tftp-server -y
(3)修改配置文件: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
(4)重启TFTP服务
[root@192 ~]# systemctl restart xinetd
(5)检查端口信息:netstat -a |grep tftp
[root@192 ~]# netstat -a |grep tftp
udp 0 0 0.0.0.0:tftp 0.0.0.0:*
[root@192 ~]# netstat -atunp |grep xinetd
udp 0 0 0.0.0.0:69 0.0.0.0:* 2181/xinetd
3.5 获取pxelinux.0系统
(1)安装syslinux
[root@192 ~]# yum install syslinux -y
(2)拷贝pxelinux.0文件到TFTP服务器:
[root@192 syslinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@192 ~]# cd /var/lib/tftpboot/
[root@192 tftpboot]# ll
total 28
-rw-r--r--. 1 root root 26759 Sep 12 11:08 pxelinux.0
(3)将镜像放在光驱运行
[root@192 tftpboot]# mount -o loop -t iso9660 /dev/sr0 /media/
(4)从光盘中复制启动镜像文件和启动配置文件到TFTP共享目录
[root@192 tftpboot]# cp -a /media/isolinux/* /var/lib/tftpboot/
[root@192 tftpboot]# ll
total 60868
-r--r--r--. 1 root root 2048 Nov 4 2020 boot.cat
-rw-r--r--. 1 root root 84 Oct 27 2020 boot.msg
-rw-r--r--. 1 root root 281 Oct 27 2020 grub.conf
-rw-r--r--. 1 root root 55129656 Oct 27 2020 initrd.img
-rw-r--r--. 1 root root 24576 Nov 3 2020 isolinux.bin
-rw-r--r--. 1 root root 3032 Oct 27 2020 isolinux.cfg
-rw-r--r--. 1 root root 190896 Nov 6 2016 memtest
-rw-r--r--. 1 root root 26759 Sep 12 11:08 pxelinux.0
-rw-r--r--. 1 root root 186 Oct 1 2015 splash.png
-r--r--r--. 1 root root 2215 Nov 4 2020 TRANS.TBL
-rw-r--r--. 1 root root 153104 Oct 31 2018 vesamenu.c32
-rwxr-xr-x. 1 root root 6769256 Oct 20 2020 vmlinuz
(5)在 /var/lib/tftpboot/ 下创建配置文件
[root@192 tftpboot]# mkdir pxelinux.cfg
[root@192 tftpboot]# cd pxelinux.cfg/
[root@192 pxelinux.cfg]# touch default
写入配置文件:
[root@192 pxelinux.cfg]# vi defaultdefault vesamenu.c32
timeout 60display boot.msg
menu backgroud splash2.png
menu title beautiful girllabel centos7 64 <Auto Installation>menu label Install CentOS Linux ^7 x86_64 <Auto>kernel vmlinuzappend initrd=initrd.img inst.stage2=ftp://192.168.137.138/pubinst.repo=ftp://192.168.137.138/pubinst.ks=ftp://192.168.137.138/ks.cfglabel centos7 64 <Manual Installation>menu label Install CentOS Linux ^7 x86_64 <Manual>kernel vmlinuzappend initrd=initrd.img inst.stage2=ftp://192.168.137.138/publabel localmenu defaultmenu label Boot from ^local drivelocalboot 0xffffmenu end
3.6 搭建FTP服务
(1)FTP(file Transfer Protocol)即文件传输协议。
Vsftp是一种利用FTP协议进行数据共享的软件,vsftp主要提供一种安全的数据共享服务。将Vsftp作为Centos系统文件的共享服务平台,当客户端从网络启动正式进入到安装界面后,还需要读取Centos光盘中的系统文件,以完成最后的安装。这些文件就通过Vsftp共享给网络用户。
(2)安装FTP
[root@192 ~]# yum install vsftpd -y
(3)重启vsftpd服务
[root@192 ~]# systemctl restart vsftpd
(4)将镜像挂载到ftp的发布目录,便于使用ftp访问
[root@192 ~]# umount /media #先卸载原来挂载的目录
[root@192 ~]# mount /dev/sr0 /var/ftp/pub
mount: /dev/sr0 is write-protected, mounting read-only
[root@192 ~]# cd /var/ftp/pub/
[root@192 pub]# ll
total 696
-rw-r--r--. 3 root root 14 Oct 30 2020 CentOS_BuildTag
drwxr-xr-x. 3 root root 2048 Oct 27 2020 EFI
-rw-rw-r--. 21 root root 227 Aug 30 2017 EULA
-rw-rw-r--. 21 root root 18009 Dec 10 2015 GPL
drwxr-xr-x. 3 root root 2048 Oct 27 2020 images
drwxr-xr-x. 2 root root 2048 Nov 3 2020 isolinux
drwxr-xr-x. 2 root root 2048 Oct 27 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 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 21 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root 2883 Nov 4 2020 TRANS.TBL
3.7 关闭防火墙并关闭自启动
[root@192 ~]# systemctl stop firewalld
[root@192 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
3.8 关闭SElinux系统并且禁用SElinux
[root@192 pub]# getenforce
Enforcing
[root@192 pub]# setenforce 0此时:
[root@192 pub]# getenforce
Permissive
[root@192 pub]# vi /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
补充:Linux之SElinux的介绍:SElinux指安全增强型Linux系统,他是一个Linux内核模块,也是Linux的一个安全子系统。SElinux有两个级别:强制,警告。setenforce 0:表示警告(Permissive);setenforce 1:表示强制(Enforcing)。当SElinux功能开启后,会关闭系统中不安全的功能。
3.9 Kickstart文件的生成
(1)安装system-config-kickstart
[root@192 ~]# yum install system-config-kickstart -y
(2)启动Kickstart图形界面,通过配置生成自动应答文件ks.cfg
(3)此时查看/root/目录下已经生成应答文件 ks.cfg
[root@192 ~]# ll
total 4
drwxr-xr-x. 2 root root 6 Sep 6 21:33 data
-rw-r--r-- 1 root root 905 Sep 12 17:19 ks.cfg
(4)为ks.cfg添加新内容,以%packages开始,%end结尾,中间是需要安装的软件包或者软件包组的名称,这里我们安装core和base这两个包组。
[root@192 ~]# vi ks.cfg
[root@192 ~]# vi ks.cfg
[root@192 ~]# tail ks.cfg
# Disk partitioning information
part /boot --fstype="xfs" --size=300
part swap --fstype="xfs" --size=1000
part / --fstype="xfs" --grow --size=1%packages
@base
net-tools
@core
%end
(5)检查有无语法错误:
[root@192 ~]# ksvalidator ks.cfg
(6)将ks.cfg应答文件移动到/var/ftp/下
[root@192 ~]# mv ks.cfg /var/ftp/
[root@192 ~]# cd /var/ftp/
[root@192 ftp]# ll
total 6
-rw-r--r-- 1 root root 943 Sep 12 17:27 ks.cfg
drwxr-xr-x 8 root root 2048 Nov 4 2020 pub
(7)重启FTP服务
[root@192 ftp]# systemctl restart vsftpd
4. 创建虚拟机进行测试:
(1)新建虚拟机时需要注意:
(2)配置创建的虚拟机
光标移动至Boot,移动到最后,然后回车,按住shift和+号将Network这一行移动到第一行的位置,如下:
按F10保存退出:
32. PXE+Kickstart批量装机相关推荐
- PXE + kickstart批量装机及问题解决方案
目录 一.常见的问题的解决方案 1.1 system-config-kickstart需要图形化界面包X server支持,可通过如下安装: 1.2 一定注意关闭防火墙以及selinux: 1.3验证 ...
- Pxe+Kickstart批量网络安装操作系统
Pxe+Kickstart 实现无人值守批量网络安装操作系统 说明: 当批量给主机安装操作系统时,我们不可能用传统的方式--用光盘.U盘等,一台一台逐个安装,这样一来,费时又力,对于批量部署主机时,效 ...
- PXE网络批量装机+Kickstart无人值守安装
1.什么是PXE? PXE( Preboot eXecution Environment,预启动执行环境 )是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网 ...
- 虚拟机批量安装LINUX,基于vmware workstation的 pxe + kickstart批量安装linux
[一]环境配置 vmware workstation 14.1.2 用于创建虚拟机 linux镜像 CentOS-7-x86_64-DVD-1804(7.5版) 虚拟机使用的操作系统 FTP服务 用来 ...
- PXE+Kickstart 无人值守装机
PXE一键装机 PXE(Preboo ...
- linux kickstart乱码,PXE+kickstart 批量安装部署centos6系统
安装的条件: 服务器端: 支持TFTP:提供引导文件与系统安装所必须的文件 支持DHCP服务器:分配IP地址.定位TFTP服务器位置. 客户端: 网卡支持PXE协议 主板支持网络引导 环境准备: 1. ...
- linux批量装机 非pxe,Linux-PXE批量装机
1.tftpyuminstallxinetdtftp-server-y:xinetd:超级进程vim/etc/xinetd.d/tftp:编写tftp配置文件disable=no:关机禁制选项启动tf ...
- PXE+Kickstart 高效批量网络装机
文章目录 1. PXE 概述 1.1 PXE 定义 1.2 PXE 批量部署的优点 1.3 PXE 搭建的前提条件 1.4 PXE 架构示意图 2. 搭建 PXE 远程安装服务器 2.1 安装并启用 ...
- Linux批量装机PXE+Kickstart
文章目录 一.什么是PXE 二.图解PXE装机过程 三.实验 一.什么是PXE PXE,全称 Preboot eXecution Environment,预启动执行环境. PXE是由Inter公司开发 ...
最新文章
- 程序员必备技能:如何画好架构图?
- java 嵌套对象序列化_在javascript中将复杂的,嵌套的,用户定义的对象序列化为字符串...
- C#的二进制序列化组件MessagePack介绍
- java obervable_RxJava中Observable,Completable和Single之间有什么区别
- docker占满linux磁盘根目录的解决办法
- Android 设置 横屏 竖屏 (转)
- python 匿名函数 day15
- atitit 2017年学业计划 v5 r818.xlsx
- python学习小游戏
- mtkwin10驱动_Windows系统MTK手动安装驱动教程(Win10通用)
- 支持向量机(Vladimir Vapnik)
- linux能远程开机么,Linux下如何实现远程开机
- 【家庭药箱系列】布洛芬小史
- 为了拿到像素点,GetPixel的速度太慢,改用CreateDIBSection
- Workflow 在数据仓库建设中的应用与优化
- 被删除的pip,重新安装
- 论文浅尝 | ERNIE-ViL:从场景图中获取结构化知识来学习视觉语言联合表示
- CSMACA 与 CSMA/CD 区别
- python编程midi键盘按键_python 偷懒技巧——使用 keyboard 录制键盘事件
- HTML CSS之复合选择器中的交集选择器、并集选择器、后代选择器、子元素选择器、相邻兄弟选择器、属性选择器
热门文章
- 超级成功学(陈安之)——第一篇 如何追求超级成功
- HTML CSS实现翻页效果(动画)
- anchor-free存在什么缺点?
- web前端JavaScript嵌入百度地图API的方法 最详细
- 【C语言指针】一小时~你要是听不懂、我当场就把这个编译器......
- MacBook截屏快捷键(或录制屏幕)
- iframe src=”you page’s url” width=”100″ height=”30″ frameborder=”no” border=”0″ marginwidth=”0″ mar
- 充电五分钟即可充满手机 石墨烯电池会是未来吗?
- linux bower 安装目录,npm bower安装和使用
- xlrd,xlwt,pandas在excel中实战经验(此项目为自动化输出杭州市余杭区规划数据汇总统计)