Applications running in containers are able to access files stored on disk through ordinary file systems but in a way that maintains isolation from applications and processes in other containers. In one aspect, namespace virtualization components are coupled to write-time replication components. Namespace virtualization components and replication components authorize access to files when isolated applications are accessing files stored on disk in a read-only manner. However, if the application requests to modify the file, the copy component intercepts I/O at write time and effectively creates copies of the file in different storage locations on disk. Then, the namespace virtualization component is responsible for hiding the true location of the copy of the file through namespace mapping.
【技术实现步骤摘要】
【国外来华专利技术】针对容器的存储隔离
技术介绍
容器是一种类型的虚拟化技术,其允许许多应用在共同主机操作系统下运行,同时保持彼此完全隔离。这种隔离确保容器内部的任何进程都无法看到容器外部的任何进程或者资源。与虚拟机所提供的隔离方法不同,容器不要求使用管理程序,而是使用与操作系统内核相关联的进程隔离和文件系统特征。因此,容器可以提供优于虚拟机的优点,诸如较小的存储要求和缩短的启动时间。容器内的应用和进程可以经由许多文件系统调用与主机文件系统和操作系统交互。
技术实现思路
所公开的是用于在容器中运行的应用经由普通文件系统调用但以保持与其他容器中的应用和进程隔离的方式访问被存储在磁盘上的文件的技术。在一方面,命名空间虚拟化组件与写入时复制组件耦合。当隔离的应用正访问以只读方式被存储在磁盘上的文件时,命名空间虚拟化组件和写入时复制组件授权对文件的访问。但是,如果该应用请求修改文件,则写入时复制组件拦截I/O并将文件的副本有效地创建在磁盘上的不同存储位置中。然后,命名空间虚拟化组件负责经由命名空间映射隐藏文件的副本的真实位置。因此,对于该应用显得就好像应用正访问并写入其请求的资源一样,但实际上其正对文件的副本进行操作。提供本
技术实现思路
是为了以简化的形式介绍一些概念,其在下面的具体实施方式中被进一步描述。本
技术实现思路
既不旨在标识所要求保护的主题的关键特征或者本质特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中提到的任何或者所有缺点的限制。附图说明当结合附图阅读时可以更好地理解前述
技术实现思路
以及以下的具体实施方式。为了说明本公开,示出了本公开 ...
【技术保护点】
1.一种计算系统,所述计算系统包括:一个或多个处理器;存储器;存储单元,所述存储单元包括与所述计算系统内所限定的容器相关联的容器命名空间,所述容器具有对被存储在所述容器命名空间内的文件的独占访问;文件系统,所述文件系统在所述一个或多个处理器上执行;以及命名空间虚拟化组件,所述命名空间虚拟化组件包括被存储在所述存储器中的计算机可执行指令,所述计算机可执行指令在由所述一个或多个处理器执行时执行包括以下各项的操作:从在所述一个或多个处理器上执行的应用接收请求对文件的操作的输入/输出(I/O)调用,接收到的所述I/O调用包括被投影到所述容器的所述命名空间中的第一目录层级内的所述文件的目录路径,所述第一目录层级具有第一根目录;将所述第一目录层级内的所述文件的所述目录路径映射至所述容器命名空间内的第二目录层级的目标目录路径;基于所述映射,用所述目标目录路径替换所述I/O调用中的所述文件的所述目录路径;以及将包括针对所述文件的所述目标目录路径的所述I/O调用传递至所述计算系统的所述文件系统。
【技术特征摘要】
【国外来华专利技术】2016.11.04 US 62/417,884;2017.06.20 US 15/628,0891.一种计算系统,所述计算系统包括:一个或多个处理器;存储器;存储单元,所述存储单元包括与所述计算系统内所限定的容器相关联的容器命名空间,所述容器具有对被存储在所述容器命名空间内的文件的独占访问;文件系统,所述文件系统在所述一个或多个处理器上执行;以及命名空间虚拟化组件,所述命名空间虚拟化组件包括被存储在所述存储器中的计算机可执行指令,所述计算机可执行指令在由所述一个或多个处理器执行时执行包括以下各项的操作:从在所述一个或多个处理器上执行的应用接收请求对文件的操作的输入/输出(I/O)调用,接收到的所述I/O调用包括被投影到所述容器的所述命名空间中的第一目录层级内的所述文件的目录路径,所述第一目录层级具有第一根目录;将所述第一目录层级内的所述文件的所述目录路径映射至所述容器命名空间内的第二目录层级的目标目录路径;基于所述映射,用所述目标目录路径替换所述I/O调用中的所述文件的所述目录路径;以及将包括针对所述文件的所述目标目录路径的所述I/O调用传递至所述计算系统的所述文件系统。2.根据权利要求1所述的计算系统,所述第二目录层级的所述目标目录路径与所述第二目录层级的刮层相对应。3.根据权利要求2所述的计算系统,所述第二目录层级的所述刮层包含针对所述文件的占位符。4.根据权利要求2至3中任一项所述的计算系统,所述第二目录层级的所述刮层由所述第一目录层级内的一个或多个源层备份。5.根据权利要求1至4中任一项所述的计算系统,用所述目标目录路径替换所述I/O调用中的所述文件的所述目录路径对所述应用是隐藏的,对于所述应用显得好像所述I/O调用被执行于所述第一目录层级内的所述文件上一样。6.根据权利要求1至5中任一项所述的计算系统,所述映射包括:在表中搜索所述I/O调用中包括的所述文件的所述目录路径,所述表将所述第一目录层级的多个目录路径中的每个目录路径与对应的所述第二目录层级的目标目录路径相关联;以及在所述表中定位所述文件的所述目录路径后,从所述表中取回与所述I/O调用中包括的所述文件的所述目录路径相关联的所述目标目录路径。7.根据权利要求6所述的计算系统,针对所述第一目录层级的目录路径与对应的所述第二层级的目标目录路径的每个关联,所述表指示是否要对发出针对具有所述第一目录层级内的所述目录路径的文件的I/O调用...
【专利技术属性】
技术研发人员:S·C·哈夫瓦拉,C·G·阿尔雷德,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。