掌桥专利:专业的专利平台
掌桥专利
首页

一种基于NFS灌装操作系统的方法、系统及介质

文献发布时间:2023-06-19 11:42:32


一种基于NFS灌装操作系统的方法、系统及介质

技术领域

本发明涉及灌装方法领域,特别是涉及一种基于NFS灌装操作系统的方法、系统及介质。

背景技术

国产PC操作系统主要包含麒麟操作系统和UOS操作系统,在批量网络灌装中,麒麟操作系统和UOS操作系统都支持NFS方式进行灌装。不论是麒麟操作系统还是UOS操作系统在采用NFS方式进行操作系统灌装时均是挂载后直接使用服务器资源进行灌装,这种灌装方式是边下载边灌装,会长期占用NFS服务资源,占用NFS服务器资源受限于PC机处理器、内存、硬盘等因素影响。

NFS服务在提供挂载支持时会占用Cpu资源,每个挂载链接会占用一个Cpu线程,NFS服务的最大活动链接数受限于Cpu线程数(NFS支持最大链接数和NFS支持最大活动链接数不同,NFS支持最大链接数可以很多,但是NFS支持最大活动链接数是受Cpu线程数影响的,最大活动链接数是指同时有多少个客户端进行资源请求)。Cpu核数和线程数因为制程、价格等因素往往不会太多(普通笔记本4核、8核,X86服务器Cpu大多在10-24核,每个核心对应两个线程)。例如某服务器使用两颗20核Cpu,那么NFS对应最大支持数量为80台。所以由于NFS服务本身的特性,会限制批量灌装的数量。

发明内容

本发明主要解决是现有灌装方式由于NFS本身特性会限制灌装的数量的问题。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于NFS灌装操作系统的方法,包括以下步骤:

进行PXE引导,通过网络下载镜像;

在服务器中创建第一目录,以及创建内核文件,将所述内核文件存储至所述第一目录;

加载所述内核文件,通过NFS存储所述镜像,在所述服务器中进行NFS挂载;

在所述服务器的内存中创建内存文档系统,并将所述NFS中的所述镜像下载至所述内存文档系统中;

在所述内存文档系统上挂载所述镜像,通过所述镜像在所述服务器上安装操作系统。

优选的,所述创建内存文档系统的步骤进一步包括:通过创建内存文档系统命令创建内存文档系统,并且所述内存文档系统用于存储所述镜像,且所述内存断电后不保存所述内存文档系统中的数据。

优选的,将所述NFS中的所述镜像下载至所述内存文档系统后,卸载所述NFS挂载,并断开与所述NFS的连接,释放所述服务器的资源。

优选的,所述在所述内存文档系统上挂载所述镜像,通过所述镜像在所述服务器上安装操作系统的步骤进一步包括:在所述内存文档系统上通过本地挂载命令挂载所述镜像,并通过所述镜像在所述服务器上安装操作系统,若安装操作系统的过程中出现错误,则停止安装操作系统,并提示报错;

若完成操作系统完成,则提示安装完成。

优选的,所述在所述内存文档系统上挂载所述镜像,通过所述镜像在所述服务器上安装操作系统的步骤进一步还包括:

判断是否出现提示报错,若未出现提示报错,则安装操作系统成功;

若出现提示报错,则安装操作系统失败,再次通过所述镜像将操作系统安装至所述服务器。

优选的,所述加载所述内核文件的步骤进一步包括:

所述内核文件包括第一内核文件和第二内核文件;

启动所述第二内核文件的内核,记为第二内核,通过所述第二内核解压所述第一内核文件,并执行解压后的所述第一内核文件。

本发明还提供一种基于NFS灌装操作系统的系统,包括:引导模块、创建模块、加载模块、挂载模块和安装模块;

所述引导模块用于PXE引导,通过网络下载镜像;

所述创建模块用于在服务器中创建第一目录,创建内核文件以及在服务器的内存中创建内存文档系统;

所述加载模块用于加载所述内核文件;

所述挂载模块用于进行NFS挂载以及用于在所述内存文档系统上挂载所述镜像;

所述安装模块用于通过所述镜像将操作系统安装至所述服务器。

作为本发明一种基于NFS灌装操作系统的系统进一步改进:还包括卸载模块;所述卸载模块用于卸载所述NFS挂载,并断开与所述NFS的连接,释放所述服务器的资源。

作为本发明一种基于NFS灌装操作系统的系统进一步改进:还包括存储模块;所述存储模块用于通过NFS存储所述镜像以及将所述镜像下载至所述第一目录中。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的一种基于NFS灌装操作系统的方法的步骤。

本发明的有益效果是:

1、本发明所述的一种基于NFS灌装操作系统的方法,可以实现安装前通过网络把镜像下载至本地使用,这样调整之后,整个灌装过程中只有下载镜像环节使用NFS服务的资源,能够提升灌装的速度,并且不会因为NFS本身的特性来限制批量灌装的数量,能够提升批量灌装的效率,并且增加了判断是否安装操作系统成功的流程,确保了灌装操作系统时的准确率;

2、本发明所述的一种基于NFS灌装操作系统的系统,可以通过引导模块以及挂载模块对需要灌装的操作系统的镜像进行下载,并且通过常见模块创建内存文档系统,通过内存文档系统在本地进行挂载镜像,从而提升了灌装的速度,并且通过卸载模块卸载NFS挂载,减少不必要的服务器中的资源的浪费,进一步提升了灌装的速度;

3、本发明所述的一种计算机可读存储介质,可以通过创建内存文档系统命令创造内存文档系统,并通过内存文档系统作为存储介质下载镜像替代NFS服务器镜像,实现下载和安装分离,减少安装过程中占用NFS服务器资源。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例1所述的一种基于NFS灌装操作系统的方法示意图;

图2是本发明实施例2所述的一种基于NFS灌装操作系统的系统架构示意图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

需要说明的是,在本发明的描述中

统一操作系统UOS是中文国产操作系统。

Ramfs是内存文档系统,他工作于虚拟文档系统(VFS)层。不能格式化,能够创建多个,在创建时能够指定其最大能使用的内存大小。假如Linux已将Ramfs编译进内核,能够很容易地使用Ramfs了。创建一个目录,加载Ramfs到该目录即可。

网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。

银河麒麟(Kylin)是由国防科技大学研制的开源服务器操作系统。它有以下几个特点:高安全、高可靠、高可用、跨平台、中文化(具有强大的中文处理能力)。

预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。

TFTP(trivial file transfer protocol)简单文件传输协议是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。

MFTP(Multiple File Transfer Protocol)多重来源文件传输通讯协议的简称。

vmlinuz是可引导的、压缩的内核。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。

在本发明的描述中,需要说明的是第一目录为tftp目录。

第一内核文件为initrd.img,第二内核文件为vmlinz文件。

实施例1

本发明实施例提供一种基于NFS灌装操作系统的方法,请参阅图1,包括以下步骤:

S100,进行PXE引导,通过网络从远端服务器下载镜像,并支持通过网络启动操作系统,在启动过程中,要求服务器分配IP地址,再用TFTP或MTFTP协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成Client端自动化基本软件设置,从而引导预先安装在服务器中的操作系统;

在服务器中创建tftp目录,

创建内核文件,将内核文件存储至服务器的tftp目录;

S200,加载内核文件和通过NFS存储镜像,PXE引导后,通过TFTP方式下载内核文件,下载完成后将该内核文件解压至内存中,并执行系统启动操作,启动该内核;

将需要安装的操作系统镜像放入NFS服务器的共享目录中,在服务器中进行NFS挂载,NFS包括服务端和客户端,客户端是存储安装操作系统镜像的服务器,通过服务端打开NFS服务;

具体的在本实施例中有一种实施方式为:通过PXE引导,在服务器中tftp目录下创建需要安装镜像的目录,将Linux内核文件initrd.img和vmlinz文件放入该目录;

需要安装操作系统的服务器连接网线和电源线后开机,开机后服务器的BIOS通过TFTP服务下载内核文件,下载完成后加载内核文件;

具体步骤为:启动vmlinz内核,vmlinz解压initrd.img文件至内存中并执行,通过initrd.img文件执行安装操作系统;

需要说明的是,内核类似与一个操作系统,这个操作系统比较小,其内存大小约为几十兆,并且功能较少;这个内核主要是在安装操作系统前进行部署操作系统安装环境的作用。

S300,在内存中创建ramfs目录,加载ramfs到该目录;具体步骤为:通过创建ramfs命令,mount-t ramfs ram/mnt/ramfs,将内存当作存储介质使用,但是断电后创建ramfs这部分内容会丢失;

需要说明的是,当作的存储介质可以为硬盘,存储系统等,主要用来存储的是安装操作系统的镜像;

将需要安装的操作系统镜像从NFS服务器上下载至本地内存的ramfs中,

具体步骤为:通过下载命令cp nfsdir:/os.iso/mnt/ramfs,将将需要安装的操作系统镜像从NFS服务器上下载至本地内存的ramfs中;

卸载NFS挂载,断开和NFS服务器的连接,释放需要安装操作的服务器上的资源;

S400,在ranmfs上挂载镜像,通过本地挂载命令,mount-o loop/mnt/ramfs/os.iso/mnt/osdir挂载镜像;通过镜像将操作系统安装至服务器;

使用本地镜像在服务器上安装操作系统;若安装操作系统过程中出现错误,会停止安装,进行提示报错,若安装完成后,则会提示安装完成,或者服务器进行关机或者重启动作;

需要说明的是,操作系统安装完成之后的动作和操作系统本身有关系,不同的操作系统安装完成后进行的动作不一致;

判断是否进行提示报错,若进行提示报错,则使用本地镜像在服务器上安装操作系统失败,重新进行挂载镜像,通过镜像将操作系统安装至服务器,若未进行提示报错,则安装操作系统成功。

区别于现有技术,本方案使用内存ramfs,并在安装前进行PXE引导,通过网络把镜像下载至本地使用,整个灌装过程中只有下载镜像环节使用NFS服务资源,占用NFS服务资源时间仅受网络传输速率影响。

例如同样千兆网络环境下,单台占用时间由原来的20-30分钟,降低到2-3分钟,NFS服务器资源利用效率提高了10倍,批量灌装数量也会得到相应10倍的提升。

实施例2

本发明实施例还提供一种基于NFS灌装操作系统的系统,请参阅图2,包括:引导模块、创建模块、加载模块、挂载模块和安装模块;

引导模块用于PXE引导,通过网络下载镜像;

创建模块用于在服务器中创建第一目录,创建内核文件以及在服务器的内存中创建内存文档系统;

加载模块用于加载所述内核文件;

挂载模块用于进行NFS挂载以及用于在所述内存文档系统上挂载所述镜像;

安装模块用于通过所述镜像将操作系统安装至所述服务器。

还包括卸载模块和存储模块,所述卸载模块用于卸载所述NFS挂载,并断开与所述NFS的连接,释放所述服务器的资源;

所述存储模块用于通过NFS存储所述镜像以及将所述镜像下载至所述第一目录中。

基于与前述实施例中方法同样的发明构思,本说明书实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述公开的一种基于NFS灌装操作系统的方法的步骤。

上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 一种基于NFS灌装操作系统的方法、系统及介质
  • 一种基于可移动存储介质的操作系统的启动系统和方法
技术分类

06120113023396