CN112130917A - 远程加载系统镜像方法 - Google Patents

远程加载系统镜像方法 Download PDF

Info

Publication number
CN112130917A
CN112130917A CN202011003738.5A CN202011003738A CN112130917A CN 112130917 A CN112130917 A CN 112130917A CN 202011003738 A CN202011003738 A CN 202011003738A CN 112130917 A CN112130917 A CN 112130917A
Authority
CN
China
Prior art keywords
file
server
isolinux
kernel
pxe
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.)
Pending
Application number
CN202011003738.5A
Other languages
English (en)
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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202011003738.5A priority Critical patent/CN112130917A/zh
Publication of CN112130917A publication Critical patent/CN112130917A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种远程加载系统镜像方法,属于大数据技术领域。本发明实现的远程加载系统镜像方法通过PXE完成无盘启动,支持在内存中加载操作系统的功能。由于不同服务器操作系统各不相同,本发明远程加载系统镜像方法能够实现定制加载客户机各自服务器系统镜像的功能。

Description

远程加载系统镜像方法
技术领域
本发明属于大数据技术领域,具体涉及一种远程加载系统镜像方法。
背景技术
在远程加载系统镜像技术中,主要通过PXE(Preboot eXecution Environment,预启动执行环境)来实现。预启动执行环境也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
其中,1)PXE服务可以提供远程加载系统镜像,对于远程加载的操作系统镜像只能支持本地安装系统,缺少在内存中加载操作系统的功能;2)由于不同服务器的操作系统各不相同,因此pxe服务缺少定制加载服务器系统镜像的功能。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何涉及在服务器内存中远程加载指定的操作系统镜像方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种远程加载系统镜像方法,该方法中,电脑网卡的PXE客户机从DHCP获取启动信息,然后从TFTP服务器下载引导文件进行启动,并通过NFS服务器传输系统镜像,最后进入LiveCD系统。
优选地,该方法具体包括以下步骤:
步骤1、PXE客户机发出DHCP请求,向DHCP服务器申请IP地址;
步骤2、DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件;
步骤3、PXE客户机向TFTP服务器发起获取引导程序文件的请求;
步骤4、TFTP服务器响应PXE客户机的请求,将配置文件传输给PXE客户机;
步骤5、NFS服务器根据配置文件中设置的路径,将系统镜像传输给PXE客户机;
步骤6、PXE客户机通过网络来启动LiveCD系统。
优选地,其中,步骤6的LiveCD系统的启动流程为:
步骤61、BIOS读取CD-ROM中的BootRecord Volume Descriptor,定位boot.cat文件的地址,读取该boot.cat文件中的Boot Entry,进一步定位isolinux.bin文件的地址,接着将该isolinux.bin文件加载到内存并执行;
步骤62、isolinux.bin文件在光盘中查找isolinux.cfg文件,读取该isolinux.cfg文件,获得启动配置,该isolinux.cfg文件记录了采用何种启动界面,有图形界面或字符界面两种,其中在图形界面下,进一步加载vesamenu.c32文件和splash.jpg文件,完成图形界面的显示,在用户选定一个启动项之后,isolinux.bin文件按照isolinux.cfg文件中的配置,查找相应的kernel文件,将其加载到内存中,将相应的参数传递给kernel并执行;
步骤63、kernel进行内核初始化,并将initrd.lz解压到/dev/ram中,并将其挂载为rootfs,执行其中的init脚本;
步骤64、init脚本解析isolinux.bin文件传递进来的内核参数,接着加载核心驱动,挂载运行时的文件系统,在参数解析阶段如果识别出boot=casper,init脚本执行/scripts/casper脚本,通过调用其中mountroot()函数,实现squashfs的解压和挂载rootfs,最后init脚本执行/bin/run-init程序,该/bin/run-init程序完成rootfs的切换,并执行/sbin/init程序,init程序根据/etc/rc.d中的配置,进一步初始化用户环境,包括图形界面、网络。
优选地,步骤64中,初始化用户环境时,包括对图形界面的初始化。
优选地,步骤64中,初始化用户环境时,包括对网络的初始化。
优选地,在步骤1之前,还包括以下步骤:部署DHCP服务器。
优选地,在步骤1之前,还包括以下步骤:部署TFTP服务器。
优选地,在步骤1之前,还包括以下步骤:部署NFS服务器。
优选地,在步骤1之前,还包括以下步骤:配置liveCD镜像。
优选地,在步骤1之前,还包括以下步骤:完成定向配置。
(三)有益效果
本发明实现的远程加载系统镜像方法通过PXE完成无盘启动,支持在内存中加载操作系统的功能。由于不同服务器操作系统各不相同,本发明远程加载系统镜像方法能够实现定制加载客户机各自服务器系统镜像的功能。
附图说明
图1为本发明的远程加载操作系统镜像方法流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
PXE服务器需要提供的服务涉及如下内容:
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。DHCP服务用于在OS安装过程中进行IP地址的分配。
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP服务用于OS安装过程中请求下载系统引导文件。
NFS(Network File System,网络文件系统)是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS用语OS安装过程中传输系统镜像。
如图1所示,本发明提供的一种远程加载系统镜像方法(其中涉及PXE服务器和客户机的工作过程)包括以下步骤:
步骤1、PXE客户机发出DHCP请求,向DHCP服务器申请IP地址;
步骤2、DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件;
步骤3、PXE客户机向TFTP服务器发起获取引导程序文件的请求;
步骤4、TFTP服务器响应PXE客户机的请求,将配置文件传输给PXE客户机;
步骤5、NFS服务器根据配置文件中设置的路径,将系统镜像传输给PXE客户机;
步骤6、PXE客户机通过网络来启动LiveCD系统。
简单来说,就是电脑网卡的PXE从DHCP获取启动信息,然后从TFTP服务器下载引导文件进行启动,并通过NFS服务器传输系统镜像,最后便可进入LiveCD系统。
其中,步骤6的LiveCD系统的启动流程为:
步骤61、BIOS读取CD-ROM中的BootRecord Volume Descriptor,定位boot.cat文件的地址,读取该boot.cat文件中的Boot Entry,进一步定位isolinux.bin文件的地址,接着,将该isolinux.bin文件加载到内存并执行;
步骤62、isolinux.bin文件在光盘中查找isolinux.cfg文件,读取该isolinux.cfg文件,获得启动配置,该isolinux.cfg文件记录了采用何种启动界面,有图形界面或字符界面两种,其中在图形界面下,进一步加载vesamenu.c32文件和splash.jpg文件,完成图形界面的显示,在用户选定一个启动项之后,isolinux.bin文件按照isolinux.cfg文件中的配置(通过PXE启动则为pxelinux.cfg),查找相应的kernel文件,将其加载到内存中,将相应的参数传递给kernel并执行;
步骤63、kernel进行内核初始化,并将initrd.lz解压到/dev/ram中,并将其挂载为rootfs,执行其中的/init脚本;
步骤64、init脚本解析isolinux.bin文件传递进来的内核参数,接着加载核心驱动,挂载运行时的文件系统,在参数解析阶段如果识别出boot=casper,init脚本执行/scripts/casper脚本,主要调用其中mountroot()函数,实现squashfs的解压和挂载rootfs,最后init脚本执行/bin/run-init程序,该程序完成rootfs的切换,并执行/sbin/init程序,init程序根据/etc/rc.d中的配置,进一步初始化用户环境,包括图形界面、网络等。
至此,LiveCD系统启动结束。
在以上流程中,首先要做如下准备工作(该准备工作的操作步骤为Ubuntu部署PXE的示例,其他操作系统(如CentOS等)所用的指令会有差别,包括安装指令、安装包的名称等,但总体思路大致一致,默认管理员权限):
第一步:部署DHCP服务器
1.安装DHCP服务器软件;
2.编辑dhcpd.conf配置文件;
进入DHCP的配置文件内,用vim、nano(或任意文本编辑器)打开并进行如下修改(IP地址按实际修改,测试IP为:192.168.3.11);
启动DHCP服务,允许服务开机自动启动;
第二步:部署TFTP服务器
1.安装TFTP服务器软件;
2.编辑tftp配置文件;其中,将disable的yes改为no;
3.启动TFTP服务,允许服务开机自动启动。
第三步:部署NFS服务器
1.安装NFS服务器软件;
2.创建NFS服务器路径,示例路径为/nfs;
3.编辑配置文件,并将上一步创建的NFS服务器路径添加进文件;
4.启动NFS服务,允许服务开机自动启动。
第四步:配置liveCD镜像
1.将引导文件、配置文件拷贝到tftpboot目录(位置根据系统的不同有变化)
包括:pxelinux.0、ldlinux.c32、libcom32.c32、libmenu.c32、libutil.c32、vesamenu.c32;
示例中pxelinux.0的路径为/usr/lib/PXELINUX,其余配置文件的路径为/usr/lib/syslinux。
2.将内核文件拷贝到tftpboot目录;
内核文件一般在系统镜像里,不同的系统镜像可能有不同的文件名,示例使用的镜像为Ubuntu 19.04,内核名为vmlinuz,初始镜像为initrd。
3.创建pxelinux.cfg目录;
4.将该系统镜像目录下的isolinux.cfg复制到pxelinux.cfg目录下,并改名为default(default为默认名称,如需定向配置,可将文件名改为客户机的IP地址的十六进制,如192.168.3.13=C0A8030D);
5.修改default配置文件。
第五步:完成定向配置
第一至四步已实现通过PXE完成无盘启动,此步骤将实现指定客户机启动指定系统镜像。
1.修改DHCP配置文件;
通过MAC地址,为指定客户机分配固定IP地址:
2.修改pxelinux.cfg内配置文件。
将指定系统镜像的pxe配置文件放入pxelinux.cfg文件夹中,并改名为指定客户机IP地址的十六进制名,例如上一步已设置客户机IP地址为192.168.3.13,则需将配置文件名改为C0A8030D(192=C0,168=A8,3=03,13=0D)。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种远程加载系统镜像方法,其特征在于,该方法中,电脑网卡的PXE客户机从DHCP获取启动信息,然后从TFTP服务器下载引导文件进行启动,并通过NFS服务器传输系统镜像,最后进入LiveCD系统。
2.如权利要求1所述的方法,其特征在于,该方法具体包括以下步骤:
步骤1、PXE客户机发出DHCP请求,向DHCP服务器申请IP地址;
步骤2、DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件;
步骤3、PXE客户机向TFTP服务器发起获取引导程序文件的请求;
步骤4、TFTP服务器响应PXE客户机的请求,将配置文件传输给PXE客户机;
步骤5、NFS服务器根据配置文件中设置的路径,将系统镜像传输给PXE客户机;
步骤6、PXE客户机通过网络来启动LiveCD系统。
3.如权利要求2所述的方法,其特征在于,其中,步骤6的LiveCD系统的启动流程为:
步骤61、BIOS读取CD-ROM中的BootRecord Volume Descriptor,定位boot.cat文件的地址,读取该boot.cat文件中的Boot Entry,进一步定位isolinux.bin文件的地址,接着将该isolinux.bin文件加载到内存并执行;
步骤62、isolinux.bin文件在光盘中查找isolinux.cfg文件,读取该isolinux.cfg文件,获得启动配置,该isolinux.cfg文件记录了采用何种启动界面,有图形界面或字符界面两种,其中在图形界面下,进一步加载vesamenu.c32文件和splash.jpg文件,完成图形界面的显示,在用户选定一个启动项之后,isolinux.bin文件按照isolinux.cfg文件中的配置,查找相应的kernel文件,将其加载到内存中,将相应的参数传递给kernel并执行;
步骤63、kernel进行内核初始化,并将initrd.lz解压到/dev/ram中,并将其挂载为rootfs,执行其中的init脚本;
步骤64、init脚本解析isolinux.bin文件传递进来的内核参数,接着加载核心驱动,挂载运行时的文件系统,在参数解析阶段如果识别出boot=casper,init脚本执行/scripts/casper脚本,通过调用其中mountroot()函数,实现squashfs的解压和挂载rootfs,最后init脚本执行/bin/run-init程序,该/bin/run-init程序完成rootfs的切换,并执行/sbin/init程序,init程序根据/etc/rc.d中的配置,进一步初始化用户环境,包括图形界面、网络。
4.如权利要求3所述的方法,其特征在于,步骤64中,初始化用户环境时,包括对图形界面的初始化。
5.如权利要求4所述的方法,其特征在于,步骤64中,初始化用户环境时,包括对网络的初始化。
6.如权利要求2所述的方法,其特征在于,在步骤1之前,还包括以下步骤:部署DHCP服务器。
7.如权利要求2所述的方法,其特征在于,在步骤1之前,还包括以下步骤:部署TFTP服务器。
8.如权利要求2所述的方法,其特征在于,在步骤1之前,还包括以下步骤:部署NFS服务器。
9.如权利要求2所述的方法,其特征在于,在步骤1之前,还包括以下步骤:配置liveCD镜像。
10.如权利要求2所述的方法,其特征在于,在步骤1之前,还包括以下步骤:完成定向配置。
CN202011003738.5A 2020-09-22 2020-09-22 远程加载系统镜像方法 Pending CN112130917A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011003738.5A CN112130917A (zh) 2020-09-22 2020-09-22 远程加载系统镜像方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011003738.5A CN112130917A (zh) 2020-09-22 2020-09-22 远程加载系统镜像方法

