CN102902683A - 基于iscsi的全盘复制方法及存储系统 - Google Patents

基于iscsi的全盘复制方法及存储系统 Download PDF

Info

Publication number
CN102902683A
CN102902683A CN2011102113829A CN201110211382A CN102902683A CN 102902683 A CN102902683 A CN 102902683A CN 2011102113829 A CN2011102113829 A CN 2011102113829A CN 201110211382 A CN201110211382 A CN 201110211382A CN 102902683 A CN102902683 A CN 102902683A
Authority
CN
China
Prior art keywords
hard disk
iscsi hard
iscsi
passive
initiatively
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
Application number
CN2011102113829A
Other languages
English (en)
Other versions
CN102902683B (zh
Inventor
陈杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing TEAMSUN Software Technology Co., Ltd.
Original Assignee
Beijing Teamsun Technology Co Ltd
BEIJING FORTUNET INFORMATION TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Teamsun Technology Co Ltd, BEIJING FORTUNET INFORMATION TECHNOLOGY CO LTD filed Critical Beijing Teamsun Technology Co Ltd
Priority to CN201110211382.9A priority Critical patent/CN102902683B/zh
Publication of CN102902683A publication Critical patent/CN102902683A/zh
Application granted granted Critical
Publication of CN102902683B publication Critical patent/CN102902683B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于ISCSI的全盘复制方法及存储系统,全盘复制方法包括以下步骤:步骤S100:IPSAN控制服务器生成全盘复制命令cmd(N),并将复制命令cmd(N,s)发送至主动ISCSI硬盘阵列A(N)中每个主动ISCSI硬盘A(N,s);步骤S200:每个主动ISCSI硬盘A(N,s)根据复制命令cmd(N,s),将其设定区域复制到被动ISCSI硬盘阵列B(M)中的M个被动ISCSI硬盘;每个主动ISCSI硬盘的设定区域各不相同,N个主动ISCSI硬盘A(N,s)的设定区域的集合为主动ISCSI硬盘A(N,s)的全盘;本发明每一个ISCSI硬盘通过以太网交换机互联,且所采用的ISCSI硬盘具有数据转发逻辑功能,这使得ISCSI硬盘之间可以通过以太网交换机进行端口对端口无阻塞通讯,在IPSAN控制服务器的指令下实现数据的全盘复制,避免了数据通过IPSAN控制服务器存储和转发造成的复制延迟和资源占用。

Description

基于ISCSI的全盘复制方法及存储系统
技术领域
本发明涉及以iSCSI磁盘为基础的企业级存储系统实现全盘复制的方法,尤其涉及一种基于ISCSI的全盘复制方法及存储系统。
背景技术
iSCSI是由IETF(Internet Engineering Task Force,互联网工程任务组)开发的网络存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,iSCSI推动了数据在网际之间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,iSCSI协议被认为是促进存储区域网络(Storage AreaNetwork,简称SAN)市场快速发展的关键因素之一。因为IP网络的广泛应用,iSCSI能够在LAN(Local Area Network,局域网)、WAN(Wide Area Network,广域网)甚至internet上进行数据传送,使得数据的存储不再受地域的限制。
iSCSI协议根据角色不同,分为发起端和目标端。出于性能的考虑,有些厂商已经采用专用的板卡来处理发起端的TCP/IP和iSCSI协议,即iSCSI的HBA(Host BusAdapter,主机总线适配器)卡。但是在目标端(Target),各个存储厂商基本采用PC(Personal Computer,个人计算机)组成iSCSI的存储架构,即存储设备建立在PC服务器的基础上,也就是选择一个普通的、性能优良的、可支持多块硬盘的PC(一般为PC服务器和工控服务器),选择一款相对成熟稳定的iSCSI Target(iSCSI目标端)软件,将iSCSI Target软件安装在PC服务器上,使普通的PC服务器转变成一台连接多个硬盘的iSCSI存储设备,并通过PC服务器的以太网卡对外提供iSCSI数据传输协议。在PC架构的iSCSI存储设备上,所有的RAID(Redundant Array of Independent Disk,独立冗余磁盘阵列)组校验、逻辑卷管理、iSCSI运算、TCP/IP运算等都是以纯软件方式实现(当然也有些设备采用价格较高的TOE(TCP Offload Engine,传输控制协议卸载引擎)网卡实现TCP/IP运算)。因此对PC的CPU和内存的性能要求较高。另外iSCSI存储设备的性能极容易受PC服务器运行状态的影响。
企业级存储系统的数据读出和写入是采用数据块的方式进行。为保证数据的安全性,通常要对写入磁盘阵列的数据块进行双重或更多重的复制备份,以防数据因硬盘损坏(高概率事件)而丢失。目前的企业级存储产品在进行数据复制时,基本采用系统内部磁盘镜像的方式对数据进行保护。例如EMC和IBM公司的企业级存储设备。
当系统中出现硬盘损坏时,系统一般都会提供一部份空白的备用硬盘进行自我修复。在系统复原时,目前的企业级存储依靠存储管理控制服务器(IPSAN控制服务器)进行数据的传输,即由IPSAN控制服务器将数据依次读出,再依次写入空白盘,从而完成复制过程。因此,IPSAN控制服务器需要多次在不同的iSCSI磁盘间完成存储、转发造成复制延迟和资源占用;加重了IPSAN控制服务器的负担,对IPSAN控制服务器的设备要求比较高。
发明内容
本发明的目的在于提供一种基于ISCSI的全盘复制方法及存储系统,其在IPSAN控制服务器的指令下实现数据的全盘复制复制,避免了数据通过IPSAN控制服务器存储和转发造成的复制延迟和资源占用。
上述目的通过下述技术方案实现:
一种基于ISCSI的全盘复制方法,其特征在于:包括以下步骤:
步骤S100:IPSAN控制服务器生成全盘复制命令cmd(N),并将复制命令cmd(N,s)发送至主动ISCSI硬盘阵列A(N)中每个主动ISCSI硬盘A(N,s);
其中,主动ISCSI硬盘是接收IPSAN控制服务器复制命令的ISCSI硬盘;主动ISCSI硬盘阵列是多个主动ISCSI硬盘的集合,主动ISCSI硬盘阵列A(N)表示主动ISCSI硬盘阵列中包括N个主动ISCSI硬盘;N个主动ISCSI硬盘互为镜像,N是自然数;主动ISCSI硬盘A(N,s)表示主动ISCSI硬盘阵列A(N)中编号为s的主动ISCSI硬盘,s∈{0,1,2,...,N-1};复制命令cmd(N,s)表示IPSAN控制服务器发给主动ISCSI硬盘A(N,s)的复制命令;全盘复制命令cmd(N)表示IPSAN控制服务器发给每个主动ISCSI硬盘复制命令的集合;
步骤S200:每个主动ISCSI硬盘A(N,s)根据复制命令cmd(N,s),将其设定区域复制到被动ISCSI硬盘阵列B(M)中的M个被动ISCSI硬盘;每个主动ISCSI硬盘的设定区域各不相同,N个主动ISCSI硬盘A(N,s)的设定区域的集合为主动ISCSI硬盘A(N,s)的全盘;
其中,主动ISCSI硬盘和被动ISCSI硬盘的容量相同,用C表示;被动ISCSI硬盘是用于备份的在全盘复制开始前空白的ISCSI硬盘;被动ISCSI硬盘阵列是多个被动ISCSI硬盘的集合,被动ISCSI硬盘阵列B(M)表示被动ISCSI硬盘阵列中包括M个被动ISCSI硬盘,M是自然数;被动ISCSI硬盘B(M,i)表示被动ISCSI硬盘阵列B(M)中编号为i的被动硬盘,i∈{0,1,2,...,M-1}。
上述目的通过下述技术方案实现:
一种基于ISCSI的存储系统,其特征在于:
包括存储单元和备份单元;
所述存储单元包括IPSAN控制服务器,第一以太网交换机和主动ISCSI硬盘阵列A(N);其中,主动ISCSI硬盘是接收IPSAN控制服务器复制命令的ISCSI硬盘;主动ISCSI硬盘阵列是多个主动ISCSI硬盘的集合,主动ISCSI硬盘阵列A(N)表示主动ISCSI硬盘阵列中包括N个主动ISCSI硬盘;N个主动ISCSI硬盘互为镜像,N是自然数;主动ISCSI硬盘A(N,s)表示主动ISCSI硬盘阵列A(N)中编号为s的主动ISCSI硬盘,s∈{0,1,2,...,N-1};复制命令cmd(N,s)表示IPSAN控制服务器发给主动ISCSI硬盘A(N,s)的复制命令;全盘复制命令cmd(N)表示IPSAN控制服务器发给每个主动ISCSI硬盘复制命令的集合;
所述备份单元包括第二以太网交换机和被动ISCSI硬盘阵列B(M);其中,主动ISCSI硬盘和被动ISCSI硬盘的容量相同,用C表示;被动ISCSI硬盘是用于备份的在全盘复制开始前空白的ISCSI硬盘;被动ISCSI硬盘阵列是多个被动ISCSI硬盘的集合,被动ISCSI硬盘阵列B(M)表示被动ISCSI硬盘阵列中包括M个被动ISCSI硬盘,M是自然数;被动ISCSI硬盘B(M,i)表示被动ISCSI硬盘阵列B(M)中编号为i的被动硬盘,i∈{0,1,2,...,M-1};
所述IPSAN控制服务器,N个主动ISCSI硬盘和M个被动ISCSI硬盘分别与第一以太网交换机和第二以太网交换机连接;
所述IPSAN控制服务器,通过第一以太网交换机和/或第二以太网交换机,实现与主动ISCSI硬盘的非数据通信;主动ISCSI硬盘根据非数据通信将主动ISCSI硬盘全盘复制到M个被动ISCSI硬盘。
本发明的基于ISCSI的全盘复制方法和存储系统,每一个ISCSI硬盘通过以太网交换机互联,且所采用的ISCSI硬盘具有数据转发逻辑功能,这使得ISCSI硬盘之间可以通过以太网交换机进行端口对端口无阻塞通讯,在IPSAN控制服务器的指令下实现数据的全盘复制,避免了数据通过IPSAN控制服务器存储和转发造成的复制延迟和资源占用。
附图说明
图1是本发明的基于ISCSI的全盘复制方法中主动ISCSI硬盘将其设定区域复制到M个被动ISCSI硬盘的流程示意图;
图2是本发明的基于ISCSI的存储系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的基于ISCSI的全盘复制方法和存储系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
本发明的一种基于ISCSI的全盘复制方法,包括以下步骤:
步骤S100:IPSAN控制服务器生成全盘复制命令cmd(N),并将复制命令cmd(N,s)发送至主动ISCSI硬盘阵列A(N)中每个主动ISCSI硬盘A(N,s);
其中,主动ISCSI硬盘是接收IPSAN控制服务器复制命令的ISCSI硬盘;主动ISCSI硬盘阵列是多个主动ISCSI硬盘的集合,主动ISCSI硬盘阵列A(N)表示主动ISCSI硬盘阵列中包括N个主动ISCSI硬盘;N个主动ISCSI硬盘互为镜像(即每个主动ISCSI硬盘的内容完全相同),N是自然数;主动ISCSI硬盘A(N,s)表示主动ISCSI硬盘阵列A(N)中编号为s的主动ISCSI硬盘,s∈{0,1,2,...,N-1};复制命令cmd(N,s)表示IPSAN控制服务器发给主动ISCSI硬盘A(N,s)的复制命令;全盘复制命令cmd(N)表示IPSAN控制服务器发给每个主动ISCSI硬盘复制命令的集合;
步骤S200:每个主动ISCSI硬盘A(N,s)根据复制命令cmd(N,s),将其设定区域复制到被动ISCSI硬盘阵列B(M)中的M个被动ISCSI硬盘;每个主动ISCSI硬盘的设定区域各不相同,N个主动ISCSI硬盘A(N,s)的设定区域的集合为主动ISCSI硬盘A(N,s)的全盘(即全盘复制完成后,M个被动ISCSI硬盘和N个主动ISCSI硬盘的内容完全相同;全盘复制是机械复制,不考虑主动ISCSI硬盘的数据);
其中,主动ISCSI硬盘和被动ISCSI硬盘的容量相同,用C表示;被动ISCSI硬盘是用于备份的在全盘复制开始前空白的ISCSI硬盘;被动ISCSI硬盘阵列是多个被动ISCSI硬盘的集合,被动ISCSI硬盘阵列B(M)表示被动ISCSI硬盘阵列中包括M个被动ISCSI硬盘,M是自然数;被动ISCSI硬盘B(M,i)表示被动ISCSI硬盘阵列B(M)中编号为i的被动硬盘,i∈{0,1,2,...,M-1}。
优选的,在步骤S100中,全盘复制命令cmd(N)包括每次复制操作的长度L和ISCSI硬盘的容量C;其中,每次复制操作的长度L表示每次复制操作复制L个LBA;ISCSI硬盘的容量C表示ISCSI磁盘的容量是C个LBA,ISCSI硬盘内C个LBA编号为0,1,2,...,C-1;
其中,LBA即逻辑块地址Logical Block Address,简称LBA;现在的硬盘通过这种逻辑地址确定数据存放在磁碟上的位置,也是访问硬盘的颗粒度,即最小读写单位。一般来说,一个LBA包含512字节的数据;新的大容量硬盘的LBA包含4096字节的数据;
如图1所示,步骤S200包括以下步骤:
步骤S201:主动ISCSI硬盘A(N,s)接收到复制命令cmd(N,s);
步骤S202:主动ISCSI硬盘A(N,s)确定复制的最初的起始地址a,a=sL;表示对主动ISCSI硬盘A(N,s)的复制从主动ISCSI硬盘内的编号为a的LBA开始;
步骤S203:主动ISCSI硬盘A(N,s)准备数据d(a);数据d(a)表示从起始地址a开始的L个LBA的数据;数据d(a)包括主动ISCSI硬盘内的编号为a,a+1,a+2,...,a+(L-1)的L个LBA的数据(即对于主动ISCSI硬盘A(N,s)来说,每次准备的数据量是L个LBA;对于主动ISCSI硬盘阵列A(N)整体来说,每次准备的数据量是L×N个LBA);注意,L大小要适当,太小会增加协议开销,太大则增加重传的代价。在网络传输有保障的系统中(例如局域网),L应在合理范围内尽可能大。
步骤S204:对i初始化,i=0;其中,i是被动ISCSI硬盘在被动ISCSI硬盘阵列B(M)中编号,i=0表示主动ISCSI硬盘A(N,s)控制写入从编号为0的被动ISCSI硬盘开始;
步骤S205:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,i)发送信息msg(s,i,d(a));
其中,信息msg(s,i,d(a))表示主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,i)发送的信息,包括数据d(a);
步骤S206:判断i<M是否成立,(即判断被动ISCSI硬盘B(M,i)是否是被动ISCSI硬盘B(M)的编号为最后一个的被动ISCSI硬盘)
在i<M成立的情况下(即被动ISCSI硬盘B(M,i)不是被动ISCSI硬盘B(M)的编号为最后一个的被动ISCSI硬盘的情况下),运行步骤S206′;
步骤S206′:i=i+1;然后运行步骤S205;
在i<M不成立的情况下(即被动ISCSI硬盘B(M,i)是被动ISCSI硬盘B(M)的编号为最后一个的被动ISCSI硬盘的情况下),运行步骤S207;
步骤S207:判断a是否小于C,
在a<C成立的情况下,确定下一个起始地址a,a=a+NL;运行步骤S203;(即跳转到下一个起始地址,开始将下一个L个LBA数据复制)
在a<C不成立的情况下,运行步骤S208;
步骤S208:主动ISCSI硬盘A(N,s)结束复制,并将复制情况告知IPSAN控制服务器。
下面以一个实例对每个主动ISCSI硬盘的起始地址和要准备的数据进行说明:
N=3,s∈{0,1,2};C=32;L=4;
主动ISCSI硬盘阵列A(3)中包括3个主动ISCSI硬盘:A(3,0),A(3,1),A(3,2)。
主动ISCSI硬盘A(3,0):
要准备的起始地址列表是{0,12,24};
即当a=0时,主动ISCSI硬盘A阵列(3,0)准备数据d(0);数据d(0)表示从0开始的4个LBA的数据;数据d(0)包括主动ISCSI硬盘内的编号为0,1,2,3的4个LBA的数据;
当a=12,24时,同理。
主动ISCSI硬盘A(3,1):
要准备的起始地址列表是{4,16,28};
即当a=4时,主动ISCSI硬盘A阵列(3,1)准备数据d(4);数据d(4)表示从4开始的4个LBA的数据;数据d(4)包括主动ISCSI硬盘内的编号为4,5,6,7的4个LBA的数据;
当a=16,28时,同理。
主动ISCSI硬盘A(3,2):
要准备的起始地址列表是{8,20}:
当a=8时,主动ISCSI硬盘A阵列(3,2)准备数据d(8);数据d(8)表示从4开始的4个LBA的数据;数据d(8)包括主动ISCSI硬盘内的编号为8,9,10,11的4个LBA的数据。
优选的,在i<M不成立的情况下,还包括以下步骤:
步骤S206-1:主动ISCSI硬盘A(N,s)等待状态信息rsp(*,s,a);其中,状态信息rsp(*,s,a)是被动ISCSI硬盘B(M,*)发送给主动ISCSI硬盘A(N,s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,...,M-1};状态信息rsp(*,s,a)包括rsp(0,s,a),rsp(1,s,a),rsp(2,s,a),...,rsp(M-1,s,a);
步骤S206-2:主动ISCSI硬盘A(N,s)根据状态信息rsp(*,s,a)判断是否在每个被动ISCSI硬盘写入成功:包括是否收到状态信息rsp(*,s,a)和状态信息rsp(*,s,a)是否表明被动ISCSI硬盘已经成功写入;
在每个被动ISCSI硬盘写入成功时,运行步骤S207:
在不是每个被动ISCSI硬盘都写入成功时(即每次准备的数据没有成功写入到每一个被动ISCSI硬盘时):运行步骤S206-3;
步骤S206-3:主动ISCSI硬盘A(N,s)判断向被动ISCSI硬盘B(M,x)发送数据msg(s,x,d(a))是否达到E次:x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;
没有达到E次的情况下,则运行步骤S206-4;
步骤S206-4:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,x)发送msg(s,x,d(a)),x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;运行步骤S206-1;
达到E次的情况下,运行步骤S206-5;
步骤S206-5:主动ISCSI硬盘A(N,s)告知IPSAN控制服务器被动ISCSI硬盘B(M,x)故障,x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;并运行步骤S206′:i=i+1;然后运行步骤S205。
优选的,在步骤S204后还包括步骤S204-1:
步骤S204-1:判断编号为i的被动ISCSI硬盘是否发生故障;
在发生故障时,i=i+1;运行步骤S204-1;
在没有发生故障时,运行步骤S205及步骤S206;在步骤S206中,在i<M成立的情况下,运行步骤S206′;在步骤S206′之后,运行步骤S204-1;
其中,在第一次向被动ISCSI硬盘B(M,i)发送信息msg(s,i,d(a)之前,被动ISCSI硬盘B(M,i)是没有发生故障的。
优选的,在i<M不成立的情况下,还包括以下步骤:
步骤S206-1:主动ISCSI硬盘A(N,s)等待状态信息rsp(*,s,a);其中,状态信息rsp(*,s,a)是被动ISCSI硬盘B(M,*)发送给主动ISCSI硬盘A(N,s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,...,M-1};状态信息rsp(*,s,a)包括rsp(0,s,a),rsp(1,s,a),rsp(2,s,a),...,rsp(M-1,s,a);
步骤S206-2:主动ISCSI硬盘A(N,s)根据状态信息rsp(*,s,a)判断是否在每个被动ISCSI硬盘写入成功:包括是否收到状态信息rsp(*,s,a)和状态信息rsp(*,s,a)是否表明被动ISCSI硬盘已经成功写入;
在每个被动ISCSI硬盘写入成功时,运行步骤S207:
在不是每个被动ISCSI硬盘都写入成功时(即每次准备的数据没有成功写入到每一个被动ISCSI硬盘时):运行步骤206-3;
步骤S206-3:主动ISCSI硬盘A(N,s)判断向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a))是否达到E次:x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;E是设定的自然数;
没有达到E次的情况下,则运行步骤S206-4;
步骤S206-4:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,x)发送msg(s,x,d(a)),x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;运行步骤S206-1;
达到E次的情况下,运行步骤S206-5;
步骤S206-5:主动ISCSI硬盘A(N,s)告知IPSAN控制服务器被动ISCSI硬盘B(M,x)故障,x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;并运行步骤S206′:i=i+1;然后运行步骤S204-1。
优选的,在步骤S100中,IPSAN控制服务器将复制命令cmd(N,s)发送至以太网交换机,以太网交换机根据每个主动ISCSI硬盘的IP地址将复制命令cmd(N,s)通过以太网交换机发送至主动ISCSI硬盘;
全盘复制命令cmd(N)还包括主动ISCSI硬盘的IP地址和该主动ISCSI硬盘在主动ISCSI硬盘阵列A(N)中的编号s;
步骤S205中,主动ISCSI硬盘A(N,s)通过以太网交换机向被动ISCSI硬盘B(M,i)发送信息msg(s,i,d(a));信息msg(s,i,d(a))还包括被动ISCSI硬盘阵列B(M)中每个ISCSI硬盘的IP地址;
其中,全盘复制命令cmd(N)还包括被动ISCSI硬盘阵列B(M)中每个ISCSI硬盘的IP地址。
优选的,在IPSAN控制服务器发送全盘复制命令cmd(N)后,全盘复制结束前这段时间,需要在主动ISCSI硬盘A(N,#)新写入数据时,还包括步骤S300;其中,需要新写入的数据用F表示;数据F在主动ISCSI硬盘A(N,#)的位置是IPSAN控制服务器为存储需要新写入的数据F分配的一个或多个LBA编号所在区域,位置用Fa表示;其中,需要新写入的数据用F表示;数据F在主动ISCSI硬盘A(N,#)的位置是IPSAN控制服务器为存储需要新写入的数据F分配的一个或多个LBA编号所在区域,位置用Fa表示;#为通配符,表示任何有效值,有效值的集合为{0,1,2,...,N-1};
步骤S300包括以下步骤:
步骤S301:IPSAN控制服务器控制将需要新写入的数据F和数据F在主动ISCSI硬盘A(N,#)的位置Fa写入应急ISCSI硬盘,应急ISCSI硬盘用D表示(即在此步骤中,并没有将数据F实际写入主动ISCSI硬盘A(N,#)的位置Fa;而是将数据F和位置Fa实际写入应急ISCSI硬盘);
其中,应急ISCSI硬盘是在IPSAN控制服务器发送全盘复制命令cmd(N)后,全盘复制结束前这段时间,存储新写入的数据F和位置Fa的ISCSI硬盘;
步骤S302:全盘复制结束后,IPSAN控制服务器对N赋值,N=N+M;
步骤S303:IPSAN控制服务器命令应急ISCSI硬盘D根据位置Fa,将新写入的数据F复制到主动ISCSI硬盘阵列A(N)中的每一个ISCSI硬盘的对应的位置Fa(即在此步骤中,将数据F实际写入主动ISCSI硬盘阵列A(N)中的每一个ISCSI硬盘的对应的位置Fa)。
实施例二
本发明的一种基于ISCSI的存储系统,如图1所示,
包括存储单元和备份单元;
所述存储单元包括IPSAN控制服务器,第一以太网交换机和主动ISCSI硬盘阵列A(N);其中,主动ISCSI硬盘是接收IPSAN控制服务器复制命令的ISCSI硬盘;主动ISCSI硬盘阵列是多个主动ISCSI硬盘的集合,主动ISCSI硬盘阵列A(N)表示主动ISCSI硬盘阵列中包括N个主动ISCSI硬盘;N个主动ISCSI硬盘互为镜像(即每个主动ISCSI硬盘的内容完全相同),N是自然数;主动ISCSI硬盘A(N,s)表示主动ISCSI硬盘阵列A(N)中编号为s的主动ISCSI硬盘,s∈{0,1,2,...,N-1};复制命令cmd(N,s)表示IPSAN控制服务器发给主动ISCSI硬盘A(N,s)的复制命令;全盘复制命令cmd(N)表示IPSAN控制服务器发给每个主动ISCSI硬盘复制命令的集合;
所述备份单元包括第二以太网交换机和被动ISCSI硬盘阵列B(M);其中,主动ISCSI硬盘和被动ISCSI硬盘的容量相同,用C表示;被动ISCSI硬盘是用于备份的在全盘复制开始前空白的ISCSI硬盘;被动ISCSI硬盘阵列是多个被动ISCSI硬盘的集合,被动ISCSI硬盘阵列B(M)表示被动ISCSI硬盘阵列中包括M个被动ISCSI硬盘,M是自然数;被动ISCSI硬盘B(M,i)表示被动ISCSI硬盘阵列B(M)中编号为i的被动ISCSI硬盘,i∈{0,1,2,...,M-1};
所述IPSAN控制服务器,N个主动ISCSI硬盘和M个被动ISCSI硬盘分别与第一以太网交换机和第二以太网交换机连接;
所述IPSAN控制服务器,通过第一以太网交换机和/或第二以太网交换机,实现与主动ISCSI硬盘的非数据通信;主动ISCSI硬盘根据非数据通信将主动ISCSI硬盘全盘复制到M个被动ISCSI硬盘(即全盘复制完成后,N个主动ISCSI硬盘和M个被动ISCSI硬盘的内容完全相同)。
优选的,全盘复制命令cmd(N)包括主动ISCSI硬盘的IP地址和该主动ISCSI硬盘在主动ISCSI硬盘阵列A(N)中的编号s;
IPSAN控制服务器用于将复制命令通过第一以太网交换机或第二以太网交换机发送至主动ISCSI硬盘;以太网交换机根据每个主动ISCSI硬盘的IP地址确定主动ISCSI硬盘。
优选的,全盘复制命令cmd(N)还包括每次复制操作的长度L和ISCSI硬盘的容量C;其中,每次复制操作的长度L表示每次复制操作复制L个LBA;ISCSI硬盘的容量C表示ISCSI磁盘的容量是C个LBA,ISCSI硬盘内C个LBA编号为0,1,2,...,C-1;
所述主动ISCSI硬盘A(N,s)用于根据自身编号s和L,确定复制的起始地址列表;
所述主动ISCSI硬盘A(N,s)还用于根据起始地址列表中的每一个地址准备起始地址及随后一定区域的数据;并将数据发送至M个被动ISCSI硬盘。
其中,LBA即逻辑块地址Logical Block Address,简称LBA;现在的硬盘通过这种逻辑地址确定数据存放在磁碟上的位置,也是访问硬盘的颗粒度,即最小读写单位。一般来说,一个LBA包含512字节的数据;新的大容量硬盘的LBA包含4096字节的数据。
优选的,所述主动ISCSI硬盘A(N,s)确定复制的最初的起始地址a,a=sL;表示对主动ISCSI硬盘A(N,s)的复制从主动ISCSI硬盘内的编号为a的LBA开始;
在a<C成立的情况下,a=a+NL。
优选的,所述主动ISCSI硬盘A(N,s)根据被动ISCSI硬盘的编号从小到大的顺序依次将数据发送至M个被动ISCSI硬盘。
优选的,所述ISCSI硬盘包括控制芯片和硬盘,控制芯片用来实现对复制操作的控制,硬盘用来存储数据。在图2中,控制芯片用iSCSI T端卡表示,图2所示实施例硬盘采用SATA硬盘。
优选的,主动ISCSI硬盘A(N,s)按照以下步骤运行:
步骤S201:主动ISCSI硬盘A(N,s)接收到复制命令cmd(N,s);
步骤S202:主动ISCSI硬盘A(N,s)确定复制的最初的起始地址a,a=sL;表示对主动ISCSI硬盘A(N,s)的复制从主动ISCSI硬盘内的编号为a的LBA开始;
步骤S203:主动ISCSI硬盘A(N,s)准备数据d(a);数据d(a)表示从起始地址a开始的L个LBA的数据;数据d(a)包括主动ISCSI硬盘内的编号为a,a+1,a+2,...,a+(L-1)的L个LBA的数据(即对于主动ISCSI硬盘A(N,s)来说,每次准备的数据量是L个LBA;对于主动ISCSI硬盘阵列A(N)整体来说,每次准备的数据量是L×N个LBA);
步骤S204:对i初始化,i=0;其中,i是被动ISCSI硬盘在被动ISCSI硬盘阵列B(M)中编号,i=0表示主动ISCSI硬盘A(N,s)控制写入从编号为0的被动ISCSI硬盘开始;
步骤S205:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,i)发送信息msg(s,i,d(a));
其中,信息msg(s,i,d(a))表示主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,i)发送的信息,包括数据d(a);
步骤S206:判断i<M是否成立,
在i<M成立的情况下,运行步骤S206′;
步骤206′:i=i+1;然后运行步骤S205;
在i<M不成立的情况下,运行步骤S207;
步骤S207:判断a是否小于C,
在a<C成立的情况下,确定下一个起始地址a,a=a+NL;运行步骤S203;(即跳转到下一个起始地址,开始将下一个L个LBA数据复制)
在a<C不成立的情况下,运行步骤S208;
步骤S208:主动ISCSI硬盘A(N,s)结束复制,并将复制情况告知IPSAN控制服务器。
优选的,主动ISCSI硬盘A(N,s)还包括以下步骤运行:
在i<M不成立的情况下,还包括以下步骤:
步骤S206-1:主动ISCSI硬盘A(N,s)等待状态信息rsp(*,s,a);其中,状态信息rsp(*,s,a)是被动ISCSI硬盘B(M,*)发送给主动ISCSI硬盘A(N,s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,...,M-1};状态信息rsp(*,s,a)包括rsp(0,s,a),rsp(1,s,a),rsp(2,s,a),...,rsp(M-1,s,a);
步骤S206-2:主动ISCSI硬盘A(N,s)根据状态信息rsp(*,s,a)判断是否在每个被动ISCSI硬盘写入成功:包括是否收到状态信息rsp(*,s,a)和状态信息rsp(*,s,a)是否表明被动ISCSI硬盘已经成功写入;
在每个被动ISCSI硬盘写入成功时,运行步骤S207:
在不是每个被动ISCSI硬盘都写入成功时(即每次准备的数据没有成功写入到每一个被动ISCSI硬盘时):运行步骤S206-3;
步骤S206-3:主动ISCSI硬盘A(N,s)判断向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a))是否达到E次:x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;E是设定的自然数;
没有达到E次的情况下,则运行步骤S206-4;
步骤S206-4:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a)),x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;运行步骤S206-1;
达到E次的情况下,运行步骤S206-5;
步骤S206-5:主动ISCSI硬盘A(N,s)告知IPSAN控制服务器被动ISCSI硬盘B(M,x)故障,x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;并运行步骤S206′:i=i+1;然后运行步骤S205。
优选的,主动ISCSI硬盘A(N,s)还包括以下步骤运行:
在步骤S204后还包括步骤204-1:
步骤S204-1:判断编号为i的被动ISCSI硬盘是否发生故障;
在发生故障时,i=i+1;运行步骤S204-1;
在没有发生故障时,运行步骤S205及步骤S206;在步骤S206中,在i<M成立的情况下,运行步骤S206′;在步骤S206′之后,运行步骤S204-1。
优选的,在i<M不成立的情况下,主动ISCSI硬盘A(N,s)还包括以下步骤:
步骤S206-1:主动ISCSI硬盘A(N,s)等待状态信息rsp(*,s,a);其中,状态信息rsp(*,s,a)是被动ISCSI硬盘B(M,*)发送给主动ISCSI硬盘A(N,s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,...,M-1};状态信息rsp(*,s,a)包括rsp(0,s,a),rsp(1,s,a),rsp(2,s,a),...,rsp(M-1,s,a);
步骤S206-2:主动ISCSI硬盘A(N,s)根据状态信息rsp(*,s,a)判断是否在每个被动ISCSI硬盘写入成功:包括是否收到状态信息rsp(*,s,a)和状态信息rsp(*,s,a)是否表明被动ISCSI硬盘已经成功写入;
在每个被动ISCSI硬盘写入成功时,运行步骤S207:
在不是每个被动ISCSI硬盘都写入成功时(即每次准备的数据没有成功写入到每一个被动ISCSI硬盘时):运行步骤S206-3;
步骤S206-3:主动ISCSI硬盘A(N,s)判断向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a))是否达到E次:x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;E是设定的自然数;
没有达到E次的情况下,则运行步骤S206-4;
步骤S206-4:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a)),x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;运行步骤S206-1;
达到E次的情况下,运行步骤S206-5;
步骤S206-5:主动ISCSI硬盘A(N,s)告知IPSAN控制服务器被动ISCSI硬盘B(M,x)故障,x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;并运行步骤S206′:i=i+1;然后运行步骤S204-1。
优选的,所述存储系统还包括应急ISCSI硬盘;所述应急ISCSI硬盘与第一以太网交换机和第二以太网交换机连接;
在IPSAN控制服务器发送全盘复制命令cmd(N)后,全盘复制结束前这段时间,需要在主动ISCSI硬盘A(N,#)新写入数据时,还包括步骤S300;其中,需要新写入的数据用F表示;数据F在主动ISCSI硬盘A(N,#)的位置是IPSAN控制服务器为存储需要新写入的数据F分配的一个或多个LBA编号所在区域,位置用Fa表示;#为通配符,表示任何有效值,有效值的集合为{0,1,2,...,N-1};
步骤S300包括以下步骤:
步骤S301:IPSAN控制服务器控制将需要新写入的数据F和数据F在主动ISCSI硬盘A(N,#)的位置Fa写入应急ISCSI硬盘,应急ISCSI硬盘用D表示;
其中,应急ISCSI硬盘是在IPSAN控制服务器发送全盘复制命令cmd(N)后,全盘复制结束前这段时间,存储新写入的数据F和位置Fa的ISCSI硬盘(即应急ISCSI硬盘既不属于主动ISCSI硬盘,也不属于被动ISCSI硬盘);
步骤S302:全盘复制结束后,IPSAN控制服务器对N赋值,N=N+M;
步骤S303:IPSAN控制服务器命令应急ISCSI硬盘D根据位置Fa,将新写入的数据F复制到主动ISCSI硬盘阵列A(N)中的每一个ISCSI硬盘的对应的位置Fa。
本发明的基于ISCSI的全盘复制方法和存储系统,每一个ISCSI硬盘通过以太网交换机互联,且所采用的ISCSI硬盘具有数据转发逻辑功能,这使得ISCSI硬盘之间可以通过以太网交换机进行端口对端口无阻塞通讯,在IPSAN控制服务器的指令下实现数据的全盘复制,避免了数据通过IPSAN控制服务器存储和转发造成的复制延迟和资源占用。
最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。

Claims (18)

1.一种基于ISCSI的全盘复制方法,其特征在于:包括以下步骤:
步骤S100:IPSAN控制服务器生成全盘复制命令cmd(N),并将复制命令cmd(N,s)发送至主动ISCSI硬盘阵列A(N)中每个主动ISCSI硬盘A(N,s);
其中,主动ISCSI硬盘是接收IPSAN控制服务器复制命令的ISCSI硬盘;主动ISCSI硬盘阵列是多个主动ISCSI硬盘的集合,主动ISCSI硬盘阵列A(N)表示主动ISCSI硬盘阵列中包括N个主动ISCSI硬盘;N个主动ISCSI硬盘互为镜像,N是自然数;主动ISCSI硬盘A(N,s)表示主动ISCSI硬盘阵列A(N)中编号为s的主动ISCSI硬盘,s∈{0,1,2,...,N-1};复制命令cmd(N,s)表示IPSAN控制服务器发给主动ISCSI硬盘A(N,s)的复制命令;全盘复制命令cmd(N)表示IPSAN控制服务器发给每个主动ISCSI硬盘复制命令的集合;
步骤S200:每个主动ISCSI硬盘A(N,s)根据复制命令cmd(N,s),将其设定区域复制到被动ISCSI硬盘阵列B(M)中的M个被动ISCSI硬盘;每个主动ISCSI硬盘的设定区域各不相同,N个主动ISCSI硬盘A(N,s)的设定区域的集合为主动ISCSI硬盘A(N,s)的全盘;
其中,主动ISCSI硬盘和被动ISCSI硬盘的容量相同,用C表示;被动ISCSI硬盘是用于备份的在全盘复制开始前空白的ISCSI硬盘;被动ISCSI硬盘阵列是多个被动ISCSI硬盘的集合,被动ISCSI硬盘阵列B(M)表示被动ISCSI硬盘阵列中包括M个被动ISCSI硬盘,M是自然数;被动ISCSI硬盘B(M,i)表示被动ISCSI硬盘阵列B(M)中编号为i的被动硬盘,i∈{0,1,2,...,M-1}。
2.根据权利要求1所述的基于ISCSI的全盘复制方法,其特征在于:
在步骤S100中,全盘复制命令cmd(N)包括每次复制操作的长度L和ISCSI硬盘的容量C;其中,每次复制操作的长度L表示每次复制操作复制L个LBA;ISCSI硬盘的容量C表示ISCSI磁盘的容量是C个LBA,ISCSI硬盘内C个LBA编号为0,1,2,...,C-1;
步骤S200包括以下步骤:
步骤S201:主动ISCSI硬盘A(N,s)接收到复制命令cmd(N,s);
步骤S202:主动ISCSI硬盘A(N,s)确定复制的最初的起始地址a,a=sL;表示对主动ISCSI硬盘A(N,s)的复制从主动ISCSI硬盘内的编号为a的LBA开始;
步骤S203:主动ISCSI硬盘A(N,s)准备数据d(a);数据d(a)表示从起始地址a开始的L个LBA的数据;
步骤S204:对i初始化,i=0;其中,i是被动ISCSI硬盘在被动ISCSI硬盘阵列B(M)中编号,i=0表示主动ISCSI硬盘A(N,s)控制写入从编号为0的被动ISCSI硬盘开始;
步骤S205:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,i)发送信息msg(s,i,d(a));
其中,信息msg(s,i,d(a))表示主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,i)发送的信息,包括数据d(a);
步骤S206:判断i<M是否成立,
在i<M成立的情况下,运行步骤S206′;
步骤S206′:i=i+1;然后运行步骤S205;
在i<M不成立的情况下,运行步骤S207;
步骤S207:判断a是否小于C,
在a<C成立的情况下,确定下一个起始地址a,a=a+NL;运行步骤S203;
在a<C不成立的情况下,运行步骤S208;
步骤S208:主动ISCSI硬盘A(N,s)结束复制,并将复制情况告知IPSAN控制服务器。
3.根据权利要求2所述的基于ISCSI的全盘复制方法,其特征在于:
在i<M不成立的情况下,还包括以下步骤:
步骤S206-1:主动ISCSI硬盘A(N,s)等待状态信息rsp(*,s,a);其中,状态信息rsp(*,s,a)是被动ISCSI硬盘B(M,*)发送给主动ISCSI硬盘A(N,s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,...,M-1};状态信息rsp(*,s,a)包括rsp(0,s,a),rsp(1,s,a),rsp(2,s,a),...,rsp(M-1,s,a);
步骤S206-2:主动ISCSI硬盘A(N,s)根据状态信息rsp(*,s,a)判断是否在每个被动ISCSI硬盘写入成功:包括是否收到状态信息rsp(*,s,a)和状态信息rsp(*,s,a)是否表明被动ISCSI硬盘已经成功写入;
在每个被动ISCSI硬盘写入成功时,运行步骤S207:
在不是每个被动ISCSI硬盘都写入成功时:运行步骤S206-3;
步骤S206-3:主动ISCSI硬盘A(N,s)判断向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a))是否达到E次:x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;E是设定的自然数;
没有达到E次的情况下,则运行步骤S206-4;
步骤S206-4:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a)),x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;运行步骤S206-1;
达到E次的情况下,运行步骤S206-5;
步骤S206-5:主动ISCSI硬盘A(N,s)告知IPSAN控制服务器被动ISCSI硬盘B(M,x)故障,x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;并运行步骤S206′:i=i+1;然后运行步骤S205。
4.根据权利要求2所述的基于ISCSI的全盘复制方法,其特征在于:
在步骤S204后还包括步骤S204-1:
步骤S204-1:判断编号为i的被动ISCSI硬盘是否发生故障;
在发生故障时,i=i+1;运行步骤S204-1;
在没有发生故障时,运行步骤S205及步骤S206;在步骤S206中,在i<M成立的情况下,运行步骤S206′;在步骤S206′之后,运行步骤S204-1;
其中,在第一次向被动ISCSI硬盘B(M,i)发送信息msg(s,i,d(a)之前,被动ISCSI硬盘B(M,i)是没有发生故障的。
5.根据权利要求4所述的基于ISCSI的全盘复制方法,其特征在于:
在i<M不成立的情况下,还包括以下步骤:
步骤S206-1:主动ISCSI硬盘A(N,s)等待状态信息rsp(*,s,a);其中,状态信息rsp(*,s,a)是被动ISCSI硬盘B(M,*)发送给主动ISCSI硬盘A(N,s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,...,M-1};状态信息rsp(*,s,a)包括rsp(0,s,a),rsp(1,s,a),rsp(2,s,a),...,rsp(M-1,s,a);
步骤S206-2:主动ISCSI硬盘A(N,s)根据状态信息rsp(*,s,a)判断是否在每个被动ISCSI硬盘写入成功:包括是否收到状态信息rsp(*,s,a)和状态信息rsp(*,s,a)是否表明被动ISCSI硬盘已经成功写入;
在每个被动ISCSI硬盘写入成功时,运行步骤S207:
在不是每个被动ISCSI硬盘都写入成功时:运行步骤S206-3;
步骤S206-3:主动ISCSI硬盘A(N,s)判断向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a))是否达到E次:x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;E是设定的自然数;
没有达到E次的情况下,则运行步骤S206-4;
步骤S206-4:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a)),x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;运行步骤S206-1;
达到E次的情况下,运行步骤S206-5;
步骤S206-5:主动ISCSI硬盘A(N,s)告知IPSAN控制服务器被动ISCSI硬盘B(M,x)故障,x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;并运行步骤S206′:i=i+1;然后运行步骤S204-1。
6.根据权利要求2所述的基于ISCSI的全盘复制方法,其特征在于:
在步骤S100中,IPSAN控制服务器将复制命令cmd(N,s)发送至以太网交换机,以太网交换机根据每个主动ISCSI硬盘的IP地址将复制命令cmd(N,s)发送至主动ISCSI硬盘;
全盘复制命令cmd(N)还包括主动ISCSI硬盘的IP地址和该主动ISCSI硬盘在主动ISCSI硬盘阵列A(N)中的编号s;
步骤S205中,主动ISCSI硬盘A(N,s)通过以太网交换机向被动ISCSI硬盘B(M,i)发送信息msg(s,i,d(a));信息msg(s,i,d(a))还包括被动ISCSI硬盘阵列B(M)中每个ISCSI硬盘的IP地址;
其中,全盘复制命令cmd(N)还包括被动ISCSI硬盘阵列B(M)中每个ISCSI硬盘的IP地址。
7.根据权利要求1所述的基于ISCSI的全盘复制方法,其特征在于:
在IPSAN控制服务器发送全盘复制命令cmd(N)后,全盘复制结束前这段时间,需要在主动ISCSI硬盘A(N,#)新写入数据时,还包括步骤S300;其中,需要新写入的数据用F表示;数据F在主动ISCSI硬盘A(N,#)的位置是IPSAN控制服务器为存储需要新写入的数据F分配的一个或多个LBA编号所在区域,位置用Fa表示;#为通配符,表示任何有效值,有效值的集合为{0,1,2,...,N-1};
步骤S300包括以下步骤:
步骤S301:IPSAN控制服务器控制将需要新写入的数据F和数据F在主动ISCSI硬盘A(N,#)的位置Fa写入应急ISCSI硬盘,应急ISCSI硬盘用D表示;
其中,应急ISCSI硬盘是在IPSAN控制服务器发送全盘复制命令cmd(N)后,全盘复制结束前这段时间,存储新写入的数据F和位置Fa的ISCSI硬盘;
步骤S302:全盘复制结束后,IPSAN控制服务器对N赋值,N=N+M;
步骤S303:IPSAN控制服务器命令应急ISCSI硬盘D根据位置Fa,将新写入的数据F复制到主动ISCSI硬盘阵列A(N)中的每一个ISCSI硬盘的对应的位置Fa。
8.一种基于ISCSI的存储系统,其特征在于:
包括存储单元和备份单元;
所述存储单元包括IPSAN控制服务器,第一以太网交换机和主动ISCSI硬盘阵列A(N);其中,主动ISCSI硬盘是接收IPSAN控制服务器复制命令的ISCSI硬盘;主动ISCSI硬盘阵列是多个主动ISCSI硬盘的集合,主动ISCSI硬盘阵列A(N)表示主动ISCSI硬盘阵列中包括N个主动ISCSI硬盘;N个主动ISCSI硬盘互为镜像,N是自然数;主动ISCSI硬盘A(N,s)表示主动ISCSI硬盘阵列A(N)中编号为s的主动ISCSI硬盘,s∈{0,1,2,...,N-1};复制命令cmd(N,s)表示IPSAN控制服务器发给主动ISCSI硬盘A(N,s)的复制命令;全盘复制命令cmd(N)表示IPSAN控制服务器发给每个主动ISCSI硬盘复制命令的集合;
所述备份单元包括第二以太网交换机和被动ISCSI硬盘阵列B(M);其中,主动ISCSI硬盘和被动ISCSI硬盘的容量相同,用C表示;被动ISCSI硬盘是用于备份的在全盘复制开始前空白的ISCSI硬盘;被动ISCSI硬盘阵列是多个被动ISCSI硬盘的集合,被动ISCSI硬盘阵列B(M)表示被动ISCSI硬盘阵列中包括M个被动ISCSI硬盘,M是自然数;被动ISCSI硬盘B(M,i)表示被动ISCSI硬盘阵列B(M)中编号为i的被动硬盘,i∈{0,1,2,...,M-1};
所述IPSAN控制服务器,N个主动ISCSI硬盘和M个被动ISCSI硬盘分别与第一以太网交换机和第二以太网交换机连接;
所述IPSAN控制服务器,通过第一以太网交换机和/或第二以太网交换机,实现与主动ISCSI硬盘的非数据通信;主动ISCSI硬盘根据非数据通信将主动ISCSI硬盘全盘复制到M个被动ISCSI硬盘。
9.根据权利要求8所述的基于ISCSI的存储系统,其特征在于:
全盘复制命令cmd(N)包括主动ISCSI硬盘的IP地址和该主动ISCSI硬盘在主动ISCSI硬盘阵列A(N)中的编号s;IPSAN控制服务器用于将复制命令通过第一以太网交换机或第二以太网交换机发送至主动ISCSI硬盘;以太网交换机根据每个主动ISCSI硬盘的IP地址确定主动ISCSI硬盘。
10.根据权利要求9所述的基于ISCSI的存储系统,其特征在于:
全盘复制命令cmd(N)还包括每次复制操作的长度L和ISCSI硬盘的容量C;其中,每次复制操作的长度L表示每次复制操作复制L个LBA;ISCSI硬盘的容量C表示ISCSI磁盘的容量是C个LBA,ISCSI硬盘内C个LBA编号为0,1,2,...,C-1;
所述主动ISCSI硬盘A(N,s)用于根据自身编号s和L,确定复制的起始地址列表;
所述主动ISCSI硬盘A(N,s)还用于根据起始地址列表中的每一个地址准备起始地址及随后一定区域的数据;并将数据发送至M个被动ISCSI硬盘。
11.根据权利要求10所述的基于ISCSI的存储系统,其特征在于:
所述主动ISCSI硬盘A(N,s)确定复制的最初的起始地址a,a=sL;表示对主动ISCSI硬盘A(N,s)的复制从主动ISCSI硬盘内的编号为a的LBA开始;
在a<C成立的情况下,a=a+NL。
12.根据权利要求10所述的基于ISCSI的存储系统,其特征在于:
所述主动ISCSI硬盘A(N,s)根据被动ISCSI硬盘的编号从小到大的顺序依次将数据发送至M个被动ISCSI硬盘。
13.根据权利要求10所述的基于ISCSI的存储系统,其特征在于:
主动ISCSI硬盘A(N,s)按照以下步骤运行:
步骤S201:主动ISCSI硬盘A(N,s)接收到复制命令cmd(N,s);
步骤S202:主动ISCSI硬盘A(N,s)确定复制的最初的起始地址a,a=sL;表示对主动ISCSI硬盘A(N,s)的复制从主动ISCSI硬盘内的编号为a的LBA开始;
步骤S203:主动ISCSI硬盘A(N,s)准备数据d(a);数据d(a)表示从起始地址a开始的L个LBA的数据;
步骤S204:对i初始化,i=0;其中,i是被动ISCSI硬盘在被动ISCSI硬盘阵列B(M)中编号,i=0表示主动ISCSI硬盘A(N,s)控制写入从编号为0的被动ISCSI硬盘开始;
步骤S205:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,i)发送信息msg(s,i,d(a));
其中,信息msg(s,i,d(a))表示主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,i)发送的信息,包括数据d(a);
步骤S206:判断i<M是否成立,
在i<M成立的情况下,运行步骤206′;
步骤S206′:i=i+1;然后运行步骤S205;
在i<M不成立的情况下,运行步骤S207;
步骤S207:判断a是否小于C,
在a<C成立的情况下,确定下一个起始地址a,a=a+NL;运行步骤S203;
在a<C不成立的情况下,运行步骤S208;
步骤S208:主动ISCSI硬盘A(N,s)结束复制,并将复制情况告知IPSAN控制服务器。
14.根据权利要求13所述的基于ISCSI的存储系统,其特征在于:
主动ISCSI硬盘A(N,s)还包括以下步骤运行:
在i<M不成立的情况下,还包括以下步骤:
步骤S206-1:主动ISCSI硬盘A(N,s)等待状态信息rsp(*,s,a);其中,状态信息rsp(*,s,a)是被动ISCSI硬盘B(M,*)发送给主动ISCSI硬盘A(N,s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,...,M-1};状态信息rsp(*,s,a)包括rsp(0,s,a),rsp(1,s,a),rsp(2,s,a),...,rsp(M-1,s,a);
步骤S206-2:主动ISCSI硬盘A(N,s)根据状态信息rsp(*,s,a)判断是否在每个被动ISCSI硬盘写入成功:包括是否收到状态信息rsp(*,s,a)和状态信息rsp(*,s,a)是否表明被动ISCSI硬盘已经成功写入;
在每个被动ISCSI硬盘写入成功时,运行步骤S207:
在不是每个被动ISCSI硬盘都写入成功时:运行步骤S206-3;
步骤S206-3:主动ISCSI硬盘A(N,s)判断向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a))是否达到E次:x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;E是设定的自然数;
没有达到E次的情况下,则运行步骤S206-4;
步骤S206-4:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a)),x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;运行步骤S206-1;
达到E次的情况下,运行步骤S206-5;
步骤S206-5:主动ISCSI硬盘A(N,s)告知IPSAN控制服务器被动ISCSI硬盘B(M,x)故障,x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;并运行步骤S206′:i=i+1;然后运行步骤S205。
15.根据权利要求13所述的基于ISCSI的存储系统,其特征在于:
主动ISCSI硬盘A(N,s)还包括以下步骤运行:
在步骤S204后还包括步骤S204-1:
步骤S204-1:判断编号为i的被动ISCSI硬盘是否发生故障;
在发生故障时,i=i+1;运行步骤S204-1;
在没有发生故障时,运行步骤S205及步骤S206;在步骤S206中,在i<M成立的情况下,运行步骤S206′;在步骤S206′之后,运行步骤S204-1。
16.根据权利要求15所述的基于ISCSI的存储系统,其特征在于:
在i<M不成立的情况下,主动ISCSI硬盘A(N,s)还包括以下步骤:
步骤S206-1:主动ISCSI硬盘A(N,s)等待状态信息rsp(*,s,a);其中,状态信息rsp(*,s,a)是被动ISCSI硬盘B(M,*)发送给主动ISCSI硬盘A(N,s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,...,M-1};状态信息rsp(*,s,a)包括rsp(0,s,a),rsp(1,s,a),rsp(2,s,a),...,rsp(M-1,s,a);
步骤S206-2:主动ISCSI硬盘A(N,s)根据状态信息rsp(*,s,a)判断是否在每个被动ISCSI硬盘写入成功:包括是否收到状态信息rsp(*,s,a)和状态信息rsp(*,s,a)是否表明被动ISCSI硬盘已经成功写入;
在每个被动ISCSI硬盘写入成功时,运行步骤S207:
在不是每个被动ISCSI硬盘都写入成功时:运行步骤S206-3;
步骤S206-3:主动ISCSI硬盘A(N,s)判断向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a))是否达到E次:x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;E是设定的自然数;
没有达到E次的情况下,则运行步骤S206-4;
步骤S206-4:主动ISCSI硬盘A(N,s)向被动ISCSI硬盘B(M,x)发送信息msg(s,x,d(a)),x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;运行步骤S206-1;
达到E次的情况下,运行步骤S206-5;
步骤S206-5:主动ISCSI硬盘A(N,s)告知IPSAN控制服务器被动ISCSI硬盘B(M,x)故障,x表示被动ISCSI硬盘阵列B(M)中没有成功写入的被动ISCSI硬盘编号;并运行步骤S206′:i=i+1;然后运行步骤204-1。
17.根据权利要求8所述的基于ISCSI的存储系统,其特征在于:
还包括应急ISCSI硬盘;所述应急ISCSI硬盘与第一以太网交换机和第二以太网交换机连接;
在IPSAN控制服务器发送全盘复制命令cmd(N)后,全盘复制结束前这段时间,需要在主动ISCSI硬盘A(N,#)新写入数据时,还包括步骤S300;其中,需要新写入的数据用F表示;数据F在主动ISCSI硬盘A(N,#)的位置是IPSAN控制服务器为存储需要新写入的数据F分配的一个或多个LBA编号所在区域,位置用Fa表示;其中,需要新写入的数据用F表示;数据F在主动ISCSI硬盘A(N,#)的位置是IPSAN控制服务器为存储需要新写入的数据F分配的一个或多个LBA编号所在区域,位置用Fa表示;#为通配符,表示任何有效值,有效值的集合为{0,1,2,...,N-1};
步骤S300包括以下步骤:
步骤S301:IPSAN控制服务器控制将需要新写入的数据F和数据F在主动ISCSI硬盘A(N,#)的位置Fa写入应急ISCSI硬盘,应急ISCSI硬盘用D表示;
其中,应急ISCSI硬盘是在IPSAN控制服务器发送全盘复制命令cmd(N)后,全盘复制结束前这段时间,存储新写入的数据F和位置Fa的ISCSI硬盘;
步骤S302:全盘复制结束后,IPSAN控制服务器对N赋值,N=N+M;
步骤S303:IPSAN控制服务器命令应急ISCSI硬盘D根据位置Fa,将新写入的数据F复制到主动ISCSI硬盘阵列A(N)中的每一个ISCSI硬盘的对应的位置Fa。
18.根据权利要求8所述的基于ISCSI的存储系统,其特征在于:
所述ISCSI硬盘包括控制芯片和硬盘,控制芯片用来实现对复制操作的控制,硬盘用来存储数据。
CN201110211382.9A 2011-07-27 2011-07-27 基于iscsi的全盘复制方法及存储系统 Active CN102902683B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110211382.9A CN102902683B (zh) 2011-07-27 2011-07-27 基于iscsi的全盘复制方法及存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110211382.9A CN102902683B (zh) 2011-07-27 2011-07-27 基于iscsi的全盘复制方法及存储系统

Publications (2)

Publication Number Publication Date
CN102902683A true CN102902683A (zh) 2013-01-30
CN102902683B CN102902683B (zh) 2015-05-27

Family

ID=47574921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110211382.9A Active CN102902683B (zh) 2011-07-27 2011-07-27 基于iscsi的全盘复制方法及存储系统

Country Status (1)

Country Link
CN (1) CN102902683B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132135B2 (en) 2019-04-11 2021-09-28 International Business Machines Corporation Dynamic disk replication mode selection based on storage area network latency

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359279A (zh) * 2008-10-06 2009-02-04 浪潮电子信息产业股份有限公司 一种具有内部路径冗余功能的iscsi磁盘阵列控制器
US20110072225A1 (en) * 2009-09-22 2011-03-24 Hitachi, Ltd. Application and tier configuration management in dynamic page reallocation storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359279A (zh) * 2008-10-06 2009-02-04 浪潮电子信息产业股份有限公司 一种具有内部路径冗余功能的iscsi磁盘阵列控制器
US20110072225A1 (en) * 2009-09-22 2011-03-24 Hitachi, Ltd. Application and tier configuration management in dynamic page reallocation storage system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冯正圆,冯红伟: "《基于iSCSI的级联远程复制系统实现与优化》", 《计算机应用与软件》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132135B2 (en) 2019-04-11 2021-09-28 International Business Machines Corporation Dynamic disk replication mode selection based on storage area network latency

Also Published As

Publication number Publication date
CN102902683B (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
US7975168B2 (en) Storage system executing parallel correction write
CN102024044B (zh) 分布式文件系统
CN103814360B (zh) 数据复制方法及存储系统
JP3997061B2 (ja) 記憶サブシステムおよび記憶サブシステムの制御方法
US7133982B2 (en) Method, system, and article of manufacture for consistent copying of storage volumes
EP2557494B1 (en) Storage apparatus and data copy method between thin-provisioning virtual volumes
US8438332B2 (en) Apparatus and method to maintain write operation atomicity where a data transfer operation crosses a data storage medium track boundary
CN101755257B (zh) 管理在不同的网络上将写入从首要存储器拷贝到次要存储器
JP3428842B2 (ja) 情報処理システムおよびデータ多重化システム
US10896199B2 (en) Apparatus and method for managing storage copy services systems
JP4835249B2 (ja) ストレージシステム、リモートコピー、その管理方法
CN102866935B (zh) 基于iscsi的即时复制方法和存储系统
US8275937B2 (en) Storage system and processing efficiency improving method of storage system
CN102843284B (zh) iSCSI存储节点、架构以及读取、写入方法
JP2009015843A (ja) ロング・サイド入出力コマンド処理
CN106610788B (zh) 硬盘阵列控制方法及装置
CN101447982A (zh) 存储模拟装置及其存取方法
WO2005115108A2 (en) System and method for unit attention handling
CN102902683B (zh) 基于iscsi的全盘复制方法及存储系统
US11500741B2 (en) Data write method and storage system
US8281089B2 (en) Storage system and its initial copy method
WO2018055686A1 (ja) 情報処理システム
JP2003050675A (ja) データ多重化システム
JP6142514B2 (ja) 仮想テープ装置およびその冗長データ作成方法
US7757130B2 (en) Computer system having raid control function and raid control method

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
TR01 Transfer of patent right

Effective date of registration: 20170817

Address after: 100192, A01, room 10, block 8, science and technology wealth center, A, clear road, Haidian District, Beijing

Patentee after: Beijing TEAMSUN Software Technology Co., Ltd.

Address before: 100192, Beijing, Haidian District School Road 8 (Science and technology wealth center) A block, 10 floor, South District

Co-patentee before: Beijing Teamsun Technology Co., Ltd.

Patentee before: Beijing Fortunet Information Technology Co.,Ltd.

TR01 Transfer of patent right