CN105469001A - 磁盘数据保护方法及装置 - Google Patents
磁盘数据保护方法及装置 Download PDFInfo
- Publication number
- CN105469001A CN105469001A CN201410401630.XA CN201410401630A CN105469001A CN 105469001 A CN105469001 A CN 105469001A CN 201410401630 A CN201410401630 A CN 201410401630A CN 105469001 A CN105469001 A CN 105469001A
- Authority
- CN
- China
- Prior art keywords
- volume
- block
- source book
- logic source
- snapped
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种磁盘数据保护方法及装置,包括:在物理卷上创建逻辑源卷,在逻辑源卷上创建快照卷;当对文件设置输入输出IO穿透属性时,将具有IO穿透属性的文件的IO写请求产生的增量数据保存在快照卷上;将保存在所述快照卷上的增量数据同步到所述逻辑源卷上。本发明所述磁盘数据保护方法及装置,当开启磁盘数据保护功能后,通过对进程或文件设置IO穿透属性,将IO写请求的增量数据也同步到逻辑源卷,使得数据保护的管理方式更加的灵活。另外,通过将创建的快照卷对应内存盘,使内存盘来替代物理卷,在很大程度上提高了数据的访问效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种磁盘数据保护方法及装置。
背景技术
磁盘是计算机系统最重要存储数据的介质,存储着用户长期积累的有用数据。磁盘上存储着的数据价值甚至远高于磁盘和计算机的实际价值,因而,如何保护磁盘上的数据已成为人们十分关心的课题。
现有技术中,块设备中采用LVM(LogicalVolumeManager,逻辑卷管理)技术对磁盘进行数据保护,通常是在逻辑卷的基础上再创建一个快照卷。而采用传统的LVM技术,在创建快照卷后,发送给逻辑卷的写IO(InputOutput,输入输出)请求会被截取发送给快照卷,保持逻辑卷的数据不变。快照卷被删除后,对于用户而言逻辑卷上的数据又“恢复”到了创建快照卷的时刻,这样实现数据保护的作用。但传统LVM技术在保护数据的同时,也产生了一个问题:建立快照卷后,逻辑卷的数据就不能被改变了,除非用户删除掉快照卷,但是在快照卷存在的这段时间内,写入的数据也随着快照卷的删除而丢弃了,使得数据的管理不灵活。另外,现有技术中将实际的物理磁盘分区作为物理卷,这在一定程度上影响了数据的访问效率。
发明内容
本发明要解决的技术问题是,提供一种磁盘数据保护方法及装置,用以解决数据的管理不灵活及数据的访问效率低的问题。
本发明采用的技术方案是,所述,包括:
一方面,本发明提供了一种磁盘数据保护方法,其特征在于,包括:
在物理卷上创建逻辑源卷,在所述逻辑源卷上创建快照卷;
当对文件设置输入输出IO穿透属性时,将具有IO穿透属性的文件的IO写请求产生的增量数据保存在所述快照卷上;
将保存在所述快照卷上的所述增量数据同步到所述逻辑源卷上。
进一步的,所述物理卷包括内存盘类块设备和磁盘类块设备。
进一步的,所述物理卷中的块分别与所述逻辑源卷中的块和快照卷中的块具有映射关系,如下:
所述物理卷包括第一物理卷和第二物理卷;在所述逻辑源卷中的块和所述快照卷中的块之间建立第一块映射表,在所述快照卷中的块和所述第一物理卷中的块之间建立第二块映射表,在所述逻辑源卷中的块和所述第二物理卷中的块之间建立第三块映射表;
所述物理卷中的块、逻辑源卷中的块和快照卷中的块均对应有块号。
进一步的,所述方法,还包括:
在创建所述快照卷之前,接收所述IO写请求,根据所述IO写请求查找所述第三块映射表,确定所述第二物理卷中的块号;
在创建所述快照卷后,接收所述IO写请求,根据所述IO写请求查找所述逻辑源卷中的块号,根据所述逻辑源卷中的块号查找所述第一块映射表和所述第二块映射表,确定所述第一物理卷中的块号。
进一步的,在所述物理卷上创建逻辑源卷,在所述逻辑源卷上创建快照卷,包括:
创建逻辑源卷名和快照卷名,设定所述快照卷的空间容量;
在物理卷上注册所述快照卷所对应的设备号,所述物理卷包括磁盘和内存盘,所述块设备上对应有设备号。
进一步的,所述对文件设置输入输出IO穿透属性,包括:对进程设置所述IO穿透属性,将所述进程相关的打开文件设置所述IO穿透属性。
进一步的,将具有IO穿透属性的文件的IO写请求产生的增量数据保存在所述快照卷上,包括:
当所述物理卷接收到所述IO写请求时,对所述IO写请求进行解析,确定出所述IO写请求是属于逻辑源卷还是快照卷;
根据确定的结果,将所述IO写请求发送给所属的所述快照卷或所属的所述逻辑源卷;
将保存在所述快照卷上的所述增量数据同步到所述逻辑源卷上。
进一步的,所述方法还包括:
当物理卷接收到所述IO读请求时,对所述IO读请求进行解析,确定出所述IO读求是属于逻辑源卷还是快照卷;
根据确定出的结果,查询所述IO读求所属的逻辑源卷块中的块号或所属的快照卷中的块号,将所述逻辑源卷中的块号或快照卷中的块号转换为物理卷中的块号;
将所述IO读请求发送给与所述物理卷中的块号对应的块设备。
进一步的,所述方法,还包括:当不对文件设置IO穿透属性时,将物理卷接收到的IO读请求发送给所述逻辑源卷或快照卷;将所述物理卷接收到的IO写请求发送给所述快照卷。
另一方面,本发明还提供一种磁盘数据保护装置,包括:
快照卷创建模块,用于在物理卷上创建逻辑源卷,在所述逻辑源卷上创建快照卷;
文件IO穿透模块,用于当对文件设置输入输出IO穿透属性时,将具有IO穿透属性的文件的IO写请求产生的增量数据保存在所述快照卷上;
数据同步模块,用于将保存在所述快照卷上的所述增量数据同步到所述逻辑源卷上。
进一步的,所述物理卷中的块分别与所述逻辑源卷中的块和快照卷中的块具有映射关系,如下:
所述物理卷包括第一物理卷和第二物理卷;在所述逻辑源卷中的块和所述快照卷中的块之间建立第一块映射表,在所述快照卷中的块和所述第一物理卷中的块之间建立第二块映射表,在所述逻辑源卷中的块和所述第二物理卷中的块之间建立第三块映射表;
所述物理卷中的块、逻辑源卷中的块和快照卷中的块均对应有块号。
进一步的,所述装置,还包括:
映射模块,用于在创建所述快照卷之前,接收所述IO写请求,根据所述IO写请求查找所述第三块映射表,确定所述第二物理卷中的块号;在创建所述快照卷后,接收所述IO写请求,根据所述IO写请求查找所述逻辑源卷中的块号,根据所述逻辑源卷中的块号查找所述第一块映射表和所述第二块映射表,确定所述第一物理卷中的块号。
采用上述技术方案,本发明至少具有下列优点:
本发明所述磁盘数据保护方法及装置,当开启磁盘数据保护功能后,通过对进程或文件设置IO穿透属性,将IO写请求的增量数据也同步到逻辑源卷,使得数据保护的管理方式更加的灵活。另外,通过将创建的快照卷对应内存盘,使内存盘来替代物理卷,在很大程度上提高了数据的访问效率。
附图说明
图1为本发明第一实施例的磁盘数据保护方法流程图;
图2为本发明第一实施例中开启内存盘功能的流程图;
图3为本发明第一实施例中逻辑源卷、快照卷和物理卷之间的映射关系示意图;
图4为本发明第一实施例中创建快照卷的流程图;
图5为发明第一实施例中优选对进程设置穿透属性的流程图;
图6为本发明第一实施例中对文件IO读请求流程图;
图7为本发明第一实施例中对文件IO写请求流程图;
图8为本发明第一实施例中关机流程元数据块内存副本同步到物理卷的流程图;
图9为本发明第一实施例中用户激活磁盘数据保护功能的流程图;
图10为本发明第一实施例中激活磁盘数据保护功能后需要重启操作系统的流程图;
图11为本发明第一实施例中用户关闭磁盘数据保护功能的流程图;
图12为本发明第二实施例磁盘数据保护的装置示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明第一实施例,一种磁盘数据保护方法,如图1所示,包括以下具体步骤:
步骤S100,在物理卷上创建逻辑源卷,在逻辑源卷上创建快照卷。
具体的,本实施例中将内存盘作为物理卷,从计算机的内存RAM中划出一段区域,来创建内存盘。内存盘对用户来说相当于一个磁盘设备,但是它是用内存进行模拟的。用户可以根据计算机物理内存的大小和自身的需求,设置内存盘的大小。实施例中用户需要在物理卷的基础上创建逻辑卷,在逻辑卷上创建快照卷。快照卷也是一种逻辑卷,为了区别普通逻辑卷,本发明实施例中将普通逻辑卷称为逻辑源卷,以表示快照卷是基于它之上创建的。中内存盘上用来创建快照卷,这样有以下一些好处:
1、比起物理盘创建的快照卷,内存盘在访问效率上具有明显的优势,因为访问RAM的速率是远高于物理磁盘的;
2、由于是内存模拟的磁盘,每次系统重启,内存盘都需要重建,启动前内存盘上的数据会丢失,这样还带来了数据安全性的好处;
3、内存盘创建后会用做快照卷,对于逻辑源卷的写入操作会被发往快照卷(即内存盘),也即是说,逻辑源卷的写入访问将会减少,磁盘的访问量和访问频度一定程度上会影响磁盘的寿命,所以减少磁盘访问对于延长磁盘的寿命也会有积极的作用。
图2为本发明第一实施例中开启内存盘功能的流程图,如图2所示,包括以下步骤:
步骤S101,读取系统启动参数,获取内存盘相关参数。
具体的,系统启动参数和内存盘相关参数是在激活磁盘数据保护功能时设置的。
步骤S102,分配预设大小的内存空间,进行内存盘的初始化,根据启动时的内存盘的参数,设置内存盘大小。
步骤S103,在块设备层注册内存盘的主次设备号。
具体的,对用户而言,内存盘就相于一个物理磁盘。
步骤S104,分配磁盘对象和IO请求队列,上层的IO请求就放到该对象的IO请求队列中去处理。
需要说明的是,本发明实施例中所涉及到的IO,是指对磁盘中的输入输出请求IO。
图3为本发明第一实施例中逻辑源卷、快照卷和物理卷之间的映射关系示意图。
如图3所示,所述物理卷中的块分别与所述逻辑源卷中的块和快照卷中的块具有映射关系,所述快照卷中的块与所述逻辑源卷中的块具有映射关系,如下:
物理卷包括第一物理卷和第二物理卷;在逻辑源卷中的块和快照卷中的块之间建立第一块映射表,在快照卷中的块和第一物理卷中的块之间建立第二块映射表,在逻辑源卷中的块和第二物理卷中的块之间建立第三块映射表。
具体的,用户创建逻辑源卷后,逻辑源卷和物理卷1之间建立T3块映射表。新的增量写入IO请求会先发送到快照卷,所以,快照卷和逻辑源卷之间会建立T1块映射表,并且快照卷和物理卷2之间建立T2块映射表。这样逻辑卷和物理卷块号的映射关系就建立了:如果没有创建快照卷,那么直接查找T3映射表,找到物理卷1的块号。如果创建了快照卷,首先根据逻辑源卷的块号查找T1映射表,如果没有找到说明逻辑源卷的块号还没有映射,那么从T3表查找逻辑源卷块对应的物理卷1的块,如果找到了,那么还需要在从快照卷和物理卷的映射表T2中,查找对应的物理卷2的块。
其中,本发明实施例中在块设备上将物理卷分为物理卷1、物理卷2、物理卷3等等,实施例中优选用物理卷1和物理卷2进行说明,本发明不限于此。另外,逻辑源卷上包括多个单元:unit1、unit2、unit3、unit4等等。
图4示出了本发明第一实施例中创建快照卷的流程图,如图4所示,包括以下步骤:
步骤S111,当逻辑源卷在物理卷上创建完之后,判断卷组是否有空闲空间。
具体,如果卷组有空闲空间,那么用户可以开始创建快照卷。用户组创建快照卷时,需要指定三个参数:逻辑源卷名、快照卷名和快照卷的大小。其中,逻辑源卷需要准备就绪,并且需要和快照卷属于同一卷组;用户可以任意设置快照卷名,但名称需要在卷组内唯一;快照卷大小,用户可以任意设置,但不能超过卷组的剩余空间大小。
步骤S112,在块设备层注册快照卷的主次设备号。
步骤S113,分配快照卷磁盘对象和IO请求队列。
步骤S114,将磁盘对象和IO请求队列关联到逻辑源卷和快照卷中。
步骤S115,初始化系统块设备的块映射表T1和T2。
回到图1当中,进入步骤S200。
步骤S200,当对文件设置输入输出IO穿透属性时,将具有IO穿透属性的文件的IO请求产生的增量数据保存在所述快照卷上。
具体的,传统的LVM技术中,在创建快照卷后,发送给逻辑源卷的写IO请求会被截取发送给快照卷,保持逻辑源卷的数据不变。在快照卷被删除后,对于用户而言逻辑源卷上的数据又“恢复”到了创建快照卷的时刻,这样实现数据保护的作用。传统LVM技术在保护数据的同时,也产生了一个问题:建立快照卷后,逻辑源卷的数据就不能被改变了,除非用户删除掉快照卷,但是在快照卷存在的这段时间内,写入的数据也随着快照卷的删除而丢弃了。例如对根文件系统设备建立快照后,系统日志文件写入的数据同样会在删掉快照卷后被丢弃。
本发明实施例中的一个关键技术创新点就是实现了IO的穿透属性,即在创建快照卷后,可以对进程或者文件设置IO穿透属性,对进程设置IO穿透属性是进程所有打开的文件具有IO穿透属性,它和直接对文件设置IO穿透属性的本质是相同的。本发明实施例中快照卷上存放着它创建时刻以来的写请求的增量数据,设置穿透属性后,所有文件在快照卷上的增量数据会被同步到逻辑源卷上。在创建快照卷后,具有穿透属性的相关文件的写IO请求会被同时发给快照卷和逻辑源卷处理。因此,当快照卷被删除后,逻辑源卷上相关文件数据同样发生变化,已经被同步了,而不是创建快照卷时刻的内容。
进一步的,本发明实施例中优选对进程设置穿透属性,如图5所示,包括以下步骤:
步骤S201,用户输入指令,对指定进程设置IO穿透属性。
具体的,首先检查用户所需设置IO穿透属性的进程是否存在,如果该进程不存在,那么对该进程设置IO穿透属性失败。如果该进程存在,那么对该进程设置IO穿透属性。
步骤S202,查询进程打开的文件列表,取出所有类型为普通的、目录以及链接的文件。
具体的,如果检查到用户所需设置IO穿透属性的进程存在,那么将与该进程所对应的所有类型为普通的、目录以及链接的文件取出。
步骤S203,查询与该进程对应的所有文件的路径名,并根据路径名查询文件所属的文件系统,进而查询到所属的块设备。
步骤S204,判断与该进程所对应的所有文件是否在设备的块映射表中。
具体的,结合图3中块映射表T1、T2和T3进行判断查询。
步骤S205,将与该进程所对应的文件添加到链表L1中。
具体的,对进程设置IO穿透属性,本质上就是对进程打开的所有的普通,目录和链接文件设置IO穿透属性,它和对单个文件设置IO穿透属性的本质是一致的。具有IO穿透属性的文件,在操作系统内部加入一个全局的链表,进行统一的管理。
进一步的,如果链表L1不存在,初始化一个链表L1。链表L1中每个节点包含:文件信息以及文件所属的文件系统信息,逻辑源卷信息和快照卷信息等。满足如下条件的文件会被添加到该链表L1中:a、普通、目录或者链接文件;b、在快照卷创建的时候,操作系统会将快照卷和逻辑源卷添加到块设备映射表中。
如果在链表L1中文件已经存在,说明已经对该文件设置过IO穿透属性了,不再对其进行IO穿透属性设置。
步骤S206,创建链表L2,将链表L1中的所有文件的块号添加到链表L2中。
具体的,如果链表L2不存在,那么初始化文件块号链表L2,链表L2中的每个节点包含:逻辑卷信息,快照卷信息、文件信息,文件所有数据块号信息以及逻辑卷块号。查询链表L1中所有文件的相关块号,包括文件的所有文件内容数据块号和元数据块号:
文件内容数据块号:查询文件索引节点磁盘数据结构对象,获取文件的所有数据块号
元数据块号:获取所有与文件相关的元数据块号,包括,超级块块号,快照卷描述符块号,块位图块号,索引节点位图块号,索引节点表块号,间接寻址块块号,将这些块号的数据拷贝为内存副本,并和块号以及块类型对应。
将文件相关的块号转化为逻辑卷的块号,添加到链表L2中。
步骤S207,创建相关文件的元数据块内存副本。
步骤S208,查询T2表,将快照卷创建以来的增量读IO请求数据拷贝到新分配的物理卷1的块,这些块需要从逻辑源卷对应的物理卷1上分配空闲块号,并更新逻辑源卷和物理卷1的块号映射表T3。
步骤S209,重新初始化T1和T2表,相当于回收快照卷上已经被使用的块。
最后,进程后续打开的所有文件,重复步骤S205到步骤S209,分别更新链表L1,L2以及文件的元数据块内存副本。
用户对某个文件设置IO穿透属性,相当于执行了步骤S205到步骤S209这里不再赘述。
设置穿透属性后,所有文件的增量写数据从快照卷同步到了逻辑源卷。具有穿透属性的IO请求和普通的IO请求系统的处理是不同的,IO控制模块控制了IO流的走向。
回到图1当中,如图1所示:
步骤S300,将保存在快照卷上的所述增量数据同步到逻辑源卷上。
具体的,图6为本发明第一实施例中对文件IO读请求流程图,如图6所示,包括以下步骤:
步骤S210,上层IO请求发送到块设备层后,首先对IO进行解析,获取到该IO所属的逻辑卷。
步骤S211,查询L2链表,如果上个步骤获取的逻辑卷在链表中,说明该逻辑卷或者是一个建立了快照卷的逻辑源卷,或者是一个快照卷。
步骤S212,IO请求最终会发送给实际的物理卷处理,故需要完成逻辑卷到物理卷块号的转换。如果在L2链表找到目标卷,则搜索T1表查找映射关系。
步骤S213,如果没找到则查询找T3表获取物理卷1的块号。
步骤S214,如果在T1表中找到映射关系,则再次查找T2表获取物理卷2块号。
步骤S215,获取到物理卷块号后,再将IO请求发送给对应的物理块设备处理。
图7为本发明第一实施例中对文件IO写请求流程图,如图7所示,包括以下步骤:
步骤S220,上层IO请求发送到块设备层后,首先对IO进行解析,获取到该IO所属的逻辑卷。
步骤S221,查询L2链表,查询块设备是否在链表L2中。
具体的,如果上个步骤获取的逻辑卷在链表中,说明该逻辑卷或者是一个建立了快照卷的逻辑源卷,或者是一个快照卷。
步骤S222,如果在L2链表没有找到目标卷,则查询T3表,获取物理卷1块号,直接向物理卷1提交写IO请求。
如果在L2链表找到目标卷,需要向快照卷和逻辑源卷同时发送写IO请求,并更新相关文件的元数据块内存副本。其中:
步骤S223,快照卷:在快照卷上查找数据块。
具体的,若没找到则分配新块,更新T1表,然后查找物理卷2,若没找到则分配新块,更新T2表。检查逻辑卷块号是否是新增的,如果是还需要更新链表L2。最后向物理卷2提交写IO。
步骤S224,逻辑源卷:查询T3表,获取物理卷1块号,向物理卷1提交写IO请求。
步骤S225,元数据块内存副本:提交给快照卷的写IO请求。
具体的,如果IO请求的块号已在元数据块号的内存副本中,那么修改对应的内存副本,同时提交给底层物理卷设备;提交给快照卷的写IO请求块号,如果不在元数据块号的内存副本中,那么需要增加或删除元数据块内存副本,比如文件增大或截断时,则需要增加或删除对应的快组描述符,块位图以及间接寻址块对应的元数据块内存副本。
具有IO穿透属性的文件的数据块内容在进程访问时刻就同步到了逻辑源卷上,但元数据块内容还在元数据块内存副本中。元数据块的内存副本需要在系统重启的关机流程中提交到逻辑源卷对应物理卷上,这样实现设置了IO穿透属性的相关文件数据内容改变了,但却不影响其它文件的数据内容。
图8示出本发明第一实施例中关机流程元数据块内存副本同步到物理卷的流程图,如图8所示,包括以下步骤:
步骤S230,卸载文件系统,文件系统的所有数据通过文件系统的接口同步到了逻辑源卷。
步骤S231,检查元数据块内存副本是否为空,如果为空,说明没有文件设置了IO穿透属性,直接结束。
步骤S232,将元数据块内存副本的内容提交到逻辑源卷,并查T3表。
步骤S233,提交到物理卷1。
图9为本发明第一实施例中用户激活磁盘数据保护功能的流程图,如图9所示,包括以下步骤:
步骤S240,检查磁盘数据保护功能是否已经激活。
具体的,磁盘数据保护功能需要重启操作系统才能生效,激活该功能时,会在状态文件里面标记它为开启状态。检查磁盘数据保护功能是否生效,分为两种情况:情况一,开启状态被置但生效状态未置,提示用户需要重启才能生效,进入步骤S241;情况二,开启状态被置且生效状态被置,提示该功能已经激活并生效。
进一步的,根据用户输入,设置内存盘的大小的值N。将N值和物理内存的大小值M进行对比,如果N值超过M的大小,那么给用户返回错误,提示用户内存盘大小设置超过物理内存的限制。
步骤S242,修改系统启动参数,增加对内存盘的配置,下次系统重启的时候,会读取该启动参数,用于预留内存,并设置内存盘大小。设置根文件系统设备为逻辑源卷。
步骤S243,实施例中系统设备即系统盘,将逻辑源卷名记录入配置文件,在下次重启的时候读出逻辑源卷名,用于创建快照卷,保护磁盘数据功能生效后会将快照卷挂载使用。
步骤S244,修改系统启动参数,将启动的根文件系统设备改为快照卷的名称。
步骤S245,提示用户需要重启生效。
图10为本发明第一实施例中激活磁盘数据保护功能后需要重启操作系统的流程图,如图10所示,包括以下步骤:
步骤S250,读取操作系统启动参数。
具体的,启动参数包括:内存盘参数,预留内存,创建对应大小的内存盘;根文件系统设备参数,该参数被修改为了快照卷的名称,后面挂载根文件系统时,将使用快照卷进行挂载。
步骤S251,从状态文件中读取开启状态的值。
具体的,如果被置,说明需要激活磁盘只读保护功能。
步骤S252,卷管理模块从根文件系统设备所在的卷组移除内存盘。
具体的,卷组的元数据信息是直接记录在块设备上的,内存盘上的数据每次重启后都会被丢弃,所以需要先将其移除出卷组。
步骤S253,卷管理模块将内存盘创建为物理卷,并将它加入根文件系统设备所在的卷组,扩展卷组的大小。
步骤S254,从配置文件中读取快照卷名,逻辑源卷名。
步骤S255,根据配置文件中读出的快照卷名以及逻辑源卷名,创建快照卷。
具体的,快照卷会从卷组中划分空间,由于扩展前的卷组空间被逻辑源卷占用了,新增的卷组空间是步骤S243中的内存盘扩展的,所以新创建的快照卷即对应内存盘。
步骤S256,修改状态文件,设置磁盘数据保护功能的生效状态。
步骤S257,修改启动的挂载文件系统列表文件。
具体的,系统在启动阶段会根据挂载文件系统列表文件挂载相关的文件系统,将根文件系统设备名改为快照卷名。
图11为本发明第一实施例中用户关闭磁盘数据保护功能的流程图,如图11所示,包括以下步骤:
步骤S260,检查磁盘数据保护功能是否已经激活。
具体的,磁盘数据保护功能需要重启操作系统才能生效,关闭该功能时,会在状态文件里面设置它为关闭状态。检查磁盘数据保护功能是否关闭,分为两种情况:情况一,关闭状态被置且生效状态也被置,提示用户需要重启才能生效;情况二,关闭状态被置且生效状态未被置,提示该功能已经关闭。
步骤S261,如果未设置关闭状态,磁盘数据保护功能需要重启操作系统才能生效。
步骤S262,修改系统启动参数,删除对内存盘配置的参数,下次重启,不必再预留内存,设置内存盘大小。
步骤S263,修改系统启动参数,将启动的根文件系统设备改为逻辑源卷的名称。
步骤S264,提示用户需要重启操作系统才能生效。
本发明第二实施例,一种磁盘数据保护装置,如图12所示,包括:
快照卷创建模块10,用于在物理卷上创建逻辑源卷,在所述逻辑源卷上创建快照卷。
文件IO穿透模块20,用于当对文件设置输入输出IO穿透属性时,将具有IO穿透属性的文件的IO写请求产生的增量数据保存在快照卷上。
数据同步模块30,用于将保存在所述快照卷上的所述增量数据同步到逻辑源卷上。
映射模块40,用于在创建所述快照卷之前,接收所述IO写请求,根据所述IO写请求查找所述第三块映射表,确定所述第二物理卷中的块号;在创建所述快照卷后,接收所述IO写请求,根据所述IO写请求查找所述逻辑源卷中的块号,根据所述逻辑源卷中的块号查找所述第一块映射表和所述第二块映射表,确定所述第一物理卷中的块号。
具体的,物理卷包括第一物理卷和第二物理卷;在所述逻辑源卷中的块和所述快照卷中的块之间建立第一块映射表,在所述快照卷中的块和第一物理卷中的块之间建立第二块映射表,在所述逻辑源卷中的块和所述第二物理卷中的块之间建立第三块映射表
本发明是在LVM技术上的进一步发展,其中LVM可以理解为N个物理卷到M个逻辑卷的映射关系的实现。N个物理卷组成一个卷组,它们的存储空间加入到卷组这个资源池,用户可以根据需要从卷组中重新划分出任意个逻辑卷,限制是逻辑卷总和大小不能超过卷组的大小。现今LVM支持条带,映射,快照等逻辑卷类型,本发明利用了LVM的快照卷功能,并在快照卷的基础上上进行了优化和扩展。传统的LVM技术使用实际的物理磁盘分区作为物理卷,本发明使用了内存盘来替代物理磁盘分区,将内存盘的空间映射给快照分区,在提高了数据安全性的基础上,数据的访问效率能也有了一个质的飞跃。
本发明实施例中的所述磁盘数据保护方法及装置,当开启磁盘数据保护功能后,通过对进程或文件设置IO穿透属性,将IO写请求的增量数据也同步到逻辑源卷,使得数据保护的管理方式更加的灵活。另外,通过将创建的快照卷对应内存盘,使内存盘来替代物理卷,在很大程度上提高了数据的访问效率。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
Claims (12)
1.一种磁盘数据保护方法,其特征在于,包括:
在物理卷上创建逻辑源卷,在所述逻辑源卷上创建快照卷;
当对文件设置输入输出IO穿透属性时,将具有IO穿透属性的文件的IO写请求产生的增量数据保存在所述快照卷上;
将保存在所述快照卷上的所述增量数据同步到所述逻辑源卷上。
2.根据权利要求1所述的磁盘数据保护方法,其特征在于,所述物理卷包括内存盘类块设备和磁盘类块设备。
3.根据权利要求1所述的磁盘数据保护方法,其特征在于,所述物理卷中的块分别与所述逻辑源卷中的块和快照卷中的块具有映射关系,如下:
所述物理卷包括第一物理卷和第二物理卷;在所述逻辑源卷中的块和所述快照卷中的块之间建立第一块映射表,在所述快照卷中的块和所述第一物理卷中的块之间建立第二块映射表,在所述逻辑源卷中的块和所述第二物理卷中的块之间建立第三块映射表;
所述物理卷中的块、逻辑源卷中的块和快照卷中的块均对应有块号。
4.根据权利要求3所述的磁盘数据保护方法,其特征在于,所述方法,还包括:
在创建所述快照卷之前,接收所述IO写请求,根据所述IO写请求查找所述第三块映射表,确定所述第二物理卷中的块号;
在创建所述快照卷后,接收所述IO写请求,根据所述IO写请求查找所述逻辑源卷中的块号,根据所述逻辑源卷中的块号查找所述第一块映射表和所述第二块映射表,确定所述第一物理卷中的块号。
5.根据权利要求1所述的磁盘数据保护方法,其特征在于,在所述物理卷上创建逻辑源卷,在所述逻辑源卷上创建快照卷,包括:
创建逻辑源卷名和快照卷名,设定所述快照卷的空间容量;
在物理卷上注册所述快照卷所对应的设备号,所述物理卷包括内存盘类块设备和磁盘类块设备,所述块设备上对应有设备号。
6.根据权利要求1所述的磁盘数据保护方法,其特征在于,所述对文件设置输入输出IO穿透属性,包括:对进程设置所述IO穿透属性,将所述进程相关的打开文件设置所述IO穿透属性。
7.根据权利要求3所述的磁盘数据保护方法,其特征在于,将具有IO穿透属性的文件的IO写请求产生的增量数据保存在所述快照卷上,包括:
当所述物理卷接收到所述IO写请求时,对所述IO写请求进行解析,确定出所述IO写请求是属于逻辑源卷还是快照卷;
根据确定的结果,将所述IO写请求发送给所属的所述快照卷或所属的所述逻辑源卷;
将保存在所述快照卷上的所述增量数据同步到所述逻辑源卷上。
8.根据权利要求7所述的磁盘数据保护方法,其特征在于,所述方法还包括:
当物理卷接收到所述IO读请求时,对所述IO读请求进行解析,确定出所述IO读求是属于逻辑源卷还是快照卷;
根据确定出的结果,查询所述IO读求所属的逻辑源卷块中的块号或所属的快照卷中的块号,将所述逻辑源卷中的块号或快照卷中的块号转换为物理卷中的块号;
将所述IO读请求发送给与所述物理卷中的块号对应的块设备。
9.根据权利要求8所述的磁盘数据保护方法,其特征在于,所述方法,还包括:当不对文件设置IO穿透属性时,将物理卷接收到的IO读请求发送给所述逻辑源卷或快照卷;将所述物理卷接收到的IO写请求发送给所述快照卷。
10.一种磁盘数据保护装置,其特征在于,包括:
快照卷创建模块,用于在物理卷上创建逻辑源卷,在所述逻辑源卷上创建快照卷;
文件IO穿透模块,用于当对文件设置输入输出IO穿透属性时,将具有IO穿透属性的文件的IO写请求产生的增量数据保存在所述快照卷上;
数据同步模块,用于将保存在所述快照卷上的所述增量数据同步到所述逻辑源卷上。
11.根据权利要求10所述的磁盘数据保护装置,其特征在于,所述物理卷中的块分别与所述逻辑源卷中的块和快照卷中的块具有映射关系,如下:
所述物理卷包括第一物理卷和第二物理卷;在所述逻辑源卷中的块和所述快照卷中的块之间建立第一块映射表,在所述快照卷中的块和所述第一物理卷中的块之间建立第二块映射表,在所述逻辑源卷中的块和所述第二物理卷中的块之间建立第三块映射表;
所述物理卷中的块、逻辑源卷中的块和快照卷中的块均对应有块号。
12.根据权利要求11所述的磁盘数据保护装置,其特征在于,所述装置,还包括:
映射模块,用于在创建所述快照卷之前,接收所述IO写请求,根据所述IO写请求查找所述第三块映射表,确定所述第二物理卷中的块号;在创建所述快照卷后,接收所述IO写请求,根据所述IO写请求查找所述逻辑源卷中的块号,根据所述逻辑源卷中的块号查找所述第一块映射表和所述第二块映射表,确定所述第一物理卷中的块号。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410401630.XA CN105469001B (zh) | 2014-08-15 | 2014-08-15 | 磁盘数据保护方法及装置 |
PCT/CN2014/089214 WO2015154425A1 (zh) | 2014-08-15 | 2014-10-22 | 磁盘数据保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410401630.XA CN105469001B (zh) | 2014-08-15 | 2014-08-15 | 磁盘数据保护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105469001A true CN105469001A (zh) | 2016-04-06 |
CN105469001B CN105469001B (zh) | 2020-02-11 |
Family
ID=54287191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410401630.XA Active CN105469001B (zh) | 2014-08-15 | 2014-08-15 | 磁盘数据保护方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105469001B (zh) |
WO (1) | WO2015154425A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020718A (zh) * | 2016-05-09 | 2016-10-12 | 福建联迪商用设备有限公司 | 一种提高虚拟磁盘写入性能的方法及系统 |
CN111090549A (zh) * | 2019-12-27 | 2020-05-01 | 航天壹进制(南京)数据科技有限公司 | 一种基于卷cbt驱动的增量回迁卷级数据到原机的方法 |
CN111124311A (zh) * | 2019-12-23 | 2020-05-08 | 四川效率源信息安全技术股份有限公司 | 一种逻辑卷管理下基于配置信息的raid数据的恢复方法 |
CN114880277A (zh) * | 2022-04-07 | 2022-08-09 | 中科驭数(北京)科技有限公司 | 块设备快照方法、系统和存储介质 |
CN117130541A (zh) * | 2023-03-02 | 2023-11-28 | 荣耀终端有限公司 | 存储空间配置方法及相关设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078368B (zh) * | 2019-12-26 | 2023-03-21 | 浪潮电子信息产业股份有限公司 | 云计算平台虚拟机的内存快照方法、装置及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658168A (zh) * | 2004-02-19 | 2005-08-24 | 华为技术有限公司 | 一种快照过程中向源卷写数据的方法 |
CN1704903A (zh) * | 2004-06-03 | 2005-12-07 | 华为技术有限公司 | 一种快照备份的方法 |
US20100228919A1 (en) * | 2009-03-03 | 2010-09-09 | Econnectix Corporation | System and method for performing rapid data snapshots |
CN102012853A (zh) * | 2011-01-14 | 2011-04-13 | 南开大学 | 一种零拷贝快照方法 |
CN103019890A (zh) * | 2012-12-24 | 2013-04-03 | 清华大学 | 一种块级别的磁盘数据保护系统及其方法 |
CN103336728A (zh) * | 2013-05-08 | 2013-10-02 | 上海爱数软件有限公司 | 一种磁盘数据恢复方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8286030B1 (en) * | 2009-02-09 | 2012-10-09 | American Megatrends, Inc. | Information lifecycle management assisted asynchronous replication |
CN102012852B (zh) * | 2010-12-27 | 2013-05-08 | 创新科存储技术有限公司 | 一种增量写快照的实现方法 |
-
2014
- 2014-08-15 CN CN201410401630.XA patent/CN105469001B/zh active Active
- 2014-10-22 WO PCT/CN2014/089214 patent/WO2015154425A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658168A (zh) * | 2004-02-19 | 2005-08-24 | 华为技术有限公司 | 一种快照过程中向源卷写数据的方法 |
CN1704903A (zh) * | 2004-06-03 | 2005-12-07 | 华为技术有限公司 | 一种快照备份的方法 |
US20100228919A1 (en) * | 2009-03-03 | 2010-09-09 | Econnectix Corporation | System and method for performing rapid data snapshots |
CN102012853A (zh) * | 2011-01-14 | 2011-04-13 | 南开大学 | 一种零拷贝快照方法 |
CN103019890A (zh) * | 2012-12-24 | 2013-04-03 | 清华大学 | 一种块级别的磁盘数据保护系统及其方法 |
CN103336728A (zh) * | 2013-05-08 | 2013-10-02 | 上海爱数软件有限公司 | 一种磁盘数据恢复方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020718A (zh) * | 2016-05-09 | 2016-10-12 | 福建联迪商用设备有限公司 | 一种提高虚拟磁盘写入性能的方法及系统 |
WO2017193488A1 (zh) * | 2016-05-09 | 2017-11-16 | 福建联迪商用设备有限公司 | 一种提高虚拟磁盘写入性能的方法及系统 |
CN111124311A (zh) * | 2019-12-23 | 2020-05-08 | 四川效率源信息安全技术股份有限公司 | 一种逻辑卷管理下基于配置信息的raid数据的恢复方法 |
CN111124311B (zh) * | 2019-12-23 | 2023-06-23 | 四川效率源信息安全技术股份有限公司 | 一种逻辑卷管理下基于配置信息的raid数据的恢复方法 |
CN111090549A (zh) * | 2019-12-27 | 2020-05-01 | 航天壹进制(南京)数据科技有限公司 | 一种基于卷cbt驱动的增量回迁卷级数据到原机的方法 |
CN111090549B (zh) * | 2019-12-27 | 2022-04-05 | 南京壹进制信息科技有限公司 | 一种基于卷cbt驱动的增量回迁卷级数据到原机的方法 |
CN114880277A (zh) * | 2022-04-07 | 2022-08-09 | 中科驭数(北京)科技有限公司 | 块设备快照方法、系统和存储介质 |
CN117130541A (zh) * | 2023-03-02 | 2023-11-28 | 荣耀终端有限公司 | 存储空间配置方法及相关设备 |
CN117130541B (zh) * | 2023-03-02 | 2024-06-04 | 荣耀终端有限公司 | 存储空间配置方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105469001B (zh) | 2020-02-11 |
WO2015154425A1 (zh) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11392538B2 (en) | Archiving data objects using secondary copies | |
CN105469001A (zh) | 磁盘数据保护方法及装置 | |
US8756199B2 (en) | File level hierarchical storage management system, method, and apparatus | |
US7979478B2 (en) | Data management method | |
CN102299904B (zh) | 一种实现业务数据备份的系统及方法 | |
EP3014487B1 (en) | Grouping of objects in a distributed storage system based on journals and placement policies | |
US8612488B1 (en) | Efficient method for relocating shared memory | |
EP3502877B1 (en) | Data loading method and apparatus for virtual machines | |
US9892121B2 (en) | Methods and systems to identify and use event patterns of application workflows for data management | |
US20070061540A1 (en) | Data storage system using segmentable virtual volumes | |
US9262313B2 (en) | Provisioning in heterogenic volume of multiple tiers | |
EP2972747B1 (en) | Data storage, file and volume system providing mutliple tiers | |
US9785547B2 (en) | Data management apparatus and method | |
US9116904B2 (en) | File system operation on multi-tiered volume | |
JP2022501747A (ja) | データバックアップ方法、装置、サーバ及びコンピュータプログラム | |
US8180838B2 (en) | Efficiently managing modular data storage systems | |
JP2009534775A (ja) | アーカイブ化したデータストレージの構成可能なビュー | |
US9015526B2 (en) | Restoring method and computer system | |
US20230325363A1 (en) | Time series data layered storage systems and methods | |
EP2669806B1 (en) | Storage system | |
CN103197987A (zh) | 一种数据备份的方法、数据恢复的方法及系统 | |
US10387384B1 (en) | Method and system for semantic metadata compression in a two-tier storage system using copy-on-write | |
US11176089B2 (en) | Systems and methods for implementing dynamic file systems | |
WO2017024802A1 (zh) | 多种存储介质并存的系统及进行文件操作的方法、装置及计算机存储介质 | |
WO2022164419A1 (en) | Distributed semantic-aware cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |