Redhat或Fedora下实现网络无人值守安装(Kickstart)

简介:
 需求分析
公司业务扩展,需要新增100多台游戏服务器,新服务器已经购置且配置型号一致(网卡支持网络启动功能)。为了追求稳定性,领导决定全部采用Redhat操作系统。如果采用常规的安装方法即耗时又繁琐,稍有不慎,还容易系统配置出现差异。也不利于日后的管理。

引用概念
为了满足这种需求,Red Hat 发展出kickstart 的安装方式。配合服务器的lftp、DHCP服务它可以实现客户机的无人值守的自动网络安装。这部分我们实战Kickstart 的实现。

网络结构

局域网的IP网段为192.168.1.0

“共享”服务器A,IP为192.168.1.254

简单配置情况:

配置一个yum源,并可以通过ftp://192.168.1.254/pub/redhat访问;

安装并配置Kickstart程序。

“启动”服务器B,IP为192.168.1.253

简单配置情况:

配置DHCP服务,为局域网中的裸机提供IP地址,并说明启动所需的文件;

配置tftp服务,允许客户机下载启动映象文件。

操作步骤:

一、在A机配置FTP服务和yum源

安装FTP服务

[root@localhost Server]# rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm

启动服务

[root@localhost Server]# service vsftpd start

为 vsftpd 启动 vsftpd: [确定]

配置yum源

通过光盘或其它途径安装yum和createpreo软件

[root@localhost Server]# rpm -ivh yum-utils-1.0.4-3.el5.noarch.rpm rpm
[root@localhost Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm

将安装光盘中的内容完整复制到ftp公共目录下,并修改yum的配置文件,方便起见我们用脚本实现yum仓库的更新。

#!/bin/bash
cd /var/ftp/pub/redhat
rm -rf Server/.olddata/
rm -rf VT/.olddata/
rm -rf Cluster/.olddata/
rm -rf ClusterStorage/.olddata/
for i in `find | grep “xml$” | grep “comps”`;do createrepo -g ${i#./*/} ${i%/*/*.xml}; done
exit 0
 
请修改对应的安装文件路径/var/ftp/pub/redhat,可以从光盘上拷贝。

二、在B机上配置tftp服务

[root@localhost Server]# rpm -ivh tftp-server-0.42-3.1.i386.rpm

确保服务是启用状态

[root@localhost Server]# chkconfig –list |grep tftp
tftp: 关闭
[root@localhost Server]# chkconfig tftp on
[root@localhost Server]# chkconfig –list |grep tftp
tftp: 启用

重新加载管理tftp服务的xinetd守护进程

[root@localhost Server]# service xinetd restart
停止 xinetd: [确定]
启动 xinetd: [确定]

三、在B机上配置PEXlinux

拷贝支持PEX启动方式的bootloader到/tftpboot目录下

[root@localhost tftpboot]# cp -p /usr/lib/syslinux/pxelinux.0 /tftpboot

拷贝微型内核到/tftpboot下

[root@localhost redhat]# cp /var/ftp/pub/redhat/isolinux/* /tftpboot/

在tftpboot目录下建立一个目录单独存启动syslinux配置文件

[root@localhost tftpboot]# mkdir pxelinux.cfg

修改模板isolinux.cfg的配置文件,并使它生效

[root@localhost tftpboot]# cp isolinux.cfg default.cfg

如果需要自定义启动微型内核时输入的文本和响应的操作请编辑default.cfg。

default ks
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append 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 memtest86
kernel memtest
append -

四、在B机上配置DHCP服务

重点是在常规配置好的DHCP配置文件中增加两行

next-server 192.168.1.253; #TFTPServer的IP
filename “pxelinux.0″;#pxelinux loader文件位置

五、最核心的步骤:创建kickstart脚本

由于创建Kickstart配置脚本要用到本机的Yum源,我们为了方便起见,在安装有yum源的服务机A上配置。

安装kickstart配置程序

[root@localhost Server]# rpm -ivh system-config-kickstart-2.6.19.1-1.el5.noarch.rpm

安装简易操作工具

[root@localhost Server]# rpm -ivh pykickstart-0.43-1.el5.noarch.rpm

现在我们可以在图形下创建ks脚本了。

最后要做的是把ks.cfg脚本放置到可以任意的可以匿名访问的服务器上,我把它放到A机上的FTP目录下,/var/ftp/pub下。

五、测试

现在就可以进行测试了,当然如果你愿意的话还可以在ks.cfg脚本中增加安装完成后的执行的shell命令。

在BIOS 或手动设置客户机从LAN启动,客户机会从tftp服务器上加载启动的微型内核,默认在default.cfg未做修改情况下,我们可以通过在开始的 boot:提示处输入boot: linux ks=ftp://192.168.1.254/pub/ks.cfg来要求电脑执行Kickstart安装。

我们在这里要说明一点对于ks.cfg配置文件的位置,可以有多种形式获取,FTP,HTTP,NFS,都是有效的。如下:

boot: linux ks=http:server:/path

如果你愿意的话,我们也可以修改default.cfg文件,直接把ks.cfg的地址添加到其中,例如:

label ks
kernel vmlinuz
append ks initrd=initrd.img

这几行我们可以改写成

label ks
kernel vmlinuz
append ks initrd=initrd.img ks= ftp://192.168.254/ks.cfg

这样我们输入linux ks就自动从 ftp://192.168.254/ks.cfg下载配置文件;

甚至于我们可以设备默认不输入内容时操作:把default后面的参数修改为我们需要的标签(label),如ks。


     本文转自xiaoyuwang 51CTO博客,原文链接:http://blog.51cto.com/wangxiaoyu/204014,如需转载请自行联系原作者

 

相关文章
|
1月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
81 20
|
4月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
123 2
|
4月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
229 3
|
5月前
|
存储 Oracle 关系型数据库
|
5月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
289 0
|
6月前
|
C++
fedora安装静态c和c++库
fedora安装静态c和c++库
|
7月前
|
网络协议 Linux Shell
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
|
7月前
|
监控 安全 网络协议
这10款网络扫描工具,是个网工,都想全部安装!
这10款网络扫描工具,是个网工,都想全部安装!
709 1
|
7月前
|
Linux
虚拟机安装Linux系统的网络配置
该博客文章提供了解决虚拟机中Linux系统网络问题的多种方法,包括重置网络服务、修改网络配置文件、使用不同网络模式等,以确保虚拟机能够成功连接到网络。
虚拟机安装Linux系统的网络配置
|
7月前
|
存储 Kubernetes 调度
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
90 0