专利名称:用于管理虚拟带库域的系统和方法
技术领域:
本发明总体上涉及存储系统,并且更具体地,涉及用于管理虚拟带库域的系统和方法。
背景技术:
虚拟带库(VTL)通常例如通过使用磁盘来向主机提供高速带库。一般而言,主机使用如下带库:I)主机将带卷(此后称作“卷”)插入带库。该卷通过卷序列号(VOLSER)进行识别并且所插入的卷被归类在名为“插入”的类别之下。类别是卷的属性之一并且必须对每个卷进行定义以表示卷在特定时间的状态和使用;2)主机将插入类别中的卷转到“临时(scratch)”类别。临时类别被用来存储空白和/或可重复使用的帯;3)主机请求卷的装入。带库装入所请求的卷并且向主机提供该卷。主机通过指定VOLSER并且请求具体卷的装入(指定装入)或者通过指定类别并且请求该类别中的任意卷(类别装入)来请求装入。在从卷的开头处开始写入新数据的情况下,通常指定临时类别并且执行类别装入操作(此后称作“临时装入”);4)主机将所装入的卷转到“私有”类别并且执行输入/输出(I/O)操作;5)在完成I/O操作之后,主机请求“卸除”卷;以及6)关于私有类别中的卷之中不再需要的卷,主机将该卷转到临时类别。基本上,被转到临时类别的卷中的数据不再得到保证并且可以在此时间点被及时擦除以使得卷可被重复使用。临时类别中的卷在主机随后请求装入卷时被提供给主机。在临时类别中没有卷剩下的情况下,带库识别出没有可用的空白或可重复使用的带。如果主机在这样的情况下请求临时装入,则装入请求失败。VTL利用存储磁盘执行以上功能。与物理带库相比,利用存储磁盘具有许多优势,特别是在于VTL能够以高速对临时装入请求进行响应方面。因为逻辑卷在磁盘上进行准备而不是实际装入物理带,所以VTL能够快速对主机作出响应。此外,VTL通常并不在卷ー被转到临时类别就立即擦除卷中的数据,从而用户能够恢复被其错误地转到临时类别的卷的数据。相反,数据在其被擦除之前被原封不动地保留预定时间量(例如,24小吋)。就此而言,处于临时类别之中并且其数据还没有被擦除的卷被称作“临时未擦除”卷,而其数据在预定时间量过去之后被完全擦除的卷被称作“临时擦除”卷。此外,许多VTL支持多个VTL的聚类(clustering)。对VTL进行聚类的目标是增加虚拟带驱动器的数量和磁盘容量,并且通过数据复制实现更高的可用性以及灾害恢复方案。总体而言,VTL经由互联网协议(IP)网络等相互连接,并且对主机表现为单个虚拟带库。这里,整个聚类配置被称作“VTL域”,并且构成VTL域的每个VTL被称作“VTL节点”。当主机在聚类配置中执行插入或装入操作时,来自主机的请求命令被该主机与之物理连接的VTL节点所接收。VTL节点互相通信以在VTL域内具有一致性并且向主机返回回复。在VTL聚类配置中,两个VTL节点也可能连接到ー个主机,并且主机进行操作,从而主机向每个VTL节点单独发出装入请求。在这样的情况下,通常使用两个VTL节点所共同的临时类别。在操作期间,预期常规VTL节点通过如下操作来遵循来自主机的请求:I) VTL节点互相进行通信以检查VTL域中存在多少临时类别的卷(例如,临时未擦除卷和临时擦除卷);并且2) 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节点并不互相通信时所体验到的至少ー些低效问题进行描述:I)在由两个或更多节点(例如,VTL节点0和VTL节点I)所构成的聚类配置中,VTL节点0对其具有所有权的临时卷的数量和VTL节点I对其具有所有权的临时卷的数量之间可能存在显著差异。例如,VTL节点0可能拥有许多临时卷而VTL节点I则可能仅拥有很少临时卷:2)在这种情形中,主机箱临时类别传输卷的速率可能大致与主机向VTL节点发出临时装入请求的速率相同;3)在这种情况下,应当存在足够的其拥有者是VTL节点0的临时未擦除卷和临时擦除卷。这里,在从主机接收到装入请求吋,VTL节点0向主机返回其拥有者是VTL节点0的临时擦除卷中最早的卷。然而,另一方面,不存在许多其拥有者是VTL节点I的临时卷并且可能还不存在其拥有者是VTL节点I的临时擦除卷。因此,在从主机接收到对VTL节点I的临时装入请求时,即使仍然存在其拥有者是VTL节点0的临时擦除卷,VTL节点I也将需要在此刻擦除其拥有者是VTL节点I的临时未擦除卷并且向主机提供所擦除的卷;以及4)在这种情形中,其拥有者是VTL节点I的卷可能在主机将卷转到临时类别之后立即被永久擦除。在用户由于操作错误而将卷转到临时类别的情况下,数据将会完全丢失且无法恢复。
发明内容
各种实施例提供了用于管理能够耦合至主机的虚拟带库(VTL)域的系统。ー种系统包括多个VTL节点,其被配置为存储多个临时擦除卷并且能够耦合至主机。每个VTL节点包括被配置为耦合至主机的处理器。在一个实施例中,每个处理器被配置为从主机接收在多个VTL节点之一中卸除卷的请求并且响应于接收到该请求而将该卷转到临时类别。姆个处理器进ー步被配置为擦除卷中所存储的数据并且将该卷归类为临时擦除卷,并且基于多个VTL节点的预定标准而将该临时擦除卷的所有权提供至多个VTL节点中的ー个VTL节点。各种其它实施例提供了用于管理能够耦合至主机的虚拟带库(VTL)域的方法,该VTL域包括多个VTL节点,每个VTL节点包括处理器并且被配置为存储多个临时擦除卷。一种方法包括从主机接收卸除多个VTL节点之一中的卷的请求,并且响应于接收到该请求将该卷转到临时类别。该方法进ー步包括擦除该卷中所存储的数据并且将该卷归类为临时擦除卷,并且基于针对多个VTL节点预定的标准而将该临时擦除卷的所有权提供至多个VTL节点中的ー个VTL节点。还提供了ー种物理计算机存储介质(例如,具有一条或多条线路的电连接、便携式计算机软盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、光纤、便携式紧致盘只读存储器(CD-ROM)、光学存储设备、磁存储设备,或者以上的任意适当组合),其包括用于管理耦合至主机的虚拟带库(VTL)域的计算机程序产品方法,该VTL域包括多个VTL节点,每个VTL节点包括处理器并且被配置为存储多个临时擦除卷。ー种物理计算机存储介质包括用于从主机接收卸除多个VTL节点之一中的卷的请求的计算机代码,以及用于响应于接收到该请求将该卷转到临时类别的计算机代码。该物理计算机存储介质进一歩包括用于擦除该卷中所存储的数据并且将该卷归类为临时擦除卷的计算机代码,以及用于基于多个VTL节点预定的标准而将该临时擦除卷的所有权提供至多个VTL节点中的ー个VTL节点的计算机代码。
为了容易理解本发明的优点,将通过參考附图中所图示的具体实施例呈现出以上简要描述的本发明的更为特定的描述。要理解这些示图仅描绘出了本发明的典型实施例而因此并非要被认为是对其范围进行限制,通过使用附图将利用额外的特性和细节对本发明进行描述和解释,其中:图1是用于管理虚拟带库(VTL)域的系统的ー个实施例的框图;图2是用于管理VTL域中的临时擦除卷的方法的一个实施例的流程图;并且图3是用于管理VTL域中的临时擦除卷的方法的另ー个实施例的流程图。
具体实施例方式各种实施例提供了用于管理虚拟带库(VTL)域的系统和方法。还提供了包括用于管理VTL域的计算机代码的计算机存储介质。现在转向附图,图1是用于管理能够耦合至主机计算设备50的VTL域110的系统100的一个实施例的框图。至少在所图示的实施例中,VTL域110包括VTL节点120和VTL节点130,它们经由总线150 (例如,有线和/或无线总线)被布置为聚类配置。VTL节点120被配置为存储或“拥有”多个带卷(此后称作“卷”),并且包括对卷进行管理的处理器129。VTL节点120所拥有的卷被配置为存储数据,从而主机50能够在系统100内执行输入/输出(I/O)操作。此外,每个卷被配置为根据卷在任意给定的特定时间的状态而包括类别。当主机50利用卷时,卷在VTL节点120中被转到私有类别122。当主机50并未利用卷时,卷被转到临时类别124。在临时类别124内存在两个子类别,即临时未擦除子类别126和临时擦除子类别128。临时类别124内的卷在卷已经被主机50卸除之后包括临时未擦除子类别126,但是卷中所存储的数据还没有被擦除。在各种实施例中,卷可以在该卷已经被主机50卸除之后的任意预定时间量内保持处于临时未擦除子类别126。在一个实施例中,卷在该卷已经被主机50卸除之后大约24小时内保持处于临时未擦除子类别126中。在其它实施例中,卷可以在该卷已经被主机50卸除之后保持处于临时未擦除子类别126长于或短于24小吋。以这种方式,在用户或主机50在卷留在临时未擦除子类别126的预定时间段内想要利用数据的情况下可以恢复卷中的数据。在卷已经留在临时未擦除子类别126达预定时间段之后,该卷中的数据被擦除并且该卷被转到临时擦除子类别128。留在临时擦除子类别128中的卷可用于被主机50进行装入。也就是说,VTL节点120被配置为响应于从主机50接收到将卷用于I/O操作的请求而装入留在临时擦除子类别128中的卷。此外,VTL节点120被配置为响应于装入了卷而将卷从临时类别124(并且特别是临时擦除子类别128)转到私有类别122。处理器129被配置为对VTL节点120以及VTL域110内的各种卷的所有权进行管理。也就是说,处理器129被配置为至少部分地确定卷在VTL节点120和VTL节点130之间的所有权。在一个实施例中,处理器129被配置为基于针对每个VTL节点(例如,VTL节点
120.130)全局预定的临时擦除卷的阈值量或者针对每个相应VTL节点(例如,VTL节点
120.130)预定的临时擦除卷的阈值量来确定各种卷在VTL域110内的所有权。在该实施例中,处理器129被配置为监视临时擦除子类别128和临时擦除子类别138中每ー个之中的
卷的数量。此外,处理器129被配置为从主机50接收卸除留在私有类别122中的卷的请求。作为对其的响应,处理器129被配置为将卷从私有类别122转到临时未擦除子类别126。处理器129进ー步被配置为在该卷已经留在未擦除子类别126中达预定时间量之后擦除该卷中的数据。在数据已经被擦除之后,处理器129被配置为将临时擦除子类别128中卷的数量与全局预定的临时擦除卷的阈值数进行比较,并且将临时擦除子类别138中卷的数量与全局预定的临时擦除卷的阈值数或者针对每个相应VTL节点预定的临时擦除卷的阈值数进行比较。如果临时擦除子类别128或临时擦除子类别138针对相应VTL节点包括少于预定数量的临时擦除卷(即,全局预定的阈值量或単独确定的阈值量),则处理器129被配置为提供卷的所有权并且将该卷转到临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。如果临时擦除子类别128和临时擦除子类别138均包括少于其相应预定数量的临时擦除卷,则处理器129被配置为确定临时擦除子类别128和临时擦除子类别138中的哪ー个包括相对最少数量的卷,并且向其提供卷的所有权并将该卷转到该临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。如果临时擦除子类别128和临时擦除子类别138均包括大于其相应预定数量的临时擦除卷,则处理器129被配置为确定临时擦除子类别128和临时擦除子类别138中的哪ー个包括相对最少数量的卷,并且向其提供卷的所有权并将该卷转到该临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。在另ー个实施例中,处理器129被配置为基于VTL节点120、130利用其进行操作的相对业务以及临时擦除子类别128和临时擦除子类别138内卷的数量来确定各个卷在VTL域110内的所有权。在该实施例中,处理器129被配置为生成每个临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)中的卷数和主机50利用VTL节点120、130执行I/O操作的频率(即,主机50利用来自VTL节点120、130的卷的频率)的比率,并且基于该比率提供临时擦除卷的所有权。在这ー实施例中,处理器129被配置为从主机50接收卸除留在私有类别122中的卷的请求。作为对其的响应,处理器129被配置为将卷从私有类别122转到临时未擦除子类别126。处理器129进ー步被配置为在该卷已经留在临时未擦除子类别126中达预定时间量之后擦除卷中的数据。在数据已经被擦除之后,处理器129被配置为生成临时擦除子类别128中的卷数和主机50利用VTL节点120执行I/O操作的频率(S卩,主机50利用来自节点120的卷的频率)的比率。此外,处理器129被配置为生成临时擦除子类别138中的卷数和主机50利用VTL节点130执行I/O操作的频率(S卩,主机50利用来自节点130的卷的频率)的比率。处理器129被配置为随后将该比率进行比较,并且提供卷的所有权,以及将卷转换至具有最低比率的临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。如果比率处于预定阈值量以内,则处理器129被配置为提供卷的所有权并且将该卷转到由与主机50以最大频率所利用的VTL节点(即,VTL节点120或VTL节点130)相关联的临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。VTL节点130也被配置为存储或拥有多个卷并且包括处理器139。VTL节点130所拥有的卷被配置为存储数据从而主机50能够在系统100内执行输入/输出(I/O)操作。此夕卜,每个卷被配置为根据该卷在任意给定的特定时间的状态而包括类别。当主机50利用该卷时,卷在VTL节点130中被转到私有类别132。当主机50并未利用卷时,卷被转到临时类别134。在临时类别134内存在两个子类别,即临时未擦除子类别136和临时擦除子类别138。临时类别134内的卷在卷已经被主机50卸除之后包括临时未擦除子类别136,但是卷中所存储的数据还没有被擦除。在各种实施例中,卷可以在该卷已经被主机50卸除之后的任意预定时间量内保持处于临时未擦除子类别136。在一个实施例中,卷在该卷已经被主机50卸除之后大约24小时内保持处于临时未擦除子类别136。在其它实施例中,卷可以在该卷已经被主机50卸除之后保持处于临时未擦除子类别136长于或短于24小吋。以这种方式,在用户或主机50在卷留在临时未擦除子类别136的预定时间段内想要利用数据的情况下可以恢复卷中的数据。在卷已经留在临时未擦除子类别136达预定时间段之后,该卷中的数据被擦除并且该卷被转到临时擦除子类别138。留在临时擦除子类别138中的卷可用于被主机50进行装入。也就是说,VTL节点130被配置为响应于从主机50接收到将卷用于I/O操作的请求而装入留在临时擦除子类别138中的卷。此外,VTL节点130被配置为响应于装入了卷而将卷从临时类别134特别是临时擦除子类别138转到私有类别132。处理器139被配置为对VTL节点130以及VTL域110内的各个卷的所有权进行管理。也就是说,处理器139被配置为至少部分地确定卷在VTL节点120和VTL节点130之间的所有权。在一个实施例中,处理器139被配置为基于针对每个VTL节点(例如,VTL节点
120.130)全局预定的临时擦除卷的阈值量或者针对每个相应VTL节点(例如,VTL节点
120.130)预定的刮擦擦除卷的阈值量来确定各个卷在VTL域110内的所有权。在该实施例中,处理器139被配置为监视临时擦除子类别128和临时擦除子类别138中每ー个之中的
卷的数量。此外,处理器139被配置为从主机50接收卸除留在私有类别132中的卷的请求。作为对其的响应,处理器139被配置为将卷从私有类别132转到临时未擦除子类别136。处理器139进ー步被配置为在该均已经留在未擦除子类别136中达预定时间量之后擦除该卷中的数据。在数据已经被擦除之后,处理器139被配置为将临时擦除子类别138中卷的数量与全局预定的临时擦除卷的阈值数进行比较,并且将临时擦除子类别128中卷的数量与全局预定的临时擦除卷的阈值数或者针对每个相应VTL节点的临时擦除卷的预定阈值数量进行比较。如果临时擦除子类别128或临时擦除子类别138针对相应VTL节点包括少于预定数量的临时擦除卷(即,全局预定的阈值量或単独预定的阈值量),则处理器139被配置为提供卷的所有权并且将该卷转到临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。如果临时擦除子类别128和临时擦除子类别138均包括少于其相应预定数量的临时擦除卷,则处理器139被配置为确定临时擦除子类别128和临时擦除子类别138中的哪ー个包括相对最少数量的卷,并且向其提供卷的所有权并将该卷转到该临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。如果临时擦除子类别128和临时擦除子类别138均包括大于其相应预定数量的临时擦除卷,则处理器139被配置为确定临时擦除子类别128和临时擦除子类别138中的哪ー个包括相对最少数量的卷,并且向其提供卷的所有权并将该卷转到该临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。在另ー个实施例中,处理器139被配置为基于VTL节点120、130利用其进行操作的相对业务以及临时擦除子类别128和临时擦除子类别138内卷的数量来确定各个卷在VTL域110内的所有权。在该实施例中,处理器139被配置为生成每个临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)中的卷数和主机50利用VTL节点120、130执行I/O操作的频率(即,主机50利用来自VTL节点120、130的卷的频率)的比率,并且基于该比率提供临时擦除卷的所有权。在该实施例中,处理器139被配置为从主机50接收卸除留在私有类别132中的卷的请求。作为对其的响应,处理器139被配置为将卷从私有类别122转到临时未擦除子类别136。处理器139进ー步被配置为在该卷已经留在临时未擦除子类别136中达预定时间量之后擦除卷中的数据。在数据已经被擦除之后,处理器139被配置为生成临时擦除子类别128中的卷数和主机50利用VTL节点120执行I/O操作的频率(S卩,主机50利用来自节点120的卷的频率)的比率。此外,处理器139被配置为生成临时擦除子类别138中的卷数和主机50利用VTL节点130执行I/O操作的频率(即,主机50利用来自VTL节点130的卷的频率)的比率。处理器139被配置为随后将该比率进行比较并且将卷转换至具有最低比率的临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。如果比率处于预定阈值量以内,则处理器139被配置为提供卷的所有权并且将该卷转到与主机50以最大频率所利用的VTL节点(S卩,VTL节点120或VTL节点130)相关联的临时擦除子类别(即,临时擦除子类别128或临时擦除子类别138)。虽然VTL域110被图示和描述为包括VTL节点120和VTL节点130,但是VTL域可以包括额外的VTL节点。换而言之,VTL域110可以根据系统100和/或VTL域110的所期望配置为包括多于两个的VTL节点。现在转向图2,图2是用于对包括多个VTL节点(例如,VTL节点120、130)的VTL域(例如,VTL域110)中的临时擦除卷进行管理的方法200的一个实施例的流程图。至少在所图示的实施例中,方法200以接收用于利用卷的装入请求作为开始(框205)。方法200进ー步包括将卷转到VTL节点内的私有类别(框210),并且从主机(例如,主机50)接收利用卷执行I/O操作的请求(框215)。接收卸除卷的请求(框220)并且还接收将卷转到VTL节点的临时类别中的临时未擦除子类别(框225)。在该卷已经留在临时未擦除子类别达预定时间量之后擦除卷内的数据并且将该卷指定为临时擦除子类别(框230)。在一个实施例中,卷在擦除数据之前保持处于临时未擦除子类别中大约24小吋。在其它实施例中,卷可以在擦除数据之前保持处于临时未擦除子类别中长于或短于24小吋。在卷被指定为临时擦除卷之后,方法200包括将每个VTL节点中临时擦除卷的数量与针对VTL节点的临时擦除卷的预定阈值量进行比较(框235)。在一个实施例中,每个VTL节点包括与临时擦除卷相同的预定阈值量。在另ー实施例中,至少两个VTL节点包括与临时擦除卷不同的预定阈值量。如果没有包括少于其相应预定阈值量的临时擦除卷的VTL节点,则卷的所有权被提供至VTL节点或者具有最少数量的临时擦除卷的VTL节点(框245)。如果存在包括少于其相应预定阈值量的临时擦除卷的至少ー个VTL节点,则方法200随后确定是否有多于ー个的VTL包括少于阈值量的临时擦除卷(框250)。如果仅有ー个包括少于其相应预定阈值量的临时擦除卷的VTL节点,则卷的所有权被提供至该VTL节点(框255)。如果有多个包括少于其相应预定阈值量的临时擦除卷的VTL节点,则卷的所有权被提供至VTL节点或者相对于其相应的临时擦除卷的预定阈值量具有最少临时擦除卷数量的VTL节点。在卷的所有权已经在框245、255或260被提供至VTL节点之后,方法200包括接收针对另ー个卷的请求(框205),或者包括接收卸除已经在I/O操作中被利用的另ー个卷的请求(框220)。现在转向图3,图3是对包括多个VTL节点(例如,VTL节点120、130)的VTL域(例如,VTL域110)中的临时擦除卷进行管理的方法300的另ー个实施例的流程图。至少在所图示的实施例中,方法300以接收利用卷的装入请求作为开始(框205)。方法300进ー步包括将卷转到VTL节点内的私有类别(框310),并且从主机(例如,主机50)接收利用卷执行I/O操作的请求(框315)。接收卸除卷的请求(框320)并且还接收将卷转到VTL节点的临时类别中的临时未擦除子类别(框325)。在该卷已经留在临时未擦除子类别达预定时间量之后擦除卷内的数据并且将该卷指定为临时擦除子类别(框330)。在一个实施例中,卷在擦除数据之前保持处于临时未擦除子类别中达大约24小吋。在其它实施例中,卷可以在擦除数据之前保持处于临时未擦除子类别中长于或短于24小吋。在卷被指定为临时擦除卷之后,方法300包括确定主机(50)请求使用多个VTL节点中的每ー个内的卷的频率(框335)。方法300随后将每个VTL节点中的临时擦除卷数量和相应所确定的卷使用频率进行比较以针对每个VTL节点确定临时擦除卷与卷使用频率的比率(框340)。方法300进ー步包括确定两个或更多VTL节点是否包括相同的最低比率或者处于彼此的预定数量以内的最低比率(框345)。如果两个或更多VTL节点并不包括相同的最低比率或者处于彼此的预定数量以内的最低比率,则卷的所有权被提供至具有最低比率的VTL节点(框350)。如果两个或更多VTL节点包括相同的最低比率或者处于彼此的预定数量以内的最低比率,则卷的所有权被提供至具有最高比率的VTL节点(框355)。在卷的所有权已经在框350或355被提供至VTL节点之后,方法300包括接收针对另ー个卷的装入请求(框305),或者包括接收卸除已经在I/O操作中被利用的另ー个卷的请求(框320)。虽然已经在本发明的以上描述中给出了至少ー个示例性实施例,但是应当意识到存在多种变化形式。还应当意识到的是,一个或多个示例性实施例仅作为示例,而并非意在以任何方式对本发明的范围、应用性或配置进行限制。相反,以上详细描述将为本领域技术人员提供实施本发明的示例性实施例的便利方式,所要理解的是,可以在示例性实施例中所描述的功能和部件部署方面进行各种变化而并不背离如所附权利要求及其法律等同形式中所给出的本发明的范围。所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系統”。此外,在一些实施例中,本发明还可以实现为在ー个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意組合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以ー种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为ー个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。下面将參照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出ー种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行ー系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含ー个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。虽然已经详细说明了本发明的一个或多个实施例,但是本领域技术人员将会意识至IJ,可以针对那些实施例进行修改和适配而并不背离如以下权利要求所给出的本发明的范围。
权利要求
1.一种用于管理能够耦合至主机的虚拟带库(VTL)域的系统,包括: 多个VTL节点,其被配置为存储多个临时擦除卷并且能够耦合至所述主机,其中每个VTL节点包括: 处理器,其被配置为耦合至所述主机,其中每个处理器被配置为: 从所述主机接收用于卸除所述多个VTL节点之一中的卷的请求; 响应于接收到所述请求,而将所述卷转到临时类别; 擦除所述卷中所存储的数据并且将所述卷归类为临时 擦除卷;以及基于针对所述多个VTL节点的预定标准,向所述多个VTL节点中的ー个VTL节点提供所述临时擦除卷的所有权。
2.根据权利要求1的系统,其中每个处理器进一歩被配置为: 将每个VTL节点所拥有的临时擦除卷的数量与临时擦除卷的预定阈值数量相比较;以及 基于所述比较向所述VTL节点提供所述所有权。
3.根据权利要求2的系统,其中所述VTL节点拥有少于所述预定阈值数量的临时擦除卷。
4.根据权利要求3的系统,其中所述VTL节点相对于所述多个VTL节点中的其它VTL节点拥有最少数量的临时擦除卷。
5.根据权利要求2的系统,其中所述VTL节点相对于所述多个VTL节点中的其它VTL节点拥有最少数量的临时擦除卷。
6.根据权利要求1的系统,其中每个处理器进一歩被配置为: 确定所述主机请求使用所述多个VTL节点中的每个VTL节点中的临时擦除卷的频率; 确定每个VTL节点所拥有的临时擦除卷的数量关于所述频率的比率;以及 基于所述比率向所述VTL节点提供所述所有权。
7.根据权利要求6的系统,其中所述VTL节点关于所述比率拥有最少数量的临时擦除卷。
8.一种用于管理耦合至主机的虚拟带库(VTL)域的方法,所述VTL域包括多个VTL节点,每个VTL节点包括处理器并且被配置为存储多个临时擦除卷,所述方法包括: 由第一处理器从所述主机接收用于卸除所述多个VTL节点之一中的卷的请求; 响应于接收到所述请求,而将所述卷转到临时类别; 擦除所述卷中所存储的数据,并且将所述卷归类为临时擦除卷;以及基于针对所述多个VTL节点的预定标准向所述多个VTL节点中的ー个VTL节点提供所述临时擦除卷的所有权。
9.根据权利要求8的方法,其中提供所述卷的所有权包括: 将每个VTL节点所拥有的临时擦除卷的数量与临时擦除卷的预定阈值数量相比较;以及 基于所述比较向所述VTL节点提供所述所有权。
10.根据权利要求9的方法,其中所述VTL节点拥有少于所述预定阈值数量的临时擦除卷。
11.根据权利要求10的方法,其中所述VTL节点相对于所述多个VTL节点中的其它VTL节点拥有最少数量的临时擦除卷。
12.根据权利要求9的方法,其中所述VTL节点相对于所述多个VTL节点中的其它VTL节点拥有最少数量的临时擦除卷。
13.根据权利要求8的方法,其中提供所述卷的所有权包括: 由每个相应处理器确定主机请求使用它的VTL节点中的临时擦除卷的频率; 由每个相应处理器确定它的VTL节点所拥有的临时擦除卷的数量关于所述频率的比率;以及 基于所述比率向所述VTL节点提供所述所有权。
14.根据权利要求13 的方法,其中所述VTL节点关于所述比率拥有最少数量的临时擦除卷。
15.ー种物理计算机存储介质,其包括用于管理耦合至主机的虚拟带库(VTL)域的计算机程序产品方法,所述VTL域包括多个VTL节点,每个VTL节点包括处理器并且被配置为存储多个临时擦除卷,所述物理计算机存储介质包括: 用于从所述主机接收用于卸除所述多个VTL节点之一中的卷的请求的计算机代码; 用于响应于接收到所述请求,将所述卷转到临时类别的计算机代码; 用于擦除所述卷中所存储的数据并且将所述卷归类为临时擦除卷的计算机代码;以及 用于基于针对所述多个VTL节点的预定标准,向所述多个VTL节点中的ー个VTL节点提供所述临时擦除卷的所有权的计算机代码。
16.根据权利要求15的物理计算机存储介质,其中用于提供所述卷的所有权的计算机代码包括: 用于将每个VTL节点所拥有的临时擦除卷的数量与临时擦除卷的预定阈值数量相比较的计算机代码;以及 用于基于所述比较向所述VTL节点提供所述所有权的计算机代码。
17.根据权利要求16的物理计算机存储介质,其中所述VTL节点拥有少于所述预定阈值数量的临时擦除卷。
18.根据权利要求16的物理计算机存储介质,其中所述VTL节点相对于所述多个VTL节点中的其它VTL节点拥有最少数量的临时擦除卷。
19.根据权利要求15的物理计算机存储介质,其中用于提供所述卷的所有权的所述计算机代码包括: 用于确定所述主机请求使用所述多个VTL节点中的每个VTL节点中的临时擦除卷的频率的计算机代码; 用于确定每个VTL节点所拥有的临时擦除卷的数量关于所述频率的比率的计算机代码;以及 用于基于所述比率向所述VTL节点提供所述所有权的计算机代码。
20.根据权利要求19的物理计算机存储介质,其中所述VTL节点关于所述比率拥有最少数量的临时擦除卷。
全文摘要
提供了用于管理能够耦合至主机的虚拟带库(VTL)域的系统和方法。一种系统包括被配置为存储多个临时擦除卷的多个VTL节点。每个VTL节点包括被配置为执行以下方法的至少一部分的处理器。一种方法包括从主机接收卸除多个VTL节点之一中的卷的请求,并且响应于接收到该请求将该卷转到临时类别,擦除该卷中的数据并且将该卷归类为临时擦除卷,并且基于多个VTL节点的预定标准向多个VTL节点中的一个VTL节点提供临时擦除卷的所有权。还提供了一种包括用于执行以上方法的计算机代码的计算机存储介质。
文档编号G06F12/00GK103119567SQ20118004504
公开日2013年5月22日 申请日期2011年7月29日 优先权日2010年9月30日
发明者岩崎礼江, 香取胜喜, 三好浩之, 能田毅, 户坂英司 申请人:国际商业机器公司