CN109783117B - 一种无盘***的镜像文件制作及启动方法 - Google Patents

一种无盘***的镜像文件制作及启动方法 Download PDF

Info

Publication number
CN109783117B
CN109783117B CN201910049443.2A CN201910049443A CN109783117B CN 109783117 B CN109783117 B CN 109783117B CN 201910049443 A CN201910049443 A CN 201910049443A CN 109783117 B CN109783117 B CN 109783117B
Authority
CN
China
Prior art keywords
directory
file
diskless
kernel
nfs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910049443.2A
Other languages
English (en)
Other versions
CN109783117A (zh
Inventor
朱清华
张蕾
王睿伯
董勇
张伟
周恩强
谢旻
迟万庆
张文喆
张百达
高颖慧
陈凤英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201910049443.2A priority Critical patent/CN109783117B/zh
Publication of CN109783117A publication Critical patent/CN109783117A/zh
Application granted granted Critical
Publication of CN109783117B publication Critical patent/CN109783117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

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

Description

一种无盘***的镜像文件制作及启动方法
技术领域
本发明涉及计算机无盘启动技术,具体涉及一种无盘***的镜像文件制作及启动方法。
背景技术
一般来说,操作***都是安装在硬盘中,即所谓的“有盘启动”。然而在高性能计算、嵌入式***、网吧、酒店、教育等众多领域中的某些计算机客户端都没有本地磁盘,这些***中计算机客户端需要从远程服务器加载和运行操作***,即“无盘启动”。无盘启动***中计算机客户端的所有信息都保存在内存中,如:操作***、***在运行过程中产生的日志、内核运行信息等都在内存中,一旦***宕机或重启,日志和内核运行信息都将丢失。
在无盘***中,将无盘***内核及镜像所在的服务器称为“无盘服务器”;将通过网络从无盘服务器上下载内核及镜像到本机,并通过网络来启动操作***的计算机客户端称为“无盘客户端”;把在无盘客户端启动的操作***称为“目标操作***”。无盘启动具有下述优点:1)管理和维护简单、安全性高,无盘***配置只要在服务器上进行修改,无盘***客户端重新启动***即可实现所有节点的配置一致化。2)节能环保、***组装密度高。无盘***设计时可以减少I/O接口,没有本地磁盘使计算机功耗大幅下降,***更加节能,同时没有本地磁盘单结点占用的空间减小,***组装密度更高。
传统的无盘计算机启动方法基本上都是基于PXE+DHCP+TFTP实现的,包括以下步骤:
第一步,编译目标操作***的内核。
第二步,生成目标操作***根文件***镜像,镜像的具体内容由目标操作***的类型及用户需求来决定,并将内核模块、***软件、库文件、头文件等目标操作***需要用到的文件按照linux***目录树的规则组织并打包成一个镜像文件。
第三步,配置DHCP服务,用于向无盘计算机动态分配IP。
第四步,配置TFTP服务,并在该服务的工作目录下放置目标操作***内核与镜像文件。
第五步,在BIOS中将支持PXE启动的网卡设置为第一启动,保存后重启动无盘客户端,通过DHCP服务为无盘计算机动态分配IP地址,从指定的TFTP服务器下载目标操作***的内核与镜像到无盘客户端的内存中,利用引导程序加载并启动目标操作***,完成无盘客户端的启动。
在实际使用中,传统的无盘计算机启动方式存在如下缺陷:1)定制目标操作***镜像时,须将***需要的内核模块、***软件、库文件、头文件等全部文件按照linux目录树规则组织打包到镜像文件中,导致镜像文件过大,***引导时通过网络传输文件时间长,网络压力大,同时较大的镜像文件解压到内存的时间也会比较长。同时内核对镜像大小是有限制的。2)由于用户需求不同,在定制镜像时无法知道需要的所有文件,因此,当用户需求频繁改变时,镜像文件也需要频繁修改,由于镜像文件比较大,每次打包时间都比较长,费时费力。3)有些文件其实不是必须的,或有些项目完成后,相应的软件是不需要放在镜像中的。由于所有的文件都在镜像中按照linux***的目录树规则进行组织,库文件之间的相互依赖比较复杂,对于删除不需要的软件及其依赖也比较困难。4)默认情况下,无盘***日志服务程序rsyslog将日志保存在内存中,***宕机或重启时,日志会丢失,无法分析和排查***故障,另外当出现内核错误(kernel panic),通常通过显示器只能看到最后一个屏幕上的信息,真正触发内核错误的原因已经看不到了,无法分析内核错误确切原因。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种无盘***的镜像文件制作及启动方法,本发明对传统的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目录下;
2.4.6)用切换工具switch_root切换到新的根目录/sysroot,即将/sysroot当作根目录/,并执行初始化引导程序/sbin/init引导真正的文件***。
步骤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)根据网卡的MAC地址查主机配置文件<nfs_mount_point>/etc/hostconfig以获取MAC地址以及主机名,主机配置文件包含MAC地址、主机名、IP地址三种信息,如果主机配置文件中存在相应的MAC地址则获取其主机名hn,并将主机名设置为hn,如果不存在这个MAC地址,则按照指定规则在主机配置文件中注册一个新的主机hn_new,将主机名设置为hn_new;
2.6.5)调用执行无盘***配置程序dlfa_config.sh。
步骤3)的详细步骤包括:
3.1)在所述根文件***目录中安装kdump工具kexec-tools;
3.2)将kdump配置文件/etc/kdump.conf的nfs、path、core_collector 几个参数前面的注释符号“#”去掉,并将参数nfs的服务器地址修改为NFS服务器的IP地址、导出目录修改为NFS服务器上的指定目录,从而将kdump工具配置为将***宕机日志存储到指定的NFS服务器上;
3.3)修改kdump基本功能文件,在其中添加一行参数HOST_NAME并指定为无盘计算机客户端的主机名,将保存core文件的目录名由“主机IP地址-日期”修改为“主机名/日期”实现无盘计算机客户端的***宕机日志分开存储;
3.4)修改生成kdump镜像的脚本文件,在其中添加一行参数HOST_NAME并指定为无盘计算机客户端的主机名,将保存core文件的目录名由“主机IP地址-日期”修改为“主机名/日期”实现无盘计算机客户端的***宕机日志分开存储;
3.5)在无盘***配置程序dlfs_config.sh文件中配置开机启动kdump服务,开机启动kdump时***会检测/boot目录下是否存在kdump的镜像文件,如果没有kdump镜像则自动生成一个新的kdump镜像,文件名为initramfs-`uname –r`kdump.img,如果存在,检测kdump的镜像是否与kdump的配置文件/etc/kdump.conf中的配置是否一致,如果一致则直接使用该镜像文件,如果不一致,将根据配置文件/etc/kdump.conf自动生成kdump镜像文件。
步骤4)中在所述根文件***目录中建立***日志服务脚本将***日志重定向到NFS服务器时,***日志服务脚本由无盘***配置程序dlfs_config.sh进行调用,且***日志服务脚本被配置为包括下述执行步骤:
4.1)停止rsyslog服务;
4.2)在NFS挂载目录/home/IOSYS下创建***日志存储目录/home/IOSYS/log/;
4.3)将***默认日志目录/var/log目录链接到***日志存储目录/home/IOSYS/log/下以主机名和日期级成的目录名下;
4.4)重启rsyslog服务,使得日志会保存到指定的NFS挂载目录下。
步骤5)的详细步骤包括:
5.1)进入initramfs目录/opt/initramfs下;
5.2)将initramfs目录打包成cpio格式再压缩为gzip格式的目标操作***镜像文件。
本发明还提供一种无盘***的启动方法,实施步骤包括:
S1)针对无盘***计算机客户端,预先采用本发明前述无盘***的镜像文件制作方法制作好目标操作***镜像文件;
S2)在无盘服务器上配置好TFTP服务、DHCP服务、NFS服务,并将无盘***计算机客户端的目标操作***镜像文件放置在TFTP服务目录下,并在NFS挂载目录下配置好无盘***配置程序dlfa_config.sh,以及用于被无盘***配置程序dlfa_config.sh获取的***软件、应用软件、设备驱动程序;
S3)给无盘***计算机客户端加电,使得无盘***计算机客户端以PXE网卡作为启动项从无盘服务器的DHCP服务获取IP地址信息,然后从TFTP服务加载目标操作***镜像文件完成内核启动,并在完成内核启动后挂载NFS服务,并从NFS挂载目录下下载并执行无盘***配置程序dlfa_config.sh,通过无盘***配置程序dlfa_config.sh获取***软件、应用软件、设备驱动程序,最终完成目标操作***的启动。
和现有技术相比,本发明具有下述优点:
1、本发明对传统的PXE+DHCP+TFTP无盘启动方法进行改进,采用PXE+DHCP+TFTP+NFS的无盘启动方法,将目标操作***在内核启动时不需要可在目标操作***内核成功启动后再加载的一部分文件打包存放在NFS服务器上,待目标操作***启动后挂载NFS,再解压到无盘客户端***中,这样可以极大的减少镜像文件的大小,解决传统的无盘计算机启动方法的镜像定制困难、维护复杂的问题。
2、本发明还实现了将***日志保存在NFS服务器上,当***发生宕机时,将内核信息转储到NFS服务器上,用于分析***崩溃原因,方便调试***故障,解决传统的基于PXE+DHCP+TFTP方式实现的无盘计算机启动方法的***故障时的***日志和内核信息丢失等一系列的问题。
附图说明
图1为本发明实施例镜像文件制作方法的基本流程示意图。
图2为本发明实施例中初始化程序init的基本流程示意图。
图3为本发明实施例中启动脚本setup的基本流程示意图。
图4为本发明实施例中kdump工具配置的基本流程示意图。
具体实施方式
如图1所示,本实施例无盘***的镜像文件制作方法的实施步骤包括:
1)针对无盘***计算机客户端的目标操作***,配置用于实现内核启动及挂载NFS服务的内核基本模块,配置完成后进行模块编译生成内核及内核模块;
2)根据内核及内核模块生成目标操作***的根文件***目录,在根文件***目录中增加内核启动后的执行脚本,执行脚本被配置为挂载NFS服务、以及从NFS服务器中获取***软件、应用软件、驱动程序;
3)在根文件***目录中增加kdump工具,且将kdump工具配置为将***宕机日志存储到指定的NFS服务器上,将kdump工具配置为开机启动kdump服务;
4)在根文件***目录中建立***日志服务脚本将***日志重定向到NFS服务器;
5)将目标操作***的根文件***目录打包生成目标操作***镜像。
根据目标操作***的计算机体系结构,如果是Intel的CPU,从内核源码arch/x86/configs目录下找一个与目标***最接近的配置文件,拷贝到内核源码根目录下,命名为.config,执行make menuconfig,即可选择作为内核基本模块的内核模块。本实施例中,步骤1)中用于实现内核启动及挂载NFS服务的内核基本模块包括:
目标CPU体系结构支持模块(例如,CONFIG_X86_64、CONFIG_64BIT、CONFIG_X86等配置选项表示支持x86-64平台)、
网络驱动模块、
通信协议模块(例如,CONFIG_INET及其子选项TCP/IP协议)、
文件***镜像支持模块(例如,Linux内核配置选项CONFIG_BLK_DEV_RAM、CONFIG_BLK_DEV_INITRD、CONFIG_BLK_DEV_RAM_COUNT、CONFIG_BLK_DEV_RAM_SIZE、CONFIG_BLK_DEV_RAM_BLOCKSIZE表示支持内存盘RamDisk文件***镜像)、
内存文件***(RamFS)模块(例如,配置选项CONFIG_TMPFS)、
网络文件***(NFS)模块、
配置内核切换功能模块(例如,配置选项CONFIG_KEXEC,支持内核转储kdump功能)。
本实施例中,步骤2)中的根文件***为initramfs文件***。
根文件***主要有initrd和initramfs两种类型。initrd是在***启动时用ramdisk作为实际根文件***, ramdisk是一种基于内存的虚拟文件***,它是一个模拟的磁盘文件,需要先格式化为 ext2文件***,其大小固定,后期不能修改。initramfs是在***启动时用ramfs作为根文件***,ramfs是在内核2.4才支持的一种内存文件***,处于虚拟文件***(VFS)层,而不像ramdisk那样基于虚拟在内存中的其他文件***(如,ex2fs)。initramfs是一个压缩过的cpio文件,不需要格式化,使用灵活,只要内存足够,可以创建多个,在创建时可以指定其最大能使用的内存大小,缺省情况下,Ramfs被限制最多可使用内存大小的一半。
本实施例中,采用initramfs文件***具有下述优点:1)定制目标操作***initramfs根文件***时,生成的镜像文件比较小。传统的方法将所有文件全部写入initrd镜像文件,生成的initrd镜像文件比较大,由于initrd对大小有限制,因此只能将有限的***服务和应用软件写入initrd镜像文件中。虽然initramfs对大小没有限制,但我们只将***运行所必须的***软件、库文件写入initramfs镜像文件,其余的文件按照linux目录树规则进行打包,保存在NFS目录下,当***启动后,再将这些文件解压缩,并启动相应的服务。而这种方式生成的initramfs镜像文件大小比较小,仅需要几十兆或上百兆。2)***启动速度快。由于定制的initramfs镜像文件比较小,***引导时网络传输文件所需要的时间短,网络压力减小,同时initramfs镜像文件解压到内存的速度比较快。3)可扩展性好。基本initramfs镜像定制完成后,当有新的***服务或软件需要扩展时,只需要将其按照FHS(Filesystem Hierarchy Standard)标准进行打包保存在相应目录,并将需要在开机解压的包在$nfs_mnt/pkg/pkg_list中注册即可实现开机解压得到需要的***服务或软件。对于不需要的***服务或软件只需在pkg_list中加个”#”号注释,开机启动时相应的***服务或软件就不会解压和启动。非常的方便,且不会影响基础的initramfs镜像文件。
本实施例中,步骤2)中生成无盘***的根文件***的详细步骤包括:
2.1)创建基于initramfs文件***的根文件***目录/opt/initramfs;
2.2)将linux***自带的根文件***镜像解压到根文件***目录/opt/initramfs下;每个有盘linux***的/boot目录下都有一个根文件***,其名字各个***不一样,如rhel5.x的根文件***名为initrd-<kernel_version>.img,rhel6和rhel7的根文件***名为initramfs-<kernel_version>.img。***自带的根文件***通常是一个最基本的根文件***,文件大小只有二十几兆,功能齐全,但不能直接用于无盘***,经过修改后可用做无盘***的根文件***;
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所示,步骤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引导真正的文件***。
如图2所示,初始化程序init被内核调用后,依次执行前述6个步骤,且在步骤(4)挂载tmpfs文件***到/sysroot时,还包括判断是否挂载tmpfs文件***成功的步骤,仅仅在挂载tmpfs文件***成功时才能够继续向下执行。.
如图3所示,步骤2.6)中的启动脚本setup被配置为包括下述执行步骤:
2.6.1)设置内核文件大小;本实施例中具体设置内核文件大小为无限制unlimited;
2.6.2)执行DHCP客户端动态获取IP地址;
2.6.3)从/proc/cmdline中获取内核传来的参数,包括:nfs_src表示NFS服务器IP地址及其共享目录,nfs_dist表示NFS在无盘客户端的挂载目录,并根据内核传来的参数挂载NFS文件***;本实施例中,内核传来的参数在无盘服务器的PXE配置文件/tftpboot/pxelinux.cfg/default中配置,形如:nfs_src=<nfs_server_ip>:<nfs_directory> nfs_dist=<nfs_mount_point>,<nfs_server_ip>表示NFS服务器的IP地址,<nfs_directory>表示NFS服务器IP地址及其共享目录,<nfs_mount_point>表示NFS在无盘客户端的挂载目录,在目标操作***上通过读取/proc/cmdline可获取内核传来的参数;
2.6.4)根据网卡的MAC地址查主机配置文件<nfs_mount_point>/etc/hostconfig以获取MAC地址以及主机名,主机配置文件包含MAC地址、主机名、IP地址三种信息,如果主机配置文件中存在相应的MAC地址则获取其主机名hn,并将主机名设置为hn,如果不存在这个MAC地址,则按照指定规则在主机配置文件中注册一个新的主机hn_new,将主机名设置为hn_new;
2.6.5)调用执行无盘***配置程序dlfa_config.sh。
本实施例中,主机配置文件hostconfig文件的格式为:
MAC地址 主机名 IP地址
如果主机配置文件中存在相应的MAC地址则获取其主机名hn,并将主机名设置为hn,如果不存在这个MAC地址,则按照一定的规则在主机配置文件中注册一个新的主机hn_new,将主机名设置为hn_new。调用nfs加载目录下的***配置程序dlfs_config.sh,从<nfs_mount_point>/pkg目录下拷贝或解压缩***库文件、驱动程序、各类服务软件等,加载或启动***服务、应用程序等。在NFS服务器<nfs_mount_point>/pkg/目录下有个软件包列表文件pkg_list,而dlfs_config.sh程序是根据pkg_list来解压缩NFS服务器下的驱动程序、应用软件等压缩包到目标操作***上的根目录下,所有的压缩包都是以根为起始路径。软件包列表文件pkg_list的每一行代表位于pkg目录下的一个文件名,行首的#号表示注释,例如:可以将infiniband网络驱动、lustre文件***等其他软件或依赖软件按照linux目录树规则分别进行打包保存在NFS共享目录的pkg目录下,将打包的文件名保存在软件包列表文件pkg_list中。对于***不再需要的软件包可在pkg_list文件中将其对应的软件包名称前面加上#号,***启动进行软件包解压缩时是不会解压到目标操作***中的,且不会影响initramfs镜像文件。
kdump是一种先进的基于kexec的内核崩溃转储机制。kdump需要2个不同目的的内核:生产内核和捕获内核。生产内核是捕获内核服务的对像。在生产内核崩溃时由kexec启动捕获内核,与ramfs一起构建一个微环境,对生产内核下的内存信息进行收集和转储。生产内核保留了一部分内存空间(通常128MB或256MB)给捕获内核启动用,因为使用kexec来启动捕获内核,绕过了BIOS,所以生产内核的内存信息得以保留。捕获内核将生产内核内存中的所有运行状态和数据信息,包括CPU寄存器、堆栈数据等,收集到一个dump core文件中,通过分析dump core文件有助于确定***崩溃确切原因。无盘客户端上不可永久性存储文件,必须将dump core文件转储到NFS服务器上。在***崩溃时,由kexec启动一个捕获内核,并由捕获内核负责把生产内核的内存中所有运行状态和数据信息,包括CPU寄存器、堆栈数据等,收集并转储到指定目录下(NFS的挂载目录),以便之后分析***崩溃原因。
为了使***能在宕机时将内存中的所有运行状态和数据信息转储到nfs服务器指定的目录下,如图4所示,步骤3)的详细步骤包括:
3.1)在根文件***目录中安装kdump工具kexec-tools(用于启动一个捕获内核的kexec命令在kexec-tools软件中);
3.2)将kdump配置文件/etc/kdump.conf的nfs、path、core_collector几个参数前面的注释符号“#”去掉,并将参数nfs的服务器地址修改为NFS服务器的IP地址、导出目录修改为NFS服务器上的指定目录,从而将kdump工具配置为将***宕机日志存储到指定的NFS服务器上;nfs、path、core_collector几个参数前面的注释符号“#”去掉后内容如下:
nfs my.server.com:/export/tmp
path /var/crash
core_collector makedumpfile –l –message-level 1 –d 31
本实施例中,还需要修改具体的参数值,将“my.server.com”修改为无盘服务器的IP地址,将/export/tmp修改为NFS的导出目录,path参数表示dump core文件的输出目录,core_collector为收集日期方法的相关参数。
3.3)修改kdump基本功能文件/usr/lib/dracut/modules.d/99kdumpbase/kdump.sh,在其中添加一行参数HOST_NAME并指定为无盘计算机客户端的主机名,将保存core文件的目录名由“主机IP地址-日期”修改为“主机名/日期”实现无盘计算机客户端的***宕机日志分开存储;本实施例中,具体是指修改kdump基本功能文件/usr/lib/dracut/modules.d/99kdumpbase/kdump.sh,在HOST_IP=$_host”的下一行添加一行:
HOST_NAME=$(hostname)
$(hostname)表示获取无盘客户机的主机名
将$HOST_IP-$DATEDIR修改为$HOST_NAME/$DATEDIR,即将保存core文件的目录名由“主机IP地址-日期”修改为“主机名/日期”。因为kdump.sh程序在生成kdump镜像时会使用HOST_IP,而所有主机的值都是“127.0.0.1”,对于多台无盘客户端都使用同一个地址是不便于区分是哪台机器发生了故障,为此将HOST_IP改为HOST_NAME,即用主机名作为无盘客户端保存core文件的目录名,以***发生崩溃的时间作为子目录名,这样同一个无盘客户机转储的core文件。
3.4)修改生成kdump镜像的脚本文件/usr/lib/kdump/kdump-lib-initramfs.sh,在其中添加一行参数HOST_NAME并指定为无盘计算机客户端的主机名,将保存core文件的目录名由“主机IP地址-日期”修改为“主机名/日期”实现无盘计算机客户端的***宕机日志分开存储;
3.5)在无盘***配置程序dlfs_config.sh文件中配置开机启动kdump服务,开机启动kdump时***会检测/boot目录下是否存在kdump的镜像文件,如果没有kdump镜像则自动生成一个新的kdump镜像,文件名为initramfs-`uname –r`kdump.img,如果存在,检测kdump的镜像是否与kdump的配置文件/etc/kdump.conf中的配置是否一致,如果一致则直接使用该镜像文件,如果不一致,将根据配置文件/etc/kdump.conf自动生成kdump镜像文件。
本实施例中,步骤4)中在根文件***目录中建立***日志服务脚本将***日志重定向到NFS服务器时,***日志服务脚本由无盘***配置程序dlfs_config.sh进行调用,且***日志服务脚本被配置为包括下述执行步骤:
4.1)停止rsyslog服务;
4.2)在NFS挂载目录/home/IOSYS下创建***日志存储目录/home/IOSYS/log/;
4.3)将***默认日志目录/var/log目录链接到***日志存储目录/home/IOSYS/log/下以主机名和日期级成的目录名下;本实施例中,以主机名和日期级成的目录名具体为<host_name>_$(date +%Y%m%d),其中<host_name>为主机名,Date表示日期,%Y表示年份,%m表示月份,%d表示日期;
4.4)重启rsyslog服务,使得日志会保存到指定的NFS挂载目录下。
***日志默认保存在/var/log/message中,对于无盘客户端没有存储介质,***一旦宕机,***日志将会丢失。本实施例中使用了NFS文件***,通过将/var/log目录做一个符号链接到NFS挂载的目录/home/IOSYS/log/<hostname>_<date>,将日志保存在NFS服务器上,便于以后分析日志。由于***日志需要使用了NFS服务器的存储介质,因此,rsyslog服务必须在挂载NFS文件***后启动。
本实施例中,步骤5)的详细步骤包括:
5.1)进入initramfs目录/opt/initramfs下;
5.2)将initramfs目录打包成cpio格式再压缩为gzip格式的目标操作***镜像文件。本实施例中生成镜像文件命令具体为:find . |cpio –H newc –o |gzip >../initramfs.cpio.gz,用于将其打包成cpio格式(initramfs.cpio)再压缩为gzip格式生成initramfs.cpio.gz。
本实施例还提供一种无盘***的启动方法,实施步骤包括:
S1)针对无盘***计算机客户端,预先采用前述无盘***的镜像文件制作方法制作好目标操作***镜像文件;
S2)在无盘服务器上配置好TFTP服务、DHCP服务、NFS服务,并将无盘***计算机客户端的目标操作***镜像文件放置在TFTP服务目录(通常为/tftpboot)下,并在NFS挂载目录下配置好无盘***配置程序dlfa_config.sh,以及用于被无盘***配置程序dlfa_config.sh获取的***软件、应用软件、设备驱动程序;
S3)给无盘***计算机客户端加电,使得无盘***计算机客户端以PXE网卡作为启动项从无盘服务器的DHCP服务获取IP地址信息,然后从TFTP服务加载目标操作***镜像文件完成内核启动,并在完成内核启动后挂载NFS服务,并从NFS挂载目录下下载并执行无盘***配置程序dlfa_config.sh,通过无盘***配置程序dlfa_config.sh获取***软件、应用软件、设备驱动程序,最终完成目标操作***的启动。
本实施例中无盘***计算机客户端以PXE网卡作为启动项时,配置PXE网络启动配置文件/tftpboot/pxelinux.cfg/default如下:
Default dlfs
Label dlfs
kernel vmlinuz-<kernel_version>
append initrd=initramfs-<kernel_version>.cpio.gz nfs_src=<nfs_server_ip>:<nfs_dir> nfs_dist=<nfs_mount_point> crashkernel=256M
其中, default表示默认使用dlfs标签。dlfs是标签名,也可指定其他名字。kernel指定指定要启动的内核文件。initrd指定第五步生成的initramfs镜像文件。crashkernel指定为kdump预留的内存大小,一般可设置为128M,256M或auto。nfs_src,nfs_dist是第2.6步中setup脚本需要根据这两个参数在无盘客户端上挂载NFS文件***。给无盘客户端加电,在BIOS中配置支持PXE的网卡为第一启动选项,通过网络引导拉核启动无盘客户端,访问服务器上的DHCP服务,为无盘计算机获取一个IP地址;执行文件下载命令,利用操作***层通信协议访问服务器上的文件传输服务,从远程服务器上下载目标操作***内核和镜像至无盘客户端的内存文件***中,启动目标操作***,完成无盘计算机的启动。
需要说明的是,类似“启动脚本setup”、“无盘***配置程序dlfa_config.sh”等这种中文名称附带的英文名称的称谓而言,其英文名称仅仅为一个实现特例,在具体实现的时候可以根据需要修改为其他不同的英文名称。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种无盘***的镜像文件制作方法,其特征在于,实施步骤包括:
1)针对无盘***计算机客户端的目标操作***,配置用于实现内核启动及挂载NFS服务的内核基本模块,配置完成后进行模块编译生成内核及内核模块;所述用于实现内核启动及挂载NFS服务的内核基本模块为:目标CPU体系结构支持模块、网络驱动模块、通信协议模块、文件***镜像支持模块、内存文件***模块、网络文件***模块以及配置内核切换功能模块;
2)根据内核及内核模块生成目标操作***的根文件***目录,在所述根文件***目录中增加内核启动后的执行脚本,所述执行脚本被配置为挂载NFS服务、以及从NFS服务器中获取目标操作***在内核启动时不需要可在目标操作***内核成功启动后再加载的***软件、应用软件、驱动程序的文件,以使得待目标操作***启动后挂载NFS再解压到无盘客户端***中;
3)在所述根文件***目录中增加kdump工具,且将kdump工具配置为将***宕机日志存储到指定的NFS服务器上,将kdump工具配置为开机启动kdump服务;
4)在所述根文件***目录中建立***日志服务脚本将***日志重定向到NFS服务器;
5)将目标操作***的根文件***目录打包生成目标操作***镜像。
2.根据权利要求1所述的无盘***的镜像文件制作方法,其特征在于,步骤2)中的根文件***为initramfs文件***。
3.根据权利要求2所述的无盘***的镜像文件制作方法,其特征在于,步骤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服务器中获取***软件、应用软件、设备驱动程序。
4.根据权利要求3所述的无盘***的镜像文件制作方法,其特征在于,步骤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引导真正的文件***。
5.根据权利要求3所述的无盘***的镜像文件制作方法,其特征在于,步骤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)根据网卡的MAC地址查主机配置文件<nfs_mount_point>/etc/hostconfig以获取MAC地址以及主机名,主机配置文件包含MAC地址、主机名、IP地址三种信息,如果主机配置文件中存在相应的MAC地址则获取其主机名hn,并将主机名设置为hn,如果不存在这个MAC地址,则按照指定规则在主机配置文件中注册一个新的主机hn_new,将主机名设置为hn_new;
2.6.5)调用执行无盘***配置程序dlfa_config.sh。
6.根据权利要求1所述的无盘***的镜像文件制作方法,其特征在于,步骤3)的详细步骤包括:
3.1)在所述根文件***目录中安装kdump工具kexec-tools;
3.2)将kdump配置文件/etc/kdump.conf的nfs、path、core_collector 几个参数前面的注释符号“#”去掉,并将参数nfs的服务器地址修改为NFS服务器的IP地址、导出目录修改为NFS服务器上的指定目录,从而将kdump工具配置为将***宕机日志存储到指定的NFS服务器上;
3.3)修改kdump基本功能文件,在其中添加一行参数HOST_NAME并指定为无盘计算机客户端的主机名,将保存core文件的目录名由“主机IP地址-日期”修改为“主机名/日期”实现无盘计算机客户端的***宕机日志分开存储;
3.4)修改生成kdump镜像的脚本文件,在其中添加一行参数HOST_NAME并指定为无盘计算机客户端的主机名,将保存core文件的目录名由“主机IP地址-日期”修改为“主机名/日期”实现无盘计算机客户端的***宕机日志分开存储;
3.5)在无盘***配置程序dlfs_config.sh文件中配置开机启动kdump服务,开机启动kdump时***会检测/boot目录下是否存在kdump的镜像文件,如果没有kdump镜像则自动生成一个新的kdump镜像,文件名为initramfs-`uname –r`kdump.img,如果存在,检测kdump的镜像是否与kdump的配置文件/etc/kdump.conf中的配置是否一致,如果一致则直接使用该镜像文件,如果不一致,将根据配置文件/etc/kdump.conf自动生成kdump镜像文件。
7.根据权利要求1所述的无盘***的镜像文件制作方法,其特征在于,步骤4)中在所述根文件***目录中建立***日志服务脚本将***日志重定向到NFS服务器时,***日志服务脚本由无盘***配置程序dlfs_config.sh进行调用,且***日志服务脚本被配置为包括下述执行步骤:
4.1)停止rsyslog服务;
4.2)在NFS挂载目录/home/IOSYS下创建***日志存储目录/home/IOSYS/log/;
4.3)将***默认日志目录/var/log目录链接到***日志存储目录/home/IOSYS/log/下以主机名和日期级成的目录名下;
4.4)重启rsyslog服务,使得日志会保存到指定的NFS挂载目录下。
8.根据权利要求1所述的无盘***的镜像文件制作方法,其特征在于,步骤5)的详细步骤包括:
5.1)进入initramfs目录/opt/initramfs下;
5.2)将initramfs目录打包成cpio格式再压缩为gzip格式的目标操作***镜像文件。
9.一种无盘***的启动方法,其特征在于实施步骤包括:
S1)针对无盘***计算机客户端,预先采用权利要求1~8中任意一项所述无盘***的镜像文件制作方法制作好目标操作***镜像文件;
S2)在无盘服务器上配置好TFTP服务、DHCP服务、NFS服务,并将无盘***计算机客户端的目标操作***镜像文件放置在TFTP服务目录下,并在NFS挂载目录下配置好无盘***配置程序dlfa_config.sh,以及用于被无盘***配置程序dlfa_config.sh获取的***软件、应用软件、设备驱动程序;
S3)给无盘***计算机客户端加电,使得无盘***计算机客户端以PXE网卡作为启动项从无盘服务器的DHCP服务获取IP地址信息,然后从TFTP服务加载目标操作***镜像文件完成内核启动,并在完成内核启动后挂载NFS服务,并从NFS挂载目录下下载并执行无盘***配置程序dlfa_config.sh,通过无盘***配置程序dlfa_config.sh获取***软件、应用软件、设备驱动程序,最终完成目标操作***的启动。
CN201910049443.2A 2019-01-18 2019-01-18 一种无盘***的镜像文件制作及启动方法 Active CN109783117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910049443.2A CN109783117B (zh) 2019-01-18 2019-01-18 一种无盘***的镜像文件制作及启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910049443.2A CN109783117B (zh) 2019-01-18 2019-01-18 一种无盘***的镜像文件制作及启动方法

Publications (2)

Publication Number Publication Date
CN109783117A CN109783117A (zh) 2019-05-21
CN109783117B true CN109783117B (zh) 2023-01-10

Family

ID=66501080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910049443.2A Active CN109783117B (zh) 2019-01-18 2019-01-18 一种无盘***的镜像文件制作及启动方法

Country Status (1)

Country Link
CN (1) CN109783117B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569229B (zh) * 2019-08-16 2022-07-12 苏州浪潮智能科技有限公司 一种用于处理数据库运行产生的数据的方法和装置
CN112445495A (zh) * 2019-08-28 2021-03-05 曙光信息产业(北京)有限公司 一种高性能计算集群节点的镜像与恢复方法
CN110708376B (zh) * 2019-09-30 2020-10-30 广州竞远安全技术股份有限公司 一种海量压缩文件的处理转发***及方法
CN110888650B (zh) * 2019-10-12 2022-08-16 苏州浪潮智能科技有限公司 一种操作***镜像的定制方法及***
CN111104129B (zh) * 2019-12-11 2023-02-28 秒针信息技术有限公司 内存操作***制作方法、装置、电子设备和存储介质
CN111068335B (zh) * 2019-12-25 2023-12-15 成都吉胜科技有限责任公司 一种用于电竞赛事的反外挂方法及***
CN111221542B (zh) * 2019-12-27 2023-10-20 福建升腾资讯有限公司 一种***镜像的生成安装方法、装置、***、设备和介质
CN111625513A (zh) * 2020-05-11 2020-09-04 紫光云技术有限公司 一种文件存储网关的实现方法
CN111596930B (zh) * 2020-05-22 2023-03-28 青岛创新奇智科技集团股份有限公司 根文件***镜像制作方法、装置、存储介质及嵌入式设备
CN112083944A (zh) * 2020-09-11 2020-12-15 深圳爱克莱特科技股份有限公司 Linux设备的***升级装置及方法
CN112130930B (zh) * 2020-09-23 2023-08-22 平安科技(深圳)有限公司 镜像***生成方法、装置、设备及介质
CN112579256B (zh) * 2020-12-14 2022-04-19 上海英方软件股份有限公司 一种linux迁移方法及装置
CN112817611B (zh) * 2021-01-29 2023-08-29 深圳忆联信息***有限公司 ***测试异常环境的拦截方法、装置、计算机设备及存储介质
CN113064602A (zh) * 2021-03-08 2021-07-02 山东英信计算机技术有限公司 一种基于nfs灌装操作***的方法、***及介质
CN113791925B (zh) * 2021-08-24 2023-06-27 杭州迪普科技股份有限公司 内存映象文件的存储方法及装置
CN114327503B (zh) * 2021-11-29 2023-11-14 苏州浪潮智能科技有限公司 一种涉密计算机的操作***自动灌装方法、***及装置
CN113867746B (zh) * 2021-12-06 2022-04-01 杭州优云科技有限公司 一种裸金属服务器部署方法
CN114860350B (zh) * 2022-07-07 2022-10-28 杭州子默网络科技有限公司 基于云无盘树状镜像的数据处理的方法及装置
CN115509563B (zh) * 2022-11-15 2023-02-28 济南浪潮数据技术有限公司 镜像文件制作方法、装置、设备及介质
CN116991544B (zh) * 2023-09-26 2024-01-26 苏州元脑智能科技有限公司 Cxl设备的模拟方法、装置、电子设备和客户机

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049160A1 (en) * 2007-08-14 2009-02-19 Dell Products L.P. System and Method for Deployment of a Software Image
CN101520736A (zh) * 2009-04-17 2009-09-02 武汉烽火网络有限责任公司 一种动态裁剪嵌入式设备镜像功能模块的方法
CN102510394A (zh) * 2011-10-20 2012-06-20 浪潮电子信息产业股份有限公司 一种linux集群下无人值守无光盘介质的安装方法
CN103885833B (zh) * 2012-12-20 2017-06-20 ***通信集团公司 一种资源管理方法和***
CN103888491A (zh) * 2012-12-20 2014-06-25 鸿富锦精密工业(深圳)有限公司 无盘工作站启动***及方法
CN104199694A (zh) * 2014-08-27 2014-12-10 山东超越数控电子有限公司 一种基于pxe的操作***自动安装与恢复方法
CN105117268B (zh) * 2015-09-24 2019-01-11 上海爱数信息技术股份有限公司 一种实现linux***自动安装的安装方法及***
CN105260229A (zh) * 2015-10-28 2016-01-20 北京百度网讯科技有限公司 拉取虚拟机镜像文件的方法和装置
CN106776128B (zh) * 2016-11-29 2020-04-21 邦彦技术股份有限公司 一种保障Linux操作***正常启动的方法
CN106789314A (zh) * 2016-12-30 2017-05-31 郑州云海信息技术有限公司 一种基于ARM平台PXE Server大量部署Linux方法
CN107220095A (zh) * 2017-06-29 2017-09-29 郑州云海信息技术有限公司 一种无人值守安装Vmware操作***的方法
CN107329802B (zh) * 2017-06-30 2020-08-25 联想(北京)有限公司 一种虚拟机创建方法及电子设备
CN108008962A (zh) * 2017-12-12 2018-05-08 郑州云海信息技术有限公司 一种Linux***下PXE服务器的配置方法和***
CN108614718B (zh) * 2018-04-25 2019-09-13 新华三信息技术有限公司 启动操作***的方法、装置和实现装置

Also Published As

Publication number Publication date
CN109783117A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
CN109783117B (zh) 一种无盘***的镜像文件制作及启动方法
CN108958927B (zh) 容器应用的部署方法、装置、计算机设备和存储介质
CN106557384B (zh) 基于Linux的数据处理方法、装置和***
US9940330B2 (en) System and method for converting a physical disk to a virtual disk
US8417796B2 (en) System and method for transferring a computing environment between computers of dissimilar configurations
US8364638B2 (en) Automated filer technique for use in virtualized appliances and applications
US6269442B1 (en) Apparatus and method for on-line replacement of a running program code and data using checkpoints
US20030195951A1 (en) Method and system to dynamically detect, download and install drivers from an online service
CN101896889B (zh) 无线终端、无线终端的非易失存储器、诊断信息的可靠性保存方法
US20170329593A1 (en) INPLACE RETURN TO FACTORY INSTALL (iRTFI)
KR20050061378A (ko) 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법
CN110825392A (zh) 操作***的定制方法、批量部署方法以及批量部署***
CN107870769A (zh) 操作***的安装方法及装置
US10795769B2 (en) Facilitating the identification of a service operating system when a main operating system fails
CN114185866B (zh) 数据本地存储控制方法及医疗数据存储***
CN114756290A (zh) 一种操作***安装方法、设备及可读存储介质
CN112286543B (zh) 一种应用服务部署方法及装置
CN116954752A (zh) 一种差异化***配置、加载方法、装置及计算机设备
CN111104129B (zh) 内存操作***制作方法、装置、电子设备和存储介质
CN115357198B (zh) 存储卷的挂载方法及装置、存储介质及电子设备
CN109471665B (zh) 一种自动安装Windows操作***的方法
CN116244186A (zh) 一种操作***测试管理方法、装置与计算设备
CN115617479A (zh) Bios日志存储方法及计算设备
CN114116030A (zh) 操作***的运行方法、装置、电子设备、存储介质
US11861340B2 (en) Universal return to factory image process

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant