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

文档序号:6429466阅读:189来源:国知局
专利名称:基于iscsi的全盘复制方法及存储系统的制作方法
技术领域
本发明涉及以iSCSI磁盘为基础的企业级存储系统实现全盘复制的方法,尤其涉及一种基于ISCSI的全盘复制方法及存储系统。
背景技术
iSCSI 是由 IETF (Internet Engineering Task Force,互联网工程任务组)开发的网络存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,iSCSI推动了数据在网际之间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,iSCSI协议被认为是促进存储区域网络(Storage Area Network,简称SAN)市场快速发展的关键因素之一。因为IP网络的广泛应用,iSCSI能够在LAN (LocalArea Network,局域网)、WAN(Wide Area Network,广域网)甚至 internet 上进行数据传送,使得数据的存储不再受地域的限制。 iSCSI协议根据角色不同,分为发起端和目标端。出于性能的考虑,有些厂商已经采用专用的板卡来处理发起端的TCP/IP和iSCSI协议,即iSCSI的HBA (Host Bus Adapter,主机总线适配器)卡。但是在目标端(Target),各个存储厂商基本采用PC(PersonalComputer,个人计算机)组成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运算等都是以纯软件方式实现(当然也有些设备采用价格较高的T0E(TCP Offload Engine,传输控制协议卸载引擎)网卡实现TCP/IP运算)。因此对PC的CPU和内存的性能要求较高。另外iSCSI存储设备的性能极容易受PC服务器运行状态的影响。企业级存储系统的数据读出和写入是采用数据块的方式进行。为保证数据的安全性,通常要对写入磁盘阵列的数据块进行双重或更多重的复制备份,以防数据因硬盘损坏(高概率事件)而丢失。目前的企业级存储产品在进行数据复制时,基本采用系统内部磁盘镜像的方式对数据进行保护。例如EMC和IBM公司的企业级存储设备。当系统中出现硬盘损坏时,系统一般都会提供一部份空白的备用硬盘进行自我修复。在系统复原时,目前的企业级存储依靠存储管理控制服务器(IPSAN控制服务器)进行数据的传输,即由IPSAN控制服务器将数据依次读出,再依次写入空白盘,从而完成复制过程。因此,IPSAN控制服务器需要多次在不同的iSCSI磁盘间完成存储、转发造成复制延迟和资源占用;加重了 IPSAN控制服务器的负担,对IPSAN控制服务器的设备要求比较高
发明内容
本发明的目的在于提供一种基于ISCSI的全盘复制方法及存储系统,其在IPSAN控制服务器的指令下实现数据的全盘复制复制,避免了数据通过IPSAN控制服务器存储和转发造成的复制延迟和资源占用。上述目的通过下述技术方案实现一种基于ISCSI的全盘复制方法,其特征在于包括以下步骤步骤SlOO 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 e {O,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 e {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 e {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 e {0,1,2,· · ·,M-1};
所述IPSAN控制服务器,N个主动ISCSI硬盘和M个被动ISCSI硬盘分别与第一以太网交换机和第二以太网交换机连接;所述IPSAN控制服务器,通过第一以太网交换机和/或第二以太网交换机,实现与主动ISCSI硬盘的非数据通信;主动ISCSI硬盘根据非数据通信将主动ISCSI硬盘全盘复制到M个被动ISCSI硬盘。本发明的基于ISCSI的全盘复制方法和存储系统,每一个ISCSI硬盘通过以太网交换机互联,且所采用的ISCSI硬盘具有数据转发逻辑功能,这使得ISCSI硬盘之间可以通过以太网交换机进行端口对端口无阻塞通讯,在IPSAN控制服务器的指令下实现数据的全盘复制,避免了数据通过IPSAN控制服务器存储和转发造成 的复制延迟和资源占用。


图I是本发明的基于ISCSI的全盘复制方法中主动ISCSI硬盘将其设定区域复制到M个被动ISCSI硬盘的流程示意图;图2是本发明的基于ISCSI的存储系统的结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的基于ISCSI的全盘复制方法和存储系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。实施例一本发明的一种基于ISCSI的全盘复制方法,包括以下步骤步骤SlOO 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硬盘,se {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 e {0,1,2, ... , M-1} ο优选的,在步骤SlOO中,全盘复制命令cmd (N)包括每次复制操作的长度L和ISCSI硬盘的容量C ;其中,每次复制操作的长度L表示每次复制操作复制L个LBA ;ISCSI硬盘的容量C表示ISCSI磁盘的容量是C个LBA,ISCSI硬盘内C个LBA编号为0,1,2,...,C-I ;其中,LBA即逻辑块地址Logical Block Address,简称LBA ;现在的硬盘通过这种逻辑地址确定数据存放在磁碟上的位置,也是访问硬盘的颗粒度,即最小读写单位。一般来说,一个LBA包含512字节的数据;新的大容量硬盘的LBA包含4096字节的数据;如图I所示,步骤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+l,a+2,...,a+(L_l)的L个LBA的数据(即对于主动ISCSI硬盘A(N,s)来说,每次准备的数据量是L个LBA ;对于主动ISCSI硬盘阵列A(N)整体来说,每次准备的数据量是LXN个LBA);注意,L大小要适当,太小会增加协议开销,太大则增加重传的代价。在网络传输有保障的系统中(例如局域网),L应在合理范围内尽可能大。步骤S204 :对i初始化,i = O ;其中,i是被动ISCSI硬盘在被动ISCSI硬盘阵列B(M)中编号,i = O表示主动ISCSI硬盘A (N,s)控制写入从编号为O的被动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 e {0,1,2} ;C = 32 ;L = 4 ;主动ISCSI 硬盘阵列 A (3)中包括 3 个主动 ISCSI 硬盘A(3,0),A(3,I),A(3,2)。主动ISCSI 硬盘 A (3,0):要准备的起始地址列表是{0,12,24};即当a = O时,主动ISCSI硬盘A阵列(3,0)准备数据d(O);数据d(0)表示从O开始的4个LBA的数据;数据d(0)包括主动ISCSI硬盘内的编号为0,1,2,3的4个LBA的数据;当a = 12, 24 时,同理。主动ISCSI 硬盘 A (3,I) 要准备的起始地址列表是{4,16,28};即当a = 4时,主动ISCSI硬盘A阵列(3,I)准备数据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 (Μ, *)发送给主动ISCSI硬盘A(N, s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,..., M-1};状态信息rsp O, s, a)包括rsp (O, s, a),rsp (I,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+Ι ;运行步骤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 (Μ, *)发送给主动ISCSI硬盘A(N, s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,..., M-1};状态信息rsp O, s, a)包括rsp (O, s, a),rsp (I,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。优选的,在步骤SlOO中,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的存储系统,如图I所示,包括存储单元和备份单元;所述存储单元包括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硬盘,se {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 e {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-I ;所述主动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+l,a+2,...,a+(L_l)的L个LBA的数据(即对于主动ISCSI硬盘A(N,s)来说,每次准备的数据量是L个LBA ;对于主动ISCSI硬盘阵列A(N)整体来说,每次准备的数据量是LXN个LBA);步骤S204 :对i初始化,i = O ;其中,i是被动ISCSI硬盘在被动ISCSI硬盘阵列B(M)中编号,i = O表示主动ISCSI硬盘A (N,s)控制写入从编号为O的被动ISCSI硬盘开始;
步骤5205:主动15051硬盘六机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 (Μ, *)发送给主动ISCSI硬盘A(N, s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,..., Μ-l};状态信息rsp O, s, a)包括rsp (O, s, a),rsp (I,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+Ι ;运行步骤S204-1 ;在没有发生故障时,运行步骤S205及步骤S206 ;在步骤S206中,在i <M成立的情况下,运行步骤S206';在步骤S206'之后,运行步骤S204-1。优选的,在i < MF成立的情况下,主动ISCSI硬盘A(N,s)还包括以下步骤步骤S206-1 :主动ISCSI硬盘A (N,s)等待状态信息rsp (*,s,a);其中,状态信息rsp (*, s, a)是被动ISCSI硬盘B (Μ, *)发送给主动ISCSI硬盘A(N, s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,..., Μ-l};状态信息rsp O, s, a)包括rsp (O, s, a),rsp (I, 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控制服务器存储和转发造成的复制延迟和资源占用。 最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。
权利要求
1.一种基于ISCSI的全盘复制方法,其特征在于包括以下步骤 步骤SlOO I PSAN控制服务器生成全盘复制命令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 e {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 e {0,1,2,...,M-1}。
2.根据权利要求I所述的基于ISCSI的全盘复制方法,其特征在于 在步骤SlOO中,全盘复制命令cmd (N)包括每次复制操作的长度L和ISCSI硬盘的容量C ;其中,每次复制操作的长度L表示每次复制操作复制L个LBA ; ISCSI硬盘的容量C表示ISCSI磁盘的容量是C个LBA,ISCSI硬盘内C个LBA编号为0,1,2,. . .,C-I ; 步骤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 = O ;其中,i是被动ISCSI硬盘在被动ISCSI硬盘阵列B(M)中编号,i = O表示主动ISCSI硬盘A (N,s)控制写入从编号为O的被动ISCSI硬盘开始;步骤3205:主动13031硬盘4(1 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 < MF成立的情况下,还包括以下步骤 步骤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 O, s, a)包括rsp (O, s, a),rsp (I,s, a), rsp (2, s, a), , rsp (Μ-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 < MF成立的情况下,还包括以下步骤 步骤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 O, s, a)包括rsp (O, s, a),rsp (I,s, a), rsp (2, s, a), . . . , rsp (M_l, s, a); 步骤S206-2 :主动ISCSI硬盘A(N,s)根据状态信息rsp (*,s,a)判断是否在每个被动ISCSI硬盘写入成功包括是否收到状态信息rsp(*,s,a)和状态信息rsp(*,s, a)是否表明被动ISCSI硬盘已经成功写入; 在每个被动I SCSI硬盘写入成功时,运行步骤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的全盘复制方法,其特征在于 在步骤SlOO中,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.根据权利要求I所述的基于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 e {O,I,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 e {O,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-I ; 所述主动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 = O ;其中,i是被动ISCSI硬盘在被动ISCSI硬盘阵列B(M)中编号,i = O表示主动ISCSI硬盘A (N,s)控制写入从编号为O的被动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 < MF成立的情况下,还包括以下步骤 步骤S206-1 :主动ISCSI硬盘A (N,s)等待状态信息rsp (*,s, a);其中,状态信息rsp (*, s, a)是被动ISCSI硬盘B (Μ, *)发送给主动ISCSI硬盘A(N, s)针对信息msg(s,*,d(a))的反馈报告,包括起始地址a和是否成功写入的信息;其中,*为通配符,表示任何有效值,有效值的集合为{0,1,2,..., M-1};状态信息rsp O, s, a)包括rsp (O, s, a),rsp (I,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 < MF成立的情况下,主动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 O, s, a)包括rsp (O, s, a),rsp (I,s, a), rsp (2, s, a), , rsp (Μ-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硬盘包括控制芯片和硬盘,控制芯片用来实现对复制操作的控制,硬盘用来存储数据。
全文摘要
本发明提供一种基于ISCSI的全盘复制方法及存储系统,全盘复制方法包括以下步骤步骤S100IPSAN控制服务器生成全盘复制命令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控制服务器存储和转发造成的复制延迟和资源占用。
文档编号G06F17/30GK102902683SQ20111021138
公开日2013年1月30日 申请日期2011年7月27日 优先权日2011年7月27日
发明者陈杰 申请人:北京飞杰信息技术有限公司, 北京华胜天成科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1