CN112506614B - 一种支持多架构终端的idv系统初始化部署方法 - Google Patents

一种支持多架构终端的idv系统初始化部署方法 Download PDF

Info

Publication number
CN112506614B
CN112506614B CN202011444068.0A CN202011444068A CN112506614B CN 112506614 B CN112506614 B CN 112506614B CN 202011444068 A CN202011444068 A CN 202011444068A CN 112506614 B CN112506614 B CN 112506614B
Authority
CN
China
Prior art keywords
file
architecture
idv
directory
optical disc
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
CN202011444068.0A
Other languages
English (en)
Other versions
CN112506614A (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.)
Xi'an Leifeng Electronic Technology Co ltd
Original Assignee
Xi'an Leifeng Electronic Technology Co ltd
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 Xi'an Leifeng Electronic Technology Co ltd filed Critical Xi'an Leifeng Electronic Technology Co ltd
Priority to CN202011444068.0A priority Critical patent/CN112506614B/zh
Publication of CN112506614A publication Critical patent/CN112506614A/zh
Application granted granted Critical
Publication of CN112506614B publication Critical patent/CN112506614B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

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

Abstract

本发明涉及IDV云桌面系统,具体涉及一种支持多架构终端的IDV系统初始化部署方法,包括:步骤一、抽取filesystem.squashfs文件;步骤二、将CPU架构拷贝到squashfs‑root文件系统目录的/usr/bin目录下;步骤三、切换squashfs‑root文件系统并更新软件包;步骤四、退出squashfs‑root,删除拷贝的qemu‑<arch>‑static工具,使用sqaushfs‑tools重新打包文件系统并生成新的filesystem.squashfs。本发明的目的在于解决现有技术中对终端的体系架构有要求的现状,极大提高了IDV云桌面体系的灵活性和适用性。

Description

