CN106484327B - 一种数据处理方法及相关存储设备 - Google Patents

一种数据处理方法及相关存储设备 Download PDF

Info

Publication number
CN106484327B
CN106484327B CN201610836101.1A CN201610836101A CN106484327B CN 106484327 B CN106484327 B CN 106484327B CN 201610836101 A CN201610836101 A CN 201610836101A CN 106484327 B CN106484327 B CN 106484327B
Authority
CN
China
Prior art keywords
port
reserved
target
storage equipment
host
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.)
Active
Application number
CN201610836101.1A
Other languages
English (en)
Other versions
CN106484327A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610836101.1A priority Critical patent/CN106484327B/zh
Publication of CN106484327A publication Critical patent/CN106484327A/zh
Priority to EP17852123.3A priority patent/EP3477460A4/en
Priority to PCT/CN2017/081338 priority patent/WO2018054047A1/zh
Priority to US16/257,959 priority patent/US10712947B2/en
Application granted granted Critical
Publication of CN106484327B publication Critical patent/CN106484327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/631Small computer system interface [SCSI] addresses

Abstract

本发明公开了一种数据处理方法,包括:第一存储设备接收主机通过目标端口发送的第一预留抢占命令,第一预留抢占命令包括目标端口的端口标识、待校验预留密钥以及LUN;根据预设的端口映射关系确定目标端口对应的转发端口,将待校验预留密钥、LUN、目标端口的端口标识以及转发端口的端口标识进行封装得到第二预留抢占命令,通过转发端口将第二预留抢占命令发送给第二存储设备,第二存储设备根据目标端口的端口标识执行预留抢占操作。本发明还提供一种可以实现上述数据处理方法的相关存储设备。本发明能够在不同存储阵列实施在线数据迁移的过程中,当主机集群发生脑裂时,保证不同存储阵列之间数据的一致性,并且不依赖光纤通道交换机,适用场景更广。

Description