Publications (1)

Publication Number Publication Date
CN112130917A true CN112130917A (zh) 2020-12-25

Family

ID=73842427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011003738.5A Pending CN112130917A (zh) 2020-09-22 2020-09-22 远程加载系统镜像方法

Country Status (1)

Country Link
CN (1) CN112130917A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988252A (zh) * 2021-04-26 2021-06-18 统信软件技术有限公司 一种操作系统启动方法及计算设备
CN113064602A (zh) * 2021-03-08 2021-07-02 山东英信计算机技术有限公司 一种基于nfs灌装操作系统的方法、系统及介质
CN113407201A (zh) * 2021-06-24 2021-09-17 浪潮电子信息产业股份有限公司 一种系统安装方法及装置
CN114063912A (zh) * 2021-10-31 2022-02-18 郑州云海信息技术有限公司 一种raid配置的方法、系统、设备及存储介质
CN114237724A (zh) * 2021-11-24 2022-03-25 珠海全视通信息技术有限公司 驱动动态加载方法
CN115033299A (zh) * 2022-07-06 2022-09-09 福州创实讯联信息技术有限公司 一种生产测试系统启动的方法与终端

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744695A (zh) * 2013-12-25 2014-04-23 新浪网技术(中国)有限公司 基于pxe的操作系统远程安装方法和系统
CN104932919A (zh) * 2015-06-04 2015-09-23 浪潮电子信息产业股份有限公司 一种Linux无人值守安装实现方法
CN106250174A (zh) * 2016-07-21 2016-12-21 浪潮(北京)电子信息产业有限公司 基于pxe技术批量安装linux系统的方法及系统
CN106452890A (zh) * 2016-10-25 2017-02-22 广东浪潮大数据研究有限公司 一种基于Ubuntu系统下自动配置PXE服务器方法
CN107220095A (zh) * 2017-06-29 2017-09-29 郑州云海信息技术有限公司 一种无人值守安装Vmware操作系统的方法
CN108769267A (zh) * 2018-07-12 2018-11-06 成都傲梅科技有限公司 一种通过基于pxe协议的网络启动方式来引导iso和wim镜像文件的方法
CN109445803A (zh) * 2018-10-17 2019-03-08 郑州云海信息技术有限公司 一种自动化快速部署安装k-ux操作系统的方法
CN111475210A (zh) * 2020-03-20 2020-07-31 烽火通信科技股份有限公司 一种内存无盘引导启动pxe的方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744695A (zh) * 2013-12-25 2014-04-23 新浪网技术(中国)有限公司 基于pxe的操作系统远程安装方法和系统
CN104932919A (zh) * 2015-06-04 2015-09-23 浪潮电子信息产业股份有限公司 一种Linux无人值守安装实现方法
CN106250174A (zh) * 2016-07-21 2016-12-21 浪潮(北京)电子信息产业有限公司 基于pxe技术批量安装linux系统的方法及系统
CN106452890A (zh) * 2016-10-25 2017-02-22 广东浪潮大数据研究有限公司 一种基于Ubuntu系统下自动配置PXE服务器方法
CN107220095A (zh) * 2017-06-29 2017-09-29 郑州云海信息技术有限公司 一种无人值守安装Vmware操作系统的方法
CN108769267A (zh) * 2018-07-12 2018-11-06 成都傲梅科技有限公司 一种通过基于pxe协议的网络启动方式来引导iso和wim镜像文件的方法
CN109445803A (zh) * 2018-10-17 2019-03-08 郑州云海信息技术有限公司 一种自动化快速部署安装k-ux操作系统的方法
CN111475210A (zh) * 2020-03-20 2020-07-31 烽火通信科技股份有限公司 一种内存无盘引导启动pxe的方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064602A (zh) * 2021-03-08 2021-07-02 山东英信计算机技术有限公司 一种基于nfs灌装操作系统的方法、系统及介质
CN112988252A (zh) * 2021-04-26 2021-06-18 统信软件技术有限公司 一种操作系统启动方法及计算设备
CN113434205A (zh) * 2021-04-26 2021-09-24 统信软件技术有限公司 一种操作系统启动方法及计算设备
CN113434205B (zh) * 2021-04-26 2024-02-23 统信软件技术有限公司 一种操作系统启动方法及计算设备
CN113407201A (zh) * 2021-06-24 2021-09-17 浪潮电子信息产业股份有限公司 一种系统安装方法及装置
CN114063912A (zh) * 2021-10-31 2022-02-18 郑州云海信息技术有限公司 一种raid配置的方法、系统、设备及存储介质
CN114063912B (zh) * 2021-10-31 2024-04-16 郑州云海信息技术有限公司 一种raid配置的方法、系统、设备及存储介质
CN114237724A (zh) * 2021-11-24 2022-03-25 珠海全视通信息技术有限公司 驱动动态加载方法
CN114237724B (zh) * 2021-11-24 2024-03-12 珠海全视通信息技术有限公司 驱动动态加载方法
CN115033299A (zh) * 2022-07-06 2022-09-09 福州创实讯联信息技术有限公司 一种生产测试系统启动的方法与终端

Similar Documents

Publication Publication Date Title
CN112130917A (zh) 远程加载系统镜像方法
US7546450B2 (en) Method and apparatus for operating system deployment
US11556325B2 (en) Software installation onto a client using existing resources
US7650490B2 (en) Embedded device for implementing a boot process on a host
US7802084B2 (en) System and method for management and installation of operating system images for computers
US7222229B1 (en) System for automated boot from disk image
US6684327B1 (en) Extensible, flexible, memory efficient technique for network boot without special DHCP/PXE hardware
KR100553921B1 (ko) 크기면에서 응용 프로그램 성장을 수용하는 드라이브 분할기법을 이용하는 어플라이언스 서버
JP3759001B2 (ja) ネットワーク・ブートを指定変更する方法
US7159106B2 (en) Information handling system manufacture method and system
EP3518099B1 (en) Installation of operating system
US20030195995A1 (en) System and method for custom installation of an operating system on a remote client
US20060080522A1 (en) Method, apparatus, and system for facilitating secure computing
CN101344852A (zh) 一种部署windows企业版操作系统的方法、装置和系统
WO2004025486A2 (en) Use of off-motherboard resources in a computer system
US20060271665A1 (en) IP telephone auto configuration system and method
CN113741914B (zh) 操作系统安装机制
CN111857956A (zh) 虚拟机启动方法及设备
CN112486508B (zh) 一种操作系统的部署方法、服务器及计算机存储介质
CN109445803A (zh) 一种自动化快速部署安装k-ux操作系统的方法
CN115033299A (zh) 一种生产测试系统启动的方法与终端
CN110830550A (zh) 计算机集群及其无盘启动方法
CN111614488A (zh) 一种部署异构超算平台的方法及装置
CN112463173A (zh) 裸机服务器远程安装定制化web应用的方法、装置及介质
US9910678B1 (en) NetBoot for installation of a non-native OS on a target host

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