[发明专利]一种多容器根文件系统的构建方法有效
申请号: | 201811590027.5 | 申请日: | 2018-12-25 |
公开(公告)号: | CN111367854B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 廖红卫;蒋兴;张闯;董庆民 | 申请(专利权)人: | 成都鼎桥通信技术有限公司 |
主分类号: | G06F16/10 | 分类号: | G06F16/10;G06F9/4401 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王双;王琦 |
地址: | 610041 四川省成都市高新*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 容器 文件系统 构建 方法 | ||
本申请公开了一种多容器根文件系统的构建方法,包括:将用于实现多容器的多系统的根文件系统文件保存在根文件系统分区中;其中,所述多系统的ROOT系统文件保存在根文件系统分区中新创建的一个目录下,所述多系统的前台系统文件保存在根文件系统分区中新创建的另一个目录下,在系统内核代码中指定设备上电后加载多系统的ROOT系统所在目录下的初始化init程序。在系统启动时,直接加载系统内核和ROOT系统。应用本申请,能够更高效地利用LXC创建多系统。
技术领域
本申请涉及Linux系统技术,特别涉及一种多容器根文件系统的构建方法。
背景技术
Linux容器(Linux Container,LXC)技术是操作系统级虚拟化在单个Linux主机上提供多个独立Linux环境的技术。容器使用Linux内核特性,例如名称空间、Apparmor、SELinux概要文件、chroot和CGroups来提供类似VM的隔离环境。
当前利用LXC技术构建的多容器方案中,一般做法是在单系统根文件系统分区之外,额外增加一个分区A,用于存放多个系统的根文件系统文件。其中,多个系统的根文件系统文件具体包括:后台运行的ROOT系统的根文件系统和对应的多个前台系统的根系统文件,ROOT系统是用户不可见的后台系统,对于多个系统只需要一个ROOT系统,前台系统是用户可见的。例如,当需要创建工作区和生活区两个系统时,额外增加的分区中存放的多个系统的根文件系统文件包括ROOT系统的根文件系统、对应于工作区的前台系统的根文件系统和对应于生活区的前台系统的根文件系统。
采用上述多容器的根文件系统构建方案的话,系统启动流程就是先加载运行单系统根文件系统分区文件,然后通过switch_root切换到新分区A的根目录,后面再通过LXC来创建多个容器。具体启动流程包括(以建立双系统环境为例说明):
1.上电进入bootloader引导程序,然后加载内核和单系统根文件系统分区中的ramdisk(根文件系统),该单系统的根文件系统的init程序是shell脚本,主要工作是:
a.准备双系统root系统的根文件系统,即将root系统的根文件系统文件拷贝到内存文件系统中;
b.准备双系统工作区和生活区(或者更多系统)的根文件系统,即将工作区和生活区相应的根文件系统文件拷贝到内存文件系统中;
c.通过switch_root命令切换单系统根文件系统到root系统的根文件系统,同时开始执行root系统的init程序;
2.切换根文件系统到root系统后,init程序开始执行,解析init.rc,启动一些基础的本地服务进程,包括vboxd(一个创建容器的本地服务程序);
3.Vboxd会创建出工作区和生活区两个系统(或者更多系统)。
至此,启动流程结束,创建出两个系统。
上述多容器的根文件系统构建方案中存在如下问题:
1、首先存在安全性的问题,通过switch_root切换到新分区根目录这个过程,按照目前的开源代码是没有进行安全启动检查,因此,安全性存在隐患;而如果增加安全启动检查,则需要对LXC开源代码进行修改;
2、其次,上述方案需要新增加一个分区A,将占用更多空间,而且系统升级过程变得复杂,升级包变得更大;
3、最后,启动时额外增加了一个步骤,因此,启动时间也进一步拉长。
发明内容
本申请提供一种多容器根文件系统的构建方法,能够更高效地利用LXC创建多系统。
为实现上述目的,本申请采用如下技术方案:
一种多容器根文件系统的构建方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都鼎桥通信技术有限公司,未经成都鼎桥通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811590027.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于微服务框架的分布式服务部署方法
- 下一篇:一种高效耐用的LED灯珠