一种数据处理方法及相关存储设备
技术领域
本发明涉及存储技术领域,尤其涉及一种数据处理方法及相关存储设备。
背景技术
在由主机集群和若干存储阵列构成的数据处理系统中,如果要在新存储阵列(下面称为第一存储阵列)和原存储阵列(下面称为第二存储阵列)之间实施数据迁移,那么在数据迁移的准备阶段,需要执行以下步骤:将第二存储阵列的待迁移逻辑单元(LogicalUnit,简称LU),通过逻辑单元号(Logical Unit Number,简称LUN)映射方式映射至第一存储阵列;在第一存储阵列中创建虚拟LU,并建立待迁移LU与虚拟LU的对应关系;当待迁移LU通过第一存储阵列映射给主机之后,主机通过多路径软件可以获取用于访问待迁移LU的多条路径。路径可以分为两类,第一类路径为主机直接连接至第二存储阵列的路径,第二类路径为主机通过第一存储阵列连接至第二存储阵列的路径。
当不同主机(如主机A和主机B)对待迁移LU进行I/O操作时,如果主机A与主机B发生脑裂现象(如通信中断),那么主机A和主机B会向第二存储阵列发送预留抢占命令,以抢占待迁移LU的控制权。在抢占过程中,如果主机A向第二存储阵列发送预留抢占命令,主机B通过第一存储阵列向第二存储阵列发送预留抢占命令,那么第二存储阵列接收主机A发送的预留抢占命令,以实现主机A对待迁移LU进行抢占;第一存储阵列接收主机B发送的预留抢占命令,如果将预留抢占命令原样转发给第二存储阵列,由于第二存储阵列根据第一存储阵列的下发端口识别预留抢占命令的来源,第二存储阵列并不会实现主机B对待迁移LU的抢占,同时第一存储阵列根据预留抢占命令,会执行主机B对第一存储阵列中的虚拟LU进行抢占。若两个都抢占成功,接下来执行数据迁移时,由于待迁移LU和虚拟LU分别被不同的主机占用,当主机A和主机B的命令不一致时,虚拟LU与待迁移LU中的数据无法保持一致,造成原存储阵列与新存储阵列的数据无法保持一致。
为了保证数据的一致性,现有的预留抢占方法大致如下:第一存储阵列可以使用端口ID虚拟化(N-Port Identifier Virtualization,简称NPIV)功能,利用第一存储阵列的端口,对每个主机的主机端口做一对一的模拟。如图1所示,将第一存储阵列的P10'的WWN设置为P10的WWN,将P11'的WWN设置为P11的WWN。当第一存储阵列收到来自P0端口的命令时,第一存储阵列选取与P10对应的P10',从P10'将预留转发命令原样转发给第二存储阵列,第二存储阵列根据P10'的WWN(即P10的WWN),就可以确定预留抢占命令的来源为主机A,再执行主机A抢占待迁移LU的操作。
但是,现有技术必须依赖光纤通道(Fiber Channel,简称FC)交换机实施NPIV技术。在没有FC交换机的组网场景中,以上预留抢占方法无法实施,具有很大的局限性。
发明内容
本发明提供了一种数据处理方法以及相关存储设备,能够在不同存储阵列实施在线数据迁移的过程中,当主机集群发生脑裂时,保证不同存储阵列之间数据的一致性,并且不依赖光纤通道交换机,适用场景更广。
第一方面提供了一种数据处理方法,该方法应用于存储区域网络,存储区域网络包括第一存储设备和第二存储设备,第二存储设备包括LU,用LUN标识。该数据处理方法包括:主机通过目标端口将第一预留抢占命令发送给第一存储设备,第一存储设备获取第一预留抢占命令包括的目标端口的端口标识、待校验预留密钥以及LUN之后,根据预设的端口映射关系确定目标端口对应的转发端口,再将待校验预留密钥、LUN、目标端口的端口标识以及转发端口的端口标识进行封装得到第二预留抢占命令;然后,通过转发端口将第二预留抢占命令发送给第二存储设备,第二存储设备根据第二预留抢占命令包括的目标端口的端口标识,执行预留抢占操作,因此该主机能够通过第一存储设备抢占第二存储设备的LU。其中,目标端口可以是任意一个主机端口,待校验预留密钥用于第二存储设备对主机进行校验,端口映射关系包括目标端口与转发端口的映射关系。
由此可见,第一存储设备将预留抢占命令发送给第二存储设备,而不是在第一存储设备上执行,因此可以解决了不同主机的预留抢占命令在不同存储设备执行的问题。由于在数据迁移过程中新旧存储设备都执行同一主机的控制指令,使得新旧存储设备的数据能够保持一致。并且,根据本发明设置的命令处理方法,每个存储设备都可以识别并处理第二预留抢占命令,因此无需使用NPIV功能进行端口模拟,既可以应用于存储区域网络,也可以应用于无光纤通道交换机的直连式网络,因此本发明数据处理方法的适用场景更广。
在第一方面的一种可能实现方式中,在第一存储设备根据预设的端口映射关系,确定目标端口对应的转发端口之前,第一存储设备获取目标端口的端口标识之后,以及从与第二存储设备的目标LU建立有对应关系的端口中选取至少一个端口作为转发端口,再根据目标端口的端口标识建立转发端口与目标端口的端口映射关系。第一存储设备还可以获取目标LU存储的预留密钥,根据转发端口的端口标识与目标端口对应的预留密钥生成预留注册命令,然后,通过转发端口向目标LU发送预留注册命令,第二存储设备根据该预留注册命令记录目标端口对应的预留密钥与转发端口的对应关系。
由此可见,本发明通过设置目标端口到转发端口的端口映射关系,并且在目标LU中注册了转发端口,以使得第一存储设备可以通过转发端口将来自目标端口的信息转发给目标LU。由于转发端口与目标端口的预留密钥一致,因此主机可以在完成预留抢占之后传输数据。
进一步的,在第一方面的另一种可能实现方式中,在第一存储设备获取目标LU存储的预留密钥之前,第一存储设备读取第二存储设备中目标LU的识别信息,根据识别信息创建虚拟LU;将虚拟LU映射到主机端口。
进一步的,在第一方面的另一种可能实现方式中,在通过转发端口向目标LU发送预留注册命令之后,第一存储设备接收主机通过目标端口发送的输入/输出I/O指令,I/O指令用于通过虚拟LU访问目标LU;通过转发端口,将I/O指令发送给第二存储设备中的目标LU。
结合第一方面以上实现方式,在第一方面的另一种可能实现方式中,当主机直接连接至第二存储设备的磁盘路径全部被禁用时,第一存储设备接收关闭预留转发指令,根据关闭预留转发指令关闭预留转发功能。
第二方面提供一种存储设备,可以实现第一方面的数据处理方法中第一存储设备的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第三方面提供一种数据处理系统,包括主机、第二存储设备以及第一存储设备。主机可以通过目标端口向第一存储设备发送第一预留抢占命令,第一存储设备获取第一预留抢占命令包括的目标端口的端口标识、待校验预留密钥以及LUN之后,根据预设的端口映射关系确定目标端口对应的转发端口,再将待校验预留密钥、LUN、目标端口的端口标识以及转发端口的端口标识进行封装得到第二预留抢占命令;然后,通过转发端口将第二预留抢占命令发送给第二存储设备,第二存储设备接收第二预留抢占命令之后,确定LUN对应的LU,从LU存储的预留注册信息中查找与目标端口对应的目标预留密钥;若待校验预留密钥与目标预留密钥一致,则根据目标端口的端口标识,执行预留抢占操作。
由此可见,第一存储设备将预留抢占命令发送给第二存储设备,而不是在第一存储设备上执行,因此可以解决了不同主机的预留抢占命令在不同存储设备执行的问题。由于在数据迁移过程中新旧存储设备都执行同一主机的控制指令,使得新旧存储设备的数据能够保持一致。并且,根据本发明设置的命令处理方法,每个存储设备都可以识别并处理第二预留抢占命令,因此无需使用NPIV功能进行端口模拟,既可以应用于存储区域网络,也可以应用于无光纤通道交换机的直连组网场景,因此本发明数据处理方法的适用场景更广。
从本发明实施例可以看出,第一存储设备接收主机通过目标端口发送的第一预留抢占命令以及目标端口的端口标识,将待校验预留密钥、LUN和目标端口的端口标识进行封装得到第二预留抢占命令,根据预设的端口映射关系确定目标端口对应的转发端口,通过转发端口将第二预留抢占命令发送给第二存储设备,第二存储设备根据第二预留抢占命令删除其他预留密钥。由此可见,第一存储设备接收原预留抢占命令之后,不执行根据原预留抢占命令对虚拟LU进行预留抢占操作,而是将原预留抢占命令和目标端口的端口标识打包生成新的预留抢占命令转发给第二存储设备,第二存储设备收到新的预留抢占命令时,可以根据目标端口的端口标识以及待校验预留密钥,执行预留抢占操作。本发明可以避免在第一存储设备中主机对虚拟LU进行抢占,导致待迁移LU与虚拟LU中数据不一致的问题。同时,本发明无需使用NPIV功能进行端口模拟,可以应用于无光纤通道交换机的直连式网络,具有更好的适用性。
附图说明
图1为现有技术中数据处理方法的应用场景的一个示意图:
图2为现有技术中数据处理方法的应用场景的另一个示意图;
图3为本发明实施例中数据处理方法的应用场景的一个示意图;
图4为本发明实施例中数据处理方法的应用场景的另一个示意图;
图5为本发明实施例中数据处理方法的一个示意图;
图6为本发明实施例中数据处理方法的另一个示意图;
图7为本发明实施例中数据处理方法的应用场景的另一个示意图;
图8为本发明实施例中数据处理方法的另一个示意图;
图9为本发明实施例中存储设备的一个示意图;
图10为本发明实施例中数据处理系统的一个示意图;
图11为本发明实施例中存储设备的另一个示意图。
具体实施方式
下面先对本发明提供的数据处理方法的应用环境进行介绍,本发明的数据处理系统既可以为存储区域网络(Storage Area Network,简称SAN),也可以为直连式存储(Direct-Attached Storage,简称DAS)系统。下面以SAN为例,对本发明的数据处理系统进行详细介绍。请参阅图3,SAN系统包括:主机集群、SAN交换网络以及存储阵列。
主机集群包括若干主机,每个主机也称作集群节点。每个主机通过SAN交换网络与存储设备相连。每个主机可以包括一个或多个端口,例如主机A包括P10、P11,主机B包括P20、P21等,如图4所示。
SAN交换网络:是连接存储设备和主机的专用光纤通道网络,由支持光纤通道的服务器、光纤通道卡(网卡)、光纤通道集线器/交换机和光纤通道存储装置所组成。SAN交换网络最重要的三个组成部分就是:设备接口(如小型计算机系统接口(Small ComputerSystem Interface,简称SCSI)、光纤通道等)、连接设备(如交换机、网关、路由器、集线器等)和通信控制协议(如互联网协议(Internet Protocol,简称IP)和SCSI协议等)。
存储设备一般是指由多个存储单元组成的存储阵列。存储单元可以通过LU来描述,每个LU可以用LUN进行标识。存储阵列可以提供一个或多个LU给主机访问。存储设备可以包括多个端口,例如,存储阵列C包括P00、P01,存储阵列D包括P30、P31、P33、P33等,如图4所示。
在数据迁移准备阶段中,为了避免主机A和主机B抢占新旧存储阵列,导致数据不一致的情况,现有技术有两种数据处理方法来处理。
第一种方法:每个主机设置位于集群软件的下层的悬挂逻辑软件处理层,以截获主机下发的所有命令。当主机向指定LU下发预留抢占命令时,主机可以利用悬挂逻辑软件检测到预留抢占命令,将预留抢占命令悬挂起来,既不发送到旧存储阵列,也不发送到新存储阵列。当新存储阵列接管旧存储阵列之后,再将悬挂的命令下发给新存储阵列。
但是,如果悬挂命令的时间太长,主机会认为该命令执行失败,预留抢占无法实行;如果悬挂命令的时间太短,在接管步骤还未完成前就把预留抢占命令下发到存储阵列,数据不一致的问题就不能得到解决。因此,采用悬挂预留抢占命令的缺点在于悬挂时间具有很大的限制,具有一定局限性。
第二种方法:第一存储阵列使用NPIV功能利用第一存储阵列的端口,对每个主机的主机端口做一对一的模拟。如图4所示,将第一存储阵列的P10'的全球唯一标识(WorldWide Name,简称WWN)设置为P10的WWN,将P11'的WWN设置为P11的WWN。当第一存储阵列收到来自P10端口的命令时,第一存储阵列选取与P10对应的P10',从P10'将预留转发命令原样转发给第二存储阵列,第二存储阵列根据P10'的WWN(即P10的WWN),就可以确定预留抢占命令的来源为主机A,再执行主机A抢占待迁移LU的操作。
但是,现有技术必须依赖光纤通道(Fiber Channel)交换机实施NPIV技术。在没有FC交换机的组网场景中,以上预留抢占方法无法实施,具有很大的局限性。
为了解决以上问题,本发明提供一种数据处理方法,其核心思想是设置一种新预留抢占命令以及存储设备对该新预留抢占命令的处理流程。该预留抢占命令包括主机端口的端口信息,第一存储设备能够将该新预留抢占命令转发给第二存储设备,第二存储设备接收到该预留抢占命令时,能够根据其包含的主机端口的端口信息进行预留抢占。
在本发明的数据处理方法实施之前,为了便于理解,首先对本发明数据处理方法的准备阶段进行介绍。
在数据处理系统中,主机A和主机B分别向存储阵列C的LU_1发送预留注册命令,假设主机A的预留密钥(reservation key)为KeyA,主机A下发预留注册命令的端口为P10,主机B的预留密钥为KeyB,主机B下发预留注册命令的端口为P20。存储阵列C可以记录主机端口与预留密钥的对应关系,如下表所示。
逻辑单元 主机端口 预留密钥
LU_1 P10 KeyA
LU_1 P11 KeyA
LU_1 P20 KeyB
LU_1 P21 KeyB
注册成功后,主机A和主机B均具有访问LU_1的权限。当主机进行持续预留操作时,若持续预留成功,就可以获得LU_1的操作权限。主机还可以通过上述主机端口下发I/O指令到LU_1,存储阵列C允许来自上述主机端口的I/O指令对LU_1进行读写操作。
若要在第一存储设备与第二存储设备之间实施数据迁移,首先第二存储设备要将LU映射给第一存储设备,具体过程可参阅以下实施例。请参阅图5,本发明的数据处理方法的一个实施例包括:
步骤501、第一存储设备读取第二存储设备中目标LU的识别信息。
步骤502、第一存储设备根据识别信息创建虚拟LU,将虚拟LU映射到主机端口。
本实施例中,目标LU可以为第二存储设备中的任意一个LU。虚拟LU与目标LU是一一对应的。当第一存储设备接入交换网络之后,第一存储设备可以通过交换网络与第二存储设备建立通信连接,建立第一存储设备的端口到目标LU的访问路径。第一存储设备读取第二存储设备中目标LU的识别信息之后,根据识别信息创建虚拟LU,然后将虚拟LU映射到主机端口。
当第一存储设备将虚拟LU映射到主机端口之后,若主机在磁盘扫描的过程中访问虚拟LU,第一存储设备可以从第二存储设备的目标LU中读取数据反馈给主机,此时,主机会将主机到虚拟LU的路径认为是主机到目标LU的新路径。对于主机来说,当出现新路径之后,主机的磁盘路径管理程序可以将后续I/O流切换到新路径,在原路径没有被完全禁用的情况下,新路径与原路径共存。
步骤503、第一存储设备获取目标端口的端口标识。
步骤504、第一存储设备从与第二存储设备的目标LU建立有对应关系的端口中选取至少一个端口作为转发端口,根据目标端口的端口标识建立转发端口与目标端口的端口映射关系。
步骤501及步骤502可知,第一存储设备可以通过若干端口访问目标LU。第一存储设备可以选取若干端口的全部或部分作为转发端口,建立转发端口与主机端口的映射关系。
需要说明的是,第一存储设备可以根据主机数量,将上述转发端口划分为多个端口组,主机与端口组一一对应。每个主机可以从任意一个主机端口下发I/O流,第一存储设备可以从相应的端口组中选取一个转发端口,将上述I/O流转发给第二存储设备。
步骤505、第一存储设备获取目标LU存储的预留密钥,根据转发端口的端口标识与目标端口对应的预留密钥生成预留注册命令。
目标LU存储有目标端口与预留密钥的对应关系,第一存储设备获取目标LU存储的预留密钥之后,可以根据目标端口与预留密钥的对应关系,以及转发端口与目标端口的映射关系之后,确定转发端口对应的预留密钥,然后生成转发端口的预留注册命令,该预留注册命令包括转发端口的端口标识与其对应的预留密钥。
步骤506、第一存储设备通过转发端口向目标LU发送预留注册命令。
步骤507、第二存储设备根据预留注册命令,记录目标端口对应的预留密钥与转发端口的对应关系。
第二存储设备获取上述预留注册命令之后,可以获取其包括的转发端口的端口标识、预留密钥等信息,然后利用上述信息注册该转发端口。注册完成后,该转发端口就具有访问目标LU的权限。本实施例中,第一存储设备建立了目标端口到转发端口的端口映射关系,并且在目标LU中注册了转发端口,以使得第一存储设备可以通过转发端口将来自目标端口的信息转发给目标LU。
举例来说,在目标LU中,主机端口、转发端口、逻辑单元以及预留密钥的对应关系可以如下表所示:
主机端口 转发端口 逻辑单元 预留密钥
P10 P31 LU_1 KeyA
P11 P32 LU_1 KeyA
P20 P33 LU_1 KeyB
P21 P34 LU_1 KeyB
可以理解的是,如果多个转发端口对应的是同一个主机,那么上述转发端口对应的预留密钥相同。
基于图5所示实施例,请参阅图6,本发明的数据处理方法的另一个实施例包括:
步骤601、主机通过目标端口发送的I/O指令,I/O指令用于通过虚拟LU访问目标LU。
步骤602、第一存储设备根据端口映射关系,确定目标端口对应的转发端口。具体的,第一存储设备接收主机发送的I/O指令之后,可以基于图5建立的端口映射关系,确定目标端口对应的转发端口。
步骤603、第一存储设备通过转发端口,将I/O指令发送给第二存储设备中的目标LU。
步骤604、第二存储设备根据I/O指令在目标LU中执行读写操作。
本实施例中,当第一存储设备建立了目标端口到转发端口的端口映射关系,并且在目标LU中注册了转发端口之后,转发端口具有访问目标LU的权限。因此第一存储设备可以将从目标端口下发的I/O指令,通过转发端口发送给第二存储设备的目标LU。可以理解的是,第一存储设备还可以将从目标端口下发的其他信息转发给目标LU。
需要说明的是,当第一存储设备的转发端口在目标LU上注册失败时,转发端口不具有访问目标LU的权限,第二存储设备将不会响应来自转发端口的I/O指令。
基于图6所示实施例,下面对本发明提供的数据处理方法进行详细介绍,请参阅图7,本发明提供的数据处理方法的一个实施例包括:
步骤701、主机通过目标端口将第一预留抢占命令发送给第一存储设备。
本实施例中,第一预留抢占命令也称为持续预留(Persistent Reservation,简称PR)命令,其包括目标端口的端口标识、待校验预留密钥以及LUN。LUN对应于主机的访问对象(即目标LU),待校验预留密钥用于第二存储设备对目标端口进行校验。目标端口是指用于发送第一预留抢占命令的主机端口,目标端口的端口标识一般为目标端口的WWN。
举例来说,第一预留抢占命令格式可以为:<目标端口的端口标识>+<待校验预留密钥>+<LUN>,当然第一预留抢占命令还可以包括其他信息,由于其他信息并非本发明的发明点,因此不再赘述。
步骤702、第一存储设备根据预设的端口映射关系,确定目标端口对应的转发端口。其中,端口映射关系可参阅图5所示实施例中的端口映射关系。
步骤703、第一存储设备将待校验预留密钥、LUN、目标端口的端口标识和转发端口的端口标识进行封装,得到第二预留抢占命令。
具体的,第一存储设备接收第一预留抢占命令之后,可以将第一预留抢占命令包含的信息(如目标端口的端口标识、待校验预留密钥和LUN等)和转发端口的端口标识进行封装,生成第二预留抢占命令。
可以理解的是,第二预留抢占命令的格式可以是<转发端口的端口标识>+<第一预留抢占命令>,或<转发端口的端口标识>+<目标端口的端口标识>+<校验预留密钥>+<LUN>,其中预留抢占命令包括的参数的位置关系并没有固定限制。本发明可以将预留抢占命令格式设置成以上命令格式中的一种,并设置对应的命令处理规则。每个存储设备都可以通过设定的命令处理规则对第二预留抢占命令进行处理,例如识别、封装或解封。
步骤704、第一存储设备通过转发端口,将第二预留抢占命令发送给第二存储设备。
举例来说,目标LU、主机端口与转发端口的对应关系可以如下表所示:
逻辑单元 主机端口 转发端口
LU_1 P10 P31
LU_1 P20 P33
第一存储设备可以将来自P10的I/O流从P31发送给第二存储设备的目标LU。P31既可以接收I/O流,也可以发送I/O流。
需要说明的是,第一存储设备还可以设置端口对。端口对包括接收端口和发送端口,接收端口用于接收来自主机端口的I/O流,发送端口用于将接收端口接收的I/O流发送至第二存储设备。
步骤705、第二存储设备确定LUN对应的LU,在LU的预留注册信息中查找目标端口对应的目标预留密钥。
具体的,第二存储设备接收第二预留抢占命令之后,可以将第二预留抢占命令解封,获取第二预留抢占命令包括的目标端口的端口标识、待校验密钥以及LUN,再确定LUN对应的LU,在LU的预留注册信息中查找目标端口对应的目标预留密钥。可以理解的是,在预留注册信息中,主机与预留密钥一一对应。
举例来说,逻辑单元、主机端口与目标预留密钥的对应关系可以如下表所示:
逻辑单元 主机端口 预留密钥
LU_1 P10 KeyA
LU_1 P11 KeyA
LU_1 P20 KeyB
LU_1 P21 KeyB
可以理解的是,若在预留注册信息中没有查找到目标端口的端口信息,则表明目标端口还未注册,不具有访问目标LU的权限。
步骤706、若待校验预留密钥与目标预留密钥一致,则第二存储设备根据目标端口的端口标识执行预留抢占操作。
第二存储设备将待校验预留密钥与目标预留密钥进行比较,若待校验预留密钥与目标预留密钥不一致,则表明目标端口为未注册端口,不具有访问目标LU的权限。
若待校验预留密钥与目标预留密钥一致,则表明目标端口为已注册端口,具有访问目标LU的权限。第二存储设备根据目标端口的端口标识,执行预留抢占操作。具体的,第二存储设备可以删除在预留注册信息中除了目标预留密钥之外的其他预留密钥。由于目标预留密钥与主机一一对应,因此删除了其他预留密钥之后,其他主机就不再具有访问目标LU的权限。
举例来说,主机A对应的预留密钥为KeyA,当主机A通过任意一个主机端口下发预留抢占命令,成功抢占目标LU时,第二存储设备将除了KeyA以外的其他预留密钥(如KeyB、KeyC等)进行删除。当主机B发送预留抢占命令时,由于主机B的预留密钥已被删除,目标LU不允许主机B访问。
在现有技术中,如果不采用NPIV技术,第二存储阵列根据下发端口识别预留抢占命令的来源,第一存储设备将预留抢占命令转发给第二存储设备时,第二存储阵列认为第一存储阵列对待迁移LU进行抢占,因此主机无法通过第一存储阵列对目标LU进行抢占。
本实施例中,第二存储设备可以根据第一存储设备转发的预留抢占命令,正确识别预留抢占命令的来源,从而解决了主机无法通过第一存储阵列对目标LU进行抢占的问题。
其次,第一存储设备将预留抢占命令发送给第二存储设备,而不是在第一存储设备上执行,因此可以解决了不同主机的预留抢占命令在不同存储设备执行的问题。由于在数据迁移过程中新旧存储设备都执行同一主机的控制指令,使得新旧存储设备的数据能够保持一致。
再次,本发明在存储设备中可以设定对新预留抢占命令的处理规则,每个存储设备都可以识别并处理新预留抢占命令,因此无需使用NPIV功能进行端口模拟,既可以应用于SAN,也可以应用于无光纤通道交换机的直连式网络,因此本发明数据处理方法的适用场景更广。
基于图7所示实施例,在本发明的另一个可选实施例中,在步骤706之后,本发明的数据处理方法还包括:当主机直接连接至第二存储设备的磁盘路径全部被禁用时,第一存储设备接收关闭预留转发指令,根据关闭预留转发指令关闭预留转发功能。
本实施例中,当主机直接连接至第二存储设备的磁盘路径全部被禁用时,主机只能通过第一存储设备向第二存储设备发送预留类指令或I/O指令。预留类指令包括预留抢占指令(也称为PR指令)、预留注册命令(也称为register指令)、预留查询指令和持续预留指令(也称为reserve指令)等。
当第一存储设备关闭预留转发功能后,如果主机A和主机B再发生脑裂时,主机A或主机B下发的预留抢占命令都在第一存储设备上执行,从而保证上述命令的执行结果一致。
为便于理解,下面以一个具体应用场景对本发明实施例中提供的数据处理方法进行详细介绍:
本发明的具体应用场景中,第一存储设备为阵列D,第二存储设备为阵列C。目标LU以Disk_1来描述,将阵列D接入SAN时,阵列C可以将Disk_1映射给阵列D的端口,阵列D的端口以P30和P31为例,分别建立P30、P31到Disk_1的访问路径。
阵列D将主机A的P10、P11,分别与P30、P31建立对应关系,阵列D从Disk_1中读取P10对应的预留密钥,预留密钥以KeyA为例,确定P30对应的预留密钥为KeyA,然后通过P30向阵列C发送预留注册信息(包括P30和KeyA)。P31的注册过程与P30相似。
阵列D获取阵列C中Disk_1的识别信息之后,在阵列D内部创建虚拟LU,虚拟LU与阵列C中的Disk_1是一一对应的。然后,将这些虚拟的LU与主机端口(P10/P11)也建立映射关系。当主机执行磁盘扫描程序时,主机访问Disk_1存储的数据文件时,主机可以向阵列D发起I/O指令,然后阵列D按照从阵列C读取的数据反馈给主机。这样,主机既可以直接访问阵列C,也可以访问阵列D的虚拟LU。主机可以将主机到虚拟LU作为主机到Disk_1的新路径。
在主机A和主机B访问Disk_1的情况下,当主机A与主机B发生通信中断时,主机A和主机B分别向Disk_1下发预留抢占指令。
假定主机A的预留抢占命令先到达Disk_1,主机A通过P10将P10的WWN,LUN和KeyA'发送给阵列D的P30之后,阵列D将P10的WWN,LUN、KeyA'和P30的WWN进行封装得到新预留抢占命令,再通过P30将新预留抢占命令发送给阵列C,阵列C将新预留抢占命令解封,检测到新预留抢占命令包括P10的WWN,则确定预留抢占命令来自P10,阵列C查找P10的WWN对应的预留密钥为KeyA,将KeyA'与KeyA进行比较,如果相同,则调用P10相关的接口执行持续预留抢占流程。例如,阵列C删除其他预留密钥,如KeyB、KeyC等。这样,主机B通过keyB注册的所有端口(如P20、P21、P33)都失去访问Disk_1的访问权限。
主机B通过P20将P20的WWN,LUN和KeyB'发送给阵列C,由于KeyB已经被删除,主机B不再具有访问Disk_1的权限,则预留抢占失败。
需要说明的是,本发明的预留抢占是根据先后顺序来执行的,如果主机B先于主机A下发预留抢占命令并成功执行,那么存储阵列C将会删除KeyA,仅保留KeyB,这样主机A就无法执行持续预留抢占流程。
以上从方法角度对本发明实施例中的数据处理方法进行了描述,下面从装置角度对本发明实施例中的数据处理方法进行介绍。
请参阅图9,本发明提供一种存储设备,可以实现图5至图6所示实施例中第一存储设备的功能。本发明提供的存储设备900的一个实施例包括:
接收模块901,用于接收主机通过目标端口发送的第一预留抢占命令以及目标端口的端口标识,第一预留抢占命令包括待校验预留密钥以及LUN,待校验预留密钥用于第二存储设备对主机进行校验;
处理模块902,用于根据预设的端口映射关系,确定目标端口对应的转发端口,端口映射关系包括目标端口与转发端口的映射关系;
处理模块902,还用于将待校验预留密钥、LUN、目标端口的端口标识以及转发端口的端口标识进行封装,得到第二预留抢占命令;
发送模块903,用于通过转发端口,将第二预留抢占命令发送给第二存储设备,第二预留抢占命令用于指示第二存储设备根据目标端口的端口标识执行预留抢占操作。
基于图9所示实施例,在本发明的一个可选实施例中,在第一存储设备根据预设的端口映射关系,确定目标端口对应的转发端口之前,
处理模块902还用于获取目标端口的端口标识,从与第二存储设备的目标LU建立有对应关系的端口中选取至少一个端口作为转发端口,根据目标端口的端口标识建立转发端口与目标端口的端口映射关系;获取目标LU存储的预留密钥,根据转发端口的端口标识与目标端口对应的预留密钥生成预留注册命令,通过转发端口向目标LU发送预留注册命令,预留注册命令用于指示第二存储设备记录目标端口对应的预留密钥与转发端口的对应关系。
基于图9所示实施例,在本发明的一个可选实施例中,处理模块902还用于读取第二存储设备中目标LU的识别信息,根据识别信息创建虚拟LU,将虚拟LU映射到主机端口。
基于图9所示实施例,在本发明的一个可选实施例中,处理模块902还用于接收主机通过目标端口发送的输入/输出I/O指令,I/O指令用于通过虚拟LU访问目标LU,通过转发端口将I/O指令发送给第二存储设备中的目标LU。
基于图9所示实施例,在本发明的一个可选实施例中,处理模块902还用于当主机直接连接至第二存储设备的全部磁盘路径被禁用时,接收关闭预留转发指令,根据关闭预留转发指令关闭预留转发功能。
请参阅图10,本发明提供数据处理系统1000的一个实施例包括:
主机1001、第一存储设备1002以及第二存储设备1003。
主机1001,用于通过目标端口向第一存储设备发送第一预留抢占命令,第一预留抢占命令包括目标端口的端口标识、待校验预留密钥以及LUN,待校验预留密钥用于第二存储设备对主机进行校验;
第一存储设备1002与图9所示实施例或可选实施例中的第一存储设备相似。第一存储设备1002执行本发明数据处理方法的过程与图5至图7所示实施例相似,此处不再赘述。
第二存储设备1003,用于接收第一存储设备发送的第二预留抢占命令;确定LUN对应的LU,从LU存储的预留注册信息中查找与目标端口对应的目标预留密钥;若待校验预留密钥与目标预留密钥一致,则根据目标端口的端口标识,执行预留抢占操作。
为便于理解,下面以一个具体应用场景对本发明实施例提供的数据处理系统中各装置之间的交互进行详细描述:
目标LU以Disk_1来描述,将第一存储设备1002接入SAN时,第二存储设备1003以将Disk_1映射给第一存储设备1002的端口,第一存储设备1002的端口以P30和P31为例,分别建立P30、P31到Disk_1的访问路径。
第一存储设备1002将主机A的P10、P11,分别与P30、P31建立对应关系,第一存储设备1002从Disk_1中读取P10对应的预留密钥,预留密钥以KeyA为例,确定P30对应的预留密钥为KeyA,然后通过P30向阵列C发送预留注册信息(包括P30和KeyA)。P31的注册过程与P30相似。
第一存储设备1002获取第二存储设备1003中Disk_1的识别信息之后,在第一存储设备1002内部创建虚拟LU,虚拟LU与第二存储设备1003中的Disk_1是一一对应的。然后,将这些虚拟的LU与主机端口(P10/P11)也建立映射关系。当主机执行磁盘扫描程序时,主机访问Disk_1存储的数据文件时,主机可以向第一存储设备1002发起I/O指令,然后第一存储设备1002按照从第二存储设备1003读取的数据反馈给主机。这样,主机既可以直接访问第二存储设备1003,也可以访问第一存储设备1002的虚拟LU。主机可以将主机到虚拟LU作为主机到Disk_1的新路径。
在主机A和主机B访问Disk_1的情况下,当主机A与主机B发生通信中断时,主机A和主机B分别向Disk_1下发预留抢占指令。
假定主机A的预留抢占命令先到达Disk_1,主机A通过P10将P10的WWN,LUN和KeyA'发送给第一存储设备1002的P30之后,第一存储设备1002将P10的WWN,LUN、KeyA'和P30的WWN进行封装得到新预留抢占命令,再通过P30将新预留抢占命令发送给第二存储设备1003,第二存储设备1003将新预留抢占命令解封,检测到新预留抢占命令包括P10的WWN,则确定预留抢占命令来自P10,第二存储设备1003查找P10的WWN对应的预留密钥为KeyA,将KeyA'与KeyA进行比较,如果相同,则调用P10相关的接口执行持续预留抢占流程。例如,第二存储设备1003删除其他预留密钥,如KeyB、KeyC等。这样,主机B通过keyB注册的所有端口(如P20、P21、P33)都失去访问Disk_1的访问权限。
主机B通过P20将P20的WWN,LUN和KeyB'发送给第二存储设备1003,由于KeyB已经被删除,主机B不再具有访问Disk_1的权限,则预留抢占失败。
需要说明的是,本发明的预留抢占是根据先后顺序来执行的,如果主机B先于主机A下发预留抢占命令并成功执行,那么第二存储设备1003将会删除KeyA,仅保留KeyB,这样主机A就无法执行持续预留抢占流程。
下面从硬件装置角度来对本发明实施例中的存储设备1100进行介绍,图5至图8所示实施例中第一存储设备以及第二存储设备均可以基于该存储设备的结构,实现本发明提供的数据处理方法。本发明提供的存储设备1100的一个实施例包括:
存储设备1100,可以是磁盘或磁盘阵列等设备,用于存储数据以及操作指令。存储设备1100包括通讯接口1101、控制器1102、存储器1103以及总线1104;通讯接口1101、控制器1102和存储器1104之间通过总线1104相互连接。存储器1104用于存储数据以及操作指令,其中,通过调用存储器1104存储的操作指令,控制器1102可以执行图5至图7所示实施例中的数据处理方法。
其中,控制器1102可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件等。
存储器1103可以包括随机存取存储器(Random Access Memory,简称RAM)11031实现,也可能包括非易失性存储器(Non-Volatile Memory,简称NVM)11032,例如至少一个磁盘存储器。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (11)

