一种基于设备映射机制的文件系统的实现方法

文档序号:829300 发布日期:2021-03-30 浏览:14次 >En<

阅读说明:本技术 一种基于设备映射机制的文件系统的实现方法 (File system implementation method based on equipment mapping mechanism ) 是由 唐鑫 于 2019-09-29 设计创作,主要内容包括:本发明提供一种基于设备映射机制的文件系统的实现方法,包括以下步骤:S1,在硬件分区中设定一预定目录,并在其中安装device mapper软件包;S2,设置文件系统属性为ro的一只读文件系统;设置一个可读写文件;S3,调用device mapper软件包里面的指令利用设备映射机制把所述的只读文件系统后面挂载一个可读写分区,用于存放所述的可读写文件;S4,获得一个带有可读写分区的只读文件系统。(The invention provides a method for realizing a file system based on a device mapping mechanism, which comprises the following steps: s1, setting a preset directory in the hardware partition, and installing the device mapper software package in the preset directory; s2, setting the attribute of the file system as ro; setting a readable and writable file; s3, calling an instruction in the device mapper software package to mount a readable-writable partition behind the read-only file system by using a device mapping mechanism, wherein the readable-writable partition is used for storing the readable-writable file; s4, obtaining a read-only file system with a readable and writable partition.)

一种基于设备映射机制的文件系统的实现方法

技术领域

本发明涉及计算机操作系统领域,特别涉及一种基于设备映射机制的文件系统的实现方法。

背景技术

随着科技的不断发展,特别是计算机技术的发展,大数据技术时代的到来,Devicemapper越来越被广泛应用。Device mapper是Linux 2.6内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的Linux下的逻辑卷管理器如LVM2(Linux Volume Manager2version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper RaidTool)等都是基于该机制实现的。它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构,它包含三个重要的对象概念,Mapped Device、Mapping Table、Target device。Mapped Device是一个抽象的逻辑设备,通过Mapping Table描述的映射关系(Mapped Device逻辑的起始地址、范围、和表示在Target Device所在物理设备的地址偏移量以及Target类型等信息)和Target Device建立映射,Target Device表示的是MappedDevice所映射的物理空间段。

Device mapper进一步体现了在Linux内核设计中策略和机制分离的原则,将所有与策略相关的工作放到用户空间完成,内核中主要提供完成这些策略所需要的机制。Device mapper用户空间相关部分主要负责配置具体的策略和控制逻辑,比如逻辑设备和哪些物理设备建立映射,怎么建立这些映射关系等等,而具体过滤和重定向IO请求的工作由内核中相关代码完成。因此Device mapper机制由两部分组成-内核空间的devicemapper驱动、用户空间的device mapper库以及它提供的dmsetup工具。

另一方面,传统的文件系统按照读写属性可以分为两类:

Read-only文件系统:即只读文件系统,属性为ro。

可读可写文件系统:属性为rw。

传统的Read-only文件系统为只读(ro),只读的文件系统的好处是安全性更好,可以有效的保护文件系统的数据,降低文件系统被破坏的风险,但是弊端也很明显,用户不能够修改文件系统中的数据会造成用户的调试及使用困难。

发明内容

为了解决上述现有技术中存在的问题,针对传统的Read-only文件系统的缺陷,我们需要既可以有效的保证安全性又可读可写的文件系统,初步设想两种方案,方案一:可以使用两个可读可写文件系统(rw)来满足此需求,这样在异常断电或者突发情况下造成当前文件系统损坏之后,可以启动备份的另外一个可读可写的文件系统,此方案虽然可以初步达到预设目标,但是会占用二倍的文件系统的空间,基于以上考量,本发明的目的在于:可以将一个Read-only的文件系统挂载一个可读可写(rw)的文件系统来达到满足可读写需求的同时又可以节省空间的目的,这样可以大幅降低成本。

具体地,本发明提供一种基于设备映射机制的文件系统的实现方法,包括以下步骤:

S1,在硬件分区中设定一预定目录,并在其中安装device mapper软件包;

S2,设置文件系统属性为ro的一只读文件系统;设置一个可读写文件;

S3,调用device mapper软件包里面的指令利用设备映射(device mapper)机制把所述的只读文件系统后面挂载一个可读写分区,用于存放所述的可读写文件;

S4,获得一个带有可读写分区的只读文件系统。

本申请的优势在于:

1.通过Device mapper机制作出的文件系统继承了Read-only文件系统的安全性优势的同时也满足用户空间对读写性需求。

