CN101630281B - 一种数据存储的镜像方法和设备 - Google Patents
一种数据存储的镜像方法和设备 Download PDFInfo
- Publication number
- CN101630281B CN101630281B CN2009101693162A CN200910169316A CN101630281B CN 101630281 B CN101630281 B CN 101630281B CN 2009101693162 A CN2009101693162 A CN 2009101693162A CN 200910169316 A CN200910169316 A CN 200910169316A CN 101630281 B CN101630281 B CN 101630281B
- Authority
- CN
- China
- Prior art keywords
- data
- memory device
- master file
- logical resource
- buffer memory
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种数据存储的镜像方法,主卷存储设备与镜像卷存储设备共同计算主卷存储设备接收的数据的校验和,提高数据校验和的计算速度以及数据的写盘效率,并且当主卷存储设备故障时,可以利用镜像卷存储设备保证主卷存储设备中数据不丢失。
Description
技术领域
本发明涉及通讯领域,尤其涉及一种数据存储的镜像方法和设备。
背景技术
RAID(Redundant Array of Independent Disk,独立磁盘冗余阵列)是将N块硬盘通过RAID Controller(控制器)结合成虚拟单台大容量的硬盘使用。RAID通过在N块磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput),通过在不同磁盘相互校验、恢复数据的措施,提高RAID系统的容错度。
RAID技术已广泛应用于数据存储的各种场合,比较长用的有RAID0、RAID1、RAID5、RAID6、RAID10等。其中RAID0不具有冗余能力,RAID1只是对磁盘做了镜像不能算是完全的磁盘阵列。RAID5、RAID6和RAID10这3种阵列分别由多块磁盘组成,以条带的方式向阵列中的磁盘写数据,其中包括用于校验、恢复数据的奇偶校验数据。RAID5每个条带含有1个校验位,支持任意损坏其中一块磁盘,通过其他磁盘上的奇偶校验位来重建数据;RAID6每个条带含有2个校验位,支持任意损坏其中两块磁盘,通过其他磁盘上的奇偶校验位来恢复数据;RAID10是对磁盘组先进行镜像,再对磁盘进行条带,所以其不含奇偶校验位,当一块磁盘损坏后通过其对应的镜像盘恢复数据,理想状态最多允许不同的位置下50%的磁盘损坏,最糟糕的情况是同一对镜像磁盘同时损坏。
奇偶校验数据是由每个条带中的数据位使用XOR运算得出,这样在一个磁盘发生损坏时,可以通过条带中的数据位+奇偶校验位使用XOR运算来还原丢失的那部分数据。
具有奇偶校验数据的磁盘阵列中数据的存储过程如图1所示,其中,RAID5阵列由3块盘组成,需要写入RAID5的有6块数据,这样分成3个条带写 入磁盘中,其中黑色P的数据块就是奇偶校验数据,分别由每个条带中的数据XOR算出, 这样假设Disk1(磁盘1)损坏,那么条带1中的数据A,可以由 运算得出
现有的镜像技术方案中,存储控制器下具有不同的阵列,以图2所示为例,当数据写入存储控制器时,存储控制器将数据复制成两份,分别存储在主卷和镜像卷所在阵列的两个缓存中。由于同一存储控制器下主卷和镜像卷所在阵列的结构可能不同,因此,在数据存储过程中,存储控制器需要分别计算两个缓存中数据的校验和,然后将数据和数据的校验和分别刷入主卷和镜像卷。当主卷所在阵列失败时,存储控制器控制镜像卷所在阵列继续进行数据读写,保证数据不丢失。
现有技术的缺点在于:
存储控制器需要对每一阵列进行校验和计算,降低存储控制器的写盘效率;同时,当整个存储设备发生故障时,无法保证数据的完整性。
发明内容
本发明提供了一种数据存储的镜像方法和设备,以实现存储设备发生故障时,设备中存储的数据不丢失。
本发明提供了一种数据存储的镜像方法,应用于包括主卷存储设备与至少一个镜像卷存储设备的存储系统中,在所述镜像卷存储设备中选择与主卷设备的主卷逻辑资源所在阵列的磁盘数量和磁盘结构相同的阵列,创建主卷逻辑资源的镜像卷逻辑资源,所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备,该方法包括:
当所述主卷存储设备接收到数据时,所述主卷存储设备复制所述数据,并将复制后的数据分别写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存,保持所述主卷逻辑资源对应的阵列缓存和所述镜像卷逻辑资源对应的阵列缓存中数据的一致性;
当下刷对应的阵列缓存中的数据时,所述主卷存储设备计算其对应的阵列缓存中的第一部分数据的校验和,通知所述镜像卷存储设备冻结其对应的阵列缓存中的所述第一部分数据;所述镜像卷存储设备计算其对应的阵列缓 存中的第二部分数据的校验和,通知所述主卷存储设备冻结其对应的阵列缓存中的所述第二部分数据;
所述主卷存储设备将其对应的阵列缓存中的所述第一部分数据对应的校验和与所述第一部分数据写入所述主卷逻辑资源与镜像卷逻辑资源,通知所述镜像卷存储设备释放其对应的阵列缓存中的被冻结的数据空间;所述镜像卷存储设备将其对应的阵列缓存中的所述第二部分数据对应的校验和与所述第二部分数据写入所述主卷逻辑资源与镜像卷逻辑资源,通知所述主卷存储设备释放其对应的阵列缓存中的被冻结的数据空间;
当所述主卷逻辑资源所在阵列故障时,所述主卷存储设备通知所述镜像卷存储设备解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源;
当所述主卷存储设备故障时,所述镜像卷存储设备在预设时间内没有接收到所述主卷存储设备的维持连接消息时,解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源。
当所述主卷存储设备接收到数据时,所述主卷存储设备复制所述数据,并将复制后的数据分别写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存具体为:
所述主卷存储设备接收一份数据,复制所述数据并写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存;
当所述复制后的数据成功写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存后,所述主卷存储设备接收下一份数据。
所述当下刷对应的阵列缓存中的数据时,所述主卷存储设备计算其对应的阵列缓存中的第一部分数据的校验和,所述镜像卷存储设备计算其对应的阵列缓存中的第二部分数据的校验和具体为:
当下刷对应的阵列缓存中的数据时,所述主卷存储设备与所述镜像卷存储设备根据预先配置的校验和计算顺序,分别选择其对应的阵列缓存中不同 部分的数据进行校验和计算;
当所述主卷存储设备与镜像卷存储设备中的任意存储设备获得校验和后,如果对应的阵列缓存中存在尚未计算校验和的数据,所述任意存储设备继续计算该数据所对应的校验和。
所述当下刷对应的阵列缓存中的数据时,还包括:所述主卷存储设备优先选择其对应的阵列缓存中的数据进行校验和计算。
所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备具体为:
所述主卷逻辑资源通过因特网小型计算机系统接口ISCSI协议连接的源-目标initiator-target方式挂载到所述镜像卷存储设备,所述镜像卷逻辑资源通过initiator-target方式挂载到所述主卷存储设备。
一种数据存储的设备,作为主卷存储设备或者镜像卷存储设备应用于包括一个主卷存储设备和至少一个镜像卷存储设备的存储系统中,在所述镜像卷存储设备上中选择与主卷设备的主卷逻辑资源所在阵列的磁盘数量和磁盘结构相同的阵列,创建主卷逻辑资源的镜像卷逻辑资源,所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备,该设备包括:
缓存写入单元,用于所述设备作为主卷存储设备时,当所述主卷存储设备接收到数据时,复制所述数据,并将复制后的数据分别写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存,保持所述主卷逻辑资源对应的阵列缓存和所述镜像卷逻辑资源对应的阵列缓存中数据的一致性;
校验和计算单元,用于在下刷对应的阵列缓存中的数据时,与其他存储设备分别计算对应的阵列缓存中的不同部分数据的校验和,通知其他存储设备冻结本端进行校验和计算的对应的阵列缓存中的第一部分数据,并冻结其他存储设备进行校验和计算的对应的阵列缓存中的其他数据;
卷写入单元,用于将计算得到的校验和以及该校验和对应的数据写入所述主卷逻辑资源与镜像卷逻辑资源,并通知其他存储设备释放对应的阵列缓 存中被冻结的数据空间;
故障处理单元,用于当所述主卷逻辑资源所在阵列故障时,
所述设备作为主卷存储设备时,通知所述镜像卷存储设备解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据;所述设备作为镜像卷存储设备时,接收所述主卷存储设备的通知,解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源;
当所述主卷存储设备故障时,
所述设备作为镜像卷存储设备时,在预设时间内没有接收到所述主卷存储设备的维持连接消息时,解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源。
所述缓存写入单元具体用于:
接收一份数据,复制所述数据并写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存;
当所述复制后的数据成功写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存后,接收下一份数据。
还包括:
选择单元,用于当下刷对应的阵列缓存中的数据时,根据预先配置的校验和计算顺序选择相应的数据,分别选择不同部分的数据进行校验和计算;
所述校验和计算单元具体用于:根据所述选择单元选择的数据进行校验和计算,并冻结自身以外的存储设备计算校验和所对应的数据;获取校验和后,如果所述对应的阵列缓存中存在尚未计算校验和的数据,继续计算该数据所对应的校验和。
所述选择单元还用于:
当下刷对应的阵列缓存中的数据时,优先选择对应的阵列缓存中的数据进行校验和计算。
所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂 载到所述主卷存储设备具体为:
所述主卷逻辑资源通过因特网小型计算机系统接口ISCSI协议连接的源-目标initiator-target方式挂载到所述镜像卷存储设备,所述镜像卷逻辑资源通过initiator-target方式挂载到所述主卷存储设备。
与现有技术相比,本发明至少具有以下优点:
本发明中,主卷存储设备与镜像卷存储设备共同计算主卷存储设备接收的数据的校验和,提高数据校验和的计算速度以及数据的写盘效率,并且当主卷存储设备故障时,可以利用镜像卷存储设备保证主卷存储设备中数据不丢失。
附图说明
图1是现有技术中具有奇偶校验数据的磁盘阵列中数据的存储过程示意图;
图2是现有的镜像技术方案的架构示意图;
图3是本发明提供的数据存储的镜像方法的流程示意图;
图4是本发明应用场景中提供的数据存储的镜像方法的流程示意图;
图5-图10是与图4中的数据存储的镜像方法相应的数据存储结构示意图;
图11是本发明提供的数据存储设备的结构示意图。
具体实施方式
本发明的核心思想是:配置主卷存储设备的镜像卷存储设备,在镜像卷存储设备上创建主卷逻辑资源的镜像卷逻辑资源。当数据向主卷存储设备写入时,主卷存储设备将该数据复制成多份,写入主卷存储设备和镜像卷存储设备所在的缓存。基于相同的数据存储阵列,主卷存储设备与镜像卷存储设备共同计算数据的校验和,将该校验和与数据分别写入主卷逻辑资源和镜像卷逻辑资源。由于利用主卷存储设备与镜像卷存储设备共同计算数据的校验和,提高了数据写入磁盘的速度和效率,并且当主卷存储设备故障时,镜像卷存储设备保证主卷存储设备中存储的数据不丢失。
具体的,本发明提供一种数据存储的镜像方法,应用于包括主卷存储设备与至少一个镜像卷存储设备的存储系统中,在所述镜像卷存储设备上创建主卷逻辑资源的镜像卷逻辑资源,所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备,如图3所示,该方法包括以下步骤:
步骤301,当所述主卷存储设备接收到数据时,所述主卷存储设备复制所述数据,并将复制后的数据分别写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存,保持所述主卷逻辑资源对应的阵列缓存和所述镜像卷逻辑资源对应的阵列缓存中数据的一致性;
步骤302,当下刷阵列缓存中的数据时,所述主卷存储设备计算阵列缓存中的第一部分数据的校验和,通知所述镜像卷存储设备冻结所述第一部分数据;所述镜像卷存储设备计算阵列缓存中的第二部分数据的校验和,通知所述主卷存储设备冻结所述第二部分数据;
步骤303,所述主卷存储设备将所述第一部分数据对应的校验和与所述第一部分数据写入所述主卷逻辑资源与镜像卷逻辑资源,通知所述镜像卷存储设备释放被冻结的数据空间;所述镜像卷存储设备将所述第二部分数据对应的校验和与所述第二部分数据写入所述主卷逻辑资源与镜像卷逻辑资源,通知所述主卷存储设备释放被冻结的数据空间。
下面结合具体应用场景详细介绍本发明提供的数据存储的镜像方法,应用于包括主卷存储设备与至少一镜像卷存储设备的存储系统中,如图4所示,包括以下步骤:
步骤401,配置主卷存储设备与镜像卷存储设备的镜像关系。
具体的,在镜像卷存储设备中选择与主卷存储设备的主卷逻辑资源所在阵列的磁盘数量和磁盘结构相同的阵列,创建镜像卷逻辑资源,该阵列中还包括卷逻辑资源对应的阵列缓存。主卷存储设备与镜像卷存储设备之间遵循ISCSI(Internet Small Computer System Interface,因特网小型计算机系统接口)协议连接,并通过initiator-target(源-目标)方式将主卷逻辑资源与镜像卷逻辑资源相互挂载到对方。如图5所示,以主卷存储设备对应一台镜像卷存储 设备为例,主卷存储设备与镜像卷存储设备相互将卷逻辑资源挂载到对方,同时挂载到对方的还包括主卷逻辑资源与镜像卷逻辑资源对应的阵列缓存。数据写入卷逻辑资源之前,首先在该卷逻辑资源对应的阵列缓存中计算校验和,然后将数据与计算得到的校验和共同写入卷逻辑资源。
步骤402,主卷存储设备接收客户端输入的业务数据,复制该业务数据并同时写入主卷逻辑资源与镜像卷逻辑资源对应的阵列缓存。
具体的,主卷存储设备接收客户端输入的业务数据后,主卷存储设备的存储控制器,简称为主卷控制器根据镜像卷逻辑资源、或者镜像卷存储设备的个数复制该业务数据,并将复制后的数据写入主卷逻辑资源对应的阵列缓存,同时通过initiator-target方式将复制后的数据写入每一镜像卷逻辑资源对应的阵列缓存。结合图6所示,主卷存储设备对应一台镜像卷存储设备时,数据被同时写入两台存储设备的阵列缓存。
客户端数据在写入主卷存储设备时通常是逐份写入,为了保证数据在每一卷存储设备的阵列缓存中的一致性,只有当所有阵列缓存中的数据写入完毕后,主卷存储设备接收客户端下一份数据。
步骤403,当阵列缓存中的数据到达下刷策略触发点时,主卷存储设备与镜像卷存储设备共同计算数据的校验和。
具体的,逐份写入阵列缓存中的数据有可能恰好到达一个下刷策略触发点,也有可能到达几个下刷策略触发点。主卷存储设备与镜像卷存储设备根据预先配置的校验和计算顺序,分别选择相应的下刷策略触发点进行校验和计算,并冻结自身以外的存储设备计算校验和所对应的数据,例如可以预先配置各卷存储设备选择下刷策略触发点进行校验和计算的顺序,当到达下刷策略触发点时,各卷存储设备根据该顺序以及下刷策略触发点到达的先后逐一计算校验和。
本应用场景中,以主卷存储设备在下刷策略触发点优先计算校验和为例进行介绍:当逐份写入阵列缓存中的数据恰好到达一个下刷策略触发点时,主卷存储设备计算数据的校验和;当逐份写入阵列缓存中的数据到达几个下刷策略触发点时,主卷存储设备计算第一个下刷策略触发点对应的校验和, 镜像卷存储设备根据预先配置分别计算其他不同下刷策略触发点对应的校验和。同时,每一存储设备与其他存储设备之间交互消息,获知其他存储设备进行校验和计算所对应的数据地址,冻结该地址上对应的数据,并告知其他存储设备本端计算校验和所对应的数据。当某一存储设备计算数据的校验和结束后,如果还存在其他需要计算校验和的数据,则该存储设备继续计算校验和。
结合图7所示,当数据写满阵列缓存中一个条带的1-5数据块时,主卷存储设备首先计算这部分数据的校验和,向镜像卷存储设备发送消息,通知镜像卷存储设备本端计算校验和的数据为1-5数据块,即第一条带上的数据,镜像卷存储设备冻结这部分数据,不对该条带上的数据计算校验和;同时,镜像卷存储设备发现有其他需要计算校验和的数据,例如6-10数据块所在的条带已写满时,镜像卷存储设备计算该条带的校验和,并通知主卷存储设备冻结6-10数据块所在条带的数据。
步骤404,存储设备计算获得数据的校验和后,将该校验和与对应的数据一起写入各卷逻辑资源。
具体的,进行校验和计算的每一存储设备在计算得到相应的校验和后,将该校验和与数据一起写入通过initiator-target方式挂载到该存储设备上的所有卷逻辑资源中。这样,每一卷逻辑资源中存储的数据都是各存储设备分别计算校验和后共同写入的数据,即每一卷逻辑资源由各存储设备共同写入数据及对应的校验和。其中,为了避免数据及对应的校验和在各卷逻辑资源中的存储混乱,本应用场景中规定各卷逻辑资源内根据阵列缓存中数据的排列顺序开辟相应的存储空间,使各数据及对应的校验和在卷逻辑资源内具有相应的存储地址,存储设备根据该存储地址将数据及对应的校验和写入卷逻辑资源。当然,也可以根据实际需要灵活设置数据及校验和在卷逻辑资源内的存储方式,本应用场景对此不做限制。
结合图8所示,以主卷存储设备对应一台镜像卷存储设备为例,主卷存储设备对阵列缓存中的数据进行校验和计算,以1-5数据块为例,主卷存储设备将1-5数据块及对应的校验和写入主卷逻辑资源与镜像卷逻辑资源;镜像卷 存储设备对阵列缓存中的数据进行校验和计算时,冻结1-5数据块,计算6-10数据块的校验和,镜像卷存储设备将计算得到的6-10数据块的校验和以及6-10数据块一起写入镜像卷逻辑资源和主卷逻辑资源。这样,主卷存储设备与镜像卷存储设备中都写入了1-10数据块及对应的校验和。
本应用场景中,当存储设备将每一次计算得到的校验和及对应的数据成功写入所有卷逻辑资源后,所有其他存储设备的阵列缓存中相应被“冻结”的数据空间被释放,以保证各卷逻辑资源对应的阵列缓存中数据的一致性。
步骤405,当主卷逻辑资源所在的磁盘阵列损坏而主卷存储控制器能够正常运行时,主卷存储控制器将数据读写业务切换至镜像卷逻辑资源,继续进行数据的读写。
具体的,结合图9所示,以主卷存储设备对应一台镜像卷存储设备为例,当主卷逻辑资源所在的磁盘阵列损坏而主卷存储控制器能够正常运行时,主卷存储控制器通知镜像卷存储设备解除阵列缓存中被冻结的数据。镜像卷存储设备重新计算阵列缓存中被冻结的数据的校验和,并将计算获得的该部分数据的校验和与该部分数据一起写入镜像卷逻辑资源;或者,镜像卷存储设备重新计算阵列缓存中所有数据的校验和,并将计算得到的校验和与对应数据写入镜像卷逻辑资源。
步骤406,当主卷存储控制器损坏时,镜像卷存储控制器通过与主卷存储控制器的intiator-target连接判断主卷存储器故障,解除镜像缓存中所有数据的冻结状态,并马上将所有数据计算校验和,刷入阵列磁盘中。
具体的,结合图10所示,以主卷存储设备对应一台镜像卷存储设备为例,主卷存储控制器故障时,无法通知镜像卷存储控制器本设备的故障。此时,由于镜像卷存储控制器无法通过intiator-target连接接收主卷存储控制器的维持intiator-target连接的信息,因此,镜像卷存储控制器判断主卷存储控制器故障,镜像卷存储设备重新计算阵列缓存中被冻结的数据的校验和,并将计算获得的该部分数据的校验和与该部分数据一起写入镜像卷逻辑资源;或者,镜像卷存储设备重新计算阵列缓存中所有数据的校验和,并将计算得到的校验和与对应数据写入镜像卷逻辑资源。
本应用场景中,主卷存储设备与镜像卷存储设备并没有明确的限定,对于每一存储设备,既可以为主卷存储设备,也可以为镜像卷存储设备。例如,当多个客户端连接不同的存储设备时,则存储设备之间互为主、镜像卷存储设备。
通过采用本发明提供的方法,主卷存储设备与镜像卷存储设备共同计算主卷存储设备接收的数据的校验和,提高数据校验和的计算速度以及数据的写盘效率,并且当主卷存储设备故障时,可以利用镜像卷存储设备保证主卷存储设备中数据不丢失。
本发明提供一种数据存储的设备,作为主卷存储设备或者镜像卷存储设备应用于包括一个主卷存储设备和至少一个镜像卷存储设备的存储系统中,在所述镜像卷存储设备上创建主卷逻辑资源的镜像卷逻辑资源,所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备,如图11所示,该设备包括:
缓存写入单元11,用于所述设备作为主卷存储设备时,当所述主卷存储设备接收到数据时,复制所述数据,并将复制后的数据分别写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存,保持所述主卷逻辑资源对应的阵列缓存和所述镜像卷逻辑资源对应的阵列缓存中数据的一致性。具体的,所述缓存写入单元11接收一份数据后,复制该数据并写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存;当所述复制后的数据成功写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存后,接收下一份数据。
校验和计算单元12,用于在下刷阵列缓存中的数据时,与其他存储设备分别计算阵列缓存中的不同部分数据的校验和,通知其他存储设备冻结本端进行校验和计算的阵列缓存中的第一部分数据,并冻结其他存储设备进行校验和计算的阵列缓存中的其他数据。
卷写入单元13,用于将校验和计算单元12计算得到的校验和以及该校验和对应的数据写入所述主卷逻辑资源与镜像卷逻辑资源,并通知其他存储设 备释放被冻结的数据空间。
本发明提供的设备,可选的,还包括:
选择单元14,用于当下刷阵列缓存中的数据时,根据预先配置的校验和计算顺序选择相应的数据;
相应的,所述校验和计算单元12具体用于:根据所述选择单元14选择的数据进行校验和计算,并冻结自身以外的存储设备计算校验和所对应的数据;获取校验和后,如果所述阵列缓存中存在尚未计算校验和的数据,继续计算该数据所对应的校验和。
所述选择单元14还用于:
当下刷阵列缓存中的数据时,优先选择阵列缓存中的数据进行校验和计算。
本发明提供的设备中,所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备具体为:
所述主卷逻辑资源通过源-目标initiator-target方式挂载到所述镜像卷存储设备,所述镜像卷逻辑资源通过initiator-target方式挂载到所述主卷存储设备。
可选的,本发明提供的设备中,还包括:
故障处理单元15,用于当所述主卷逻辑资源所在阵列故障时,
所述设备作为主卷存储设备时,通知所述镜像卷存储设备解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据;所述设备作为镜像卷存储设备时,接收所述主卷存储设备的通知,解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源;
当所述主卷存储设备故障时,
所述设备作为镜像卷存储设备时,在预设时间内没有接收到所述主卷存储设备的维持连接消息时,解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源。
通过采用本发明提供的设备,主卷存储设备与镜像卷存储设备共同计算 主卷存储设备接收的数据的校验和,提高数据校验和的计算速度以及数据的写盘效率,并且当主卷存储设备故障时,可以利用镜像卷存储设备保证主卷存储设备中数据不丢失。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种数据存储的镜像方法,其特征在于,应用于包括主卷存储设备与至少一个镜像卷存储设备的存储系统中,在所述镜像卷存储设备中选择与主卷设备的主卷逻辑资源所在阵列的磁盘数量和磁盘结构相同的阵列,创建主卷逻辑资源的镜像卷逻辑资源,所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备,该方法包括:
当所述主卷存储设备接收到数据时,所述主卷存储设备复制所述数据,并将复制后的数据分别写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存,保持所述主卷逻辑资源对应的阵列缓存和所述镜像卷逻辑资源对应的阵列缓存中数据的一致性;
当下刷对应的阵列缓存中的数据时,所述主卷存储设备计算其对应的阵列缓存中的第一部分数据的校验和,通知所述镜像卷存储设备冻结其对应的阵列缓存中的所述第一部分数据;所述镜像卷存储设备计算其对应的阵列缓存中的第二部分数据的校验和,通知所述主卷存储设备冻结其对应的阵列缓存中的所述第二部分数据;
所述主卷存储设备将其对应的阵列缓存中的所述第一部分数据对应的校验和与所述第一部分数据写入所述主卷逻辑资源与镜像卷逻辑资源,通知所述镜像卷存储设备释放其对应的阵列缓存中的被冻结的数据空间;所述镜像卷存储设备将其对应的阵列缓存中的所述第二部分数据对应的校验和与所述第二部分数据写入所述主卷逻辑资源与镜像卷逻辑资源,通知所述主卷存储设备释放其对应的阵列缓存中的被冻结的数据空间;
当所述主卷逻辑资源所在阵列故障时,所述主卷存储设备通知所述镜像卷存储设备解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源;
当所述主卷存储设备故障时,所述镜像卷存储设备在预设时间内没有接收到所述主卷存储设备的维持连接消息时,解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源。
2.如权利要求1所述的方法,其特征在于,当所述主卷存储设备接收到数据时,所述主卷存储设备复制所述数据,并将复制后的数据分别写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存具体为:
所述主卷存储设备接收一份数据,复制所述数据并写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存;
当所述复制后的数据成功写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存后,所述主卷存储设备接收下一份数据。
3.如权利要求1所述的方法,其特征在于,所述当下刷对应的阵列缓存中的数据时,所述主卷存储设备计算其对应的阵列缓存中的第一部分数据的校验和,所述镜像卷存储设备计算其对应的阵列缓存中的第二部分数据的校验和具体为:
当下刷对应的阵列缓存中的数据时,所述主卷存储设备与所述镜像卷存储设备根据预先配置的校验和计算顺序,分别选择其对应的阵列缓存中不同部分的数据进行校验和计算;
当所述主卷存储设备与镜像卷存储设备中的任意存储设备获得校验和后,如果对应的阵列缓存中存在尚未计算校验和的数据,所述任意存储设备继续计算该数据所对应的校验和。
4.如权利要求1所述的方法,其特征在于,所述当下刷对应的阵列缓存中的数据时,还包括:所述主卷存储设备优先选择其对应的阵列缓存中的数据进行校验和计算。
5.如权利要求1所述的方法,其特征在于,所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备具体为:
所述主卷逻辑资源通过因特网小型计算机系统接口ISCSI协议连接的源-目标initiator-target方式挂载到所述镜像卷存储设备,所述镜像卷逻辑资源通过initiator-target方式挂载到所述主卷存储设备。
6.一种数据存储的设备,其特征在于,作为主卷存储设备或者镜像卷存储设备应用于包括一个主卷存储设备和至少一个镜像卷存储设备的存储系统中,在所述镜像卷存储设备上中选择与主卷设备的主卷逻辑资源所在阵列的磁盘数量和磁盘结构相同的阵列,创建主卷逻辑资源的镜像卷逻辑资源,所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备,该设备包括:
缓存写入单元,用于所述设备作为主卷存储设备时,当所述主卷存储设备接收到数据时,复制所述数据,并将复制后的数据分别写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存,保持所述主卷逻辑资源对应的阵列缓存和所述镜像卷逻辑资源对应的阵列缓存中数据的一致性;
校验和计算单元,用于在下刷对应的阵列缓存中的数据时,与其他存储设备分别计算对应的阵列缓存中的不同部分数据的校验和,通知其他存储设备冻结本端进行校验和计算的对应的阵列缓存中的第一部分数据,并冻结其他存储设备进行校验和计算的对应的阵列缓存中的其他数据;
卷写入单元,用于将计算得到的校验和以及该校验和对应的数据写入所述主卷逻辑资源与镜像卷逻辑资源,并通知其他存储设备释放对应的阵列缓存中被冻结的数据空间;
故障处理单元,用于当所述主卷逻辑资源所在阵列故障时,
所述设备作为主卷存储设备时,通知所述镜像卷存储设备解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据;所述设备作为镜像卷存储设备时,接收所述主卷存储设备的通知,解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源;
当所述主卷存储设备故障时,
所述设备作为镜像卷存储设备时,在预设时间内没有接收到所述主卷存储设备的维持连接消息时,解除所述镜像卷逻辑资源对应的阵列缓存内被冻结的数据,并计算所述阵列缓存内所有数据的校验和,将计算获得的校验和以及所述阵列缓存内的所有数据写入所述镜像卷逻辑资源。
7.如权利要求6所述的设备,其特征在于,所述缓存写入单元具体用于:
接收一份数据,复制所述数据并写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存;
当所述复制后的数据成功写入所述主卷逻辑资源对应的阵列缓存、以及所述镜像卷逻辑资源对应的阵列缓存后,接收下一份数据。
8.如权利要求6所述的设备,其特征在于,还包括:
选择单元,用于当下刷对应的阵列缓存中的数据时,根据预先配置的校验和计算顺序选择相应的数据,分别选择不同部分的数据进行校验和计算;
所述校验和计算单元具体用于:根据所述选择单元选择的数据进行校验和计算,并冻结自身以外的存储设备计算校验和所对应的数据;获取校验和后,如果所述对应的阵列缓存中存在尚未计算校验和的数据,继续计算该数据所对应的校验和。
9.如权利要求8所述的设备,其特征在于,所述选择单元还用于:
当下刷对应的阵列缓存中的数据时,优先选择对应的阵列缓存中的数据进行校验和计算。
10.如权利要求8所述的设备,其特征在于,所述主卷逻辑资源挂载到所述镜像卷存储设备,所述镜像卷逻辑资源挂载到所述主卷存储设备具体为:
所述主卷逻辑资源通过因特网小型计算机系统接口ISCSI协议连接的源-目标initiator-target方式挂载到所述镜像卷存储设备,所述镜像卷逻辑资源通过initiator-target方式挂载到所述主卷存储设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101693162A CN101630281B (zh) | 2009-08-25 | 2009-08-25 | 一种数据存储的镜像方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101693162A CN101630281B (zh) | 2009-08-25 | 2009-08-25 | 一种数据存储的镜像方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101630281A CN101630281A (zh) | 2010-01-20 |
CN101630281B true CN101630281B (zh) | 2011-11-16 |
Family
ID=41575398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101693162A Expired - Fee Related CN101630281B (zh) | 2009-08-25 | 2009-08-25 | 一种数据存储的镜像方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101630281B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5279785B2 (ja) * | 2010-09-17 | 2013-09-04 | 株式会社東芝 | コントローラ、記憶装置、およびプログラム |
CN103077098B (zh) * | 2012-12-25 | 2015-11-18 | 深圳市安云信息科技有限公司 | 基于iscsi卷的文件备份方法和装置 |
CN106412612B (zh) * | 2016-09-27 | 2019-09-17 | 中央电视台 | 一种节目文件的整备方法、装置及系统 |
CN113760186A (zh) * | 2019-07-30 | 2021-12-07 | 华为技术有限公司 | 数据存储方法、装置、计算设备、存储系统及存储介质 |
CN114510379B (zh) * | 2022-04-21 | 2022-11-01 | 山东百盟信息技术有限公司 | 一种分布式阵列视频数据存储装置 |
-
2009
- 2009-08-25 CN CN2009101693162A patent/CN101630281B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101630281A (zh) | 2010-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107807794B (zh) | 一种数据存储方法和装置 | |
CN108170555B (zh) | 一种数据恢复方法及设备 | |
US8327080B1 (en) | Write-back cache protection | |
US8392752B2 (en) | Selective recovery and aggregation technique for two storage apparatuses of a raid | |
US6922752B2 (en) | Storage system using fast storage devices for storing redundant data | |
US20080126700A1 (en) | System for optimizing the performance and reliability of a storage controller cache offload circuit | |
CN101866307A (zh) | 一种基于镜像技术的数据存储方法及装置 | |
CN107729536B (zh) | 一种数据存储方法和装置 | |
US7093069B2 (en) | Integration of a RAID controller with a disk drive module | |
US7496785B2 (en) | Enclosure-based raid parity assist | |
WO2018098972A1 (zh) | 一种日志恢复方法、存储装置和存储节点 | |
US20030041283A1 (en) | Storage disk failover and replacement system | |
US7694171B2 (en) | Raid5 error recovery logic | |
CN101630281B (zh) | 一种数据存储的镜像方法和设备 | |
CN102981927A (zh) | 分布式独立冗余磁盘阵列存储方法及分布式集群存储系统 | |
CN101482838A (zh) | 基于写时拷贝的数据写入方法及设备 | |
JP2018508073A (ja) | データ除去、割り当て、及び再構築 | |
CN102177496A (zh) | 用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法 | |
CN116501553B (zh) | 数据恢复方法、装置、系统、电子设备及存储介质 | |
US9524213B2 (en) | Storage control apparatus, recording medium having stored therein storage control program and storage control method | |
CN101794246B (zh) | 备份存储系统、备份系统及数据备份方法和恢复方法 | |
WO2016112824A1 (zh) | 存储的处理方法、装置和存储设备 | |
CN113051428B (zh) | 一种摄像机前端存储备份的方法及装置 | |
CN103902232B (zh) | 一种写入的数据的方法及装置 | |
CN115981926B (zh) | 一种提高磁盘阵列性能的方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111116 Termination date: 20200825 |