CN110413213B - 存储卷在存储阵列之间的无缝迁移 - Google Patents

存储卷在存储阵列之间的无缝迁移 Download PDF

Info

Publication number
CN110413213B
CN110413213B CN201810402355.1A CN201810402355A CN110413213B CN 110413213 B CN110413213 B CN 110413213B CN 201810402355 A CN201810402355 A CN 201810402355A CN 110413213 B CN110413213 B CN 110413213B
Authority
CN
China
Prior art keywords
storage array
volume
source
destination
cluster
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
CN201810402355.1A
Other languages
English (en)
Other versions
CN110413213A (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810402355.1A priority Critical patent/CN110413213B/zh
Priority to US15/987,459 priority patent/US10678465B2/en
Publication of CN110413213A publication Critical patent/CN110413213A/zh
Application granted granted Critical
Publication of CN110413213B publication Critical patent/CN110413213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本申请的各实施例涉及存储卷在存储阵列之间的无缝迁移。在向目的地存储阵列迁移源卷时,禁用源卷引起源存储阵列向包括源存储阵列和目的地存储阵列的集群中的所有主机计算机发送非标准故障状态码。在源卷关于从集群中的主机计算机接收的标准主机I/O请求而被禁用时,响应于非标准故障状态码的接收,被添加到主机计算机的定制插件使用非标准读取和设置持久保留信息命令向目的地存储阵列传送持久保留信息。然后,目的地卷被启用以根据传送的持久保留信息来处理主机I/O请求,并且用于访问源卷的主动路径在集群中的主机计算机中的每个主机计算机中被修改以指示目的地存储阵列中的目的地卷。

Description

存储卷在存储阵列之间的无缝迁移
技术领域
本公开内容总体上涉及智能数据存储系统,并且更具体地涉及用于在数据存储阵列之间无缝地迁移数据存储卷的技术。
背景技术
存储阵列是通常包括被耦合到非易失性数据存储设备(诸如磁盘驱动、电子闪存驱动和/或光驱)的多个存储处理器的硬件和软件的布置。存储处理器为从在主机上运行的主机应用接收的主机I/O请求服务。接收到的主机I/O请求指定通常被称为“卷”的一个或多个逻辑存储驱动,并且指示要被写入卷或从卷读取的主机I/O数据。存储处理器包括专用硬件,并且执行处理传入主机I/O请求并且执行各种数据存储任务的专用软件,这些数据存储任务组织并且保护从主机应用接收的、并且被存储在存储阵列的非易失性数据存储设备上的主机I/O数据。
在各种情况下,卷必须从一个存储阵列被迁移到另一存储阵列。当客户期望从旧存储阵列向新的存储阵列移动卷时可能出现这样的情况,例如,在客户购买新硬件时,为了实现性能增强的目的,和/或为了跨多个存储阵列来平衡负载。
发明内容
用于在存储阵列之间迁移卷的先前技术已经表现出明显的缺点。例如,一些先前的卷迁移技术要求在迁移过程中停止被指向正被迁移的卷的主机I/O请求。这样的方法对主机应用的操作产生了重大影响,因为被存储在卷上的主机I/O数据在很长一段时间内不可用。
在另一示例中,一些先前的卷迁移技术需要通过要求目的地卷向主机报告与源卷相同的身份以引起主机中的多路径软件将源卷和目的地卷视为到同一卷的不同路径,来欺骗正被迁移的源卷的身份。这种类型的方法对于典型的存储阵列来说是一个重大挑战,并且还要求应用软件意识到身份欺骗正在发生。
另外,一些本地多路径软件本身可能无法以在无需中断主机I/O请求的流的情况下提供无缝卷迁移的方式而被轻松地定制。
为了解决先前技术的上述和其他缺点,本文中描述了用于提供位于源存储阵列中的源卷到目的地存储阵列的无缝迁移的新技术。在本文中描述的技术中,在源卷到目的地存储阵列的迁移期间,源卷被禁用。禁用源卷i)防止源卷被用于处理标准主机I/O请求,并且ii)引起源存储阵列向还包括源存储阵列和目的地存储阵列的集群中的所有主机计算机发送非标准故障状态码。响应于对非标准故障状态码的接收,在源卷被禁用时并且在启用目的地存储阵列上的目的地卷以处理主机I/O请求之前,集群中的主机计算机之一从源存储阵列向目的地存储阵列传送持久保留信息。持久保留信息包括访问保留信息,诸如集群中的被允许访问源卷的一个或多个主机计算机的身份。
响应于持久保留信息已经被成功传送到目的地存储阵列的确定,启用目的地卷以根据传送的持久保留信息来处理主机I/O请求。
响应于目的地卷已经被启用以处理主机I/O请求的确定,在集群中的每个主机计算机中修改针对源卷的主动路径以指示到目的地存储阵列中的目的地卷的路径。针对集群中的每个主机计算机中的源卷的主动路径的这种修改引起被指向源卷的后续I/O请求从集群中的主机计算机被发送到目的地存储阵列以用于在目的地存储阵列中使用目的地卷处理。
在一些实施例中,在源卷被禁用之前,可以向集群中的所有主机计算机发送保持I/O消息。保持I/O消息引起集群中的主机计算机停止向源存储阵列发出被指向源卷的主机I/O请求,并且在每个主机计算机中创建被指向源卷的主机I/O请求的内部队列。响应于针对集群中的每个主机计算机中的源卷的主动路径已经被修改以指示目的地卷的确定,可以向集群中的所有主机计算机发送恢复I/O消息,恢复I/O消息引起集群中的主机计算机恢复发送被指向源卷的主机I/O请求,包括发送已经被存储在主机计算机的内部队列中的主机I/O请求,尽管现在基于针对源卷的经修改的主动路径而去往目的地存储阵列发送。
在一些实施例中,集群中的主机计算机各自可以包括多路径组件和被添加到多路径组件的定制插件组件。由集群中的计算机之一向目的地存储阵列传送的持久保留信息可以由被添加到集群中的至少一个主机计算机中的多路径组件的定制插件组件传送到目的地存储阵列。
在一些实施例中,持久保留信息还标识集群中的主机计算机中当前被允许写入源卷的主机计算机。
在一些实施例中,从源存储阵列向目的地存储阵列传送持久保留信息可以包括被添加到集群中的主机计算机中的多路径组件的定制插件组件至少部分地通过向源存储阵列发送非标准读取持久保留命令来从源存储阵列获取持久保留信息。
在一些实施例中,从源存储阵列向目的地存储阵列传送持久保留信息可以包括已经被添加到集群中的主机计算机中的多路径组件的定制插件组件通过向源存储阵列发送非标准设置持久保留命令来向目的地存储阵列发送从源存储阵列获取的持久保留信息。
在一些实施例中,修改针对集群中的每个主机计算机中的源卷的主动路径以指示目的地卷可以包括修改与集群中的每个主机计算机中的源卷相关联的主动路径。
在一些实施例中,目的地存储阵列还包括迁移控制器组件,并且向集群中的所有主机计算机发送保持I/O消息可以包括目的地存储阵列中的迁移控制器组件向集群中的所有主机计算机发送保持I/O消息。
在一些实施例中,禁用源卷可以包括目的地存储阵列中的迁移控制器组件向源存储阵列发送引起源存储阵列防止源卷被用于处理从集群中的主机计算机接收的标准主机I/O请求的消息。
在一些实施例中,禁用源卷还可以引起源存储阵列中止源存储阵列中的、被指向源卷的所有未完成的主机I/O请求,并且向集群中的主机计算机发送I/O失败消息。
在一些实施例中,可以针对目的地存储阵列中的目的地卷创建代理卷。针对目的地卷的代理卷处理至少部分地通过在目的地卷和源卷两者上执行被包含在从集群中的主机计算机发送到目的地存储阵列的主机I/O请求中的写入I/O请求来处理从集群中的主机计算机发送到目的地存储阵列、并且被指向目的地卷的主机I/O请求。在向集群中的所有主机计算机发送恢复I/O消息之后,复制引擎可以从源卷向目的地卷复制数据。当所有数据已经从源卷被复制到目的地卷时,代理卷可以从目的地存储阵列被移除,从而使得通过到目的地存储阵列的新的主动路径被发出的、来自集群中的主机计算机中的应用的、并且被指向目的地卷的主机I/O请求随后由目的地存储阵列使用目的地卷处理。
所公开的技术的实施例可以提供优于先前技术的显著优点。例如,所公开的技术不需要在迁移过程期间停止由主机应用指向正被迁移的卷的主机I/O请求,因为在正被迁移的卷被禁用的时间期间,来自主机应用、并且被指向正被迁移的卷的主机I/O请求被存储在主机计算机内的队列中,直到目的地卷稍后被启用。因此,卷迁移不会中断主机应用的I/O操作。在另一示例中,所公开的技术不需要欺骗正被迁移的源卷的身份,并且目的地卷不需要向主机报告与源卷相同的身份。相应地,所公开的技术更容易被典型的存储阵列使用,并且不要求应用软件意识到任何身份欺骗。并且在另一示例中,所公开的技术可以使用定制插件组件而被体现,该定制插件组件可以被用来以不中断的方式更新多路径软件组件,而不中断来自应用的主机I/O请求通过多路径软件的流动。
附图说明
从如附图中所示的所公开的技术的特定实施例的以下描述,前述和其他目的、特征和优点将变得很清楚,附图中的相同的附图标记贯穿不同的视图指代相同的部分。附图不一定按比例绘制,而是将重点放在说明所公开的技术的各种实施例的原理上。
图1是示出在主机应用使用多路径组件访问由存储阵列提供的卷时在主机计算机中执行的多路径软件组件的一般操作的示例的框图;
图2是进一步示出图1中所示的多路径组件的一般操作的框图;
图3是进一步示出诸如图1所示的多路径组件的多路径组件的一般操作的序列图;
图4是示出包括通过网络被可通信地连接到源存储阵列和目的地存储阵列的多个主机计算机的集群的框图;
图5是示出图4中所示的集群中的主机计算机之一、源存储阵列和目的地存储阵列并且还示出说明性实施例的架构组件的框图;
图6是示出非标准读取持久保留信息命令的一个示例的示图。
图7是示出非标准设置持久保留信息命令的一个示例的示图。
图8是在执行存储阵列之间的卷迁移时关于一些实施例而被执行的步骤的流程图;
图9是示出在预先配置用于卷迁移的软件组件的步骤之后图4的集群中的主机计算机之一、源存储阵列和目的地存储阵列的框图;
图10是示出在一些实施例中的卷迁移设置的设立的序列图;
图11是示出在一些实施例中的在卷迁移设立步骤之后的图4的集群中的主机计算机之一、源存储阵列和目的地存储阵列中的框图。
图12是示出在一些实施例中的开始卷迁移的步骤的序列图。
图13是示出在一些实施例中的在开始卷迁移的步骤之后的图4的集群中的主机计算机之一、源存储阵列和目的地存储阵列的框图。
图14是示出在一些实施例中被执行的后卷迁移处理的步骤的序列图;以及
图15是示出在一些实施例中被执行的步骤的流程图。
具体实施方式
现在将描述本发明的实施例。应当理解的是,本文中被描述的实施例通过示例的方式而被提供,以说明本发明的各种特征和原理,并且本发明比所公开的具体示例实施例更宽泛。
图1是示出主机计算机上的多路径软件系统的一般操作的示例的框图。如图1中所示,主机计算机100包括主机应用102、多路径组件104和两个通信端口,端口A 106和端口B108。主机计算机100通过交换机A 110和交换机B 112被可通信地连接到存储阵列130。存储阵列130被示出为包括存储处理器A 120和存储处理器B 124。存储处理器A 120具有两个通信端口,端口A 116和端口B 118。存储处理器B 124也具有两个通信端口,端口A 122和端口B 124。主机应用102使用由存储阵列130提供的数据存储,诸如为了说明的目的而由卷128示出的数据存储的一个或多个卷,有时备选地也可以被称为“逻辑单元”、“LUN”、“逻辑设备”或“设备”。
为了实现高可用性和负载平衡,在主机计算机100与存储阵列130之间提供有多个逻辑路径,并且这些逻辑路径可以被用于访问卷128。在图1的示例中,在主机计算机100与存储阵列130之间存在可以被用于访问卷128的四个可用路径:i)从端口A 106通过交换机A110到端口A 116的路径,ii)从端口A 106通过交换机A 110到端口A 122的路径,iii)从端口B 108通过交换机B 112到端口B 118的路径,以及iv)从端口B 108通过交换机B 112到端口B 124的路径。主机计算机100的操作系统可以将到卷128的每个不同路径视为不同的卷。因此,四个不同的路径可以被主机100计算机上的操作系统视为四个不同的卷,例如,/dev/sdc、/dev/sdd、/dev/sde、/dev/sdf,如例如在使用Linux操作系统的系统中。在主机计算机100内的一个或多个处理单元(例如,CPU)上执行的多路径软件(在图1中为了说明的目的而由多路径组件104示出)可以将操作系统理解的四个卷映射到被暴露给主机应用102并且由主机应用102访问的单个多路径卷。图2进一步示出了多路径组件104如何将各自被操作系统认为是不同卷的四个不同路径映射到单个多路径卷。具体地,图2示出了SD设备/dev/sdc200、SD设备/dev/sdd 202、SD设备/dev/sde 204和SD设备/dev/sdf 206全部被多路径组件104映射到被暴露给主机应用102并且由主机应用102访问的单个卷,其例如由多路径设备/dev/mapper/dm-1 208示出。
多路径组件104检测主机计算机100上可用的所有“原始”存储设备(也被称为卷),并且然后可以使用诸如SCSI(小型计算机系统接口)查询(INQUIRY)命令等命令来从提供设备的存储阵列(例如,从存储阵列130)获取描述各体设备的卷信息。多路径组件104从这个信息确定由操作系统报告的两个不同的设备实际上是否是相同的设备,例如,从针对每个设备而被返回的信息的重要产品数据(VPD)部分中的标识符。当多路径组件104接收到由主机应用102发出的主机I/O请求时,多路径组件104从到存储阵列130的可用路径选择要在其上向存储阵列130发送接收到的主机I/O请求的路径。当主机I/O请求在路径上失败时,多路径组件104可以从存储阵列130针对该路径获取通常被称为SCSI“感测”码的特定故障状态码,并且然后确定是将针对主机I/O请求的故障状态返回给主机应用102,还是选择另一可用路径以将主机I/O请求重新发送给存储阵列130。
为了提供可扩展性,一些现有的多路径软件系统支持添加插件组件,这些插件组件在与特定类型的存储阵列一起操作时扩展它们的功能。例如,由VMware公司提供的VMware本地多路径插件(NMP)是可插拔存储架构(PSA)内的可扩展模块,其支持被称为子插件的插件,包括存储阵列类型插件(SATP)和路径选择插件(PSP)。在另一示例中,
Figure BDA0001646028870000071
多路径I/O(MPIO)多路径系统支持被称为设备特定模块(DSM)的扩展插件组件。
图3是示出诸如图1中所示的多路径组件104的多路径组件的一般操作的序列图。具体地,图3示出了其中多路径组件104包括VMware本地多路径插件(NMP)300、路径选择插件(PSP)302和存储阵列类型插件(SATP)302的操作示例。在图3的示例中,在步骤1,主机应用102向NMP 300发送主机I/O请求,例如,被指向卷128的读取I/O请求或写入I/O请求。在步骤2,NMP 300请求从PSP 302到所指示的存储卷的可用路径,例如,通过其来访问卷128的逻辑路径。在步骤3,PSP 302向NMP 300返回到卷128的可用路径的指示。在步骤4,NMP 300使用由PSP 302返回的路径来向存储阵列130发送主机I/O请求以用于应用于卷128。
在主机I/O请求成功的情况下,存储阵列130在步骤5向NMP 300返回成功(SUCCESS)状态,并且在步骤6,NMP 300向主机应用102返回成功状态。备选地,在其中主机I/O请求失败的情况下,在步骤7,存储阵列130可以向NMP 300返回针对故障路径的感测码。在步骤8,NMP 300可以查询SATP 302以确定如何处理由在步骤7返回的感测码指示的故障的类型。
在其中主机I/O请求将被重新发送的情况下,在步骤9,SATP 302向NMP 300返回可以使用的另一路径的指示,从而引起NMP 300在步骤10返回到步骤4并且使用在步骤9返回的路径来重新发送主机I/O请求。备选地,在其中不能重新发送主机I/O请求的情况下,在步骤11,SATP 302返回主机I/O请求不能被重新发送的指示,从而引起NMP 300在步骤12向主机应用102返回“失败”状态。
图4是示出包括多个主机计算机404的集群400的框图,多个主机计算机404在图4中为了说明的目的而由主机计算机404(1)、404(2)等至404(N)示出。主机计算机404全部被可通信地连接到同样位于集群400中的源存储阵列406和目的地存储阵列410。在图4中所示的设备的操作期间,在主机计算机404上执行的主机应用通过网络402访问由源存储阵列406和目的地存储阵列410提供的非易失性存储。源存储阵列406和目的地存储阵列410中的每个可以包括一个或多个存储处理器,其被提供例如作为电路板组件或“刀片”,其插入机箱中,机箱封装和冷却存储处理器。机箱可以具有用于互连存储处理器的背板,并且附加的连接可以使用电缆在存储处理器之间被建立。不需要特定配置,并且源存储阵列406和目的地存储阵列410中的存储处理器可以包括能够处理接收到的主机I/O请求的任何类型的计算设备或由其组成。源存储阵列406和目的地存储阵列410中的非易失性存储设备可以例如包括磁盘驱动、电子闪存驱动、光驱和/或其他类型的驱动。
网络402可以是任何类型的网络或网络的组合,诸如例如存储区域网络(SAN)、局域网(LAN)、广域网(WAN)、因特网和/或某种其他类型的网络或网络的组合。例如,主机计算机404可以使用各种技术(诸如例如,iSCSI或光纤通道)通过网络402与源存储阵列406和目的地存储阵列410通信。源存储阵列406和目的地存储阵列410中的存储处理器被配置为从主机计算机404接收主机I/O请求并且至少部分地通过读取或写入它们各自的非易失性存储设备来响应于这样的主机I/O请求。源存储阵列406和目的地存储阵列410中的存储处理器可以包括一个或多个通信接口、处理单元(例如,CPU)和存储用于在处理单元上执行的指令的存储器。通信接口可以包括例如用于将通过网络402而被接收的电子和/或光学信号转换为数字形式的SCSI目标适配器和网络接口适配器。
图5是示出作为图4中的主机计算机404之一的示例的主机500以及也在图4中被示出的源存储阵列406和目的地存储阵列410的框图。在支持添加插件组件的多路径软件的情况下,向多路径软件添加一个或多个插件组件不会中断从主机应用接收的主机I/O请求。所公开的技术的一些实施例与这样的可扩展多路径软件一起操作以通过使用被无缝地安装在主机计算机上并且与主机迁移代理以及源存储阵列和目的地存储阵列中的其他组件一起工作以从一个存储阵列向另一存储阵列无缝地迁移卷的定制多路径插件来提供用于在存储阵列之间迁移卷的不中断解决方案。
图5中示出了所公开的技术的一些实施例中的架构组件的示例。主机计算机500可以包括主机应用和由多路径组件504示出的多路径系统。在图5的示例中,多路径组件504可以由诸如例如
Figure BDA0001646028870000091
Figure BDA0001646028870000092
多路径I/O(MPIO)多路径系统的可扩展多路径软件系统组成或者包括这样的可扩展多路径软件系统,并且已经通过添加一个或多个定制的供应商特定的插件而被扩展,例如,通过添加设备特定的模块或“DSM”,其在图5中为了说明的目的而由定制MPIO插件506示出。定制MPIO插件506部分地通过至少在将源卷408从源存储阵列406移动到目的地存储阵列410的过程期间处理从主机应用502接收的、并且由主机应用502指向源卷408的主机I/O请求来操作。
定制MPIO插件506还操作以响应于至少一个非标准故障状态码的接收(例如,响应于从诸如源存储阵列406等存储阵列接收到供应商特定的感测码)来识别和执行特定处理。由定制MPIO插件506响应于非标准故障状态码的接收而执行的这样的处理可以包括从源存储阵列406向目的地存储阵列410传送先前针对源卷408而被定义的持久保留(PR)信息。持久保留信息可以例如包括集群400中的、被允许访问源卷408的一个或多个主机计算机的指示(例如,标识符、名称、证书、网络地址等)、和/或集群400中的、当前被允许写入源卷408的一个主机计算机的指示。2010年6月23日发布的工作草案SCSI主命令4(SPC-4)中描述了持久保留信息的一个示例。
在一些实施例中,定制MPIO插件506可以至少部分地通过向源存储阵列406发送非标准读取持久保留信息命令(诸如图6中所示的超级持久保留输入(SUPER PERSISTENTRESERVE IN)供应商特定SCSI命令600)来从源存储阵列406获取持久保留信息。
在一些实施例中,定制MPIO插件506可以通过向源存储阵列发送非标准设置持久保留信息命令(诸如图7中所示的超级持久保留输出(SUPER PERSISTENT RESERVE OUT)供应商特定SCSI命令700)来向目的地存储阵列410发送从源存储阵列406获取的持久保留信息。
主机代理508通过从目的地存储阵列410中的迁移控制器522接收请求并且向定制MPIO插件506发送输入/输出(IOCTL)请求以引起定制MPIO插件506执行特定操作或功能来操作。
SCSI传输协议驱动器514和SCSI传输协议驱动器528可以是块前端驱动器,其通过分别处理集群400中的主机计算机与源存储阵列406和目的地存储阵列410之间的SCSI传输协议通信来操作。例如,SCSI传输协议驱动器514和SCSI协议驱动器528可以是光纤通道(FC)或iSCSI驱动器。
迁移感知SCSI语义驱动器516和迁移感知SCSI语义驱动器530解析由源存储阵列406和目的地存储阵列410从集群400中的主机计算机接收的标准SCSI命令,并且向主机计算机发出SCSI响应。迁移感知SCSI语义驱动器516和迁移感知SCSI语义驱动器530还操作以处理供应商特定的SCSI命令,诸如图6中所示的超级持久保留输入供应商特定SCSI命令600和图7中所示的超级持久保留输出供应商特定SCSI命令700。
如本文中进一步描述的,迁移控制器522控制和监测迁移进度。
迁移感知管理组件520和迁移感知管理组件524是可以被调用以创建卷并且改变各个卷的卷迁移状态的控制路径组件。
复制引擎526操作以读取被存储在源卷408上的数据,并且将从源卷408读取的数据写入目的地卷412。
代理卷534是目的地卷412的代理。在迁移过程期间,代理卷534从集群400中的主机计算机接收主机I/O请求,将写入I/O请求的接收到的主机I/O请求发送到目的地卷412,并且还将写入I/O请求的接收到的主机I/O请求转发给源存储阵列406以也在源卷408上被执行。
在一些实施例中,SCSI传输协议驱动器514、迁移感知SCSI语义驱动器516和迁移感知管理组件520可以由以源存储阵列406中的存储处理器的存储器中的可执行指令的形式被提供的、用于在存储处理器的一个或多个处理单元上执行的专用软件构造组成或者包括这样的专用软件构造。类似地,SCSI传输协议驱动器528、迁移感知SCSI语义驱动器530、迁移控制器522、迁移感知管理组件524、复制引擎526和代理卷534可以由以目的地存储阵列410中的存储处理器的存储器中的可执行指令的形式被提供的、用于在存储处理器的一个或多个处理单元上执行的专用软件构造组成或者包括这样的专用软件构造。本领域技术人员将认识到,源存储阵列406和目的地存储阵列410还可以包括未示出的各种其他类型的软件构造,诸如操作系统、各种应用、处理等。
图6是示出可以在一些实施例中被使用的非标准读取持久保留信息命令的示例的示图。图6示出了作为可以在一些实施例中被使用的非标准读取持久保留信息命令的示例的超级持久保留输入供应商特定SCSI命令600的SCSI命令描述符块(CMD)格式。例如,超级持久保留输入供应商特定SCSI命令600可以具有唯一的操作码,诸如0xD5。
图7是示出可以在一些实施例中被使用的非标准设置持久保留信息命令的示例的示图。图7示出了作为可以在一些实施例中被使用的非标准设置持久保留信息命令的示例的超级持久保留输出供应商特定SCSI命令700的SCSI命令描述符块(CMD)格式。例如,超级持久保留输出供应商特定SCSI命令700可以具有唯一的操作码,诸如0xD6。
图8是示出在一些实施例的操作期间被执行的步骤的示例的流程图。如图8中所示,在步骤800,执行预先配置软件组件的步骤。在步骤800期间,在集群400中的主机计算机、源存储阵列406和目的地存储阵列410上的所公开的卷迁移中涉及的软件组件各自被更新为可以无缝地迁移卷的版本,并且根据需要验证和建立执行卷迁移所需要的网络连接和控制路径连接。例如,通过更新集群400中的每个主机计算机上的多路径软件以包括定制MPIO插件506的副本作为非破坏性升级(NDU)的一部分,步骤800中的这样的升级有利地不中断由集群400中的主机计算机上的主机应用发出的主机I/O请求的处理。可以在步骤800被更新的软件组件可以包括每个主机计算机上的主机代理508和定制MPIO插件506。可以在步骤800被更新的其他软件组件可以包括源存储阵列406上的迁移感知SCSI语义驱动器516和迁移感知管理组件520、以及目的地存储阵列410上的迁移感知SCSI语义驱动器530、迁移控制器522、迁移感知管理组件425和复制引擎526。另外,在步骤800,可以在集群400中的主机计算机与目的地存储阵列410之间验证或建立网络连接,并且可以在源存储阵列406与目的地存储阵列410之间验证或建立数据路径。另外,可以在迁移控制器522与源存储阵列406之间以及在迁移控制器622与主机代理508之间验证或建立控制路径连接,例如,通过各种操作,包括提供用于建立这样的连接的任何必要的证书。
在步骤802,设立卷迁移。具体地,集群400中的一个主机计算机的用户可以在步骤802选择用于迁移的卷,例如,源卷408。另外,在步骤802期间,可以在目的地存储阵列410上创建代理卷534,并且可以创建从集群中的每个主机计算机到目的地存储阵列410的被动路径。
在步骤804,开始卷迁移。针对源卷408的主动路径被翻转以指示目的地存储阵列410,以便重定向被指向源卷408的主机I/O请求,以跟随到目的地存储阵列410的路径,它们在那里由代理卷534服务,在用户取消卷迁移过程的情况下,代理卷534在迁移过程期间保持源卷408更新。
在步骤806,允许用户可选地取消卷迁移过程,因为源卷408贯穿迁移过程被保持更新。这允许用户在必要时取消迁移过程,并且返回使用源卷408。
在步骤808,执行后卷迁移处理,其可以包括各种操作,诸如通过使源卷408离线来清理源卷408以及从目的地存储阵列410移除代理卷534。
图9是示出在如图8的步骤800中预先配置软件的步骤之后集群中的主机计算机(在图9中由主机计算机500示出)、源存储阵列406和目的地存储阵列410中的每个的示例的框图。如图9的示例中所示,从主机计算机500到源存储阵列406存在用于源卷408的主动I/O路径903,在迁移控制器522与主机代理508之间存在控制路径,在主机计算机500与目的地存储阵列410之间存在被动I/O路径905,在迁移控制器522与迁移感知管理组件520之间存在控制路径906,并且在目的地存储阵列410与源存储阵列406之间存在数据路径907。
图10是示出在如图8的步骤802中的卷迁移设立的步骤期间可以在一些实施例中被执行的步骤的示例的序列图。定制MPIO插件506和主机代理508可以存在于出于说明的目的而包括主机计算机500的集群400中的每个主机计算机中。
在图10的步骤1,迁移控制器522向主机代理508发送针对卷信息的请求。响应于在步骤1的来自迁移控制器522的请求,在步骤2,主机代理508引起定制MPIO插件506向源存储阵列406发出一个或多个SCSI INQUIRY命令。在步骤3,源存储阵列406通过向定制MPIO插件506发送关于源卷408的卷信息来响应于SCSI INQUIRY命令。在步骤4,主机代理508向迁移控制器522发送针对源卷408而被接收的卷信息。在图10的步骤1到步骤4之后,GUI可以被呈现给用户1000(例如,系统管理员用户),从而显示位于源存储阵列406中的、可以被迁移到目的地存储阵列410的所有卷,包括例如源卷408。用户1000然后可以通过GUI选择卷(例如,源卷408)以开始向目的地存储阵列410迁移所选择的卷的过程。
在步骤7,迁移控制器522向源存储阵列406发送指示源存储阵列406应当针对迁移准备源卷408的消息。响应于在步骤7被发送的消息,在步骤8,源存储阵列406将源卷408的迁移状态改变为PREPARE_FOR_MIGRATION,其禁用源卷408上的卷重新定尺寸操作,但是以其他方式继续允许主机I/O请求在源卷408上被服务。在步骤9,迁移控制器522向集群中的每个主机计算机中的主机代理508发送目的地存储阵列410的目标端口地址。在步骤10,集群中的主机计算机(例如,定制MPIO插件506和/或主机计算机500中所示的其他组件)各自执行到目的地存储阵列410的登录,从而使得主机计算机各自可以访问位于目的地存储阵列410上的卷(例如,目的地卷412)。
在步骤11,迁移控制器522向源存储阵列406发送目的地存储阵列410上的所有相关启动器的白名单,从而使得源存储阵列406随后可以确定由源阵列406接收的未来I/O请求是否源自目的地存储阵列410,以允许从复制引擎526和代理卷534接收的I/O请求。在源卷408随后被禁用(参见图12的步骤2)之后,源卷408将拒绝从集群400中的主机计算机接收的I/O请求,但是将服务于来自目的地存储阵列410的I/O请求。以这种方式,在卷迁移期间,在目的地存储阵列410上被创建的代理卷534将能够向源卷408发送其接收的所有写入I/O请求,以便将被存储在源卷408和目的地卷412上的数据保持同步,并且向源卷408发送其接收的所有读取I/O请求,以便读取未迁移的数据,并且复制引擎526将能够将被存储在源卷408上的数据复制到目的地卷412。
在步骤12,迁移控制器522验证对源卷408的访问。在步骤13,目的地存储阵列410执行到源存储阵列406的登录操作,并且在步骤14,目的地存储阵列410验证对源卷408的访问。
在步骤15,迁移控制器522请求在目的地存储阵列410上的目的地卷412和代理卷534的创建。在步骤16,在目的地存储阵列410上创建代理卷534和目的地卷412两者。
在步骤17,迁移控制器522向集群中的每个主机计算机中的主机代理508发送请求从主机计算机向代理卷534建立被动路径的消息。例如,在步骤17,迁移控制器522可以将源卷408和目的地卷412的WWN(全球通用名称)传递给集群中的每个主机计算机的主机代理508。集群中的每个主机计算机中的主机代理508然后可以在步骤18调用操作系统命令以重新扫描总线以寻找新创建的代理卷534。然后,主机代理508调用集群中的每个主机计算机中的定制MPIO插件506以在源卷408与目的地卷412之间创建映射。在步骤19,集群中的每个主机计算机中的定制MPIO插件506利用供应商特定重要产品数据(VPD)向目的地存储阵列410发送SCSI INQUIRY命令。然后,在步骤20,集群中的每个主机计算机中的定制MPIO插件506建立到代理卷534的被动路径。在步骤21,卷迁移设置阶段在迁移控制器522中被完成。
图11是示出在一些实施例中的在卷迁移设立阶段已经完成之后集群400中的主机计算机之一、源存储阵列和目的地存储阵列的示例的框图。在卷迁移设立阶段完成之后,可以与图11所示的主机计算机500的示例类似地配置集群400中的每个主机计算机。如图11的示例中所示,从主机计算机500到源存储阵列406上的源卷408存在用于访问源卷408的主动路径1102,在主机计算机500与代理卷534之间也存在被动路径1104,并且在代理卷534与源卷408之间存在数据路径100。定制MPIO插件506中的映射1107存储源卷408与目的地卷412之间的映射。
图12是示出如图8的步骤804中的在一些实施例中的开始卷迁移的步骤的序列图。在图12中所示的步骤期间执行若干操作。首先,禁用源卷408,从而使得它不服务于从集群400中的主机计算机接收的标准主机I/O请求。另外,使用非标准供应商特定命令从源存储阵列406向目的地存储阵列410传送关于源卷408的SCSI持久保留(PR)信息。传送的PR信息是保留信息,其启用诸如源卷408的存储卷以由诸如集群400的集群环境中的多个主机计算机使用。这样的PR信息可包括访问保留信息,诸如集群400中被允许访问源卷408的一个或多个主机计算机以及集群400中当前被允许写入源卷408的一个主机计算机。所传送的PR信息的示例在SCSI主命令3(SPC-3)和更晚版本(诸如2010年6月23日公布的工作草案SCSI主命令4(SPC-4))中被定义。同样,在图12中所示的步骤期间,代理卷534被启用,从而使得代理卷534可以在迁移过程期间处理由目的地存储阵列410从集群400中的主机计算机接收的主机I/O请求。另外,在图12中所示的步骤中,执行I/O路径切换操作,从而引起从集群400中的每个主机计算机(例如,从主机计算机500)到代理卷534的路径成为用于访问源卷408的主动路径,并且还引起从集群400中的每个主机计算机(例如,从主机计算机500)到源卷408的路径被改变为被动(未使用)路径。
在图12中所示的步骤的开始时,源卷408正在服务于从集群400中的主机计算机接收的主机I/O请求,并且目的地卷412处于禁用(DISABLED)状态,其中没有主机I/O请求被允许。
在步骤1,迁移控制器522向集群400中的每个主机计算机发送保持I/O消息。在步骤1被发送的保持I/O消息引起集群400中的所有主机计算机停止向源存储阵列406发送被指向源卷408的主机I/O请求。例如,迁移控制器522可以向每个主机计算机中的主机代理508发送保持I/O请求,从而引起主机代理508向定制MPIO插件506发出一个或多个IOCTL命令以引起定制MPIO插件506开始对从主机应用接收的、指向源卷408的所有主机I/O请求排队,例如,在被包含在集群400中的每个主机计算机的定制MPIO插件506中的内部队列中,而不将这样的请求转发给源存储阵列406。
在步骤2,迁移控制器522向源存储阵列406发送禁用卷请求以引起源存储阵列406禁用源卷408。在步骤3,来自迁移控制器522的禁用卷请求引起源存储阵列406将源卷408的迁移状态改变为禁用,从而使得被指向源卷408的所有传入的标准主机I/O请求被源存储阵列406拒绝,并且被指向源卷408的所有未完成的主机I/O请求被中止。在步骤4,在拒绝被指向源卷408的标准主机I/O请求并且中止被指向源卷408的未完成的主机I/O请求的同时,源存储阵列406向集群400中的主机计算机返回非标准故障状态码。例如,在步骤4,源存储阵列406可以返回预定义的供应商特定ASC/Q感测码,例如,0x09/0x1/0x1或某个其他特定的预定义代码。
集群400的每个主机计算机中的定制MPIO插件506接收并且识别由源存储阵列406在步骤4返回的非标准故障状态码。响应于非标准故障状态码的识别,在步骤5,每个主机计算机中的定制MPIO插件506使用一个或多个非标准供应商特定SCSI命令来从源存储阵列406读取关于源卷408的PR信息。这样的PR信息可以例如包括PR注册密钥和/或先前关于源卷408而被做出的保留。在步骤5被用于读取PR信息的供应商特定SCSI命令的示例是图6中所示的超级持久保留输入供应商特定命令600。
在步骤6,每个主机计算机中的定制MPIO插件506可以使用一个或多个非标准供应商特定SCSI命令来设置关于目的地存储阵列410中的目的地卷412的PR信息,以匹配从源存储阵列406接收的、关于源卷的PR信息408。在步骤6被用于写入PR信息的供应商特定SCSI命令的示例是图7中所示的超级持久保留输出供应商特定命令700。
尽管源卷408和目的地卷412被禁止用于处理在步骤5和步骤6期间从主机计算机接收的标准SCSI I/O请求,但是迁移感知SCSI语义驱动器516和迁移感知SCSI语义驱动器530操作以处理在步骤5和步骤6中从主机计算机发送到源存储阵列406和目的地存储阵列410的非标准供应商特定SCSI命令,即使在被指向源卷408和目的地卷412的标准SCSI命令的处理被禁用时。由于集群中的多于一个主机计算机可以发出被用于在步骤6写入PR信息的非标准供应商特定SCSI命令,所以在一些实施例中,迁移感知SCSI语义驱动器530可以操作以仅接受其在步骤6接收的PR信息的第一完整集合,例如,从集群400中的单个主机计算机接收的一个或多个非标准供应商特定SCSI命令中的PR信息。
在步骤7,迁移控制器522查询集群400中的每个主机计算机中的主机代理508以确定针对源卷408的PR信息是否已经被传送到目的地存储阵列410。在步骤8,在针对源卷408的PR信息已经被成功传送到目的地存储阵列410之后,集群400的至少一个主机计算机中的主机代理508向迁移控制器522发送针对源卷408的PR信息已经被传送到目的地存储阵列410的指示。
在步骤9,集群400中的每个主机计算机中的定制MPIO插件506通过向目的地存储阵列410发送请求启用目的地卷412以接收主机I/O请求的启用卷请求来响应于在步骤8接收的指示。在步骤10,响应于启用卷请求中的至少一个启用卷请求,目的地存储阵列410启用目的地卷412以用于主机I/O请求,例如,通过启用代理卷534和目的地卷412,并且将目的地卷412的状态改变为启用(ENABLED),以向主机计算机指示目的地卷412被启用用于在处理随后由目的地存储阵列410接收的主机I/O请求时使用。当在步骤10启用目的地卷412之后被处理的主机I/O请求由代理卷534处理,而代理卷534存在于目的地存储阵列410中,并且写入I/O操作由代理卷534转发给目的地卷412和源卷408两者。主机I/O请求根据针对先前在步骤6被传送到目的地存储阵列410的源卷408的PR信息而被处理。因此,在其中被传送到目的地存储阵列410的针对源卷408的PR信息包括包含集群400中的被允许访问源卷408的一组主机计算机的身份的访问保留信息的情况下,只有集群400中的被允许访问源卷408的那些主机计算机被允许访问目的地卷412,例如,通过代理卷534或直接地。类似地,在其中被传送到目的地存储阵列410的针对源卷408的PR信息包括包含集群400中的当前被允许写入源卷408的主机计算机的身份的访问保留信息的情况下,只有集群400中的当前被允许写入源卷408的主机计算机在当前被允许写入目的地卷412,例如,通过代理卷534或直接地。
在步骤11,集群400中的每个主机计算机中的定制MPIO插件506向目的地存储阵列410轮询目的地卷412的状态,其在步骤12由目的地存储阵列410报告为启用。
在步骤13,集群400中的每个主机计算机中的定制MPIO插件506执行I/O路径切换,从而使得被指向源卷408的后续主机I/O请求从集群400中的主机计算机被发送到目的地存储阵列410。换言之,在步骤13,集群400中的每个主机计算机中的定制MPIO插件506将针对源卷408的主动路径设置为到目的地存储阵列410中的代理卷534的路径,从而使得代理卷534可以向目的地卷412和源卷408两者转发这些主机I/O请求,直到在卷迁移被完成之后代理卷534稍后从目的地存储阵列410被移除。
在步骤14,迁移控制器522向集群400中的每个主机计算机中的主机代理508验证针对源卷408的主动路径已经被设置为到代理卷534的路径。
当在步骤14的验证完成之后,在步骤15,迁移控制器522向集群400中的每个主机计算机发送解除保持I/O消息。在步骤15被发送的解除保持I/O消息引起集群400中的所有主机计算机恢复发出被指向源卷408的主机I/O请求,包括发送先前被存储在集群400中的每个主机计算机中的定制MPIO插件506中的内部队列中的、被指向源卷408的主机I/O请求。由于针对源卷408的主动路径在步骤13由集群400中的每个主机计算机中的定制MPIO插件506切换为到代理卷534的路径,因此,然后,由集群400中的主机计算机将被指向源卷408的主机I/O请求(包括内部排队的主机I/O请求)发送到目的地存储阵列410,其中代理卷534将这些写入主机I/O请求转发给目的地卷412和源卷408两者,从而使得源卷408的内容与对目的地卷412做出的写入保持一致,以便支持用户在完成之前取消卷迁移的可能性。
在步骤16,迁移控制器522请求复制引擎526开始目的地存储阵列410中操作。在步骤17,复制引擎526开始将源卷408的内容复制到目的地卷412。
图13是示出在一些实施例中的在已经开始卷迁移之后的集群400中的主机计算机之一、源存储阵列和目的地存储阵列的示例的框图。在卷迁移已经被开始之后(例如,在图8中的步骤804之后),集群400中的每个主机计算机可以与图13中所示的主机计算机500的示例类似地被配置。如图13的示例中所示,主机计算机500与源卷408之间的路径不再有效,如由被动路径1302所示。相比之下,从主机计算机500到代理卷534的路径已经变为针对源卷408的主动路径,如由主动路径1304所示。因此,被指向源卷408的、来自主机应用502的主机I/O请求响应于定制MPIO插件506中的映射1107、在主动路径1304上被传递到目的地存储阵列410,并且由代理卷534接收。然后,代理卷534既i)将其接收的写入I/O请求转发给源卷408,如由转发的主机I/O请求1306所示,又ii)将其接收的写入I/O请求转发给目的地卷412,以便保持源卷408和目的地卷412中的数据在迁移过程期间被同步,以支持用户在迁移过程期间取消迁移过程的情况,以恢复使用源存储阵列406中的源卷408。同时,复制引擎526将被存储在源卷408中的数据复制到目的地卷412,如由从源到目的地卷1308被拉取的数据所示。
图14是示出如图8的步骤808中的在一些实施例中的后卷迁移处理的步骤的序列图。在图14中的步骤1,迁移控制器522从目的地存储阵列410中的复制引擎526拉取当前迁移状态。当被存储在源卷408中的所有数据从源卷408被复制到目的地卷412时,在步骤2,复制引擎526将迁移完成(MIGRATION DONE)状态返回给迁移控制器522。然后,迁移控制器522执行多个清理任务。具体地,在步骤3,迁移控制器522向集群400中的每个主机计算机中的主机代理508发送移除到源卷408的所有路径的请求。在步骤4,集群中的每个主机计算机中的定制MPIO插件506移除从主机计算机到源卷408的路径。在步骤5,迁移控制器522向源存储阵列406发送将源卷408的状态改变为离线(OFFLINE)的请求。在步骤6,源存储阵列406通过将源卷408的状态改变为离线来响应于请求。在步骤7,迁移控制器522向目的地存储阵列410发送引起目的地存储阵列410改变目的地卷412的状态的请求,以便引起由主机应用指向源卷408的但是由主机计算机响应于映射1107而发送给目的地存储阵列410的主机I/O请求直接在目的地卷412上被处理,而无需代理卷534的介入。在步骤8,目的地存储阵列410通过从目的地存储阵列410移除代理卷534来响应于步骤7的请求,从而引起由主机应用指向源卷408的但是由主机计算机发送给目的地存储阵列410的后续主机I/O请求直接在目的地卷412上被处理。在步骤9,迁移控制器522完成卷迁移过程。
图15是示出在一些实施例中被执行的、用于执行卷迁移的步骤的示例的流程图。在步骤1500,禁用将要被迁移的源卷。在步骤1500禁用源卷防止源卷被用于处理由源存储阵列从包含源存储阵列和目的地存储阵列的集群中的主机计算机接收的标准主机I/O请求,并且引起源存储阵列向集群中的所有主机发送非标准故障状态码。
在步骤1502,响应于非标准故障状态码的接收、并且当源卷被禁用时、并且在启用目的地存储阵列上的目的地卷以处理主机I/O请求之前,集群中的主机之一向目的地存储阵列传送持久保留信息。持久保留信息至少部分指示集群中哪些主机接收被允许访问源卷。
在步骤1504,响应于持久保留信息已经被成功传送到目的地存储阵列的接收,启用目的地卷以处理主机I/O请求。
在步骤1506,响应于目的地卷已经被启用以处理主机I/O请求的接收,在集群中的每个主机计算机中修改针对源卷的主动路径以指示目的地卷。针对源卷的主动路径的修改引起被指向源卷的来自应用的后续I/O请求从集群中的主机接收被发送到目的地存储阵列,以用于使用目的地卷在目的地存储阵列中处理。
如本领域技术人员将理解的,本文中公开的技术的各方面可以被实施为系统、方法或计算机程序产品。相应地,本公开内容的每个具体方面可以使用硬件、软件(包括固件、常驻软件、微代码等)或者软件和硬件的组合而被实现。此外,本文中公开的技术的各方面可以采取在一个或多个非暂态计算机可读存储介质中被体现的计算机程序产品的形式,非暂态计算机可读存储介质上存储有用于引起处理器和/或计算机系统执行本公开内容的那些方面的计算机可读程序代码。
可以利用一个或多个计算机可读存储介质的任何组合。计算机可读存储介质可以是例如但不限于便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或前述的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何非暂态有形介质,其可以包含或存储用于由合指令执行系统、装置或设备使用或结合这些而被使用的程序。
附图包括根据本发明的一个或多个实施例的方法、装置和计算机程序产品的框图和流程图。应当理解的是,这些图中的每个框以及这些框的组合可以通过计算机程序指令而被实现。这些计算机程序指令可以在处理电路上被执行以形成专用硬件。这些计算机程序指令可以进一步被加载到计算机或其他可编程数据处理装置上以产生机器,从而使得在计算机或其他可编程数据处理设备上被执行的指令创建用于实现在一个或多个框中指定的功能的装置。这些计算机程序指令还可以存储在计算机可读存储器中,该计算机可读存储器可以指导计算机或其他可编程数据处理装置以特定方式运行,从而使得被存储在计算机可读存储器中的指令产生包括实现在一个或多个框中指定的功能的指令装置的制造品。计算机程序指令还可以被加载到计算机或其他可编程数据处理装置上,以引起一系列操作步骤在计算机或其他可编程装置上被执行,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上被执行的指令提供用于实现在一个或多个框中指定的功能的步骤。
本领域的技术人员将容易理解,定义本发明的功能的程序可以按照很多形式被传送给计算机;包括但不限于:(a)被持久地存储在不可写存储介质上的信息(例如,计算机内的只读存储器设备,诸如可由计算机I/O附件读取的ROM或CD-ROM盘);或(b)被可更改地存储在可写存储介质(例如,软盘和硬盘驱动器)上的信息。
尽管通过上述示例性实施例描述了本发明,但是本领域普通技术人员将理解,可以在不脱离本文中公开的发明构思的情况下对所示出的实施例进行修改和变化。

