linux 模块开机自动安装,kickstart 自动安装linux

在安装RedHat Linux企业版的过程中,我们都知道它允许通过NFS、HTTP或FTP协议来进行网络安装。但是在一般情况下我们需要有一个安装引导介质(引导光盘、引导软盘、U盘等),有没有一种方法不通过引导光盘方式来安装呢,而直接通过网络来进行安装?答案是有,即通过PXE技术实现。

基本原理

那么PXE到底是什么呢?

PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

既然是通过网络传输,就需要IP地址;也就是说在其启动过程中,客户端请求服务器分配IP地址,之后PXE Client使用TFTP Client通过TFTP(Trivial File Transfer Protocol)协议下载启动安装程序所需的文件。

简单地说PXE网络安装,客户机通过支持PXE的网卡向网络中发送请求DHCP信息的广播请求IP地址等信息,DHCP服务器给客户端提供IP地址和其它信息(TFTP服务器、启动文件等),之后请求并下载安装需要的文件。在这个过程中需要一台服务器来提供启动文件、安装文件、以及安装过程中的自动应答文件等。下图中介绍了Linux中自动安装系统的详细工作过程:

ecf6a722558e96ce363d9616f4c8f70f.png

第一步:PXE Client向DHCP发送请求

首先,将支持PXE的网络接口卡(NIC)的客户端的BIOS设置成为网络启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP服务器索取IP地址等信息。

第二步:DHCP服务器提供信息

DHCP服务器收到客户端的请求,验证是否来至合法的PXE Client的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。

第三步:PXE客户端请求下载启动文件

客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。

第四步:Boot Server响应客户端请求并传送文件

当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答,用以决定启动参数。BootROM由TFTP通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。

第五步:请求下载自动应答文件

客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。或许你会说,刚才PXE不是已经获取过IP地址了吗?为什么现在还需要一次?这是由于PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件。由于它们需要的内容不同造成PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序。从而进行两次获取IP地址过程。

接着会读取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。

第六步:客户端安装操作系统

将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。

OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。这个时候注意,在重新引导的过程中一定要将BIOS修改回从硬盘启动,不然的话又会重复的自动安装操作系统。

在上面介绍中PXE client是需要安装Linux的计算机,TFTP Server、DHCP Server和NFS Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核都放置在Linux Server上TFTP服务器的根目录下。而Linux根文件系统存放于NFS Server的共享目录中。

PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。

系统启动步骤:

1)客户端PXE启动

2)从DHCP服务器获取IP

3)从TFTP服务器上下载pxelinux.0,default文件

4)根据配置文件default指定的vmlinuz,initrd.img启动系统内核。如果有ks文件的话,下载ks文件

5)根据提示手动一步一步地进行安装。如果是ks安装,则根据ks文件自动进行安装。

下面是用DHCP+TFTP+FTP进行安装的。

首先安装并配置DHCP服务:

yum install  dhcp -y

24661e5bb66bfb2ed93395fa0feb30d1.png

配置如下

1aabf17877c4a3b71df666238f071453.png

TFTP服务安装:

yum  install  tftp* -y

开启tftp服务

e1302f500e9d60e5d358b3143d606916.png

安装syslinux,目的是生成/usr/share/syslinux这个目录,下面有pxelinux.0这个文件

拷贝pxelinux.0文件

7e09cdcbdb037ee96ad80fdc6dba22aa.png

拷贝安装盘里的isolinux目录的文件

be04592ef180914306340393556cb7e6.png

创建目录

8f061f9c9ad21c825d2fbfe99770cff0.png

e74fb6f48175843878f5529018b5ee8a.png

45c2d5c1bf6cc6b25389d12b7becebe0.png

FTP的安装

yum  install  vsftpd  -y

用FTP服务将安装文件共享出去

712b47b26ab6a384bf30a0fd04779dc3.png

接下来可以进行交互式安装了

1f20835603ab4dc3aa58b42468806c99.png

安装介质的选择

552cd412dd6bb5f37b3108477436a11c.png

d626ee3bcb76d442716d60fbcb7c8cc5.png

安装文件路径的选择,接下来和一般的就一样了。

接下来是用ks安装的

首先安装system-config-kickstart,基于图形界面的

8c4cb729758c9096f3a7f232a4a5dace.png

编辑完后用FTP将ks.cfg共享出去

36eaa23c0e2a4743d7ac613c5fedff44.png

客户端启动到安装界面,按下ESC,并键入ks的路径

a56fae2c1a17704081ba5db9c6153dbb.png

下面是无人值守安装

编辑default文件

e1264cc28d83f13d269a4d3f9d7beed0.png

44c15aa5c298930729a541881caadcdc.png

默认就安装RHEL 6.0

de41bc710e0f7cbb2daaa90984af2d17.png

到此自动化安装便结束了,你只有将机器开启就可以干其他事情了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值