一种支持多架构终端的IDV系统初始化部署方法
技术领域
本发明涉及IDV云桌面系统,具体涉及一种支持多架构终端的IDV系统初始化部署方法。
背景技术
传统IDV云桌面系统仅考虑同一体系架构的终端,要求在整套系统中,所有终端均使用同种架构的CPU(通常是x86_64),运行和终端架构相同的云桌面。在当前国产芯片使用逐渐增多的情况下,诸多arm架构和mips架构的主机很快占领市场,若企业购入的不同批次终端是不同架构的,就势必要安装不同的IDV系统,运行不同的桌面,增加企业的IT管理负担和难度。
发明内容
本发明的目的在于提供一种支持多架构终端的IDV系统初始化部署方法,用以解决现有技术中对终端的体系架构有要求的现状,极大提高了IDV云桌面体系的灵活性和适用性。
为了达到上述目的,本发明提供如下技术方案:一种支持多架构终端的IDV系统初始化部署方法,用于IDV云桌面构建,所述初始化需要的文件包括grub启动文件和grub.cfg配置文件、vmlinuz内核和initrd.img文件、filesystem.squashfs操作系统文件,其中内核和initrd.img来自原始安装光盘;其特征在于,包括如下步骤:
步骤一、将安装光盘的filesystem.squashfs抽取出来,并使用squashfs-tools工具解压;
步骤二、通过qemu提供的qemu-<arch>-static工具将CPU架构拷贝到解压filesystem.squashfs生成的squashfs-root文件系统目录的/usr/bin目录下;
步骤三、使用chroot命令切换到squashfs-root文件系统;在squashfs-root文件系统中更新软件包;此时服务器的binfmt_misc驱动可使不同架构的squashfs-root文件系统能够正常运行;
步骤四、退出squashfs-root后,删除拷贝的qemu-<arch>-static工具,使用sqaushfs-tools重新打包文件系统并生成新的filesystem.squashfs。
优选的,所述grub启动文件的生成方式是,在制作squashfs-root文件系统中,用grub-mknetdir命令生成对应的grub目录;需要注意的是,必须指定subdir参数并使其具有操作系统和CPU架构的差异化目录名;
生成的结果拷贝到服务器的tftp目录下,并配置DHCPD配置文件中相应架构的启动文件为该目录下的efi文件或pxelinux.0文件。
优选的,所述grub.cfg文件的生成方式为手动创建,并且所述grub.cfg文件生成在grub目录下。
优选的,还包括云终端初始化光盘,所述云终端初始化光盘的生成方式为,抽取所述安装光盘中的所有文件,并将所述filesystem.squashfs文件替换为所述新的filesystem.squahfs文件;再使用genisoimage命令重新压缩并制成初始光盘。
与现有技术相比本发明的有益效果在于:首先,本发明通过云终端上的程序处理,屏蔽CPU架构差别,使不同CPU架构的云终端可以运行基于同一个母盘镜像的云桌面;其次,还通过构建交叉环境来修改操作系统安装光盘的live文件系统,生成用于云终端初始化的PXE文件和云终端初始化光盘以支持云终端的初始化部署。基于以上,具体来说,本发明中的支持多架构终端的IDV系统能对于同一个云桌面或基于同一个镜像的桌面,可运行在不同架构的idv云终端上;在一套idv系统中,允许同时使用不同架构的云终端接入同一个服务器,服务器同时提供其PXE部署能力;服务器支持通过指定的操作系统安装光盘制作其对应的云终端PXE环境及云终端安装光盘。通过云终端操作系统底层,屏蔽硬件架构差异,使任意架构的云桌面可运行在任意架构的终端CPU上;云终端和服务器交互的所有业务,皆与系统底层架构解耦,令不同架构的云终端皆可接入同一服务器,并在操作和使用上并没有差异;服务器可通过解压修改指定安装光盘中的live文件系统,生成对应操作系统在对应架构平台的PXE安装系统或安装光盘;PXE系统通过DHCP协议中对CPU架构的识别分别走不同的初始化路径从而支持不同平台的终端同时部署。在云桌面的配置信息中,注明其运行的CPU架构,以便云终端在运行该虚拟机时,可选择不同的运行方式及程序参数,利用qemu支持多架构CPU虚拟化的特点,在运行虚拟机前,根据其CPU架构配置信息,选择不同的虚拟化程序来启动虚拟机。云终端和服务器的业务逻辑和CPU架构解耦,其PXE初始化流程也配置为多CPU架构通用的配置参数,具体包括:服务器对每个云桌面的控制配置行为,均交由云终端来执行,服务器不必关心其操作细节,由云终端来确认应该如何进行具体操作,并返回操作结果;云终端的PXE初始化过程中,需要服务器提供DHCP,在服务器的DHCP中,通过DHCP请求中的93-Client System Architecture Type Option中给的参数来确定云终端的CPU架构并给与不同的初始化文件路径。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为filesystem.squashfs制作方法;
图2为部署方法;
图3为生成的PXE初始化目录树;
图4为支持多架构CPU的云终端初始化的DHCP配置。
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据图1、图2、图3、图4所示,一种支持多架构终端的IDV系统初始化部署方法,包括以下步骤:
步骤一:IDV服务器安装时构建PXE目录,目录结构如图3所示,其中,XXX-efi目录可使用grub-mknetdir生成,该命令生成一个用于PXE启动的uefi固件;内核和initrd.img是相应平台终端操作系统的内核和initrd文件;filesystem.squashfs是事先创建的系统初始化文件系统,要能够支持启动后自动拉起系统安装过程。
步骤二:IDV服务器配置DHCP服务,DHCP配置中,通过请求中的(93)client-system-architecture的数值来判断终端的CPU体系架构,从而指定相应体系架构的efi文件;同时,DHCP的nextserver指定为本机。
步骤三:制作filesystem.squashfs是通过上传指定的操作系统光盘镜像,修改其镜像内的live文件系统后再压缩而成。filesystem.squashfs的创建方式为,用unsquasfs工具解压原光盘中的filesystem.squashfs文件,然后使用qemu-user-static工具中相应架构的虚拟化工具以及服务器操作系统的chroot工具,操作目标文件系统,完成软件包的安装或卸载以及系统配置,然后再使用mksquashfs工具重新压缩为filesystem.squashfs文件。
另外,还应提供脚本或程序将指定操作系统光盘镜像修改为idv云终端安装镜像。该光盘的生成方式为,替换原光盘中的filesystem.squashfs为事先创建的系统初始化文件系统,然后使用genisoimage工具生成光盘映像文件。
上述步骤中,终端操作系统中的虚拟化程序根据云桌面的配置文件识别该桌面内操作系统的体系架构。虚拟机管理程序根据桌面的体系架构,调用不同的虚拟化程序,并传入相应的参数运行。
在创建母盘镜像时,与指定的安装光盘对应,设定镜像的CPU架构。终端在制作母盘镜像、创建、运行桌面均根据设定的CPU架构,选择相应的运行程序和参数。qemu程序包包括了在同一CPU架构平台上运行不同架构虚拟机的程序,如qemu-system-x86、qemu-system-aarch64等等。读取母盘镜像的CPU架构设置,就可以选定使用哪个qemu程序来运行。而每种架构下均有不同的运行参数要指定,比如运行ARM架构的虚拟机,需要指定其固件文件,这些是由终端上的管理程序来控制的,所需的文件也是在初始化部署终端时打包进终端的文件系统的。
而终端和服务器的交互,服务器对终端、桌面、镜像的管理动作都与架构无关。这就实现了在同一个服务器上接入不同架构CPU的终端,且任意架构的云桌面,都可以在所有终端上运行。IT管理员不需要关心终端的型号和批次,在分配云桌面时,也不用关心所要部署到的终端的具体情况,大大降低了管理难度,提高了运营效率。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备执行本发明各个实施例所述的方法。

