CN103814352B - 一种虚拟设备重建方法与装置 - Google Patents

一种虚拟设备重建方法与装置 Download PDF

Info

Publication number
CN103814352B
CN103814352B CN201280005835.5A CN201280005835A CN103814352B CN 103814352 B CN103814352 B CN 103814352B CN 201280005835 A CN201280005835 A CN 201280005835A CN 103814352 B CN103814352 B CN 103814352B
Authority
CN
China
Prior art keywords
vtl
virtual unit
node
address
vtl node
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
CN201280005835.5A
Other languages
English (en)
Other versions
CN103814352A (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
Publication of CN103814352A publication Critical patent/CN103814352A/zh
Application granted granted Critical
Publication of CN103814352B publication Critical patent/CN103814352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种虚拟设备重建技术,在虚拟设备重建方法中,第二VTL节点接管所述第一VTL节点的入口地址,所述第二VTL节点获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址,第二VTL节点使用所述配置信息生成重建虚拟设备,将所述设备地址分配给重建虚拟设备,建立重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系。应用本发明重建的虚拟设备,可以平滑接管原虚拟设备正在备份的业务。

Description

一种虚拟设备重建方法与装置
技术领域
本发明涉及存储领域,特别有关于一种虚拟磁磁带库VTL技术。
背景技术
随着计算机技术的高速发展,各机构、企业等的数据中心的数据量呈***式的增长,相应地,备份各数据中心的数据所需的时间也大幅增加。于是各机构、企业等的数据中心纷纷引入备份性能更高的磁盘备份存储,比如虚拟磁磁带库(VTL,Virtual Tape Library)来替代传统的物理磁磁带库备份存储,以缩短数据备份时间,减小备份业务对生产业务的影响。
VTL产品通常由服务器、VTL设备以及存储阵列组成,VTL设备可以运行VTL程序。服务器将需要备份的数据发送给VTL设备,VTL设备将数据备份到存储阵列中。VTL集群是一种集群产品,VTL集群中包含多台VTL设备,每台VTL设备又可以称为一个节点,多个节点可以同时运行VTL应用软件。和单节点形态(只包含一台服务器)VTL产品相比,每个VTL设备可以同时工作,因此VTL集群能显著缩短备份恢复时间,更大程度地减小备份业务对生产业务的影响。
VTL集群在大幅提升产品性能的同时,也带来了集群***的可用性问题。集群中任何一个节点出现故障都将导致整个集群***的故障,集群VTL中的节点越多,集群VTL因故障而中断工作的可能性就越大。
现有技术中,当VTL集群中有节点发生故障后。其他节点会接管这个故障节点的业务,在接管的过程中,故障节点上正在运行的那些备份业务会运行失败。
发明内容
本发明提供一种虚拟设备重建方法及装置,可以平滑接管重建前虚拟设备正在运行的业务。
第一方面,本发明实施例提供一种虚拟设备重建方法,虚拟磁磁带库VTL集群包括第一VTL节点以及第二VTL节点,备份服务器与所述第一VTL节点以及所述第二VTL节点建立通信连接,存储设备与所述第一VTL节点以及所述第二VTL节点建立通信连接,第一VTL节点创建有至少一个虚拟设备,第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一,该方法包括:所述第二VTL节点接管所述第一VTL节点的入口地址,所述第二VTL节点获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址;其中,所述第二VTL节点接管所述第一VTL节点的入口地址之前,进一步包括:所述第一VTL节点查找未被所述VTL集群中任一VTL设备使用的设备地址;所述第一VTL节点使用查找到的设备地址信息创建所述虚拟设备;第二VTL节点使用所述配置信息生成重建虚拟设备;将所述设备地址分配给重建虚拟设备,建立所述重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系。
第二方面,本发明实施例提供一种虚拟设备重建装置,位于第二VTL节点中,虚拟磁磁带库VTL集群包括第一VTL节点以及所述第二VTL节点,备份服务器与所述第一VTL节点以及所述第二VTL节点建立通信连接,存储设备与所述第一VTL节点以及所述第二VTL节点建立通信连接,第一VTL节点创建有至少一个虚拟设备,第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一,所述虚拟设备重建装置包括:创建模块,用于查找未被所述VTL集群中任一VTL设备使用的设备地址,以用于所述第二VTL设备创建所述虚拟设备;获取模块,用于接管所述第一VTL节点的入口地址,以及获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址;重建模块,用于第二VTL节点使用所述配置信息生成重建虚拟设备;使能模块,用于将所述设备地址分配给重建虚拟设备,以及建立所述重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系。
第三方面,本发明实施例提供一种第二VTL节点,虚拟磁磁带库VTL集群包括第一VTL节点以及第二VTL节点,备份服务器与所述第一VTL节点以及所述第二VTL节点建立通信连接,存储设备与所述第一VTL节点以及所述第二VTL节点建立通信连接,第一VTL节点创建有至少一个虚拟设备,第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一,所述第二VTL节点包括CPU,与CPU通信的第一通信接口,与CPU通信的第二通信接口,以及与CPU通信的内存:所述第一通信接口,用于和所述备份服务器通信;所述第二通信接口,用于和所述存储设备通信;所述内存,用于存储计算机指令;所述CPU,和所述内存耦合,用于通过运行所述计算机指令来执行以下操作:接管所述第一VTL节点的入口地址,获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址;使用所述配置信息生成重建虚拟设备;将所述设备地址分配给重建虚拟设备,建立所述重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系。所述CPU进一步用于执行:使所述重建虚拟设备通过所述重建虚拟设备的入口地址,接收所述备份服务器使用所述备份服务器出口地址发送的备份信息;使所述重建虚拟设备将备份数据发往所述存储设备进行备份。
应用本发明实施例后,重建虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址均与重建前虚拟设备相同,因此重建前虚拟设备正在处理的备份业务可以顺利切换到重建后虚拟设备,不会发生数据丢失。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例应用场景拓扑图;
图2是虚拟设备重建方法实施例流程图;
图3是虚拟设备重建装置实施例示意图;
图4是VTL节点实施例示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
VTL技术可以仿真物理磁带,VTL允许客户配置虚拟磁带驱动器、虚拟磁带盒和指定磁带盒容量。实现VTL技术的设备或者说实现VTL技术的主体设备,我们称为VTL产品或者VTL设备,不同厂商的VTL产品,支持虚拟磁带驱动器的最大数目也不同。与物理磁磁带库不同,物理磁磁带库需要购买并安装额外的磁带驱动器,但对VTL来说通过改***件结构(configuration)即可增加虚拟磁带驱动器,而这不需要花费任何额外的硬件成本。VTL设备可以简称为节点,在VTL技术中,只有一个VTL设备的情形,我们可以称为VTL单节点形态;多个VTL共同工作设备的情形,我们称为VTL多节点形态,或者称呼为VTL集群。在VTL集群中,VTL节点间可以提供保护,当某个VTL节点故障时,由未发生故障的VTL节点接管故障节点上的业务。
如图1所示,3个备份服务器11通过交换机12与VTL设备131以及VTL设备132通信连接,VTL设备131、VTL设备132均与存储阵列14通信连接,VTL设备131与VTL设备132组成VTL集群13,VTL***1包括VTL集群13以及存储阵列14。设备之间的通信连接可以通过光纤通道(FC,Fiber Channel)或者以太网(Ethernet)等技术实现,本发明后续实施例以FC技术为例进行介绍。当使用FC时,所述交换机12是FC交换机,所述备份服务器11以及VTL设备131、VTL设备132通过全球端口名称(WWPN,World Wide Port Name)地址实现与FC交换机12的通信。VTL集群13的特点是VTL设备131与VTL设备132中的某一个发生故障时,可以将业务倒换到一个进行VTL设备上。需要指出的是,本发明各实施例中仅以2个VTL设备的情形进行举例,实际上VTL集群可以由更多的VTL设备组成。
VTL设备可以简称为节点,因此VTL设备131可以称为节点131,VTL设备132可以称为节点132,2个节点通过心跳网络和后端存储阵列14中的仲裁信息相互监控对方的工作状态,当一个节点发生故障无法正常工作时,可以由另外一个节点接管其业务。节点131和节点132上都配置有虚拟磁磁带库设备或者虚拟磁磁带机设备,虚拟磁磁带库设备或虚拟磁磁带机设备都可以称为虚拟设备,对用户而言,这些虚拟设备就像是真实的物理磁带设备一样可用。
后端存储可以是VTL节点的本地存储,也就是说依靠VTL节点自身进行存储;也可以是通过网络和VTL节点互联的外置存储,图1中的存储阵列14是外置存储的示例。实际使用时,可以在后端存储中创建多个LUN,这些LUN可以被VTL节点中的VTL软件直接使用,也可以先由VTL节点在其中创建文件***,然后再提供给VTL软件使用。Server发送的SCSI指令和数据被虚拟设备接收到之后,虚拟设备调用后端读写接口,如块读写接口或者文件读写接口等,将数据写入后端存储。
本领域人员应该知道,虚拟设备的各项参数可以通过配置信息进行描述,以虚拟磁带库设备为例,其配置信息包括有磁带库ID、磁带库型号、磁带库名称以及磁带库序列号等信息,确定了一个虚拟设备的配置信息就可以重新创建这个虚拟设备。现有技术中,VTL集群中的节点为了进行节点间的保护,每个节点会预先存储其他节点上所有虚拟设备的配置信息,当有节点发生故障时,通过这些配置信息可以重建故障节点上的虚拟设备。虚拟设备重建后,为重建后的虚拟节点分配设备地址,并重新建立这个虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系后,这个重建后的虚拟设备就可以接受被备份服务器使用,也就说可以接受用户的备份请求并执行备份业务。
然而,如果虚拟设备正在进行备份业务时节点发生了故障,由于各个VTL设备为虚拟设备分配地址的过程是相互独立,因此重建后的虚拟设备会被重新分配虚拟设备地址。而备份服务器仍在沿用之前的虚拟设备地址发生备份数据,因此这些正在备份的业务会失败,无法正常发送给重建虚拟设备。虚拟设备的地址可以是小型计算机***接口(Small Computer System Interface,SCSI)地址,例如SCSI三元组地址,三元组地址是指用通道channel、设备device以及目标target三个信息进行表达的地址。本实施例中,三元组地址是在备份服务器中为每个虚拟设备分配的地址。这些地址就是从备份服务器中看到的各个虚拟设备的地址,以使得备份服务器可以通过三元组地址找到并使用VTL节点中的虚拟设备。
举例来说假设图1中节点131创建有:“131虚拟磁带0[0:0:0]”以及“131虚拟磁磁带机0[0:0:1]”这两个虚拟设备;假设节点132创建有:“132虚拟磁磁带库0[0:0:0]”、“132虚拟磁磁带机0[0:0:1]”以及“132虚拟磁磁带机设备1[0:0:2]”共三个虚拟设备,如表1所示。
其中,虚拟设备“131虚拟磁带[0:0:0]”中“131”指这个虚拟设备所属于的节点名称,“虚拟磁带”是虚拟设备的类型,“0”是虚拟设备的编号,这些信息都是这个虚拟磁带的配置信息,需要说明的是,配置信息不止这几项,由于仅是用于示例,其余配置信息这里没有列出。[0:0:0]是这个虚拟磁带的SCSI地址。
节点131的虚拟设备 节点132创建的虚拟设备
131虚拟磁带0 [0:0:0] 132虚拟磁磁带库0 [0:0:0]
131虚拟磁磁带机0 [0:0:1] 132虚拟磁磁带机0 [0:0:1]
132虚拟磁磁带机设备1 [0:0:2]
表1
一种做法是,当节点132检测到节点131发生故障无法继续工作时,在节点132上重新创建故障节点中的虚拟磁磁带库、虚拟磁磁带机设备,并为重建虚拟设备分配SCSI地址。重建后的如表2所示。
节点131的虚拟设备 节点132创建的虚拟设备
132虚拟磁磁带库0 [0:0:0]
132虚拟磁磁带机0 [0:0:1]
132虚拟磁磁带机设备1[0:0:2]
131虚拟磁带0 [0:0:3]
131虚拟磁磁带机0 [0:0:4]
表2
如表2所示,节点131上的两个虚拟设备在节点132上得到了重建,VTL节点名、虚拟设备类型与编号这两项信息保持不变。节点132为重建的虚拟设备分配虚拟地址时,检测到设备地址[0:0:0]与[0:0:1]这两个SCSI地址已经被本设备已有的虚拟设备占用,无法再被重建的虚拟设备使用,本实施例中,节点132为重建的虚拟设备分配了[0:0:3]与[0:0:4]这两个新设备地址。
分配完设备地址后,重建这些虚拟磁磁带库与原VTL设备入口地址、原备份服务器出口地址之间的映射关系,这些地址例如是IP地址或者虚拟全球端口名称(World Wide Port Name,WWPN)地址,这些原本由节点131控制,故障发生后由节点132接管。当映射关系建立完成后,就实现了故障节点的接管,重建的虚拟设备可以接受新的备份请求。但是故障节点上正在运行的备份仍然是以原设备地址进行,也就是说服务器仍然在按照“”131虚拟磁带0[0:0:0]”、“”131虚拟磁磁带机0[0:0:1]”写入数据,由于重建的虚拟设备设备地址发生了变化,因此写入操作会失败,服务器会多次重试直到超过预设的重试次数或者重试时间,但每次均会以失败告终。为了避免写入失败造成的数据丢失,必须在故障接管/故障恢复完成后,在备份服务器(Backup Server)中重新扫描映射的虚拟设备,然后重启失败的数据备份/恢复任务,加大了***的资源消耗,增加了数据丢失的风险。
当节点131的故障恢复后,被接管的业务又被转移回来节点131,节点131为这两个设备分配设备地址是重新分配的,难以保证与故障前的设备地址保持一致,因此在故障恢复过程中,往往也会造成备份的失败。
在故障或者故障恢复以外的其他情形,如果需要把一个VTL节点上的虚拟设备重建在另外一个虚拟设备上,也会出现同样的问题。现有技术只能实现配置信息保持不变,但是设备地址是配置信息之外的独立信息,分配、管理、维护的方式均与配置信息不同,因此现有技术无法实现重建前虚拟设备的设备地址与重建后虚拟设备的设备地址保持不变。
实施例一
参照图1,一种虚拟设备重建方法,应用在VTL集群13中,VTL集群13包括有第一VTL节点131以及第二VTL节点132,备份服务器11通过交换设备12与第一VTL节点131以及第二VTL节点132建立通信连接。VTL***1由集群13以及存储设备14共同组成。存储设备14与第一VTL节点以及第二VTL节点建立通信连接,第一VTL节点创建有至少一个虚拟设备,第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一。根据备份服务器11与VTL集群13之间通信方式的不同,交换设备12可以是基于IP的交换设备或者基于WWPN的交换设备,存储设备14可以是廉价磁盘冗余阵列RAID组或者与VTL设备集成在一起的硬盘。
第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一,也就说VTL集群中所有VTL节点都没有使用这个设备地址的创建虚拟设备。可以有很多种办法实现虚拟设备地址的唯一,例如VTL节点在为一个新的虚拟设备分配地址时,先查询本VTL节点以及集群中其他VTL节点已有虚拟设备的地址,选择未被使用的地址进行分配;也可以建立集群地址分配表,每个设备在为一个新的虚拟设备分配地址时,选择表中未被使用的地址进行分配,并且在分配完成后,将本次分配的地址在表中记录为已被使用的地址;此外,还可以为每个VTL节点分配不同的地址段,比如第一个设备可以分配1000个地址组成的集合,第二个设备可以分配另外1000个地址组成的集合,以此类推,由于集合之间不存在相同的元素,集群中的VTL设备间的设备地址不会冲突。本实施例的虚拟设备重建方法包括如下步骤,可参见图2。
S21、所述第一VTL节点查找未被所述VTL集群中任一VTL设备使用的设备地址;所述第一VTL节点使用查找到的设备地址信息创建所述虚拟设备。
这是一个可选步骤,执行本步骤可以保证集群中任意两个虚拟设备的地址不重复。
S22、所述第二VTL节点131检测第一VTL节点132节点是否发生故障。
检测方法有很多种,例如通过心跳网络,当第二VTL节点132在一定时间内没有通过心跳网络收到第一VTL节点131的心跳信息时,判定第一VTL节点131发生了故障;也可以通过存储设备14进行监测,当存储设备14监测到第一VTL节点131发生故障时,通知第二VTL节点132。
S23、当检测到所述第一VTL节点131发生故障后,所述第二VTL节点132接管所述第一VTL节点131的入口地址,所述第二VTL节点132获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址。
要实现数据备份,需要建立备份服务器出口地址、VTL设备入口地址以及虚拟设备之间的映射,备份数据通过备份服务器11的出口地址发往VTL节点131,再通过VTL节点131的入口地址发往VTL节点131建立的虚拟设备,并由VTL节点131的虚拟设备将备份数据发往存储设备14,最终实现数据的备份。获取这些数据的方法可以有多种,例如可以在每个虚拟设备创建完成后将这些数据记录在一个统一平台中,VTL节点132通过这个平台获取这些信息;或者在每个VTL节点上保存一份其余VTL节点的各个虚拟设备配置信息、设备地址、入口地址以及备份服务器出口地址,并保持这些数据的更新。第一VTL节点131故障后,备份服务器11以及存储设备14也会收到故障提示,并分别在收到故障提示后做好由第二VTL节点上的虚拟设备替代第一VTL节点上虚拟设备的准备。
S24、第二VTL节点使用所述配置信息生成重建虚拟设备。
如前所述,配置信息是用来描述虚拟设备的信息,例如一个虚拟设备的型号、虚拟设备名称以及虚拟设备的序列号,其中虚拟设备的型号是指被虚拟设备所虚拟的物理设备的型号,比如A公司生产的B款设备。获取了配置信息以后就可以重新创建出故障节点上的虚拟设备。需要特别说明的是,这个配置信息不包括设备地址、入口地址以及备份服务器出口地址。
S25、将所述设备地址分配给重建虚拟设备,建立所述重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系。
这个设备地址是第一VTL节点131上虚拟设备使用的地址,由于各个VTL节点上的地址不重复,因此第二VTL节点132已有虚拟设备没用使用这个地址,第二VTL节点132可以将这个地址分配给重建虚拟设备使用。设备入口地址、备份服务器出口地址也是与重建前虚拟设备映射的。因此建立起重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系后,重建虚拟设备的配置信息、设备地址、VTL设备入口地址、备份服务器出口地址均与重建前一样,只是存在的位置有第一VTL节点131变成了第二VTL节点132。
S26、所述重建虚拟设备通过所述重建虚拟设备的入口地址,接收所述备份服务器使用所述备份服务器出口地址发送的备份信息;所述重建虚拟设备将备份数据发往所述存储设备进行备份。完成步骤S25之后,重建虚拟设备即可被备份服务器11使用以及被第二VTL节点132管理,步骤S26是对备份服务器11如何使用重建虚拟设备的一种举例。
在本步骤S26中,如果故障发生时,第一VTL节点131上的虚拟设备正在执行备份任务,这个备份任务在执行时需要指定设备地址、VTL设备入口地址、备份服务器出口地址。由于重建后的虚拟设备的设备地址、VTL设备入口地址、备份服务器出口地址均与重建前一样,因此重建后的虚拟设备可以继续执行这个备份业务。需要说明的是,在步骤S24完成之前,这个虚拟设备是无法使用的,这个时候备份服务器11会收到备份任务不成功的提示,这时备份服务器11可以再次尝试执行备份任务,直到步骤S24执行完成,即可以成功执行备份任务,不再收到备份任务不成功的提示。
在实施例一中,即如果集群中的某节点出现故障,其上运行的相关业务可以被集群中的其他节点接管。对于正在运行的备份业务,备份服务器11仍然沿用故障前虚拟设备的各项参数发送备份数据,这些参数包括配置信息、设备地址、入口地址以及备份服务器出口地址;而重建虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址均与重建前虚拟设备相同,因此重建前虚拟设备正在处理的备份业务可以顺利切换到重建后虚拟设备,不会发生数据丢失接管完成后,整个集群仍然处于可正常工作的状态。这样就可以确保整个集群不会因单个节点故障而无法正常工作,有效保证了集群产品的可用性。并且,故障接管过程中,故障节点上正在运行的备份/恢复任务不会失败,故障接管的过程更加平滑。故障接管完成后,不需要在Backup Server中重新扫描映射的虚拟设备,然后重启失败的数据备份/恢复任务以再次执行。可以实现无数据丢失的业务保护。
实施例二
本实施例是关于故障恢复操作。当图1中的第一VTL节点131故障恢复后,可以将迁移至第二VTL节点132的虚拟设备重新迁回第一VTL节点131。
本实施例的原理与实施例一的步骤S22、S23、S24、S25基本相同。所不同之处在于,步骤S22中,是当检测到所述第一VTL节点131发生故障后,所述第二VTL节点132接管所述第一VTL节点131的入口地址,所述第二VTL节点132获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址。而实施例二的相应步骤中,是当检测到第一VTL节点131故障恢复后,所述第一VTL节点132重新接管被第二VTL节点131接管的入口地址。
本领域人员在研读了实施例一的基础上,可以轻易完成实施例二,此处不再赘述。此外在了解了实施例一、实施例二的基础上,本领域技术人员应该也可以推导出如何将任意一个VTL节点上的虚拟设备迁移到VTL集群中的其他VTL节点,这种迁移可以是因为故障或者故障恢复,也可以是其他情形,例如用户指定的迁移。当不是因为故障或故障恢复而发生的迁移时,检测是否发生故障或者检测故障是否恢复的步骤不是必须的。
实施例三
以实施例一以及实施例二为基础,本分发明还提供一种虚拟设备重建装置实施例。虚拟设备重建装置位于节点中,例如下面的第二VTL节点中,也就是说虚拟设备重建装置可以是集成在节点中的、具有相应功能的软件或者硬件,也可以是节点本身。
参见附图3,本实施例中,虚拟设备重建装置3,位于第二VTL节点中,虚拟磁磁带库VTL集群包括第一VTL节点以及所述第二VTL节点,备份服务器与所述第一VTL节点以及所述第二VTL节点建立通信连接,存储设备与所述第一VTL节点以及所述第二VTL节点建立通信连接,第一VTL节点创建有至少一个虚拟设备,第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一,虚拟设备重建装置包括:获取模块33、重建模块34以及使能模块35。可选的,还可以包括创建模块31以及故障检测模块32。
创建模块31,用于查找未被所述VTL集群中任一VTL设备使用的设备地址,以用于所述第二VTL设备创建所述虚拟设备。
故障检测模块32,和创建模块31连接,用于检测第一VTL节点是否发生故障,并在检测到第一VTL节点故障后,启动获取模块33。
获取模块33,和故障检测模块32连接,用于接管所述第一VTL节点的入口地址,以及获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址。
要实现数据备份,需要建立备份服务器出口地址、VTL设备入口地址以及虚拟设备之间的映射,备份数据通过备份服务器11的出口地址发往VTL节点131,再通过VTL节点131的入口地址发往VTL节点131建立的虚拟设备,并由VTL节点131的虚拟设备将备份数据发往存储设备14,最终实现数据的备份。获取这些数据的方法可以有多种,例如可以在每个虚拟设备创建完成后将这些数据记录在一个统一平台中,VTL节点132通过这个平台获取这些信息;或者在每个VTL节点上保存一份其余VTL节点的各个虚拟设备配置信息、设备地址、入口地址以及备份服务器出口地址,并保持这些数据的更新。第一VTL节点131故障后,备份服务器11以及存储设备14也会收到故障提示,并分别在收到故障提示后做好由第二VTL节点上的虚拟设备替代第一VTL节点上虚拟设备的准备。
重建模块34,和获取模块33连接,用于第二VTL节点使用所述配置信息生成重建虚拟设备。
如前所述,配置信息是用来描述虚拟设备的信息,例如一个虚拟设备的型号、虚拟设备名称以及虚拟设备的序列号,其中虚拟设备的型号是指虚拟设备所虚拟的物理设备的型号。获取了配置信息以后就可以重新创建出故障节点上的虚拟设备。需要特别说明的是,这个配置信息不包括设备地址、入口地址以及备份服务器出口地址。
使能模块35,和重建模块34连接,用于将所述设备地址分配给重建虚拟设备,以及建立所述重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系。
这个设备地址是第一VTL节点131上虚拟设备使用的地址,由于各个VTL节点上的地址不重复,因此第二VTL节点132已有虚拟设备没用使用这个地址,第二VTL节点132可以将这个地址分配给重建虚拟设备使用。设备入口地址、备份服务器出口地址也是与重建前虚拟设备映射的。因此建立起重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系后,重建虚拟设备的配置信息、设备地址、VTL设备入口地址、备份服务器出口地址均与重建前一样,只是存在的位置有第一VTL节点131变成了第二VTL节点132。
使能模块35,还可以用于述虚拟设备通过所述重建虚拟设备的入口地址,接收所述备份服务器使用所述备份服务器出口地址发送的备份信息;以及使所述重建虚拟设备将收到的备份数据发往所述存储设备进行备份。
如果故障发生时,第一VTL节点131上的虚拟设备正在执行备份任务,这个备份任务在执行时需要指定设备地址、VTL设备入口地址、备份服务器出口地址。由于重建后的虚拟设备的设备地址、VTL设备入口地址、备份服务器出口地址均与重建前一样,因此重建后的虚拟设备可以继续执行这个备份业务。需要说明的是,在步骤S24完成之前,这个虚拟设备是无法使用的,这个时候备份服务器11会收到备份任务不成功的提示,这时备份服务器11可以再次尝试执行备份任务,直到步骤S24执行完成,即可以成功执行备份任务,不再收到备份任务不成功的提示。
在实施例三中,即如果集群中的某节点出现故障,其上运行的相关业务可以被集群中的其他节点接管。对于正在运行的备份业务,备份服务器11仍然沿用故障前虚拟设备的各项参数发送备份数据,这些参数包括配置信息、设备地址、入口地址以及备份服务器出口地址;而重建虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址均与重建前虚拟设备相同,因此重建前虚拟设备正在处理的备份业务可以顺利切换到重建后虚拟设备,不会发生数据丢失接管完成后,整个集群仍然处于可正常工作的状态。这样就可以确保整个集群不会因单个节点故障而无法正常工作,有效保证了集群产品的可用性。并且,故障接管过程中,故障节点上正在运行的备份/恢复任务不会失败,故障接管的过程更加平滑。故障接管完成后,不需要在Backup Server中重新扫描映射的虚拟设备,然后重启失败的数据备份/恢复任务以再次执行。可以实现无数据丢失的业务保护。
由于实施例三是用于执行实施例一的装置。显然,在实施例一、二、三的基础上,同样可以存在故障恢复装置或者故障恢复模块,来执行实施例二中的方法,由于实施例二中已经进行了描述,此处不再详述。
实施例四
参见附图4,本实施例是一种第一VTL节点4。虚拟磁磁带库VTL集群包括第一VTL节点以及第二VTL节点,备份服务器与所述第一VTL节点以及所述第二VTL节点建立通信连接,存储设备与所述第一VTL节点以及所述第二VTL节点建立通信连接,第一VTL节点创建有至少一个虚拟设备,第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一,所述第一VTL节点包括CPU44,与CPU通信的第一通信接口41,与CPU通信的第二通信接口42,以及与CPU通信的内存43,所述第一通信接口41,用于和所述备份服务器通信;所述第二通信接口42,用于和所述存储设备通信;所述内存43,用于存储计算机指令;以及所述处理器44,和所述内存耦合,用于通过运行所述计算机指令来执行以下实施例一以及实施例二所述的操作。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种虚拟设备重建方法,其特征在于,虚拟磁磁带库VTL集群包括第一VTL节点以及第二VTL节点,备份服务器与所述第一VTL节点以及所述第二VTL节点建立通信连接,存储设备与所述第一VTL节点以及所述第二VTL节点建立通信连接,第一VTL节点创建有至少一个虚拟设备,第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一,该方法包括:
所述第二VTL节点接管所述第一VTL节点的入口地址,所述第二VTL节点获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址;其中,所述第二VTL节点接管所述第一VTL节点的入口地址之前,进一步包括:所述第一VTL节点查找未被所述VTL集群中任一VTL设备使用的设备地址;所述第一VTL节点使用查找到的设备地址信息创建所述虚拟设备;
第二VTL节点使用所述配置信息生成重建虚拟设备;
将所述设备地址分配给重建虚拟设备,建立所述重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系。
2.如权利要求1所述的方法,其特征在于,建立映射关系之后进一步包括:
所述重建虚拟设备通过所述重建虚拟设备的入口地址,接收所述备份服务器使用所述备份服务器出口地址发送的备份信息;
所述重建虚拟设备将备份数据发往所述存储设备进行备份。
3.如权利要求1所述的方法,其特征在于,所述第二VTL节点接管所述第一VTL节点的入口地址之前,进一步包括:
所述第二VTL节点检测到第一VTL节点发生故障。
4.一种虚拟设备重建装置,位于第二VTL节点中,其特征在于,虚拟磁磁带库VTL集群包括第一VTL节点以及所述第二VTL节点,备份服务器与所述第一VTL节点以及所述第二VTL节点建立通信连接,存储设备与所述第一VTL节点以及所述第二VTL节点建立通信连接,第一VTL节点创建有至少一个虚拟设备,第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一,所述虚拟设备重建装置包括:
创建模块,用于查找未被所述VTL集群中任一VTL设备使用的设备地址,以用于所述第二VTL设备创建所述虚拟设备;
获取模块,用于接管所述第一VTL节点的入口地址,以及获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址;
重建模块,用于第二VTL节点使用所述配置信息生成重建虚拟设备;
使能模块,用于将所述设备地址分配给重建虚拟设备,以及建立所述重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系。
5.如权利要求4所述的装置,其特征在于,所述使能模块还用于:
使所述虚拟设备通过所述重建虚拟设备的入口地址,接收所述备份服务器使用所述备份服务器出口地址发送的备份信息;以及
使所述重建虚拟设备将收到的备份数据发往所述存储设备进行备份。
6.如权利要求4所述的装置,其特征在于,所述装置进一步包括:
故障检测模块,用于检测第一VTL节点是否发生故障。
7.一种第二VTL节点,其特征在于,虚拟磁磁带库VTL集群包括第一VTL节点以及第二VTL节点,备份服务器与所述第一VTL节点以及所述第二VTL节点建立通信连接,存储设备与所述第一VTL节点以及所述第二VTL节点建立通信连接,第一VTL节点创建有至少一个虚拟设备,第一VTL节点上的虚拟设备的设备地址在VTL集群中唯一,所述第二VTL节点包括CPU,与CPU通信的第一通信接口,与CPU通信的第二通信接口,以及与CPU通信的内存:
所述第一通信接口,用于和所述备份服务器通信;
所述第二通信接口,用于和所述存储设备通信;
所述内存,用于存储计算机指令;以及
所述CPU,和所述内存耦合,用于通过运行所述计算机指令来执行以下操作:
接管所述第一VTL节点的入口地址,获取所述虚拟设备的配置信息、设备地址、入口地址以及备份服务器出口地址;
使用所述配置信息生成重建虚拟设备;
将所述设备地址分配给重建虚拟设备,建立所述重建虚拟设备与VTL设备入口地址、备份服务器出口地址之间的映射关系;
所述CPU进一步用于执行:
使所述重建虚拟设备通过所述重建虚拟设备的入口地址,接收所述备份服务器使用所述备份服务器出口地址发送的备份信息;
使所述重建虚拟设备将备份数据发往所述存储设备进行备份。
8.如权利要求7所述的第二VTL节点,其特征在于,所述CPU进一步用于执行:
在所述接管步骤之前,检测第一VTL节点是否发生故障。
9.如权利要求7所述的第二VTL节点,其特征在于,所述CPU进一步用于执行:
在所述接管步骤之前,检测第一VTL节点的故障是否恢复。
CN201280005835.5A 2012-12-31 2012-12-31 一种虚拟设备重建方法与装置 Active CN103814352B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/088096 WO2014101211A1 (zh) 2012-12-31 2012-12-31 一种虚拟设备重建方法与装置

Publications (2)

Publication Number Publication Date
CN103814352A CN103814352A (zh) 2014-05-21
CN103814352B true CN103814352B (zh) 2016-11-02

Family

ID=50709723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280005835.5A Active CN103814352B (zh) 2012-12-31 2012-12-31 一种虚拟设备重建方法与装置

Country Status (2)

Country Link
CN (1) CN103814352B (zh)
WO (1) WO2014101211A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921508B (zh) * 2015-12-25 2021-02-19 中兴通讯股份有限公司 虚拟化网元故障自愈方法及装置
CN106557280B (zh) * 2016-10-31 2019-10-15 北京华为数字技术有限公司 数据存储方法、存储阵列及主机服务器
CN108234410B (zh) * 2016-12-15 2019-02-22 视联动力信息技术股份有限公司 一种虚拟终端分配方法和装置
CN111193600B (zh) * 2018-11-14 2023-04-07 杭州海康威视***技术有限公司 一种接管服务的方法、装置及***
CN110266833B (zh) * 2019-07-16 2022-03-29 广州虎牙科技有限公司 Ip地址管理方法及边缘集群
CN111625391B (zh) * 2020-05-29 2023-06-13 北京思特奇信息技术股份有限公司 一种任务处理方法、***和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799780A (zh) * 2010-03-10 2010-08-11 成都市华为赛门铁克科技有限公司 配置信息文件处理方法、***及服务器、虚拟磁带库设备
CN201789513U (zh) * 2010-09-14 2011-04-06 北京同有飞骥科技股份有限公司 一种可快速恢复的高可用vtl***
CN102521072A (zh) * 2011-11-25 2012-06-27 成都市华为赛门铁克科技有限公司 虚拟磁带库设备及数据恢复方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4448719B2 (ja) * 2004-03-19 2010-04-14 株式会社日立製作所 ストレージシステム
US8843725B2 (en) * 2005-09-19 2014-09-23 Spectra Logic Corporation Virtual interchangeable storage device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799780A (zh) * 2010-03-10 2010-08-11 成都市华为赛门铁克科技有限公司 配置信息文件处理方法、***及服务器、虚拟磁带库设备
CN201789513U (zh) * 2010-09-14 2011-04-06 北京同有飞骥科技股份有限公司 一种可快速恢复的高可用vtl***
CN102521072A (zh) * 2011-11-25 2012-06-27 成都市华为赛门铁克科技有限公司 虚拟磁带库设备及数据恢复方法

Also Published As

Publication number Publication date
WO2014101211A1 (zh) 2014-07-03
CN103814352A (zh) 2014-05-21

Similar Documents

Publication Publication Date Title
CN103814352B (zh) 一种虚拟设备重建方法与装置
JP6317856B2 (ja) クラスタ間冗長構成におけるスムーズな制御部交代
US8996477B2 (en) Multiple node/virtual input/output (I/O) server (VIOS) failure recovery in clustered partition mobility
JP5227125B2 (ja) ストレージシステム
CN102652423B (zh) 用于集群选择和协作复制的方法和***
US8688773B2 (en) System and method for dynamically enabling an application for business continuity
CN100489796C (zh) 用来实现共用磁盘阵列管理功能的方法和***
JP5102901B2 (ja) データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
JP2000339098A (ja) ストレージドメイン管理システム
CN106528327B (zh) 一种数据处理方法以及备份服务器
US20050193180A1 (en) Method and apparatus for data migration with the efficient use of old assets
JP4711688B2 (ja) ストレージシステム
US10241712B1 (en) Method and apparatus for automated orchestration of long distance protection of virtualized storage
JP2004532442A (ja) ストレージシステムにおけるフェイルオーバー処理
WO2012109876A1 (zh) 虚拟化数据备份方法、虚拟化数据重组方法、装置及***
US20070198790A1 (en) Computer system for copying data between virtual storage areas
US9201740B2 (en) Computer system, cluster management method, and management computer
US9329653B2 (en) Server systems having segregated power circuits for high availability applications
CN106919346A (zh) 一种基于clvm的共享存储虚拟化实现方法
US8635391B2 (en) Systems and methods for eliminating single points of failure for storage subsystems
JP2014219787A (ja) ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
CN106331166A (zh) 一种存储资源的访问方法及装置
CN111935244A (zh) 一种业务请求处理***及超融合一体机
US7506201B2 (en) System and method of repair management for RAID arrays
CN103414588B (zh) 一种vtl备份方法及vtl节点

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant