一种基于读写分离的云终端处理方法及系统与流程

文档序号:15930742发布日期:2018-11-14 01:36阅读:140来源:国知局

本发明属于云终端处理的技术领域,具体涉及一种基于读写分离的云终端处理方法及系统。

背景技术

当前云计算领域发展迅速,云桌面领域将计算机桌面进行集中管理,提升了计算设备的管理和维护效率,极大降低了运维的成本。作为面向使用者的云终端,具备了硬件成本低,能耗低,便于集中管理等优点。云桌面即集中管理的计算机桌面环境,使用者通过云终端访问计算机桌面环境,管理者通过云桌面管理平台管理云桌面。

云终端本地的操作系统称为host操作系统,使用者通过云终端访问虚拟环境下的操作系统称为guest系统。云终端本地的host操作系统,提供给使用者访问guest系统的方法,也提供给云管理系统进行集中管理的接口。所以云终端本地的host操作系统是云终端的基础设施,对于整个云桌面环境是不可或缺且非常重要的。根据云桌面的提供商不同,可能采用不同的云终端本地的host系统。

云终端一般不同于普通的pc设备,为了降低云终端的硬件成本,提升云终端的可靠性,云终端都使用定制的硬件。普通pc设备也可作为云终端使用,但是相对来说,使用普通pc设备硬件成本相对大幅增加。出于性能和体积的考虑,云终端一般会使用固态硬盘(ssd)作为存储设备,但是不排除使用机械硬盘,或者固态硬盘和机械硬盘同时使用的情况,云终端使用的主板一般是定制的,缩小了占用的体积,云终端使用的cpu,可以是普通的x86架构cpu,或者是arm架构的cpu,云终端使用的内存,根据主板使用的芯片,使用对应型号和接口的内存条。

对于固态硬盘来说,flash芯片的特点决定了其寿命。由于flash芯片存在最大的擦除次数限制,固态硬盘的达到其写入次数限制后,即达到了固态硬盘的使用寿命。当前固态硬盘的主控芯片会对固态硬盘的数据写入进行分担,以延长固态硬盘的使用寿命,从测试数据上来看,读取数据的速度比写入数据的速度更快,对于机械硬盘来说,写入擦除的次数不是影响其寿命的关键,但是读取数据的速度,比写入数据的速度还是要快上不少。

现有技术中,liveos一般指存在于cd/usb/dvd等存储介质上的linux操作系统,因为文件系统的镜像存在于/liveos文件夹下,所以称之为liveos系统。live系统的特点上无需安装,直接通过live系统存在的介质启动计算机设备即可。一般用于该live系统的使用体验,以及计算机设备的应急恢复启动;liveos系统镜像本身是只读的不可改变的,但是liveos会在启动后,在计算机设备的内存ram里面,建立一个可写的overlay区域,一般是0.5g大小,这个大小可以通过kernel命令行参数进行调整。这个可写区域受限于内存ram的大小,而且不是持久化的存储(即计算机设备断电就会失去所有的写入内容)。liveos提供的方案,一般都受限于其所存在的存储介质,或者是计算机设备的内存大小。而且liveos的存储介质读取速度,受限于接口的速度,读取速度和硬盘设备的读取速度有较大差异,存储介质接口的读写速度弱于硬盘设备的读写速度;持久化存储受限且难于设置,不适合长期运行。

现有技术中,读写分离也可以通过设置操作分区系统的挂载点是否为只读属性来达成,根据linux系统的挂载的可读写属性来考虑的,linux系统有不同的文件系统的挂载点,比如根目录挂载点,home目录挂载点/home等,通过将不同的挂载点,设置为只读挂载,或者是可写挂载,区分只读和可写区域。这样实现读写分离的效果,有明显的缺点,即必须事先划分只读区域和可写区域的挂载点,划分完成后,系统即无法对只读区域的文件内容进行修改。如果必须修改只读区域的文件内容,必须修改只读区域为可写属性,并且重新挂载为可写区域,并在修改完成后,再次设置该区域为可写区域并且再次重新挂载为只读区域。该过程可能涉及到多次系统的重启。操作过程复杂,会影响到系统的正常运行,且在只读状态下,影响系统正常写入文件的需求。

现有技术中,还可通过squashfs构建linux可读写文件系统,基于squashfs只读镜像,建立可写文件,并在initrd加载期间,作为loop设备挂载,并使用device-mapper的snapshot机制,实现在原有只读镜像的基础上,实现对系统的可写,通过device-mapper的snapshot机制,通过建立loop文件,作为其可写部分,该方案实现较为复杂,由于其可写区域是单个文件,受限于文件的大小,可写区域的部分有限,且其通过loop设备进行挂载,增加了设备加载的层数,使得写入性能受到影响。