2.相比较于两个可读可写(rw)的文件系统方案,节省了一倍的文件系统的空间。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。

图1是本发明涉及的文件系统的结构的示意框图。

图2是本发明涉及方法的流程框图。

具体实施方式

目前,本技术领域常用的技术术语包括:

文件系统:操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

Device mapper:是Linux 2.6内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略。Device mapper进一步体现了在Linux内核设计中策略和机制分离的原则,将所有与策略相关的工作放到用户空间完成,内核中主要提供完成这些策略所需要的机制。

Read-only文件系统:只读文件系统。

ro:文件/文件系统属性为只读。

rw:文件/文件系统属性为可读写。

IMG是一种文件压缩格式(archive format),主要是为了创建软盘的镜像文件(disk image),它可以用来压缩整个软盘(通常指软软盘,Floppy Disk或Diskette)或整片光盘的内容,使用".IMG"这个扩展名的文件就是利用这种文件格式来创建的。.IMG这个文件格式可视为.ISO格式的一种超集合。由于.ISO只能压缩使用ISO9660和UDF这两种文件系统的存储媒介,意即.ISO只能拿来压缩CD或DVD,因此才发展出了.IMG,它是以.ISO格式为基础另外新增可压缩使用其它文件系统的存储媒介的能力,.IMG可向后兼容于.ISO,如果是拿来压缩CD或DVD,则使用.IMG和.ISO这两种格式所压缩出来的内容是一样的。打开方式可以是光盘刻录,也可以用软件解压。IMG可以做为以下用途:1.数字存储、传输、以及整片软盘内容的复制。2.可挂载到虚拟软盘上。总而言之,img格式是镜像的一种。可以通过制作数据光盘或者使用虚拟光驱(如WinMount)安装IMG数据文件。

EXT4是第四代扩展文件系统(英语:Fourth extended filesystem,缩写为ext4)是Linux系统下的日志文件系统,是ext3文件系统的后继版本。

Device mapper在内核中作为一个块设备驱动被注册的,它包含三个重要的对象概念,mapped device、映射表、target device。Mapped device是一个逻辑抽象,可以理解成为内核向外提供的逻辑设备,它通过映射表描述的映射关系和target device建立映射。从Mapped device到一个target device的映射表由一个多元组表示,该多元组由表示mapped device逻辑的起始地址、范围、和表示在target device所在物理设备的地址偏移量以及target类型等变量组成(这些地址和偏移量都是以磁盘的扇区为单位的,即512个字节大小)。Target device表示的是mapped device所映射的物理空间段,对mapped device所表示的逻辑设备来说,就是该逻辑设备映射到的一个物理设备。Device mapper中这三个对象和target driver插件一起构成了一个可迭代的设备树。在该树型结构中的顶层根节点是最终作为逻辑设备向外提供的mapped device,叶子节点是target device所表示的底层物理设备。

如图1所示,本申请涉及的文件的结构的示意框图。

假设文件系统命名为rootfs.ext4设置属性为ro的只读文件系统,我们做一个命名为data.img的可读写文件,通过Device mapper机制把rootfs.ext4文件系统后面拼接出来一个可读可写的分区data.img,这样我们就得到了一个全新拼接过的带有可读可写(rw)分区的只读的文件系统:rootfs.ext4+data.img。

利用Linux系统的设备映射(device mapper)机制和文件系统快照(snapshot)功能,并不需要修改Linux内核或已有程序。而该Linux系统包括但不限于Redhat,CentOS,Ubuntu Server等。

如图2所示,是本发明具体涉及的基于设备映射机制的文件系统的实现方法,包括以下步骤:

S1,在硬件分区中设定一预定目录,并在其中安装device mapper软件包;

S2,设置文件系统属性为ro的一只读文件系统;设置一个可读写文件,所述的只读文件系统命名为rootfs.ext4;

S3,调用device mapper软件包里面的指令利用设备映射(device mapper)机制把所述的只读文件系统后面挂载一个可读写分区,用于存放所述的可读写文件,所述的可读写文件命名为data.img;

S4,获得一个带有可读写分区的只读文件系统,所述的带有可读写分区的只读文件系统为rootfs.ext4+data.img。

所述的文件系统是应用于Linux系统,所述Linux系统为Red hat,CentOS或UbuntuServer发行版系统。

所述的device mapper软件包是Packages中的device mapper软件包。

所述的步骤S3进一步包括:根据配置信息创建映射表;将用户空间构建好的映射表传入内核,让内核构建该mapped device对应的dm_table结构。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于纠删码实现文件恢复的图文档管理系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!