Claims (4)

1.一种支持多架构终端的IDV系统初始化部署方法,用于IDV云桌面构建,所述初始化需要的文件包括grub启动文件和grub.cfg配置文件、vmlinuz内核和initrd.img文件、filesystem.squashfs操作系统文件,其中内核和initrd.img来自原始安装光盘;其特征在于,包括如下步骤:
步骤一、将安装光盘的filesystem.squashfs抽取出来,并使用squashfs-tools工具解压;
步骤二、通过qemu提供的qemu-<arch>-static工具将CPU架构拷贝到解压filesystem.squashfs生成的squashfs-root文件系统目录的/usr/bin目录下;
步骤三、使用chroot命令切换到squashfs-root文件系统;在squashfs-root文件系统中更新软件包;
步骤四、退出squashfs-root后,删除拷贝的qemu-<arch>-static工具,使用sqaushfs-tools重新打包文件系统并生成新的filesystem.squashfs文件;
部署方法还包括:
IDV服务器安装时构建PXE目录,XXX-efi目录用grub-mknetdir生成,该命令生成一个用于PXE启动的uefi固件;内核和initrd.img是相应平台终端操作系统的内核和initrd文件;filesystem.squashfs是事先创建的系统初始化文件系统,能够支持启动后自动拉起系统安装过程;
IDV服务器配置DHCP服务,DHCP配置中,通过请求中的(93)client-system-architecture的数值来判断终端的CPU体系架构,从而指定相应体系架构的efi文件;同时,DHCP的nextserver指定为本机;
制作filesystem.squashfs是通过上传指定的操作系统光盘镜像,修改其镜像内的live文件系统后再压缩而成;filesystem.squashfs的创建方式为,用unsquasfs工具解压原光盘中的filesystem.squashfs文件,然后使用qemu-user-static工具中相应架构的虚拟化工具以及服务器操作系统的chroot工具,操作目标文件系统,完成软件包的安装或卸载以及系统配置,然后再使用mksquashfs工具重新压缩为filesystem.squashfs文件。
2.根据权利要求1所述的一种支持多架构终端的IDV系统初始化部署方法,其特征在于:所述grub启动文件的生成方式是,在制作squashfs-root文件系统中,用grub-mknetdir命令生成对应的grub目录;
生成的结果拷贝到服务器的tftp目录下,并配置DHCPD配置文件中相应架构的启动文件为该目录下的efi文件或pxelinux.0文件。
3.根据权利要求1所述的一种支持多架构终端的IDV系统初始化部署方法,其特征在于:所述grub.cfg文件的生成方式为手动创建,并且所述grub.cfg文件生成在grub目录下。
4.根据权利要求1所述的一种支持多架构终端的IDV系统初始化部署方法,其特征在于:还包括云终端初始化光盘,所述云终端初始化光盘的生成方式为,抽取所述安装光盘中的所有文件,并将所述filesystem.squashfs文件替换为所述新的filesystem.squahfs文件;再使用genisoimage命令重新压缩并制成初始光盘。
CN202011444068.0A 2020-12-08 2020-12-08 一种支持多架构终端的idv系统初始化部署方法 Active CN112506614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011444068.0A CN112506614B (zh) 2020-12-08 2020-12-08 一种支持多架构终端的idv系统初始化部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011444068.0A CN112506614B (zh) 2020-12-08 2020-12-08 一种支持多架构终端的idv系统初始化部署方法

Publications (2)

Publication Number Publication Date
CN112506614A CN112506614A (zh) 2021-03-16
CN112506614B true CN112506614B (zh) 2023-02-24

Family

ID=74971062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011444068.0A Active CN112506614B (zh) 2020-12-08 2020-12-08 一种支持多架构终端的idv系统初始化部署方法

Country Status (1)

