首页 > 其他分享 >什么是kickstart?

什么是kickstart?

时间:2023-03-28 22:24:37浏览次数:35  
标签:文件 kickstart cfg 什么 ks TFTP 安装

原文地址:https://blog.csdn.net/My_name_is_ZwZ/article/details/83961958

目录

 

什么是kickstart批量安装

什么是Cobbler?

Kickstart中的各模块

Kickstart如何配置

kickstart如何使用?

Kickstart工作流程图

kickstart应用场景

什么是kickstart批量安装
Kickstart是一种无人值守的安装方式之一(还有一种叫做Cobbler)。他的工作原理就是在安装过程中记录人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在自动安装过程中出现要填写参数的情况,安装程序就会首先去查找ks.cfg文件,如果找到合适的参数,就采用所找的参数;如果没有找到,便弹出对话框让安装着手动书写。所以,ks.cfg文件涵盖了所有安装过程中需要填写的参数。那么安装者现在只需要告诉安装程序从何处下载ks,cfg文件,剩下的交给kickstart就可以完成安装操作系统这个事情。等安装完毕之后,安装程序根据ks.cfg中设置的重启/关闭系统,并结束安装。

什么是Cobbler?
Cobbler集中和简化了通过网络安装操作系统需要使用道德DHCP,TFTP和DFS服务的配置。简单说:Cobbler是对kickstart的封装,简化了安装步骤。(本博客只讲述kickstart)

Kickstart中的各模块
上边介绍了,kickstart它只是一种安装方式,与硬盘安装和磁盘安装没有区别,可以说是同等概念的一种安装方式。磁盘和硬盘安装都是需要iso文件的,那么kickstart这种安装方式的操作系统文件从哪里来?由通过什么样的方式或者说过程把系统安装上?下面写一个公式:kickstart安装方式=DHCP+TFTP+FTP(有些会选择使用NFS)+PXE。

DHCP:动态主机配置协议。DHCP服务器可以给DHCP用户分配IP地址,这个IP地址是临时的。有一个租用期,由DHTP服务器通过配置决定。

TFTP:基于UDP(用户数据包协议)一种简单文本传输协议.(和FTP大同小异)如果想用linux搭建TFTP服务器用TFTP传输协议来传输数据的话,就必须在linux上安装TFTP服务软件,并做响应的配置。

FTP:基于TCP(传输控制协议)的文本传输协议。在进行文本传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:控制连接和数据连接。控制连接在整个会话过程中一直保持打开,FTP客户所发出的传送请求通过控制连接发送给服务器端的控制进程,但是控制连接并不用来传送文件。当控制进程在接收到FTP客户发来的文件传输请求之后,穿件一个“数据传输进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传输进程用于完成文件的传送。在传送完毕后关闭“数据连接”并结束进程的运行。当控制其原理图如下:

 

NFS:FTP并不是对所有的数据传输都是最好的。如果A计算机只是想在B的一个很大的文件的末尾田间一行信息。则使用FTP协议的话B就要先将文件发送给A,A添加信息之后,再用FTP将其传送给B,效率低。而NFS允许应用进程打开一个远地文件,并在该文件上的某一位置开始读写数据,所以它可以让用户只复制一个大文件的一个很小的一段,而不是将整个文件复制。对于上述例子:A中的NFS客户短剑把要添加的数据和在文件后面写数据的请求一起发送到B的NFS服务器,NFS服务器更新文件后返回一个应答信息即可。

PXE:属于硬件自带的预启动执行环境。Inter研发的一门技术,基于Client/Server的网络模式(即客户端与服务器),其被写入了Inter的CPU,只要是使用Inter的CPU,则BIOS里都支持PXE技术。支持远程主机通过网络从远程服务器下载镜像(下载后存储到了客户端主机的存储空间中),并由此支持通过网络启动操作系统。即:PXE可以引导和安装Linux ,windows等操作系统。

Kickstart如何配置
1.安装DHCP,TFTP服务器软件(要想使用DHCP TFTP协议就要安装相应软件做支持)

yum install -y dhcp* tftp*
2.配置TFTP服务

vi /etc/xinetd.d/tftp

#将“disable = yes”改成:“disable = no” 用于开启此服务
3.TFTP+PXE配置

要实现远程安装系统,首先需要再tftpboot目录指定相关PXE内核模块及相关参数。

第一步:

 

mount /dev/cdrom /mnt
#挂载本地光盘(挂载:利用一个目录当成进入点,将磁盘分区的数据放置在该目录下。即:进入该目录就是读取磁盘的该分区)
下图表示挂在成功:

 

第二步:

ln -s /var/lib/tftpboot /
#将/var/lib/tftpboot 软链接到根目录/下(/var/lib/tftpboot目录在tftp服务器软件安装好之后会自动生成。软链接类似于windows下的快捷方式.如果是centos5.x,默认tftpboot目录自动创建到/目录下)

 

第三步:

cd /tftpboot ; cp /usr/lib/syslinux/pexlinux.0 ./
#将网卡启动引导文件pexlinux.0拷贝到/tftpboot 注:如果找不到pexlinux.0则:
yum install syslinux
然后就会自动生成文件pexlinux.0
第四步:

#将所挂载的光盘上的内容拷贝到tftpboot (. 代表当前目录即tftpboot)
cp /mnt/images/pxeboot/vmlinuz .
cp /mnt/images/pxeboot/initrd.img .
第五步:

#在tftpboot下创建pexlinux.cfg目录
mkdir -p pxelinux.cfg
第六步:

cd pxelinux.cfg #切换到pxelinux.cfg
vi default #创建一个default文件并打开进行编辑
default文件的作用:通过系统安装时,根据此文件的配置启动相关选项(此文件也可以选择拷贝:cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/default )

其内容编辑为:

default linux #默认找linux的引导
prompt 1
timeout 10
display boot.msg
#F1--F5都是启动的时候的菜单
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label centos5.8#(如果设置成linux 即和default一致的话,那么每一个局域网内的用户开机都会安装这个系统,那就很危险。所以要设置成不一样。然后当安装系统的时候要求用户输入boot: ,这时候再把centos5.8这个数输进去)
kernel vmlinuz #加载镜像
#使用nfs的方式做一个共享 这里就相当于去读取ks.cfg共享文件去安装系统
#ks.cfg里面有Linux分区,密码等等
#启动的网卡是eth0
#initrd=initrd.img表示加载这个镜像initrd英文是镜像的意思
append ks=nfs:192.168.0.79:/centosinstall/ks.cfg ksdevice=eth0 initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label mentest86
kernel mentest
append –

上述内容中:

#192.168.0.79是kickstart服务器,/centosinstall是nfs共享linux镜像的目录,也是linux存放安装文件的路径,ks.cfg是kickstart的主配置文件;ksdevice=eth0代表当我们由多块网卡的时候,要实现自动化安装设置从eth0安装。

第七步:

TFTP配置完毕由于TFTP是非独立服务,需要以来xinetd服务来启动。启动命令:

ckconfig tftp –leve.l 35 on && service xinetd restart
4.NFS+kickstart配置

远程系统安装,客户端需要下载系统所需要的软件包,所以需要使用NFS或者httpd把镜像文件共享出来

(1)在pexlinux.cfg下创建centosinstall目录(与default文件中的内容对应)

mkdir -p /centosinstall
(2)在centosinstall下创建ks.cfg文件

 

(3)将光盘中所有的文件拷贝到/centosinstall下(nohup表示后台拷贝 拷贝完成之后会有以下提示信息):

 