Claims (20)

1.一种提供位于源存储阵列中的源卷向目的地存储阵列的无缝迁移的方法,包括以下步骤:
禁用所述源卷,其中禁用所述源卷防止所述源卷被用于处理标准主机I/O请求,并且引起所述源存储阵列向集群中的多个主机计算机发送非标准故障状态码,所述集群还包括所述源存储阵列和所述目的地存储阵列;
由所述集群中的所述主机计算机中的至少一个主机计算机响应于所述非标准故障状态码的接收、并且当所述源卷被禁用时、并且在启用所述目的地存储阵列中的目的地卷以处理主机I/O请求之前,向所述目的地存储阵列传送持久保留信息,其中所述持久保留信息指示所述集群中的所述主机计算机中的哪些主机计算机被允许访问所述源卷;
响应于确定所述持久保留信息已经被成功传送到所述目的地存储阵列,启用所述目的地卷,以根据传送的所述持久保留信息来处理主机I/O请求;以及
响应于确定所述目的地卷已经被启用以处理主机I/O请求,修改用于访问所述集群中的所述主机计算机中的每个主机计算机中的所述源卷的主动路径以指示所述目的地卷,其中用于访问所述源卷的所述主动路径的所述修改引起被指向所述源卷的后续I/O请求从所述集群中的所述主机计算机被发送到所述目的地存储阵列,以用于使用所述目的地卷在所述目的地存储阵列中处理。
2.根据权利要求1所述的方法,还包括:
在禁用所述源卷之前,向所述集群中的所有主机计算机发送保持I/O消息,其中所述保持I/O消息引起所述集群中的所述主机计算机停止向所述源存储阵列发出被指向所述源卷的主机I/O请求,而是在所述集群中的所述主机计算机中的每个主机计算机中创建存储被指向所述源卷的主机I/O请求的内部队列;以及
响应于确定用于访问所述集群中的所述主机计算机中的每个主机计算机中的所述源卷的所述主动路径已经被修改以指示所述目的地卷,向所述集群中的所有所述主机计算机发送恢复I/O消息,其中所述恢复I/O消息引起所述集群中的所述主机计算机使用用于访问所述源卷的经修改的所述主动路径来恢复发出被指向所述源卷的主机I/O请求,所述主机I/O请求包括被存储在所述集群中的所述主机计算机中的每个主机计算机中的所述内部队列中的被指向所述源卷的所述主机I/O请求。
3.根据权利要求2所述的方法,其中所述集群中的所述主机计算机各自包括多路径组件和被添加到所述多路径组件的定制插件组件;并且
其中由所述集群中的所述主机计算机中的至少一个主机计算机向所述目的地存储阵列传送所述持久保留信息包括被添加到所述集群中的所述主机计算机中的至少一个主机计算机中的所述多路径组件的所述定制插件组件从所述源存储阵列向所述目的地存储阵列传送所述持久保留信息。
4.根据权利要求3所述的方法,其中所述持久保留信息还指示所述集群中的所述主机计算机中当前被允许写入所述源卷的主机计算机。
5.根据权利要求4所述的方法,其中从所述源存储阵列向所述目的地存储阵列传送所述持久保留信息还包括被添加到所述集群中的所述主机计算机中的至少一个主机计算机中的所述多路径组件的所述定制插件组件至少部分地通过向所述源存储阵列发送非标准读取持久保留命令,来从所述源存储阵列获取所述持久保留信息。
6.根据权利要求5所述的方法,其中从所述源存储阵列向所述目的地存储阵列传送所述持久保留信息还包括被添加到所述集群中的所述主机计算机中的至少一个主机计算机中的所述多路径组件的所述定制插件组件通过向所述源存储阵列发送非标准设置持久保留命令来向所述目的地存储阵列发送从所述源存储阵列获取的所述持久保留信息。
7.根据权利要求6所述的方法,其中修改到所述集群中的所述主机计算机中的每个主机计算机中的所述源卷的所述主动路径以指示所述目的地卷包括修改与被添加到所述集群中的所述主机计算机中的每个主机计算机中的所述多路径组件的所述定制插件组件中的所述源卷相关联的主动路径。
8.根据权利要求7所述的方法,其中所述目的地存储阵列还包括迁移控制器组件;并且
其中向所述集群中的所有主机计算机发送所述保持I/O消息包括所述目的地存储阵列中的所述迁移控制器组件向所述集群中的所有主机计算机发送所述保持I/O消息。
9.根据权利要求8所述的方法,其中禁用所述源卷包括所述目的地存储阵列中的所述迁移控制器组件向所述源存储阵列发送引起所述源存储阵列防止所述源卷处理来自所述集群中的所述主机计算机的标准主机I/O请求的消息。
10.根据权利要求9所述的方法,其中禁用所述源卷还引起所述源存储阵列中止所述源存储阵列中的、被指向所述源卷的所有未完成的主机I/O请求,并且向所述集群中的所有所述主机计算机发送I/O失败消息。
11.根据权利要求10所述的方法,还包括:
针对所述目的地存储阵列中的所述目的地卷创建代理卷,其中针对所述目的地卷的所述代理卷至少部分地通过在所述目的地卷和所述源卷两者上执行从所述集群中的所述主机计算机发送到所述目的地存储阵列的主机I/O请求中的写入I/O请求,来处理从所述集群中的所述主机计算机发送到所述目的地存储阵列并且被指向所述目的地卷的所述主机I/O请求。
12.根据权利要求11所述的方法,还包括:
在向所述集群中的所有所述主机计算机发送所述恢复I/O消息之后,开始向所述目的地卷复制被存储在所述源卷中的数据;以及
当所有数据已经从所述源卷被复制到所述目的地卷时,从所述目的地存储阵列移除所述代理卷,从而使得从所述集群中的所述主机计算机发送到所述目的地存储阵列、并且被指向所述目的地卷的主机I/O请求随后由所述目的地存储阵列直接在所述目的地卷上处理。
13.一种包括指令的非暂态计算机可读介质,所述指令在由处理单元执行时,引起所述处理单元执行提供位于源存储阵列中的源卷到目的地存储阵列的无缝迁移的方法,所述方法包括以下步骤:
禁用所述源卷,其中禁用所述源卷防止所述源卷被用于处理标准主机I/O请求,并且引起所述源存储阵列向集群中的多个主机计算机发送非标准故障状态码,所述集群还包括所述源存储阵列和所述目的地存储阵列;
由所述集群中的所述主机计算机中的至少一个主机计算机响应于所述非标准故障状态码的接收、并且当所述源卷被禁用时、并且在启用所述目的地存储阵列中的目的地卷以处理主机I/O请求之前,向所述目的地存储阵列传送持久保留信息,其中所述持久保留信息指示所述集群中的所述主机计算机中的哪些主机计算机被允许访问所述源卷;
响应于确定所述持久保留信息已经被成功传送到所述目的地存储阵列,启用所述目的地卷,以根据传送的所述持久保留信息来处理主机I/O请求;以及
响应于确定所述目的地卷已经被启用以处理主机I/O请求,修改用于访问所述集群中的所述主机计算机中的每个主机计算机中的所述源卷的主动路径以指示所述目的地卷,其中用于访问所述源卷的所述主动路径的所述修改引起被指向所述源卷的后续I/O请求从所述集群中的所述主机计算机被发送到所述目的地存储阵列,以用于使用所述目的地卷在所述目的地存储阵列中处理。
14.根据权利要求13所述的非暂态计算机可读介质,其中当所述指令由所述处理单元执行时被引起由所述处理单元执行的提供位于源存储阵列中的源卷到目的地存储阵列的无缝迁移的所述方法还包括:
在禁用所述源卷之前,向所述集群中的所有主机计算机发送保持I/O消息,其中所述保持I/O消息引起所述集群中的所述主机计算机停止向所述源存储阵列发出被指向所述源卷的主机I/O请求,而是在所述集群中的所述主机计算机中的每个主机计算机中创建存储被指向所述源卷的主机I/O请求的内部队列;以及
响应于确定用于访问所述集群中的所述主机计算机中的每个主机计算机中的所述源卷的所述主动路径已经被修改以指示所述目的地卷,向所述集群中的所有所述主机计算机发送恢复I/O消息,其中所述恢复I/O消息引起所述集群中的所述主机计算机使用用于访问所述源卷的经修改的所述主动路径来恢复发出被指向所述源卷的主机I/O请求,所述主机I/O请求包括被存储在所述集群中的所述主机计算机中的每个主机计算机中的所述内部队列中的、被指向所述源卷的所述主机I/O请求。
15.根据权利要求14所述的非暂态计算机可读介质,其中当所述指令由所述处理单元执行时被引起由所述处理单元执行的提供位于源存储阵列中的源卷到目的地存储阵列的无缝迁移的所述方法还包括:
其中由所述集群中的所述主机计算机中的至少一个主机计算机向所述目的地存储阵列传送所述持久保留信息包括被添加到所述集群中的所述主机计算机中的至少一个主机计算机中的多路径组件的定制插件组件从所述源存储阵列向所述目的地存储阵列传送所述持久保留信息。
16.根据权利要求15所述的非暂态计算机可读介质,其中所述持久保留信息还指示所述集群中的所述主机计算机中当前被允许写入所述源卷的主机计算机。
17.根据权利要求16所述的非暂态计算机可读介质,其中当所述指令由所述处理单元执行时被引起由所述处理单元执行的提供位于源存储阵列中的源卷到目的地存储阵列的无缝迁移的所述方法还包括:
其中从所述源存储阵列向所述目的地存储阵列传送所述持久保留信息还包括被添加到所述集群中的所述主机计算机中的至少一个主机计算机中的所述多路径组件的所述定制插件组件至少部分地通过向所述源存储阵列发送非标准读取持久保留命令,来从所述源存储阵列获取所述持久保留信息。
18.根据权利要求17所述的非暂态计算机可读介质,其中当所述指令由所述处理单元执行时被引起由所述处理单元执行的提供位于源存储阵列中的源卷到目的地存储阵列的无缝迁移的所述方法还包括:
其中从所述源存储阵列向所述目的地存储阵列传送所述持久保留信息还包括被添加到所述集群中的所述主机计算机中的至少一个主机计算机中的所述多路径组件的所述定制插件组件通过向所述源存储阵列发送非标准设置持久保留命令,来向所述目的地存储阵列发送从所述源存储阵列获取的所述持久保留信息。
19.根据权利要求18所述的非暂态计算机可读介质,其中当所述指令由所述处理单元执行时被引起由所述处理单元执行的提供位于源存储阵列中的源卷到目的地存储阵列的无缝迁移的所述方法还包括:
针对所述目的地存储阵列中的所述目的地卷创建代理卷,其中针对所述目的地卷的所述代理卷至少部分地通过在所述目的地卷和所述源卷两者上执行从所述集群中的所述主机计算机发送到所述目的地存储阵列的主机I/O请求中的写入I/O请求,来处理从所述集群中的所述主机计算机发送到所述目的地存储阵列、并且被指向所述目的地卷的所述主机I/O请求;
在向所述集群中的所有所述主机计算机发送所述恢复I/O消息之后,开始向所述目的地卷复制被存储在所述源卷中的数据;以及
当所有数据已经从所述源卷被复制到所述目的地卷时,从所述目的地存储阵列移除所述代理卷,从而使得从所述集群中的所述主机计算机发送到所述目的地存储阵列、并且被指向所述目的地卷的主机I/O请求随后由所述目的地存储阵列直接在所述目的地卷上处理。
20.一种用于提供源卷的无缝迁移的系统,包括:
包含所述源卷的源存储阵列,所述源存储阵列包括存储用于在一个或多个处理单元上执行的指令的存储器,并且其中所述源存储阵列被配置和布置为禁用所述源卷以防止所述源卷被用于处理标准主机I/O请求,并且向位于集群中的多个主机计算机发送非标准故障状态码,所述集群还包括所述源存储阵列和目的地存储阵列;
所述集群中的所述主机计算机中的至少一个主机计算机,所述至少一个主机计算机被配置和布置为响应于所述非标准故障状态码的接收、并且当所述源卷被禁用时、并且在启用所述目的地存储阵列中的目的地卷以处理主机I/O请求之前,向所述目的地存储阵列传送持久保留信息,其中所述持久保留信息指示所述集群中的所述主机计算机中的哪些主机计算机被允许访问所述源卷;
其中所述目的地存储阵列被配置和布置为响应于所述持久保留信息已经被成功传送到所述目的地存储阵列的确定,启用所述目的地卷以根据传送的所述持久保留信息来处理主机I/O请求;并且
其中所述集群中的所述主机计算机中的每个主机计算机被配置和布置为响应于所述目的地卷已经被启用以处理主机I/O请求的确定,修改用于访问所述源卷的主动路径以指示所述目的地卷,其中用于访问所述源卷的所述主动路径的所述修改引起所述集群中的所述主机计算机从所述集群中的所述主机计算机向所述目的地存储阵列发送被指向所述源卷的后续I/O请求,以用于使用所述目的地卷在所述目的地存储阵列中处理。
CN201810402355.1A 2018-04-28 2018-04-28 存储卷在存储阵列之间的无缝迁移 Active CN110413213B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810402355.1A CN110413213B (zh) 2018-04-28 2018-04-28 存储卷在存储阵列之间的无缝迁移
US15/987,459 US10678465B2 (en) 2018-04-28 2018-05-23 Seamless migration of storage volumes between storage arrays

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810402355.1A CN110413213B (zh) 2018-04-28 2018-04-28 存储卷在存储阵列之间的无缝迁移