技术实现要素:

本发明克服现有技术存在的不足,所要解决的技术问题为:提供一种能够实现操作系统层面的读写分离,且无需更改读写区域的配置,不影响云终端运行,且基于读写分离的云终端处理方法及系统。

为了解决上述技术问题,本发明采用的技术方案为:一种基于读写分离的云终端处理方法,包括:s101、对存储设备进行分区处理,得到rootfs镜像和boot分区镜像;s102、建立overlay分区;s103、将系统镜像处理后的rootfs镜像与overlay分区进行重新组合,得到读写分离的文件系统;s104、对读写分离的文件系统进行挂载。

优选地,所述对存储设备进行分区处理,具体包括:对基于mbr分区表的存储设备进行分区处理,得到boot分区和root分区;对基于gpt分区表的存储设备进行分区处理,得到esp分区、boot分区和root分区;对root分区进行系统镜像处理,得到rootfs镜像,还包括:对rootfs镜像进行压缩处理,形成单个镜像文件。

优选地,所述将系统镜像处理后的rootfs镜像与overlay分区进行重新组合,具体包括:将rootfs镜像与overlay分区进行分层处理,得到lower路径、work路径、upper路径;所述lower路径存储rootfs镜像,所述work路径、upper路径共同存储overlay分区;将lower路径、work路径、upper路径叠加;读取文件时读取rootfs镜像,写入文件时写入overlay分区中。

相应地,一种基于读写分离的云终端处理系统,包括:分区单元:用于对存储设备进行分区处理,得到rootfs镜像和boot分区镜像;建立单元:用于建立overlay分区;组合单元:将系统镜像处理后的rootfs镜像与overlay分区进行重新组合,得到读写分离的文件系统;挂载单元:用于对读写分离的文件系统进行挂载。

优选地,所述分区单元包括:第一分区单元:用于对基于mbr分区表的存储设备进行分区处理,得到boot分区和root分区;第二分区单元:用于对基于gpt分区表的存储设备进行分区处理,得到esp分区、boot分区和root分区;镜像单元:用于对root分区进行系统镜像处理,得到rootfs镜像。

优选地,所述分区单元还包括:压缩单元:用于对rootfs镜像进行压缩处理,形成单个镜像文件。

优选地,所述组合单元包括:分层单元:用于将rootfs镜像与overlay分区进行分层处理,得到lower路径、work路径、upper路径;所述lower路径存储rootfs镜像,所述work路径、upper路径共同存储overlay分区;叠加单元:用于将lower路径、work路径、upper路径叠加;读取文件时读取rootfs镜像,写入文件时写入overlay分区中。

本发明与现有技术相比具有以下有益效果:

1、本发明提供的一种基于读写分离的云终端处理方法及系统,提升了系统的可靠性,降低运维成本,能够使云终端实现操作系统层面的读写分离(包括只读部分和可写区域),且无需更改读写区域的配置,不影响系统正常写入文件的需求,以及影响云终端host系统的运行,使云终端配备的机械硬盘部分,作为可写区域,整体降低运维成本;实现读写分离,使得云终端host系统本身的可靠性增强,在可写区域出现错误的情况下,可以实现快速恢复。提出并实现了读写分离且可扩展的方案,提升固态存储设备的使用寿命。

2、本发明包括第一分区单元和第二分区单元,充分提高固态存储设备只读取提升固态存储设备的优势,使云终端配备的固态硬盘部分,作为只读区域,提升固态硬盘的寿命和读取速度。

3、本发明中的镜像处理单元包括压缩单元和加密单元,不但去除了文件存储中存在的空隙(预占用空间),而且可以选择压缩算法进行进一步的压缩,减小root分区的整体大小,并且压缩形成的单个镜像文件,种类单一,易于再次分发,得到的只读镜像,易于实现读写分离,可选择的对压缩处理后的镜像文件进行加密,加强root分区镜像的安全性;具有占用空间较小,二是文件数量、种类少,易于再次分发,便于读写分离的优点。

4、本发明中的组合单元包括分层单元和叠加单元,在固态存储设备上,既使用了固态存储设备的高效读取性能,又提升了固态存储设备的使用寿命。

附图说明

下面结合附图对本发明做进一步详细的说明;

图1为本发明实施例一提供的基于读写分离的文件系统创建流程图;

图2为本发明实施例一提供的基于读写分离的文件系统架构示意图;

图3为本发明实施例二提供的基于读写分离的文件系统架构示意图;

图4为本发明实施例三提供的基于读写分离的文件系统架构示意图;

图5为本发明实施例四提供的基于读写分离的文件系统架构示意图;