nohup cp -rf /mnt/* /centosinstall &
(4) 在NFS配置文件/etc/exports中加入:/centosinstall *(rw,sync),表示允许任何主机访问/centosinstall目录,有读写权限

ehco “/centosinstall *(rw,sync)“ >>/etc/exports
(5)向ks,cfg中写入内容:

#Kickstart file automatically generated by anaconda
install
text#表示以字符这种界面来安装
nfs --server=192.168.33.10 -dir=/centosinstall #nfs共享的IP和共享目录
key –skip
lang zh_CN.UTF-8 #语言编码使用UFTF-8
keyboard us #键盘使用默认的us
network --device eth0 --bootproto-dhcp --noipv6
rootpw 123456 #root用户的密码
firewall –disabled #防火墙
authconfig –enableshadow –enablemd5
selinux –disabled #sel关闭inux
timezone Asia/Shanghai #时区
bootloader –location=mbr –driveorder=sda –append=”rhgb quiet”
clearpart –all –initlabel #格式化所有的硬盘
part /boot –fstype ext3 –size=200 #/boot分区200M
part swap –size=2000
#part / --fstype ext3 –size=80000
part / –fstype ext3 –size=1 –grow #使用所有剩余空间用于/
#下面这些东西要选择在root目录下的anaconda-ks.cfg文件中拷贝然后放在ks.cfg文件的最后面 以下是软件的配置包
%packages
%base
@chinese-support
@core
@debugging
………
@end

5.DHCP配置以及设置

Pxe+kickstart自动安装系统需要用到DHCP分配的客户端的IP地址

vi /etc/dhcp/dhcpd.conf
其内容为:

ddns-update-style interim;
ignore client-updates;
next-server 192.168.33.10; #配置kickstart服务端的IP
filename “pxelinux.0”;
allow booting;
allow bootp;
subnet 192.168.33.0 netmask 255.255.255.0 {
option routers 192.168.33.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.33.100 192.168.33.200; #可分配的起始IP-结束IP
default-lease-time 21600; #设置默认的IP租用期限
max-lease-time 43200; #设置最大的IP租用期限
next-server 192.168.33.10; #告知客户端TFTP服务器的IP
filename "/pxelinux.0"; #告知客户端从TFTP根目录下载
}

 

6.重启所有的服务

/etc/init.d/nfs restart #重启 nfs
/etc/init.d/xined restart #重启tftp
/etc/init.d/dhcpd restart #重启dhcp
kickstart如何使用?
首先要使用安装系统的主机要和配置好kickstart的主机在同一局域网内.

当主机打开的时候,使用相对应的F*键(不同品牌的机器快捷键不同)进入boot引导开机系统的选择界面,然后选择网络控制器进行安装即可。如下:

 

Kickstart工作流程图


kickstart应用场景
公司规模扩大, 购进了50台服务器,并且要求运维工程师在一天之内将其linux系统安装完成。这时候只能采用这种自动化的网络安装。
————————————————
版权声明:本文为CSDN博主「Will---」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/My_name_is_ZwZ/article/details/83961958

标签:文件,kickstart,cfg,什么,ks,TFTP,安装
From: https://www.cnblogs.com/eyesfree/p/17266992.html

相关文章

  • 打开二进制文件,为什么不显示0101,而是一堆乱码?(chatGPT)
    二进制文件中的每个字节都包含八个二进制位(bit),每个二进制位只有0或1两种状态,因此每个字节有256种不同的可能取值。当打开二进制文件时,如果将文件以文本形式打开,那么文件内......
  • DCMM认证 企业为什么要做DCMM
    一、什么是DCMMDCMM全称是DataManagementCapabilityMaturityAssessmentModel,即数据管理能力成熟度评估模型。它是一个集标准规范、管理方法论、评估模型等多方面内容的......
  • 为什么重写equals还要重写hashcode方法
    首先需要明白什么时哈希函数:哈希函数时一个特定的算法,将任意一个类型的对象转换成一串数字(无论对象的构造多么的复杂或者多么简单),转换完的数字就是这个对象的哈希值在Object......
  • 科普什么是DC域控制器(Domain Controller)
    一个域描述了一组用户、系统、应用程序、网络、数据库服务器和其他任何资源,这些资源都受到一组共同的管理规则的控制。通常,一个域还包括一个物理空间,比如一个办公室或多个办......
  • MobTech|什么是SDK
    SDK全称SoftwareDevelopmentKit,即软件开发工具包。一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的开发工具的集合。简单......
  • 为什么Email不会死?Email创始人解读
    短消息、即时信息、Facebook、Twitter……我们有很多传递消息的工具,但是我们一直没有放弃Email,为什么,Email创始人表示是因为这些工具都不能完全代替Email。全世界累计34亿E......
  • 第二篇 Vue 基础 - 什么是 Vue 及 vue 的基本特点
    什么是VueVue(发音为/vjuː/,类似view)是一款用于构建用户界面的JavaScript框架它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型......
  • 什么叫动态页面和静态页面?
    静态页面是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页。静态页面不能自主管理发布更新的页面,如果想更新网页内容,要通过FTP软件把文......
  • 伪静态是什么?伪静态与普通html静态网页区别?
    什么是伪静态,伪静态作用伪静态即是网站本身是动态网页如.php、.asp、.aspx等格式动态网页有时这类动态网页还跟“?”加参数来读取数据库内不同资料。很典型的案例即是disc......
  • 到底什么睡姿最好?医生:平躺是脊柱最喜欢的睡姿
    你有没有遇到过,一觉睡醒之后,感觉身体特别劳累,腰酸背痛,像是跑了一次长跑?其实这很大的原因是睡姿,姿势错了。我们通常说的睡姿有三种,分别是:仰卧、侧睡(左侧卧、右侧卧和蜷缩......