1.一种数据处理方法,其特征在于,所述方法应用于存储区域网络SAN,所述SAN包括第一存储设备和第二存储设备,所述第二存储设备包括逻辑单元LU,所述LU用逻辑单元号LUN标识,所述方法包括:
所述第一存储设备接收主机通过目标端口发送的第一预留抢占命令,所述第一预留抢占命令包括所述目标端口的端口标识、待校验预留密钥以及所述LUN,所述待校验预留密钥用于所述第二存储设备对所述主机进行校验;
所述第一存储设备根据预设的端口映射关系,确定所述目标端口对应的转发端口,所述端口映射关系包括所述目标端口与所述转发端口的映射关系;
所述第一存储设备将所述待校验预留密钥、所述LUN、所述目标端口的端口标识以及所述转发端口的端口标识进行封装,得到第二预留抢占命令;
所述第一存储设备通过所述转发端口,将所述第二预留抢占命令发送给所述第二存储设备,所述第二预留抢占命令用于指示所述第二存储设备根据所述目标端口的端口标识,执行预留抢占操作。
2.根据权利要求1所述的方法,其特征在于,在所述第一存储设备根据预设的端口映射关系,确定所述目标端口对应的转发端口之前,所述方法还包括:
所述第一存储设备获取所述目标端口的端口标识,从与所述第二存储设备的目标LU建立有对应关系的端口中选取至少一个端口作为转发端口,根据所述目标端口的端口标识建立所述转发端口与所述目标端口的端口映射关系;
所述第一存储设备获取所述目标LU存储的预留密钥,根据所述转发端口的端口标识与所述目标端口对应的预留密钥生成预留注册命令,通过所述转发端口向所述目标LU发送所述预留注册命令,所述预留注册命令用于指示所述第二存储设备记录所述目标端口对应的预留密钥与所述转发端口的对应关系。
3.根据权利要求2所述的方法,其特征在于,在所述第一存储设备获取所述目标LU存储的预留密钥之前,所述方法还包括:
所述第一存储设备读取所述第二存储设备中目标LU的识别信息,根据所述识别信息创建虚拟LU,将所述虚拟LU映射到主机端口。
4.根据权利要求3所述的方法,其特征在于,在所述通过所述转发端口向所述目标LU发送所述预留注册命令之后,所述方法还包括:
所述第一存储设备接收所述主机通过所述目标端口发送的输入/输出I/O指令,所述I/O指令用于通过所述虚拟LU访问所述目标LU;
所述第一存储设备通过所述转发端口,将所述I/O指令发送给所述第二存储设备中的所述目标LU。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
当所述主机直接连接至所述第二存储设备的磁盘路径全部被禁用时,所述第一存储设备接收关闭预留转发指令,根据所述关闭预留转发指令关闭预留转发功能。
6.一种存储设备,其特征在于,所述存储设备作为第一存储设备,所述存储设备包括:
接收模块,用于接收主机通过目标端口发送的第一预留抢占命令,所述第一预留抢占命令包括所述目标端口的端口标识、待校验预留密钥以及所述LUN,所述待校验预留密钥用于第二存储设备对所述主机进行校验;
处理模块,用于根据预设的端口映射关系,确定所述目标端口对应的转发端口,所述端口映射关系包括所述目标端口与所述转发端口的映射关系;
所述处理模块,还用于将所述待校验预留密钥、所述LUN、所述目标端口的端口标识以及所述转发端口的端口标识进行封装,得到第二预留抢占命令;
发送模块,用于通过所述转发端口,将所述第二预留抢占命令发送给所述第二存储设备,所述第二预留抢占命令用于指示所述第二存储设备根据目标端口的端口标识执行预留抢占操作。
7.根据权利要求6所述的存储设备,其特征在于,所述处理模块还用于在所述处理模块根据预设的端口映射关系,确定所述目标端口对应的转发端口之前,获取所述目标端口的端口标识,从与所述第二存储设备的目标LU建立有对应关系的端口中选取至少一个端口作为转发端口,根据所述目标端口的端口标识建立所述转发端口与所述目标端口的端口映射关系;获取所述目标LU存储的预留密钥,根据所述转发端口的端口标识与所述目标端口对应的预留密钥生成预留注册命令,通过所述转发端口向所述目标LU发送所述预留注册命令,所述预留注册命令用于指示所述第二存储设备记录所述目标端口对应的预留密钥与所述转发端口的对应关系。
8.根据权利要求7所述的存储设备,其特征在于,所述处理模块还用于读取所述第二存储设备中目标LU的识别信息,根据所述识别信息创建虚拟LU,将所述虚拟LU映射到主机端口。
9.根据权利要求8所述的存储设备,其特征在于,所述处理模块还用于接收所述主机通过所述目标端口发送的输入/输出I/O指令,所述I/O指令用于通过所述虚拟LU访问所述目标LU,通过所述转发端口将所述I/O指令发送给所述第二存储设备中的所述目标LU。
10.根据权利要求6至9中任一项所述的存储设备,其特征在于,所述处理模块还用于当所述主机直接连接至所述第二存储设备的全部磁盘路径被禁用时,接收关闭预留转发指令,根据所述关闭预留转发指令关闭预留转发功能。
11.一种数据处理系统,其特征在于,包括:
主机、第二存储设备以及如权利要求6至10中任一项所述的第一存储设备;
所述主机,用于通过目标端口向所述第一存储设备发送第一预留抢占命令,所述第一预留抢占命令包括所述目标端口的端口标识、待校验预留密钥以及所述LUN,所述待校验预留密钥用于所述第二存储设备对所述主机进行校验;
所述第二存储设备,用于接收所述第一存储设备发送的第二预留抢占命令;确定所述LUN对应的LU,从所述LU存储的预留注册信息中查找与所述目标端口对应的目标预留密钥;若所述待校验预留密钥与所述目标预留密钥一致,则根据所述目标端口的端口标识,执行预留抢占操作。
CN201610836101.1A 2016-09-20 2016-09-20 一种数据处理方法及相关存储设备 Active CN106484327B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610836101.1A CN106484327B (zh) 2016-09-20 2016-09-20 一种数据处理方法及相关存储设备
EP17852123.3A EP3477460A4 (en) 2016-09-20 2017-04-21 DATA PROCESSING METHOD AND ASSOCIATED MEMORY DEVICE
PCT/CN2017/081338 WO2018054047A1 (zh) 2016-09-20 2017-04-21 一种数据处理方法及相关存储设备
US16/257,959 US10712947B2 (en) 2016-09-20 2019-01-25 Data processing method and related storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610836101.1A CN106484327B (zh) 2016-09-20 2016-09-20 一种数据处理方法及相关存储设备