Publications (2)

Publication Number Publication Date
CN110413213A CN110413213A (zh) 2019-11-05
CN110413213B true CN110413213B (zh) 2023-06-27

Family

ID=68292543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810402355.1A Active CN110413213B (zh) 2018-04-28 2018-04-28 存储卷在存储阵列之间的无缝迁移

Country Status (2)

Country Link
US (1) US10678465B2 (zh)
CN (1) CN110413213B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10852983B2 (en) * 2018-10-31 2020-12-01 EMC IP Holding Company LLC Data migration with write back to source with data pre-copy
US11126358B2 (en) * 2018-12-14 2021-09-21 EMC IP Holding Company LLC Data migration agnostic of pathing software or underlying protocol
CN111190539B (zh) * 2019-12-25 2023-08-29 曙光信息产业股份有限公司 一种在不同主机间切换服务的方法和装置
US11650977B2 (en) * 2019-12-26 2023-05-16 Yahoo Assets Llc Annotating datasets without redundant copying
US11556265B2 (en) * 2021-01-18 2023-01-17 EMC IP Holding Company LLC Unified host-based data migration
CN113300953B (zh) * 2021-07-27 2021-10-15 苏州浪潮智能科技有限公司 一种多路径故障转移组的管理方法、系统及相关装置
CN115145497B (zh) * 2022-09-06 2022-11-29 深圳市杉岩数据技术有限公司 一种基于分布式存储的卷数据在线迁移方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060710B1 (en) * 2007-12-12 2011-11-15 Emc Corporation Non-disruptive migration using device identity spoofing and passive/active ORS pull sessions
CN102741820A (zh) * 2010-02-08 2012-10-17 微软公司 虚拟存储器的后台迁移
CN103052938A (zh) * 2010-10-14 2013-04-17 株式会社日立制作所 数据迁移系统和数据迁移方法
CN103229135A (zh) * 2011-03-02 2013-07-31 株式会社日立制作所 计算机系统和数据转移方法
CN103368968A (zh) * 2013-07-22 2013-10-23 厦门市美亚柏科信息股份有限公司 数据传输方法和系统
CN103777895A (zh) * 2012-10-18 2014-05-07 株式会社日立制作所 与存储区域网络配置接管协作的存储卷迁移的方法和装置
CN105446662A (zh) * 2015-11-24 2016-03-30 华为技术有限公司 一种业务割接方法、存储控制装置及存储设备
CN105530273A (zh) * 2014-09-29 2016-04-27 国际商业机器公司 用于数据迁移的方法和装置
CN105549904A (zh) * 2015-12-08 2016-05-04 华为技术有限公司 一种应用于存储系统中的数据迁移方法及存储设备
CN105612498A (zh) * 2013-12-31 2016-05-25 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
CN105760109A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 数据迁移方法和存储阵列
CN106030500A (zh) * 2014-04-22 2016-10-12 株式会社日立制作所 存储系统的数据迁移方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805583B1 (en) * 2003-04-23 2010-09-28 Emc Corporation Method and apparatus for migrating data in a clustered computer system environment
US7484059B1 (en) * 2006-06-29 2009-01-27 Emc Corporation Full array non-disruptive migration of extended storage functionality
US7904681B1 (en) * 2006-06-30 2011-03-08 Emc Corporation Methods and systems for migrating data with minimal disruption
US7809912B1 (en) * 2006-09-29 2010-10-05 Emc Corporation Methods and systems for managing I/O requests to minimize disruption required for data migration
US8452856B1 (en) * 2010-08-04 2013-05-28 Netapp, Inc. Non-disruptive storage server migration
US9003149B2 (en) * 2011-05-26 2015-04-07 International Business Machines Corporation Transparent file system migration to a new physical location
US9460028B1 (en) * 2012-12-27 2016-10-04 Emc Corporation Non-disruptive and minimally disruptive data migration in active-active clusters
US8930592B2 (en) * 2013-02-13 2015-01-06 Vmware, Inc. Multipath load balancing optimizations for alua storage systems
US9882805B2 (en) * 2013-09-30 2018-01-30 Vmware, Inc. Dynamic path selection policy for multipathing in a virtualized environment
WO2015112150A1 (en) * 2014-01-23 2015-07-30 Hewlett-Packard Development Company, L.P. Volume migration for a storage area network
US10133743B2 (en) * 2016-02-10 2018-11-20 Dell Products L.P. Systems and methods for data migration using multi-path input/output and snapshot-based replication
US10353640B2 (en) * 2016-12-06 2019-07-16 Dell Products L.P. Seamless data migration in a clustered environment

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060710B1 (en) * 2007-12-12 2011-11-15 Emc Corporation Non-disruptive migration using device identity spoofing and passive/active ORS pull sessions
CN102741820A (zh) * 2010-02-08 2012-10-17 微软公司 虚拟存储器的后台迁移
CN103052938A (zh) * 2010-10-14 2013-04-17 株式会社日立制作所 数据迁移系统和数据迁移方法
CN103229135A (zh) * 2011-03-02 2013-07-31 株式会社日立制作所 计算机系统和数据转移方法
CN103777895A (zh) * 2012-10-18 2014-05-07 株式会社日立制作所 与存储区域网络配置接管协作的存储卷迁移的方法和装置
CN103368968A (zh) * 2013-07-22 2013-10-23 厦门市美亚柏科信息股份有限公司 数据传输方法和系统
CN105612498A (zh) * 2013-12-31 2016-05-25 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
CN106030500A (zh) * 2014-04-22 2016-10-12 株式会社日立制作所 存储系统的数据迁移方法
CN105530273A (zh) * 2014-09-29 2016-04-27 国际商业机器公司 用于数据迁移的方法和装置
CN105760109A (zh) * 2014-12-16 2016-07-13 华为技术有限公司 数据迁移方法和存储阵列
CN105446662A (zh) * 2015-11-24 2016-03-30 华为技术有限公司 一种业务割接方法、存储控制装置及存储设备
CN105549904A (zh) * 2015-12-08 2016-05-04 华为技术有限公司 一种应用于存储系统中的数据迁移方法及存储设备