其中:101为分区单元,1011为第一分区单元,1012为第二分区单元,1013为镜像单元,1014为压缩单元,1015为加密单元,102为建立单元,103为组合单元,1031为分层单元,1032为叠加单元,104为挂载单元。

具体实施方式

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

图1为本发明一种基于读写分离的云终端处理方法的实施例一中的基于读写分离的文件系统创建流程图,如图1所示,一种基于读写分离的云终端处理方法,包括:s101、对存储设备进行分区处理,得到rootfs镜像和boot分区镜像;s102、建立overlay分区;s103、将系统镜像处理后的rootfs镜像与overlay分区进行重新组合,得到读写分离的文件系统;s104、对读写分离的文件系统进行挂载。

进一步地,所述对存储设备进行分区处理,具体包括:对基于mbr分区表的存储设备进行分区处理,得到boot分区和root分区;对基于gpt分区表的存储设备进行分区处理,得到esp分区、boot分区和root分区;对root分区进行系统镜像处理,得到rootfs镜像,还包括:对rootfs镜像进行压缩处理,形成单个镜像文件。

进一步地,还可对rootfs镜像进行加密处理。

进一步地,所述将系统镜像处理后的rootfs镜像与overlay分区进行重新组合,具体包括:将rootfs镜像与overlay分区进行分层处理,得到lower路径、work路径、upper路径;所述lower路径存储rootfs镜像,所述work路径、upper路径共同存储overlay分区;将lower路径、work路径、upper路径叠加;读取文件时读取rootfs镜像,写入文件时写入overlay分区中。

图2为本发明一种基于读写分离的云终端处理系统的实施例一中的基于读写分离的文件系统架构示意图,如图2所示,一种基于读写分离的云终端处理系统,包括:

分区单元101:用于对存储设备进行分区处理,得到rootfs镜像和boot分区镜像;

建立单元102:用于建立overlay分区;

组合单元103:将系统镜像处理后的rootfs镜像与overlay分区进行重新组合,得到读写分离的文件系统;

挂载单元104:用于对读写分离的文件系统进行挂载。

具体地,linux系统的启动过程中,initrd负责加载驱动程序,发现并挂载root分区,启动linux系统的init进程(init,或者systemd等,不同linux发行版,不同版本采用的init进程不同),由于读写的模式被分配到不同的区域(使用overlayfs),系统initrd无法正确加载读写分离的文件作为根文件系统。采用默认方式加载,系统会变成完全只读,即系统对rootfs镜像无法进行任何写入操作和更改,只有在initrd阶段,对只读镜像和可写区域进行正确的加载预处理,加载可读写分离的根文件系统到指定挂载点后,系统启动完成才能形成读写分离的操作系统,在initrd模块中进行只读镜像和可写区域的预处理,需要自定义预处理模块。

图3为本发明一种基于读写分离的云终端处理系统的实施例二中的基于读写分离的文件系统架构示意图,如图3所示,在实施例一的基础上,所述分区单元101包括:

第一分区单元1011:用于对基于mbr分区表的存储设备进行分区处理,得到boot分区和root分区;

第二分区单元1012:用于对基于gpt分区表的存储设备进行分区处理,得到esp分区、boot分区和root分区;

镜像单元1013:用于对root分区进行系统镜像处理,得到rootfs镜像。

具体地,一般采用不同类型的boot方案,与存储设备的分区有较大的关联,当对基于mbr分区表的存储设备进行分区处理时,通过legacy/csm方式进行系统的boot,当对基于gpt分区表的存储设备进行分区处理时,通过uefi方式进行系统的boot,但是也可应用于混合使用的方式。

当对基于mbr分区表的存储设备进行分区处理时,分区方案如下:1、boot分区,即linux的内核以及initrd,grub启动菜单等boot所需文件存放的分区,挂载到boot路径下;2、root分区,即linux的root文件系统所在的分区,此处即只读区域所在;3、overlay分区,即与只读分区组成overlay文件系统,作为整个系统的可写区域所在。其中,上述三个分区可存在于一个存储设备,也可分布在多个存储设备上,对于同时使用固态和机械存储设备的情况下,建议boot分区和root分区置放在固态存储设备上,overlay分区放置在机械存储设备上,充分提高固态存储设备只读取提升固态存储设备的优势。根据mbr分区表的存储设备的要求,boot分区应作为存储设备上首个分区。

当对基于gpt分区表的存储设备进行分区处理时,分区方案如下:1、esp分区的分区,用于uefi识别的,主要存放uefi的引导菜单等;2、boot分区,用于存放内核,initrd等;3、root分区,用于存放系统根文件系统,为只读区域;4、overlay分区,作为系统的可写区域;其中,esp分区和boot分区一般在同一个存储设备上,其他分区则类似于mbr分区表的情况,可存在于一个或者多个分区,只读部分在固态存储设备存在的情况下,应置于固态存储设备;上述的root分区和overlay分区,可是单独的分区,或者是通过卷管理工具生成的逻辑卷上(卷管理工具,如lvm)。

除上述的分区外,还可加入其它分区,包括但不限于在上述分区之外,增加额外的分区,且分区分布可根据实际情况进行调整。

图4为本发明一种基于读写分离的云终端处理系统的实施例三中的基于读写分离的文件系统架构示意图,如图4所示,在实施例二的基础上,所述分区单元101还包括:

压缩单元1014:用于对rootfs镜像进行压缩处理,形成单个镜像文件。

还可包括:

加密单元1015:用于对rootfs镜像进行加密处理。

具体地,将root分区制作为rootfs镜像,可采用(包括但不限于)squashfs等只读文件系统,对根文件路径进行压缩处理,成为单个镜像文件。这样的过程,不但去除了文件存储中存在的空隙(预占用空间),而且可以选择压缩算法进行进一步的压缩,减小rootfs镜像的整体大小,并且压缩形成的单个镜像文件,种类单一,易于再次分发,得到的只读镜像,易于实现读写分离,可选择的对压缩处理后的镜像文件进行加密,加强rootfs镜像的安全性;具有占用空间较小,二是文件数量、种类少,易于再次分发,便于读写分离的优点。

图5为本发明一种基于读写分离的云终端处理系统的实施例四中的基于读写分离的文件系统架构示意图,如图5所示,在实施例三的基础上,所述组合单元103包括:

分层单元1031:用于将rootfs镜像与overlay分区进行分层处理,得到lower路径、work路径、upper路径;所述lower路径存储rootfs镜像,所述work路径、upper路径共同存储overlay分区;

叠加单元1032:用于将lower路径、work路径、upper路径叠加;读取文件时读取rootfs镜像,写入文件时写入overlay分区中。

具体地,实现读写分离,且不影响正常系统的读写需求,是通过使用overlayfs的特性实现的,overlayfs将底层的文件系统分为三个层次,lower路径、work路径、upper路径,其中lower路径是已制作成为只读文件系统镜像的root分区的镜像,work路径和upper路径是overlayfs需要的两个部分,对于linux操作系统来说,看到的是overlayfs呈现给操作系统的内容,overlayfs则将三个层次叠加,读取文件时读取rootfs镜像,写入文件时写入overlay分区中,能够对rootfs镜像上的内容进行修改、删除、添加等操作,也是会直接写入到overlay分区,操作系统则直接获取修改后的结果。

即overlayfs对于linux操作系统来说是可读写的,不影响系统正常运行,但是对于root分区的镜像来说,是只读的,一般只读镜像部署在固态存储设备上,既使用了固态存储设备的高效读取性能,又提升了固态存储设备的使用寿命,固态存储设备,即flash存储设备的寿命取决于写入的次数。

本发明提供的一种基于读写分离的云终端处理方法及系统,云终端装置为基于x86架构,但是不仅限应用于云终端装置,同样可以运用于pc等类似的计算机、便携式设备,以及嵌入式设备,包括但不限于x86架构、arm架构、powerpc架构等;本发明中不仅限应用于配置的固态硬盘和机械硬盘,同样可以运用于单块以及多块存储设备,包括但不限于固态硬盘、机械硬盘、基于flash的存储等;本发明中的读写分离的云终端的host操作系统,其启动方式包括但不限于legacy/csm启动模式、uefi启动模式;本发明中的读写分离的云终端的host操作系统中,存储部分的分区方式,包括但不限于基于mbr分区表表的分区模式、基于gpt分区表表的分区模式;本发明中的host系统基于linux系统,但是其读写分离的思想可应用于各种操作系统,包括但不限于各linux发行版、类unix系统及其各分支、minix系统及各衍生系统,以及windows系统。本发明提供的一种基于读写分离的云终端处理方法及系统,目前已在云终端上实现。

本发明提供的一种基于读写分离的云终端处理方法及系统,使得原始的root分区作为只读镜像存在,提升了系统的可靠性,降低运维成本,能够使云终端实现操作系统层面的读写分离(包括只读部分和可写区域),且无需更改读写区域的配置,不影响系统正常写入文件的需求,以及影响云终端host系统的运行;使云终端配备的固态硬盘部分,作为只读区域,提升固态硬盘的寿命和读取速度;使云终端配备的机械硬盘部分,作为可写区域,整体降低运维成本;实现读写分离,使得云终端host系统本身的可靠性增强,在可写区域出现错误的情况下,可以实现快速恢复,提出并实现了读写分离且可扩展的方案,提升固态存储设备的使用寿命。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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