一种支持多架构终端的IDV系统初始化部署方法与流程

文档序号:24305417发布日期:2021-03-17 00:58阅读:428来源:国知局
一种支持多架构终端的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-clientsystemarchitecturetypeoption中给的参数来确定云终端的cpu架构并给与不同的初始化文件路径。

附图说明

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

图1为filesystem.squashfs制作方法;

图2为部署方法;

图3为生成的pxe初始化目录树;

图4为支持多架构cpu的云终端初始化的dhcp配置。

具体实施方式

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

根据图1、图2、图3、图4所示,一种支持多架构终端的idv系统初始化部署方法,包括以下步骤:

步骤一:idv服务器安装时构建pxe目录,目录结构如图1所示,其中,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管理员不需要关心终端的型号和批次,在分配云桌面时,也不用关心所要部署到的终端的具体情况,大大降低了管理难度,提高了运营效率。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备执行本发明各个实施例所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1