19.1 无人值守系统
坦白来讲,使用光盘或U盘这种传统物档辩羡理方式安装系统效率真的很低,尤其当需要批量部署系统时更是明显。
一般的机房设备都会在数百台以上,即便购买了数百张系统光盘,那您也必需对每台设备初始化安装向导,免不了会有选错的参数,更何况如此多的设备没有几天肯定装不完吧。
其实我们可以用PXE+DHCP+TFTP+VSftpd+Kickstart部署出无人值守安装系统,这种系统能够实现自动化运维、避免了重复性劳动,帮助提升工作效率,对于DHCP已经是咱们学习过的了,所以这里就不再多说,小伙伴们如果忘记了可以翻去前面章节复习下。
PXE(Preboot execute environment)是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用。
Kickstart是一种无人值守的安装方式,工作原理就是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中出现需要填写参数时则自动匹配Kickstart生成的文件,所以只要Kickstart文件包含了安装过程中所有需要人工填写的参数,那么运维人员就完全不需要干预,等待安装完毕即可。
简单文件传输协议TFTP(Trivial File Transfer Protocol)是一种基于UDP协议的传输协议,其与前面学习的vsftpd服务程序的FTP协议有很大不同,TFTP协议不具备FTP的许多功能(例如列出目录,密码认证等等),但TFTP协议配置非常简单,而且资源消耗更低,非常适合传输不敏感的文件。
出现问题?大胆灶升提问!
因读者们硬件不同或 *** 作错误都可能导致实验配置出错,请耐心再仔细看看 *** 作步骤吧,不要气馁~
Linux技术交流请加A群:560843(满),B群:340829(推荐),C群:463590(推荐),点此查看全国群。
*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。
19.2 部署相关服务程序
咱们需要依次部署DHCP、TFTP、SYSLinux、VSFtpd与Kickstart服务,在这之前请先准备两台虚拟机并配置好网卡参数:
编辑
主机名称 *** 作系统IP地址
无人值守系统红帽RHEL7 *** 作系统192.168.10.10
客户端未安装 *** 作系统-
并确保您的虚拟机软件自带DHCP服务功能已经关闭:
19.2.1 配置DHCP服务程序
安装dhcpd服务程序:
[root@linuxprobe ~]# yum install dhcp
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
dhcp x86_64 12:4.2.5-27.el7 rhel7 506 k
………………省略部分安装过程………………
Complete!
配置dhcpd服务程序(行拍将下面的内容复制进去即可,具体参数含义请回顾dhcpd服务章节):
[root@linuxprobe ~]# vim /etc/dhcp/dhcpd.conf
allow booting
allow bootp
ddns-update-style interim
ignore client-updates
subnet 192.168.10.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0
option domain-name-servers 192.168.10.10
range dynamic-bootp 192.168.10.100 192.168.10.200
default-lease-time 21600
max-lease-time 43200
next-server 192.168.10.10
filename"pxelinux.0"
}
重启dhcpd服务并添加到开机启动项:
[root@linuxprobe ~]# systemctl restart dhcpd
[root@linuxprobe ~]# systemctl enable dhcpd
ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'
添加防火墙对dhcpd服务允许的规则:
[root@linuxprobe ~]# firewall-cmd --permanent --add-service=dhcp
success
[root@linuxprobe ~]# firewall-cmd --reload
success
19.2.2 配置TFTP服务程序
安装tftp服务程序:
[root@linuxprobe ~]# yum install tftp-server
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
tftp-server x86_64 5.2-11.el7rhel744 k
Installing for dependencies:
xinetdx86_64 2:2.3.15-12.el7 rhel7128 k
………………省略部分安装过程………………
Complete!
分析vsftpd服务程序时发现,FTP服务器为了随时能够回应客户端的请求必需运行一个长期驻扎在系统中的守护进程,但这样也意味着会有一定的资源浪费,网络守护进程服务程序xinetd便是为了解决资源浪费问题而设计的,因为xinetd服务程序会同时监听多个系统端口,依据客户端请求的端口再转发给指定的服务程序,而tftp便是由xinetd服务程序来管理的。
编辑xinetd配置文件,启动TFTP服务程序:
[root@linuxprobe ~.d]# vim /etc/xinetd.d/tftp
//将disable的值修改为no。
service tftp
{
socket_type = dgram
protocol= udp
wait= yes
user= root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
重启xinetd服务并添加到开机启动项中:
[root@linuxprobe xinetd.d]# systemctl restart xinetd
[root@linuxprobe xinetd.d]# systemctl enable xinetd
添加防火墙对tftp服务允许的规则:
[root@linuxprobe ~]# firewall-cmd --permanent --add-port=69/udp
success
[root@linuxprobe ~]# firewall-cmd --reload
success
19.2.3 配置SYSLinux服务程序
syslinux是用于提供引导加载的服务程序,目的是简化安装Linux系统的时间,安装syslinux服务程序:
[root@linuxprobe ~]# yum install syslinux
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
syslinux x86_64 4.05-8.el7 rhel7 1.0 M
………………省略部分安装过程………………
Complete!
将引导相关文件复制到tftp目录以供客户端下载(请确保光盘镜像已挂载到/media/cdrom):
[root@linuxprobe ~]# cd /var/lib/tftpboot
[root@linuxprobe tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[root@linuxprobe tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .
[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .
将引导模板文件复制tftp目录:
[root@linuxprobe tftpboot]# mkdir pxelinux.cfg
[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
编辑引导模板文件:
[root@linuxprobe tftpboot]# vim pxelinux.cfg/default
//将第1行修改为:
default linux
//将第64行修改为:
append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet
//将第70行修改为:
append initrd=initrd.img inst.stage2=ftp://192.168.10.10 rd.live.check ks=ftp://192.168.10.10/pub/ks.cfg quiet
19.2.4 配置VSFtpd服务程序
安装vsftpd服务程序:
[root@linuxprobe ~]# yum install vsftpd
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:
vsftpd x86_64 3.0.2-9.el7 rhel7 166 k
………………省略部分安装过程………………
Complete!
重启vsftpd服务程序并添加到开机启动项:
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
添加防火墙对vsftpd服务允许的规则:
[root@linuxprobe ~]# firewall-cmd --permanent --add-service=ftp
success
[root@linuxprobe ~]# firewall-cmd --reload
success
将光盘镜像文件的内容复制到FTP目录中(请先确保您的光盘已经挂载到/media/cdrom目录):
[root@linuxprobe ~]# cp -r /media/cdrom/* /var/ftp
设置SELinux对于FTP协议的允许策略:
[root@linuxprobe ~]# setsebool -P ftpd_connect_all_unreserved=on
19.2.4 创建KickStart应答文件
复制一份应答文件模板并给于权限:
[root@linuxprobe ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
[root@linuxprobe ~]# chmod +r /var/ftp/pub/ks.cfg
看下《linux就该这么学》里面有网络安装的教程。。
编辑模板文件:
[root@linuxprobe ~]# vim /var/ftp/pub/ks.cfg
//将第6行的cdrom修改为:
url --url=ftp://192.168.10.10
//将第21行的时区修改为:
timezone Asia/Shanghai --isUtc
//将第28行修改为:
clearpart --all --initlabel
在安装的过程中,会设置密码关注查看全文
centos7
Linux
win10安装centos7 everything ISO
本地欠款无力偿还?面临催收?不要慌!联系我们,为您处理逾期烦恼
王律师
广告
CentOS7挂载CentOS7 everything安装光盘和设置yum源为挂载的光盘
2391阅读·1评论·1点赞
2022年4月24日
HTML5+JS实现的全屏星空特效源码
80下载·2评论
2018年5月6日
win10+VMware+centos7安装配置
405阅读·0评论·0点赞
2022年11月10日
CentOS 版本选择:乎掘DVD、Everything、LiveCD、Minimal、NetInsta
5578阅读·0评论·0点赞
2019年4月25日
linux(Centos7-everything)查看主机ip
132阅读·0评论·0点赞
2021年9月14日
docker-compose详解
14.7W阅读·9评论·38点赞
2019年2月18日
00:05
00:24
林深时见鹿海蓝时见鲸梦醒时只要遇见你
00:24
Soul
版本 4.59.0
立即下载
广告
隐私
权限
上海任意门科技有限公司
CentOS各个版本镜像下载地址
3.0W阅读·0评论·8点赞
2018年12月3日
CentOS几个版本的区别
6993阅读·0评论·1点赞
2019年11月26日
CentOS各版本区别(DVD/Everything/Minimal等)
3.6W阅读·0评论·17点赞
2020年1月18日
基于centos的everything镜像搭建本地yum源
1494阅读·0评论·1点赞
2020年12月29日
centos7常用工具软件安装
1.2W阅读·0评论·0点赞
2016年2月26日
docker安装jenkins
142阅读·0评论·0点赞
2021年3月6日
CentOS-7-x86_64-Everything-2009镜像下载,以及centos挂载本地镜像作为yum源
3388阅读·4评论·1点赞
2020年12月25日
CentOS 镜像下载 CentOS-7-x86_64-Everything-2003.iso
6264阅读·0评论·1点赞
2022年2月28日
centos到底下载哪个版本?
4063阅读·0评论·0点赞
2014年11月23日
Centos7的iso everything与DVD以及模闷Live的区别
9348阅读·0评论·0点赞
2018年2月17日
制作Centos-6.9-x86_64-Everything.iso
1294阅读·0评论·0点赞
2019年4月8日
CentOS各版本区别(DVD/Everything/Minimal/NetInstall等)
1171阅读·0评论·0点赞
2022年9月17日
Centos7服务器镜像挂载
3328阅读·0评论·0点赞
2022年4月21日
Centos7版本的安装超级详细
1350阅读·0评论·3点赞岁码核
kickstart无人值守常见报错集锦 原创2021-05-27 15:02:11
运维朱工
码龄5年
关注
在上篇文章中快速实现了kickstart自动部署centos 7,如果有需要可以跟着文章进行部署。这篇文章主要是对常见故腊枯障进行排错、解决,也将持续更新。
1. 服务端dhcpd服务宕机:
image-20210527114225780
# 错误关键字:
no dhcp or proxydhcp
# 分析原因:
启动服务器后,在dhcp一直转圈后报如上错,表示没有获取到IP。
# 解决办法:
检查kickstart服务器的dhcpd服务是否启动。
1
2
3
4
5
6
1
2
3
4
5
6
2. tftp服务宕机:
image-20210527120043093
# 错误关键字:
tftp open timeout
# 分析原因:
可以看到客户端已经获取到了IP,但是准备向tftp服务获取pxelinux.0,但是无法连接tftp服务,这时现象是显示打开tftp超时,并且一直尝试连接。
# 解决办法:
检查tftp服务是或迟否启动。
1
2
3
4
5
6
1
2
3
4
5
6
3. 服务端缺少pxelinux.0:
image-20210527115514292
# 错误关键字:
file not found | tftp error
# 分析原因:
可以看到客户端已经获取到了IP,并且tftp连接也没有报错。但是准备向tftp服务获取pxelinux.0文件失败,提示文件没有发现。
# 解决办法:
检查/var/lib/tftpboot/目录下是否有pxelinux.0文件。
1
2
3
4
5
6
1
2
3
4
5
6
4. 服务端缺少指定内核的配置文件:
image-20210527121848751
# 错误关键字:
unable to locate configuration file
# 分析原因:
可以看到客户端已经获取到了IP,并且tftp连接也没有报错。但是准备向tftp服务获取default文件失败,提示文件没有发现。
# 解决办法:
检查/var/lib/tftpboot/pxelinux.cfg/default是否存在。
1
2
3
4
5
6
1
2
3
4
5
6
5. 服务端缺少vesamenu.c32:
image-20210527121401846
# 错误关键字:
not find kernel image vesamenu.c32
# 分析原因:
前面获取IP,获取pxelinux.0都没问题,并且顺利加载了default文件。但是在准备加载菜单模板提示文件没有发现。
# 解决办法:
检查/var/lib/tftpboot/目录下是否有vesamenu.c32文件。
1
2
3
4
5
6
1
2
3
4
5
6
6. 提供ks.cfg文件的服务衫局李宕机:
image-20210527141853995
image-20210527142530201
# 错误关键字:
failed connect | failed to fetch kisckstart
# 分析原因:
到这一步,表示内核与伪文件系统已经加载完毕,准备根据ks.cfg应答文件进行自动安装,但是提示连接服务,请求文件失败。
# 解决办法:
检查web服务是否宕机,该文件可能是由其他服务(ftp|nfs)提供,所以需要检查对应的服务是否宕机。
1
2
3
4
5
6
1
2
3
4
5
6
7. 客户机内存不够:
image-20210527144037827image-20210527144348321
# 错误关键字:
no space left on device
# 分析原因:
到这一步,表示内核与伪文件系统已经加载完毕,没有缺少什么文件,但是空间不够。
# 解决办法:
检查虚拟机或者客户机的内存是否足够,内存设置至少2G。
1
2
3
4
5
6
1
2
3
4
5
6
在这里插入图片描述
获取文章更新,以及常用软件,可以关注公众号: 笨办法学linux
文章知识点与官方知识档案匹配
CS入门技能树Linux入门初识Linux
25429 人正在系统学习中
打开CSDN APP,看更多技术内容
Kickstart无人值守安装系统_victoruu的博客_kickstart...
目录1 kickstart简介 1.1 什么是kickstart 1.2 什么是PXE 2 安装配置kickstart 2.1 配置DHCP服务 2.2 配置TFTP服务 2.3 web服务配置 2.4 配置支持PXE的启动程序 3 手动网络安装 4 知识拓展 1 kickstart简介 1.1 什么是kickstart kick...
继续访问
linux命令:kickstart 无人值守安装系统_weixin_33713350的博客-CSDN...
1、安装system-config-kickstart软件,对生成的kickstart配置文件进行验证,是否有语法错误。 [root@localhost media]#yum install system-config-kickstart Loaded plugins: rhnplugin, security
继续访问
自动化安装-【kickstart】
批量自动安装软件介绍 kickstart 是一种无人值守的安装方式,工作原理是在安装过程中记录人工干预填写的各种参数,并生成以个名为ks.cfg(自动应答文件)的文件,如果在自动安装过程中出现要填写参数的情况,安装程序首先会去查找ks.cfg文件,如果找到合适参数,就采用,如果没有找到,便会d出对话框提示手动安装, 所以,如果ks.cfg文件涵盖了安装过程中所有需要填写的参数,...
继续访问
Kickstart无人值守安装系统(含DHCP超详细原理)
前言: 为啥要用无人值守安装系统?很简单的答案!就两个! 一个是方便日常工作,另一个就是可以用来装逼! 常规装系统的办法有哪些? 光盘安装系统===>一个服务器DVD内置光驱百千块,百台服务器都配光驱就浪费了,因为一台服务器也就开始装系统能用的上,以后用的机会屈指可数。用USB外置光驱,插来插去也醉了。 U盘安装系统===>还是同样的问题,要一台一台服...
继续访问
...authentication on data.Couldn`t kickstart handsharking_Elaine Cc...
webStorm连接Github提示错误:Invalid authentication on data.Couldn`t kickstart handsharking 首先确保你的电脑安装了git 一、在项目下右键,选择Git bash here 二、输入如下命令 其中,红色框是你github账号的邮箱蓝色框是你github账号的...
继续访问
cobbler 配置(转载)_weixin_34301132的博客
cobbler装机系统是较早前kickstart的升级版,优点比较容易配置,还自带web界面比较易于管理,不足在于中文资料较少。和 Kickstart不同的是,使用cobbler不会因为在局域网中启动了dhcp而导致有些机器因为默认从pxe启动在重启服务器后加载tftp内容...
继续访问
kickstart 打包iso步骤.记录
打包iso步骤 1、安装制作工具 安装anaconda、repodata、createrepo、mkisofs等工具,执行createrepo程序生成repodata下的comps.xml文件 yum -y install anaconda repodata createrepo mkisofs rsync 2、拷贝packages.log 为 install.log cp /var/log/anaconda/packaging.log /root/install.log #如果没有..
继续访问
运维技术原理介绍
运维第二次作业 1、系统启动过程 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。开机时将ROM中的指令映射到RAM的低地址空间,CPU读取到这些指令,硬件的健康状况进行检查,按照BIOS中设置的启动设备来启动。 启动第二步--读取MBR 硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Reco
继续访问
问题集汇_a904441024的博客
31、centos7运行system-config-kickstart时报错 解:https://blog.51cto.com/oldking/1876181 1 32、设置ftp、http网络安装源提示‘unable to retrieve ftp install.img’ 解:服务器虚拟机网络是桥接的,客户机虚拟网络是nat的,导致网络...
继续访问
linux问题_code学习社的博客_k.wait.top
系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。 E. 启动第五步 用户层init依据init...
继续访问
运维精华面试题
一、基本概念 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 常见的Linux发行版本有Redhat、Centos、Debian、Ubuntu、Suse 最擅长Redhat和Centos Redhat官网:www.redhat.com Centos官网:www.centos.org 我最擅长Linux基本命令 *** 作及相关服务搭建 2.Linux的开机启动过程: 启动第一步--加载BIOS BIOS表示基本输入输出系统(Basic Input/Output Syst
继续访问
pxe 配合kickstart安装centos
pxe配合kickstart完成无人值守
继续访问
出现failed to fetch kickstat from ftp 如何解决
出现failed to fetch kickstat from ftp ..... 我当时出现这个问题查了很久,最后才发现是我之前改过FTP服务 该问题应先定位到SYSLINUX服务程序出现了问题 即是FTP在没在匿名用户下,要求FTP必须在匿名用户下,不会改的参考我的FTP笔记。 ...
继续访问
最新发布 failed to fetch kickstat from ftp
failed to fetch kickstat from ftp
继续访问
kickstart 常见错误[备忘]
参考 kickstart 常见问题
继续访问
PXE+Kickstart 自动安装 Centos 过程中遇到的问题
Vmware虚拟机 *** 作系统版本: CentOS release 6.5 (Final)Linux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) )1、DHCP 启动...
继续访问
nova baremetal tips
最近同事在用icehouse版本nova的baremetal driver在CentOS6.3上遇到了一些坑。之前对这块没什么了解,简单记录如下。
继续访问
运维项目经历案例
一,期中项目经验示例 1.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)