Country Link
CN (1) CN112506614B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567051A (zh) * 2011-12-14 2012-07-11 中标软件有限公司 一种制备龙芯平台图形化安装系统的方法及装置
CN103106091A (zh) * 2013-01-31 2013-05-15 深圳市开立科技有限公司 一种基于可移动存储介质的操作系统的启动系统和方法
CN107480008A (zh) * 2017-08-18 2017-12-15 郑州云海信息技术有限公司 一种批量拷贝操作系统的方法及装置
CN108520180A (zh) * 2018-03-01 2018-09-11 中国科学院信息工程研究所 一种基于多维度的固件Web漏洞检测方法及系统
CN111416853A (zh) * 2020-03-16 2020-07-14 西安雷风电子科技有限公司 一种idv云桌面远程开机的方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590667B2 (en) * 2003-01-30 2009-09-15 Hitachi, Ltd. File replication method for distributed file systems
US9910664B2 (en) * 2015-05-04 2018-03-06 American Megatrends, Inc. System and method of online firmware update for baseboard management controller (BMC) devices
US10127049B2 (en) * 2016-05-09 2018-11-13 International Business Machines Corporation Kernel-integrated instance-specific operational resources with virtualization
US20170329593A1 (en) * 2016-05-16 2017-11-16 Netapp, Inc. INPLACE RETURN TO FACTORY INSTALL (iRTFI)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567051A (zh) * 2011-12-14 2012-07-11 中标软件有限公司 一种制备龙芯平台图形化安装系统的方法及装置
CN103106091A (zh) * 2013-01-31 2013-05-15 深圳市开立科技有限公司 一种基于可移动存储介质的操作系统的启动系统和方法
CN107480008A (zh) * 2017-08-18 2017-12-15 郑州云海信息技术有限公司 一种批量拷贝操作系统的方法及装置
CN108520180A (zh) * 2018-03-01 2018-09-11 中国科学院信息工程研究所 一种基于多维度的固件Web漏洞检测方法及系统
CN111416853A (zh) * 2020-03-16 2020-07-14 西安雷风电子科技有限公司 一种idv云桌面远程开机的方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Ubuntu定制化系统ISO制作https://blog.51cto.com/shibingran/2162181;在别处V;《51CTO博客》;20180820;全文 *
如何制作Live CD;李晨光;《铁路计算机应用》;20100520(第05期);全文 *
定制Linux LiveCD的研究与实现;戚惠丹等;《计算机测量与控制》;20161025(第10期);全文 *
混合架构的可视化数据调度检索模型;孙周军等;《计算机系统应用》;20191215(第12期);全文 *

Also Published As

Publication number Publication date
CN112506614A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
US11449354B2 (en) Apparatus, systems, and methods for composable distributed computing
US9519472B2 (en) Automation of virtual machine installation by splitting an installation into a minimal installation and customization
US20210216360A1 (en) Virtual machine migration method and apparatus
US9940330B2 (en) System and method for converting a physical disk to a virtual disk
KR100553921B1 (ko) 크기면에서 응용 프로그램 성장을 수용하는 드라이브 분할기법을 이용하는 어플라이언스 서버
US10203946B2 (en) Retiring target machines by a provisioning server
US7330967B1 (en) System and method for injecting drivers and setup information into pre-created images for image-based provisioning
US10649757B1 (en) Automating application of software patches to a server having a virtualization layer
US11403146B2 (en) Method, apparatus, and server for managing image across cloud servers
US9542174B2 (en) Deployment of software images with distinct configuration logic
US8166477B1 (en) System and method for restoration of an execution environment from hibernation into a virtual or physical machine
US20140282548A1 (en) System and method to reconfigure a virtual machine image suitable for cloud deployment
US20130007435A1 (en) Server management with dynamic construction of pre-boot images
US7159106B2 (en) Information handling system manufacture method and system
CN109840096B (zh) 操作系统的安装方法及装置
CN103746833A (zh) 基于pxe的raid自动配置方法和系统
US9141400B2 (en) Technique for deploying operating systems in a virtualized environment
US20230025529A1 (en) Apparatus and method for managing a distributed system with container image manifest content
CN113391828B (zh) 实现系统盘raid划分并安装操作系统的方法和系统
CN112130917A (zh) 远程加载系统镜像方法
CN114756290B (zh) 一种操作系统安装方法、设备及可读存储介质
CN113821220A (zh) 一种linux操作系统的安装方法和装置
CN112506614B (zh) 一种支持多架构终端的idv系统初始化部署方法
US11295018B1 (en) File system modification
US11106380B2 (en) Migration of storage for workloads between desktop and cloud environments

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method for initializing and deploying IDV systems that support multiple architecture terminals

Granted publication date: 20230224

Pledgee: Bank of China Limited Xi'an High tech Development Zone Sub branch

Pledgor: XI'AN LEIFENG ELECTRONIC TECHNOLOGY Co.,Ltd.

Registration number: Y2024980010090