Publications (2)

Publication Number Publication Date
CN106484327A CN106484327A (zh) 2017-03-08
CN106484327B true CN106484327B (zh) 2019-07-23

Family

ID=58267664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610836101.1A Active CN106484327B (zh) 2016-09-20 2016-09-20 一种数据处理方法及相关存储设备

Country Status (4)

Country Link
US (1) US10712947B2 (zh)
EP (1) EP3477460A4 (zh)
CN (1) CN106484327B (zh)
WO (1) WO2018054047A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484327B (zh) * 2016-09-20 2019-07-23 华为技术有限公司 一种数据处理方法及相关存储设备
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
CN107704206B (zh) * 2017-10-09 2020-09-18 苏州浪潮智能科技有限公司 在线迁移异构系统数据的方法、装置、设备和存储介质
WO2019071431A1 (zh) 2017-10-10 2019-04-18 华为技术有限公司 处理i/o请求的方法、设备及主机
CN114844799A (zh) * 2022-05-27 2022-08-02 深信服科技股份有限公司 一种集群管理方法、装置、主机设备及可读存储介质
CN117375804B (zh) * 2023-12-05 2024-02-23 飞腾信息技术有限公司 一种密钥派生方法、相关设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010088346A (ko) * 2000-03-09 2001-09-26 추후보정 클러스터 컴퓨팅 환경에서의 기억장치 자원관리 시스템 및방법
CN1348134A (zh) * 2000-10-13 2002-05-08 国际商业机器公司 在非并发群集环境中提供多路径输入/输出的方法和设备
CN105704187A (zh) * 2014-11-27 2016-06-22 华为技术有限公司 一种集群脑裂的处理方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085867B2 (en) * 2003-08-06 2006-08-01 Lsi Logic Corporation Methods and structure for SCSI2 to SCSI3 reservation protocol mapping
US20060285550A1 (en) * 2005-06-16 2006-12-21 Cam-Thuy Do Apparatus, system, and method for communicating over multiple paths
US8230657B2 (en) * 2008-01-24 2012-07-31 Nucor Corporation Composite joist floor system
US8380852B2 (en) * 2009-12-23 2013-02-19 International Business Machines Corporation Clearing SCSI reservations for non-detectable initiators for extended duration
US9329794B1 (en) * 2010-01-21 2016-05-03 Qlogic, Corporation System and methods for data migration
CN102340530B (zh) * 2010-07-26 2015-10-14 杭州信核数据科技有限公司 一种存储空间接管和数据迁移的方法和系统
US9229648B2 (en) * 2012-07-31 2016-01-05 Hewlett Packard Enterprise Development Lp Storage array reservation forwarding
US9454305B1 (en) * 2014-01-27 2016-09-27 Qlogic, Corporation Method and system for managing storage reservation
CN105446662B (zh) * 2015-11-24 2018-09-21 华为技术有限公司 一种业务割接方法、存储控制装置及存储设备
CN105549904B (zh) * 2015-12-08 2019-01-08 华为技术有限公司 一种应用于存储系统中的数据迁移方法及存储设备
CN106484327B (zh) * 2016-09-20 2019-07-23 华为技术有限公司 一种数据处理方法及相关存储设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010088346A (ko) * 2000-03-09 2001-09-26 추후보정 클러스터 컴퓨팅 환경에서의 기억장치 자원관리 시스템 및방법
CN1348134A (zh) * 2000-10-13 2002-05-08 国际商业机器公司 在非并发群集环境中提供多路径输入/输出的方法和设备
CN105704187A (zh) * 2014-11-27 2016-06-22 华为技术有限公司 一种集群脑裂的处理方法及装置

