一种无盘系统的镜像文件制作及启动方法技术方案

技术编号:21183708 阅读:192 留言:0更新日期:2019-05-22 14:43
本发明专利技术公开了一种无盘系统的镜像文件制作及启动方法,镜像文件制作方法包括:配置内核基本模块编译生成内核及内核模块;生成目标操作系统的根文件系统目录,在根文件系统目录中增加内核启动后用于挂载NFS服务、以及从NFS服务器中获取软件和驱动的执行脚本,增加kdump工具并配置为启动并将系统宕机日志存储到NFS服务器上,建立系统日志服务脚本将系统日志重定向到NFS服务器,将根文件系统目录打包生成目标操作系统镜像;启动方法包括基于前述镜像文件和PXE+DHCP+TFTP+NFS实现无盘启动。发明专利技术能够极大的减少镜像文件的大小,提高启动效率,便于针对系统发生宕机时的系统故障分析。

A Method of Making and Starting Mirror Files in Diskless System

The invention discloses a method for making and starting mirror files of diskless system, which includes: configuring the basic module of the kernel to compile and generate the kernel and the kernel module; generating the root file system directory of the target operating system; adding the kernel to the root file system directory to mount the NFS service after booting; and obtaining the execution foot of software and driver from the NFS server. In this paper, we add kdump tool and configure it to start and store the system outage log on the NFS server, set up a system log service script to redirect the system log to the NFS server, package the root file system directory to generate the target operating system image, and start the system without disk based on the aforementioned image file and PXE+DHCP+TFTP+NFS. The invention can greatly reduce the size of the mirror file, improve the startup efficiency, and facilitate the system fault analysis when the system goes down.

【技术实现步骤摘要】
一种无盘系统的镜像文件制作及启动方法
本专利技术涉及计算机无盘启动技术,具体涉及一种无盘系统的镜像文件制作及启动方法。
技术介绍
一般来说,操作系统都是安装在硬盘中,即所谓的“有盘启动”。然而在高性能计算、嵌入式系统、网吧、酒店、教育等众多领域中的某些计算机客户端都没有本地磁盘,这些系统中计算机客户端需要从远程服务器加载和运行操作系统,即“无盘启动”。无盘启动系统中计算机客户端的所有信息都保存在内存中,如:操作系统、系统在运行过程中产生的日志、内核运行信息等都在内存中,一旦系统宕机或重启,日志和内核运行信息都将丢失。在无盘系统中,将无盘系统内核及镜像所在的服务器称为“无盘服务器”;将通过网络从无盘服务器上下载内核及镜像到本机,并通过网络来启动操作系统的计算机客户端称为“无盘客户端”;把在无盘客户端启动的操作系统称为“目标操作系统”。无盘启动具有下述优点:1)管理和维护简单、安全性高,无盘系统配置只要在服务器上进行修改,无盘系统客户端重新启动系统即可实现所有节点的配置一致化。2)节能环保、系统组装密度高。无盘系统设计时可以减少I/O接口,没有本地磁盘使计算机功耗大幅下降,系统更加节能,同时没有本地磁盘单结点占用的空间减小,系统组装密度更高。传统的无盘计算机启动方法基本上都是基于PXE+DHCP+TFTP实现的,包括以下步骤:第一步,编译目标操作系统的内核。第二步,生成目标操作系统根文件系统镜像,镜像的具体内容由目标操作系统的类型及用户需求来决定,并将内核模块、系统软件、库文件、头文件等目标操作系统需要用到的文件按照linux系统目录树的规则组织并打包成一个镜像文件。第三步,配置DHCP服务,用于向无盘计算机动态分配IP。第四步,配置TFTP服务,并在该服务的工作目录下放置目标操作系统内核与镜像文件。第五步,在BIOS中将支持PXE启动的网卡设置为第一启动,保存后重启动无盘客户端,通过DHCP服务为无盘计算机动态分配IP地址,从指定的TFTP服务器下载目标操作系统的内核与镜像到无盘客户端的内存中,利用引导程序加载并启动目标操作系统,完成无盘客户端的启动。在实际使用中,传统的无盘计算机启动方式存在如下缺陷:1)定制目标操作系统镜像时,须将系统需要的内核模块、系统软件、库文件、头文件等全部文件按照linux目录树规则组织打包到镜像文件中,导致镜像文件过大,系统引导时通过网络传输文件时间长,网络压力大,同时较大的镜像文件解压到内存的时间也会比较长。同时内核对镜像大小是有限制的。2)由于用户需求不同,在定制镜像时无法知道需要的所有文件,因此,当用户需求频繁改变时,镜像文件也需要频繁修改,由于镜像文件比较大,每次打包时间都比较长,费时费力。3)有些文件其实不是必须的,或有些项目完成后,相应的软件是不需要放在镜像中的。由于所有的文件都在镜像中按照linux系统的目录树规则进行组织,库文件之间的相互依赖比较复杂,对于删除不需要的软件及其依赖也比较困难。4)默认情况下,无盘系统日志服务程序rsyslog将日志保存在内存中,系统宕机或重启时,日志会丢失,无法分析和排查系统故障,另外当出现内核错误(kernelpanic),通常通过显示器只能看到最后一个屏幕上的信息,真正触发内核错误的原因已经看不到了,无法分析内核错误确切原因。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种无盘系统的镜像文件制作及启动方法,本专利技术对传统的PXE+DHCP+TFTP无盘启动方法进行改进,将目标操作系统在内核启动时不需要、可在目标操作系统内核成功启动后再加载的一部分文件,打包存放在NFS服务器上,待目标操作系统启动后挂载NFS,再解压到无盘客户端系统中,这样可以极大的减少镜像文件的大小。同时本专利技术还实现了将系统日志保存在NFS服务器上,当系统发生宕机时,将内核信息转储到NFS服务器上,便于系统故障分析。为了解决上述技术问题,本专利技术采用的技术方案为:一种无盘系统的镜像文件制作方法,实施步骤包括:1)针对无盘系统计算机客户端的目标操作系统,配置用于实现内核启动及挂载NFS服务的内核基本模块,配置完成后进行模块编译生成内核及内核模块;2)根据内核及内核模块生成目标操作系统的根文件系统目录,在所述根文件系统目录中增加内核启动后的执行脚本,所述执行脚本被配置为挂载NFS服务、以及从NFS服务器中获取系统软件、应用软件、驱动程序;3)在所述根文件系统目录中增加kdump工具,且将kdump工具配置为将系统宕机日志存储到指定的NFS服务器上,将kdump工具配置为开机启动kdump服务;4)在所述根文件系统目录中建立系统日志服务脚本将系统日志重定向到NFS服务器;5)将目标操作系统的根文件系统目录打包生成目标操作系统镜像。步骤1)中用于实现内核启动及挂载NFS服务的内核基本模块包括:目标CPU体系结构支持模块、网络驱动模块、通信协议模块、文件系统镜像支持模块、内存文件系统模块、网络文件系统模块以及配置内核切换功能模块。步骤2)中的根文件系统为initramfs文件系统。步骤2)中生成无盘系统的根文件系统的详细步骤包括:2.1)创建基于initramfs文件系统的根文件系统目录/opt/initramfs;2.2)将linux系统自带的根文件系统镜像解压到根文件系统目录/opt/initramfs下;2.3)将根文件系统目录下的内核模块目录/opt/initramf/lib/modules/下的文件夹删除,将进行模块编译生成内核以及内核模块复制到根文件系统目录下的内核版本对应的内核模块目录/opt/initramfs/lib/modules/<kernel_version>/下,其中<kernel_version>为内核的版本号;2.4)在根文件系统目录/opt/initramfs中配置生成initramfs根文件系统启动执行的第一个初始化程序init,以便通过初始化程序init加载真正的根文件系统;2.5)在根文件系统目录/opt/initramfs中配置目标操作系统的/etc/fstab开机挂载的文件系统,并将内核切换功能模块switch_root,busybox工具复制到/usr/bin目录下;2.6)在所述根文件系统中的自动启动目录/opt/initramfs/etc/init.d/下增加内核启动后的启动脚本setup,所述启动脚本setup被配置为挂载NFS服务、并调用nfs挂载目录下的无盘系统配置程序dlfa_config.sh,通过nfs挂载目录下的无盘系统配置程序dlfa_config.sh从NFS服务器中获取系统软件、应用软件、设备驱动程序。步骤2.4)中初始化程序init被配置为包括下述执行步骤:2.4.1)创建目标操作系统的根目录/sysroot;2.4.2)挂载proc文件系统到目标操作系统的/proc目录;2.4.3)挂载sysfs文件系统到目标操作系统的/sys目录;2.4.4)挂载tmpfs文件系统到目标操作系统的根目录/sysroot,判断挂载tmpfs文件系统是否成功,如果挂载成功则跳转执行步骤2.4.5);否则,退出;2.4.5)将根目录/下的所有文件移到/sysroot本文档来自技高网
...

【技术保护点】
1.一种无盘系统的镜像文件制作方法,其特征在于,实施步骤包括:1)针对无盘系统计算机客户端的目标操作系统,配置用于实现内核启动及挂载NFS服务的内核基本模块,配置完成后进行模块编译生成内核及内核模块;2)根据内核及内核模块生成目标操作系统的根文件系统目录,在所述根文件系统目录中增加内核启动后的执行脚本,所述执行脚本被配置为挂载NFS服务、以及从NFS服务器中获取系统软件、应用软件、驱动程序;3)在所述根文件系统目录中增加kdump工具,且将kdump工具配置为将系统宕机日志存储到指定的NFS服务器上,将kdump工具配置为开机启动kdump服务;4)在所述根文件系统目录中建立系统日志服务脚本将系统日志重定向到NFS服务器;5)将目标操作系统的根文件系统目录打包生成目标操作系统镜像。

【技术特征摘要】
1.一种无盘系统的镜像文件制作方法,其特征在于,实施步骤包括:1)针对无盘系统计算机客户端的目标操作系统,配置用于实现内核启动及挂载NFS服务的内核基本模块,配置完成后进行模块编译生成内核及内核模块;2)根据内核及内核模块生成目标操作系统的根文件系统目录,在所述根文件系统目录中增加内核启动后的执行脚本,所述执行脚本被配置为挂载NFS服务、以及从NFS服务器中获取系统软件、应用软件、驱动程序;3)在所述根文件系统目录中增加kdump工具,且将kdump工具配置为将系统宕机日志存储到指定的NFS服务器上,将kdump工具配置为开机启动kdump服务;4)在所述根文件系统目录中建立系统日志服务脚本将系统日志重定向到NFS服务器;5)将目标操作系统的根文件系统目录打包生成目标操作系统镜像。2.根据权利要求1所述的无盘系统的镜像文件制作方法,其特征在于,步骤1)中用于实现内核启动及挂载NFS服务的内核基本模块包括:目标CPU体系结构支持模块、网络驱动模块、通信协议模块、文件系统镜像支持模块、内存文件系统模块、网络文件系统模块以及配置内核切换功能模块。3.根据权利要求1所述的无盘系统的镜像文件制作方法,其特征在于,步骤2)中的根文件系统为initramfs文件系统。4.根据权利要求3所述的无盘系统的镜像文件制作方法,其特征在于,步骤2)中生成无盘系统的根文件系统的详细步骤包括:2.1)创建基于initramfs文件系统的根文件系统目录/opt/initramfs;2.2)将linux系统自带的根文件系统镜像解压到根文件系统目录/opt/initramfs下;2.3)将根文件系统目录下的内核模块目录/opt/initramf/lib/modules/下的文件夹删除,将进行模块编译生成内核以及内核模块复制到根文件系统目录下的内核版本对应的内核模块目录/opt/initramfs/lib/modules/<kernel_version>/下,其中<kernel_version>为内核的版本号;2.4)在根文件系统目录/opt/initramfs中配置生成initramfs根文件系统启动执行的第一个初始化程序init,以便通过初始化程序init加载真正的根文件系统;2.5)在根文件系统目录/opt/initramfs中配置目标操作系统的/etc/fstab开机挂载的文件系统,并将内核切换功能模块switch_root,busybox工具复制到/usr/bin目录下;2.6)在所述根文件系统中的自动启动目录/opt/initramfs/etc/init.d/下增加内核启动后的启动脚本setup,所述启动脚本setup被配置为挂载NFS服务、并调用nfs挂载目录下的无盘系统配置程序dlfa_config.sh,通过nfs挂载目录下的无盘系统配置程序dlfa_config.sh从NFS服务器中获取系统软件、应用软件、设备驱动程序。5.根据权利要求4所述的无盘系统的镜像文件制作方法,其特征在于,步骤2.4)中初始化程序init被配置为包括下述执行步骤:2.4.1)创建目标操作系统的根目录/sysroot;2.4.2)挂载proc文件系统到目标操作系统的/proc目录;2.4.3)挂载sysfs文件系统到目标操作系统的/sys目录;2.4.4)挂载tmpfs文件系统到目标操作系统的根目录/sysroot,判断挂载tmpfs文件系统是否成功,如果挂载成功则跳转执行步骤2.4.5);否则,退出;2.4.5)将根目录/下的所有文件移到/sysroot目录下;2.4.6)用切换工具switch_root切换到新的根目录/sysroot,即将/sysroot当作根目录/,并执行初始化引导程序/sbin/init引导真正的文件系统。6.根据权利要求4所述的无盘系统的镜像文件制作方法,其特征在于,步骤2.6)中的启动脚本setup被配置为包括下述执行步骤:2.6.1)设置内核文件大小;2.6.2)执行DHCP客户端动态获取IP地址;2.6.3)从/proc/cmdline中获取内核传来的参数,包括:nfs_src表示NFS服务器IP地址及其共享目录,nfs_dist表示NFS在无盘客户端的挂载目录,并根据内核传来的参数挂载NFS文件系统;2.6.4)根据...

【专利技术属性】
技术研发人员:朱清华张蕾王睿伯董勇张伟周恩强谢旻迟万庆张文喆张百达高颖慧陈凤英
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1