Also Published As

Publication number Publication date
US10678465B2 (en) 2020-06-09
US20190332308A1 (en) 2019-10-31
CN110413213A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110413213B (zh) 存储卷在存储阵列之间的无缝迁移
US7660867B2 (en) Virtual computer system and virtual computer migration control method
US10423332B2 (en) Fibre channel storage array having standby controller with ALUA standby mode for forwarding SCSI commands
US10162567B2 (en) Computer system
US7313636B2 (en) Methods and structure for supporting persistent reservations in a multiple-path storage environment
US10922135B2 (en) Dynamic multitasking for distributed storage systems by detecting events for triggering a context switch
JP3918394B2 (ja) データ移行方法
JP4852298B2 (ja) 仮想ボリュームを識別する情報を引き継ぐ方法及びその方法を用いたストレージシステム
EP3668056B1 (en) Method and device for transmitting data processing request
US10007536B2 (en) Virtualization system, switch controller, fiber-channel switch, migration method and migration program
US10712947B2 (en) Data processing method and related storage device
GB2397412A (en) Storage system with LUN virtualisation
JP2007164394A (ja) ストレージ切替システム、ストレージ切替方法、管理サーバ、管理方法および管理プログラム
US11934333B2 (en) Storage protocol emulation in a peripheral device
US9875059B2 (en) Storage system
US9400678B2 (en) Systems for selectively enabling and disabling hardware features
JP2008269469A (ja) ストレージシステム及びその管理方法
US11934658B2 (en) Enhanced storage protocol emulation in a peripheral device
US20100235549A1 (en) Computer and input/output control method
US20090077338A1 (en) Apparatus and Method for Managing Storage Systems
CN111124265B (zh) 数据访问方法、设备和计算机程序产品
WO2019042005A1 (zh) 一种虚拟机的热迁移方法、装置和系统
US11513731B2 (en) System and method for non-disruptive storage protocol conversion
JP2018081346A (ja) ストレージ装置、ストレージシステム、ストレージ制御方法、および、ストレージ制御プログラム
WO2014198572A1 (en) Migration of a logical volume between storage systems

Legal Events

Date Code Title Description
PB01 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