Also Published As

Publication number Publication date
WO2018054047A1 (zh) 2018-03-29
US10712947B2 (en) 2020-07-14
US20190155505A1 (en) 2019-05-23
CN106484327A (zh) 2017-03-08
EP3477460A1 (en) 2019-05-01
EP3477460A4 (en) 2019-07-10

Similar Documents

Publication Publication Date Title
CN106484327B (zh) 一种数据处理方法及相关存储设备
CN103777895B (zh) 与存储区域网络配置接管协作的存储卷迁移的方法和装置
US10764180B1 (en) System and method for storing data using software defined networks
TWI245510B (en) Secure system and method for san management in a non-trusted server environment
US7996509B2 (en) Zoning of devices in a storage area network
US9042270B2 (en) Method and apparatus of network configuration for storage federation
US20080022120A1 (en) System, Method and Computer Program Product for Secure Access Control to a Storage Device
US8929252B2 (en) Virtual port world wide names
US7958282B2 (en) Method, apparatus and system for serial attached SCSI (SAS) zoning management of a domain using initiator isolation
CN105337750B (zh) 光纤通道存储区域网络配置方法和装置
CN102316043B (zh) 端口虚拟化方法、交换机及通信系统
JP2010282447A (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
US9256572B2 (en) Multi-fabric SAN based data migration
WO2017088342A1 (zh) 业务割接方法、存储控制装置及存储设备
WO2018010601A1 (zh) 一种路由器配置方法及装置
CN107707628A (zh) 用于传输数据处理请求的方法和装置
US7890654B1 (en) Dynamic inter-VSAN topology discovery
WO2014061054A1 (en) Storage system and method of controlling storage system
CN106878052A (zh) 一种用户迁移方法和装置
US20160011805A1 (en) Storage system and management computer
JP4485875B2 (ja) ストレージ接続変更方法、ストレージ管理システム及びプログラム
CN103338117B (zh) 一种虚拟交换机的管理方法、设备及系统
US20160142489A1 (en) Connection control apparatus, storage apparatus, and non-transitory computer-readable recording medium having stored therein control program
US10348519B2 (en) Virtual target port aggregation
US11747999B1 (en) Automated non-disruptive migration of hosts to an authenticated storage array connection

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