CN1311326C - 通过虚拟包封在存储区域网络内实现存储虚拟化的方法和装置 - Google Patents
通过虚拟包封在存储区域网络内实现存储虚拟化的方法和装置 Download PDFInfo
- Publication number
- CN1311326C CN1311326C CNB028284461A CN02828446A CN1311326C CN 1311326 C CN1311326 C CN 1311326C CN B028284461 A CNB028284461 A CN B028284461A CN 02828446 A CN02828446 A CN 02828446A CN 1311326 C CN1311326 C CN 1311326C
- Authority
- CN
- China
- Prior art keywords
- virtual
- port
- network equipment
- message
- storage area
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
Abstract
本发明公开了用于在存储区域网络的网络设备上实现存储虚拟化的方法和装置。创建虚拟包封,使其具有一个或多个虚拟包封端口,并适于表示一个或多个存储虚拟单元。每个虚拟存储单元都表示存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置。虚拟包封的每个虚拟包封端口都与存储区域网络内的网络设备的端口相关联。然后向每个虚拟包封端口分配地址或标识符。
Description
技术领域
本发明涉及网络技术。更具体地说,本发明涉及支持存储区域网络内的存储虚拟化的方法和装置。
背景技术
近年来,存储设备的容量的增长速度未能赶上对存储的需求的增长。因此,一个给定的服务器或其他主机必须访问多个物理上不同的存储节点(一般是磁盘)。为了解决这些存储限制,开发了存储区域网络(SAN)。一般地说,存储区域网络是一种高速专用网络,其代表一个更大的用户网络而互连不同的数据存储设备和关联数据主机。然而,尽管SAN使得存储设备可被配置为供网络内的不同网络设备和/或实体使用,但是数据存储需求却经常是动态而非静态的。
图1A示出了一种示例性的传统存储区域网络。更具体地说,在存储区域网络102内,可以将一组主机(例如服务器或工作站)104、106、108耦合到存储设备(例如磁盘)池。按SCSI的话说,主机可被看作为“发起者”,而存储设备可看作为“目标”。例如,可通过一组存储阵列或磁盘阵列110、112、114来实现存储池。每个磁盘阵列110、112、114还对应于一组磁盘。在这一示例中,第一磁盘阵列110对应于磁盘116、118,第二磁盘阵列112对应于磁盘120,而第三磁盘阵列114对应于磁盘122、124。不是让所有主机104-108都可访问所有磁盘116-124,而是需要通过磁盘阵列110、112、114而对每个主机104-108实现存储(例如磁盘)的动态和不可见的分配。也就是说,可通过虚拟存储器(例如虚拟磁盘)的概念来分配物理存储器(例如物理磁盘)。这使得可将异构的发起者连接到分布式的异构目标组(存储池),其连接方式可实现存储的动态和透明分配。
虚拟存储器的概念传统上已被用于通过在物理存储器中的物理地址和虚拟存储器中的虚拟地址之间的翻译来实现物理存储器的虚拟化。近来,“虚拟化”的概念已通过各种机制而实现在存储区域网络中。虚拟化在存储网络上实现物理存储和虚拟存储的相互转换。主机(发起者)将虚拟磁盘视为目标。虚拟磁盘以已定义但具有一定灵活性的方式来表示可用的物理存储。虚拟化向主机提供了可用物理存储的一种表示,其不受限于存储的特定物理设置/分配。
一种早期技术即独立磁盘冗余阵列(RAID)提供了虚拟化的一些受限特征。已实现若干RAID子类型。在RAID1中,一个虚拟磁盘可对应于两个存储了相同数据(或支持相同数据的恢复)的物理磁盘116、118,从而可在存储区域网络内支持冗余。在RAID0中,单个虚拟磁盘分片在多个物理磁盘上。一些其他的虚拟化包括级联(concatenation)、备用(sparing)等等。虚拟化的一些方面近来已通过在存储区域网络内的各种位置内的虚拟化功能而实现了。三种这样的位置已获得一定程度的接受:主机(例如104-108)中的虚拟化、磁盘阵列或存储阵列(例如110-114)中的虚拟化以及独立于主机和存储池的存储用具126中的虚拟化。不幸地是,这些实现方案中的每一种都具有一些不期望的性能限制。
存储阵列中的虚拟化是如今所使用的最常见的存储虚拟化方案之一。通过这一方法,可以在特定存储子系统(例如磁盘阵列)的存储空间上创建多个虚拟卷。在存储子系统级上创建虚拟卷提供了主机独立性,这是因为存储池的虚拟化对主机来说是不可见的。另外,存储系统级的虚拟化可实现存储器访问的优化,因而可获得高性能。然而,这一虚拟化方案一般只可对同构存储环境实现统一的管理结构,甚至只具有有限的灵活度。而且,由于虚拟化是在存储子系统层级上执行的,因此在存储子系统级上设置的物理-虚拟限制被强加到存储区域网络中的所有主机上。而且,每个存储子系统(或磁盘阵列)是独立地进行管理。因此,存储级的虚拟化很少使得虚拟卷可跨越多个存储子系统(例如磁盘阵列),因此限制了基于存储的方法的可扩展性。
当在每个主机上实现虚拟化时,可以跨越多个存储子系统(例如磁盘阵列)。基于主机的方法具有一个额外的优点,即对一个主机的限制不影响存储区域网络中其他主机的运行。然而,主机级的虚拟化需要有一个运行在每个主机(例如服务器)上来实现虚拟化功能的软件层。因此,这一软件的运行影响了运行这一软件的主机的性能。这一方法的另一主要难点在于它将可用的存储提前划分给不同的主机。由于这一划分是在主机级上支持的,并且每个主机的虚拟化功能独立于存储区域网络内其他主机地执行,因此难于在各主机之间协调存储访问。因此,基于主机的方法不能提供足够程度的安全性。由于这一安全性限制,难于实现多种冗余方案例如RAID,这些冗余方案需要在读和写操作期间对存储器进行“锁定”。另外,当进行镜像时,主机必须多次复制数据,增加了其输入输出和CPU负载,并增加了SAN上的流量。
在位于主机和存储设备之间的存储区域网络用具中进行虚拟化,这可以解决基于主机和基于存储的方法中的一些难题。所述存储用具全局地管理物理存储到虚拟卷地映射和分配。一般地,存储用具管理一个中心表,该表提供物理到虚拟的当前映射。这样,基于存储用具的方法使得可在存储区域网络上实现同时独立于主机和存储子系统的虚拟卷,因而提供了更高程度的安全性。而且,这一方法支持跨越多个存储子系统的虚拟化。这一体系结构的许多实现的主要缺点在于每个主机的每次输入/输出(I/O)都要发送通过该存储区域网络用具,造成了明显的性能降低和存储区域网络瓶颈。这在支持诸如RAID等冗余方案的系统中尤其不利,因为数据必须被映射为跨越多个磁盘。在另一种基于存储用具的方法中,所述用具确保所有主机都接收到所述表的当前版本。因此,为了使得主机可从所述用具接收到该表,需要一种从该用具到主机的软件“垫片(shim)”,这增加了系统的复杂度。而且,由于所述软件层实现在主机上,也就出现了许多基于主机的方法的缺点。
考虑到上述内容,如果网络内各种存储设备或其一些部分可在逻辑上动态分配到各种设备和/或实体,这将是非常可取的。而且,如果可以实现这样一种机制来在SAN内支持存储虚拟化而又没有传统虚拟化方法的缺点,那将是很有益的。
发明内容
在此公开了用于在存储区域网络内实现存储虚拟化的方法和装置。这是通过使用一个或多个能被置于主机和存储设备之间的数据路径中的网络设备来实现的。结果,存储设备和主机都不需要额外的软件或硬件来支持存储虚拟化。因此,本发明优于基于主机的方法,后者要求每个主机都需要额外的软件来实现虚拟化功能。而且,本发明使得多个网络设备可同时管理各存储设备的虚拟化。重要的是,基于交换机的虚拟化可逐个端口地实现。交换机上任意数量的端口都可管理它自己的流量的虚拟化。这使得网络的虚拟化能力可随着端口数量而扩展。由于在任何网络系统中都存在大量端口,因此几乎总是会有足够的带宽来用于虚拟化。因此,可以实现存储虚拟化而又不出现传统虚拟化方案中的许多缺点。
根据本发明的一个方面,创建一种虚拟包封(virtual enclosure),其具有一个或多个虚拟包封端口,并适于表示一个或多个虚拟存储单元。也就是说,所述虚拟包封用来“包封”所选择的虚拟存储单元,这些单元可通过虚拟包封端口来访问。每个虚拟存储单元都表示存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置。另外,虚拟包封的每个虚拟包封端口都与存储区域网络内的网络设备的端口相关联。然后,将一个地址或标识符分配给每个虚拟包封端口。例如,所述地址或标识符可以是光纤信道标识符(FCID)。这样,指向虚拟包封端口(或其所分配的地址/标识符)的消息(例如分组或帧)可由与该虚拟包封端口相关联的端口来处理。
根据本发明的各个实施例,虚拟包封实现在光纤信道网络内部。因此,一个节点全球范围名称(Node World Wide Name,NWWN)与该虚拟包封相关联。另外,一个端口全球范围名称(Port World Wide Name,PWWN)与每个虚拟包封端口相关联。
根据本发明的另一个方面,指示存储区域网络内的网络设备的端口代表虚拟包封端口来处理消息。这可以两种方式实现。第一,可指示该端口将它自己“绑定”到该虚拟包封端口。也就是说,该端口起到虚拟包封端口的作用,并且所有指向该虚拟包封端口并且被该端口接收的消息都由该端口处理。第二,可指示所述端口起到“陷入端口(trapping port)”的作用。更具体地说,除了绑定到虚拟包封端口的端口之外,一个或多个其它端口也可处理它们所接收的指向所述虚拟包封端口的消息。陷入端口优选地是与主机直接相连的端口,因此可以跟踪它所接收的请求以及与这些请求相关联的响应。在多个端口之间代表单个虚拟包封端口进行的绑定和陷入优选地是在一个中心位置例如虚拟包封服务器处进行协调。
各种网络设备可被配置或改装成用于执行所公开的虚拟化处理。这些网络设备包括但不局限于服务器(例如主机)、路由器和交换机。而且,用于上述虚拟化处理的功能可用软件及硬件来实现。
本发明的另一个方面涉及包括机器可读介质的计算机程序产品,该介质上提供了程序指令来整体或部分地实现上述方法和技术。本发明的任何方法都可整体或局部地表示为可在这种机器可读介质上提供的程序指令。另外,本发明涉及在此描述的所生成和/或使用的数据的各种组合和/或设置。例如,具有在此描述的格式并在合适的介质上提供的分组或帧是本发明的一部分。
在下面对本发明的详细描述中,将结合下述附图描述本发明的这些以及其他特征。
附图说明
图1A的框图示出了能够实现现有虚拟化功能的若干实施例的示例性传统存储区域网络。
图1B的框图示出了可在其中实现本发明的若干实施例的示例性存储区域网络。
图2的框图示出了可根据本发明的若干实施例来实现的虚拟化模型。
图3A的框图示出了可在其中实现本发明的若干实施例的示例性虚拟化交换机。
图3B的框图示出了可在其中实现本发明的若干实施例的示例性标准交换机。
图4的事务流程图示出了对每个SCSI目标端口实现节点全球范围名称(NWWN)和端口全球范围名称(PWWN)的传统方法。
图5的框图示出了根据本发明一个实施例的示例性虚拟包封。
图6示出了一种示例性系统,其中通过根据本发明的若干实施例,将虚拟包封端口绑定到若干虚拟化端口,从而实现虚拟包封。
图7的处理流程图示出了根据本发明的若干实施例,创建虚拟包封的方法。
图8示出了根据本发明的若干实施例,可与虚拟包封端口相关联的传统光纤信道标识符(FCID)。
图9的事务流程图示出了根据本发明的若干实施例,协调虚拟化端口的虚拟包封绑定和陷入功能的一种方法。
图10示出了根据本发明的若干实施例,可由虚拟化端口维护的一个示例性表,该表表示由该虚拟化端口处理的FCID。
图11的事务流程图示出了根据本发明的若干实施例,在主机和一个或多个虚拟化端口(例如虚拟包封端口、陷入端口)之间建立通信,以使得该主机可访问一个或多个LUN的一种方法。
图12示出了一种示例性LUN映射表,该表可用于在图11的步骤1128处执行LUN映射。
图13示出了对应于图12的LUN映射表的虚拟包封。
具体实施方式
在下面的描述中,给出了大量具体细节以透彻地理解本发明。然而,对本领域内的技术人员来说很明显没有这些具体细节中的一些或全部也可实施本发明。在其他情形下,未详细示出一些公知处理步骤以免不必要地混淆本发明。
根据本发明的若干实施例,存储区域网络内的存储虚拟化可通过创建具有一个或多个虚拟包封端口的虚拟包封来实现。所述虚拟包封部分是通过一个或多个网络设备实现的,所述网络设备在此称为虚拟化交换机。更具体地说,虚拟化交换机(或更具体地说是虚拟化交换机内的虚拟化端口)可代表虚拟包封端口之一来处理消息如分组或帧。因此,本发明的实施例可被应用于指向虚拟包封端口的分组或帧,下面将更详细地描述。为了方便起见,下面的讨论将针对于帧来描述本发明的实施例。交换机对帧进行操作,并使用关于SAN的信息来进行交换决策。
注意,虚拟化交换机所接收和发送的帧具有对于标准协议例如以太网或光纤信道而指定的帧格式。因此,传统上用来生成这些帧的软件和硬件可与本发明一起使用。根据本发明,还采用了附加的硬件和/或软件来修改和/或生成与所述标准协议兼容的帧。本领域内的技术人员将会理解如何开发必需的硬件和软件来实现下述虚拟化。
很明显,所述合适的网络设备应该用合适的软件和/或硬件来配置,以执行虚拟化功能。当然,不是存储区域网络内的所有网络设备都需要配置有虚拟化功能。相反地,可选择一些交换机和/或端口进行虚拟化功能的配置,或将其改装成适于该功能。类似地,在各实施例中,可以通过选择不同模式来启用或禁止这一虚拟化功能。而且,将网络设备所选择的端口配置为能够执行虚拟化(或者是持续地,或者只是在处于启用虚拟化的状态中时)是所期望的。
存储区域网络内采用的标准协议(即用于使数据成帧的协议)一般(但非必然)与网络所携带的“流量类型”同义。如下所述,按照某些封装格式来定义流量类型。流量类型的例子一般是层2或对应的层格式,例如以太网、光纤信道和InfiniBand。
如上所述,存储区域网络(SAN)是一种代表一个更大的用户网络,互连具有关联网络主机(例如数据服务器或终端用户机器)的不同数据存储设备的高速专用网络。SAN由系统的物理配置所定义。也就是说,SAN中的这些设备必须在物理上互连。
在如图1B中所示的存储区域网络131内,可以实现多个存储设备132、134、136、138、140和142,它们可以是同构的(例如相同的设备类型、大小或配置)或异构的(例如不同的设备类型、大小或配置)。可响应于主机144和146发送的命令而从存储设备132-142的各个部分读数据或对之写数据。这些存储设备和主机之间的通信是通过将存储设备与主机耦合在一起而实现的,所述耦合通过一个或多个交换机、路由器或其他配置来执行交换功能的网络节点来实现。在这一示例中,交换机148、150和152通过交换机间链路154和156来相互通信。
如上所述,本发明涉及存储网络中的“虚拟化”。与现有方法不同,本发明中的虚拟化是通过创建并实现虚拟包封来实现的。这部分地是通过使用存储区域网络的交换机或其他“内部”网络节点来实现所述虚拟包封来完成的。而且,本发明的虚拟化一般是逐个端口地实现。也就是说,多端口虚拟化交换机将具有独立地实现在其一个或多个端口上的虚拟化。各端口具有若干专用逻辑,以用于处理该端口所处理的分组或帧的虚拟化功能。这使得虚拟化处理可随着端口数量而扩展,并且,与基于主机或基于存储的虚拟化方案相比,可提供多得多的带宽来用于虚拟化。在这些现有的方法中,主机和网络结构(network fabric)之间或存储节点和网络结构之间的连接数量是受限的——至少与网络结构中的端口数量相比是这样的。
在本发明的一个特定且优选的实施例中,虚拟化逻辑分别实现在给定交换机的各端口处——而非集中式地处理交换机的所有端口。这使得虚拟化处理能力可逐个端口地与交换机的准确需求紧密地匹配。如果对(服务于大量端口的)整个交换机采用中央处理器,则该处理器必须被设计/选择来处理所有端口处的最大流量。对于许多应用而言,这意味着极高的处理需求和非常巨大/昂贵的处理器。如果该中央处理器太小,则交换机将经常不能跟上网络的交换/虚拟化需求。
虚拟化可采用许多形式。一般地,它可被定义为对存储网络上的物理存储和虚拟存储进行相互关联的逻辑或过程。主机可以获得可用物理存储的一种表示,其不受限于该存储设备所固有的物理设置或分配。被虚拟化所克服的物理限制的一个示例包括构成性物理存储块的大小和位置。例如,小型计算机系统接口(SCSI)标准所定义的逻辑单元具有精确的物理大小(例如36Gb和72GB)。虚拟化以比物理逻辑单元的规定大小更小或更大的虚拟逻辑单元来表示存储。而且,虚拟化可以提供一种虚拟逻辑单元,其包括来自两个或更多不同物理逻辑单元的区域,它们有时是来自不同供应商的设备。优选地,虚拟化操作至少对一些网络实体(例如主机)是透明的。
按照一些通常意义,存储区域网络上的虚拟化与典型计算机系统的虚拟存储器类似。然而,网络上的虚拟化产生了大得多的复杂度并带来了大得多的灵活性。所述复杂度直接来源于下述事实,即存在多个分别互连的网络节点。虚拟化必须跨越这些节点。所述节点包括主机、存储子系统和交换机(或相当的网络流量控制设备例如路由器)。所述主机和/或存储子系统经常是异构的,由不同供应商提供。供应商可能采用了截然不同的协议(标准协议或专有协议)。因此,在许多情形下,虚拟化提供了将异构的发起者(例如主机或服务器)连接到分布式的异构目标(存储子系统)组的能力,实现了动态且透明的存储分配。
网络专用的虚拟化操作的例子包括下述操作:RAID 0到RAID 5、来自物理存储器的两个或更多不同逻辑单元的存储器的级联、备用(失效物理介质的自替换)、物理存储器的远程镜像、信息(例如错误和/或统计)写日志、多个物理存储器系统间的负载平衡、条带化(例如RAID 0)、安全性措施例如用于访问物理存储器的访问控制算法、虚拟存储器块的大小重新设置、使得任意逻辑单元(LUN)可作为引导设备的LUN映射、物理存储器的备份(时间点(point in time)拷贝)等等。这些仅仅是虚拟化功能的示例。本发明并不限制于这一全集或其任何特定子集。
在此的一些讨论中,本发明的虚拟化交换机的功能是按照SCSI协议来描述的。这是因为许多商用存储区域网络运行SCSI协议来访问存储站点。存储区域网络经常采用光纤信道(FC-PH(ANSI X3.230-1994,光纤信道-物理和信令接口)作为更低层的协议,并在光纤信道之上运行IP和SCSI。注意,本发明并不局限于这些协议中的任何一个。例如,可用以太网、InfiniBand等来替换光纤信道。而且,更高层的协议不一定包括SCSI。例如,这可包括FC上的SCSI、iSCSI(IP上的SCSI)、并行SCSI(并行缆线上的SCSI)、串行SCSI(串行缆线上的SCSI)以及SCSI的所有其他变体。
由于SCSI非常普遍地使用在存储区域网络中,因此在此使用的许多术语都是SCSI术语。使用SCSI术语(例如“发起者”和“目标”)并不意味着所描述的过程或装置必须采用SCSI。在做进一步描述之前,有必要对这一讨论中将要使用的若干SCSI术语进行解释。首先,“发起者”是请求另一个设备执行一项操作的设备(通常是主机系统)。一般地,在本文献的上下文中,主机发起者将请求对虚拟或物理存储器的一个区域进行读或写操作。其次,“目标”是执行发起者所请求的操作的设备。例如,目标物理存储器磁盘将获得或写下主机发起者一开始所请求的数据。注意,尽管主机发起者可提供对具有虚拟地址的“虚拟”目标进行读或对之写的指令,但是本发明的虚拟化交换机在对该目标发出指令前必须首先将这些指令转换成物理目标地址。
目标可被划分成物理或虚拟“逻辑单元”。这些是通过该目标可以寻址的特定设备。例如,物理存储子系统可被组织为具有多个不同逻辑单元。在本文献中,主机将虚拟存储器视为不同的虚拟逻辑单元。在此有时将逻辑单元称为“LUN”。在SCSI标准中,LUN表示逻辑单元号。但在通常的术语中,LUN也表示逻辑单元本身。
虚拟化的中心概念是“虚拟化模型”。这是存储子系统(例如磁盘阵列)上提供的物理存储借以与网络上的主机或其他发起者所看到的虚拟存储建立关系的方式。尽管所述关系可以具有许多形式,也可由不同术语给出其特征,但在此将使用基于SCSI的术语,如上所述。因此,存储区域网络的物理侧将被描述为物理LUN。反过来,主机侧可看到一个或多个作为物理LUN的虚拟表示的虚拟LUN。物理LUN到虚拟LUN的映射逻辑上可能发生在一个、两个或更多的层级上。最后,存在一种可由本发明的交换机使用来在物理LUN地址和虚拟LUN地址之间进行相互转换的映射功能。
图2的框图示出了根据本发明的若干实施例,可在存储区域网络内实现的虚拟化模型的一个示例。如图所示,存储区域网络的物理存储由一个或多个物理LUN构成,在此示出为物理磁盘202。每个物理LUN是能够包含存储成一个或多个连续块的数据,所述块可分别被直接访问。例如,物理LUN内的存储器的每个块可被表示为块204,可称为磁盘单元(DUnit)。
通过映射功能206,可以将与物理LUN 202相关联的物理LUN地址转换成虚拟LUN地址,反之亦然。更具体地说,如上所述,所述虚拟化以及映射功能可在一个或多个层级上发生。例如,如图所示,在第一虚拟化层级处,一个或多个虚拟LUN 208中的每一个都表示一个或多个物理LUN 202或其一些部分。一起构成单个虚拟LUN 208的物理LUN 202不一定是连续的。类似地,被映射为虚拟LUN 208的物理LUN 202不一定位于单个目标内。因此,通过虚拟化,可创建表示位于物理上不同的目标内的物理存储器的虚拟LUN 208,这些目标可来自不同的供应商,因此,可支持不同协议和流量类型。
尽管可用单个层级来实现所述虚拟化模型,但是本发明的不同实施例也可支持具有任意数量的层级的层次设置。例如,如图所示,图2的虚拟模型内的第二虚拟化层级称为高级VLUN或卷210。一般地,发起者设备在访问数据时只“看到”VLUN 210。根据本发明的若干实施例,多个VLUN被“包封”在一个虚拟包封内,以使得只有该虚拟包封可被发起者“看到”。也就是说,虚拟包封所包封的VLUN对发起者来说是不可见的。
在这一示例中,VLUN 210被实现为虚拟LUN 208的“逻辑”RAID阵列。而且,还可以例如通过使用条带化和/或镜像来进一步实现这一虚拟化层级。另外需要注意,不必指定虚拟化层级的数量来支持映射功能206。相反地,可以例如通过递归映射功能来实现任意数量的层级的虚拟化。例如,不同层级的节点可被构建或维护在树型数据结构、链接表或其他可被遍历的合适的数据结构中。
因此,每个发起者可通过位于该层次虚拟化模型的任意层级中的节点来访问物理LUN。实现在给定存储区域网络内的层次模型的给定虚拟化层级内的节点对于一个被许可的发起者组(未示出)来说既可见又可访问。然而,根据本发明的若干实施例,这些节点包封在虚拟包封中,因此对于被许可的发起者组来说不再可见。在可对特定虚拟化层级内的节点(例如VLUN)执行某些功能(例如读、写)之前,需要创建所述节点。这例如可通过特定发起者的主引导记录来实现。另外,可针对特定虚拟化层级内的特定节点(例如VLUN),向不同发起者分配读和/或写特权。按照这种方式,特定虚拟化层级内的节点可被所选择的发起者访问。
如上所述,存储区域网络内的各交换机可以是支持虚拟化功能的虚拟化交换机。图3A的框图示出了可在其中实现本发明的若干实施例的示例性虚拟化交换机。如图所示,智能虚拟化端口通过双向连接器302接收数据或消息。另外,虚拟化端口适于代表虚拟包封端口来处理消息,下面将更详细地描述。与进入端口相关联,提供了介质访问控制(MAC)模块304,其使得可接收各种协议例如以太网或光纤信道的帧。另外,虚拟化拦截交换机306确定一个进入分组中指定的地址是否与对某个虚拟存储单元的虚拟存储位置的访问有关,该虚拟存储单元表示存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置。例如,所述虚拟存储单元可以是包封在虚拟包封内的虚拟存储单元(例如VLUN)。
当虚拟化拦截交换机306确定进入帧中指定的地址涉及对虚拟存储位置而非物理存储位置的访问时,该帧由能够执行上述映射功能的虚拟化处理器308处理。更具体地说,虚拟化处理器308获得一个或多个物理存储位置和虚拟存储位置之间的虚拟-物理映射。按照这种方式,虚拟化处理器308可查找物理或虚拟地址,视情况而定。例如,可能需要执行从物理地址到虚拟地址的映射,或者需要执行从虚拟地址到一个或多个物理地址的映射。
获得虚拟-物理映射后,虚拟化处理器308然后可利用所获得的映射来生成新的帧或修改现有的帧,从而可将该帧发送到所述虚拟-物理映射指定的发起者或目标。映射功能还可指定该帧需要被复制多次,例如在镜像写的情况下。更具体地说,视情况而定地修改源地址和/或目的地地址。例如,对于来自目标的数据,虚拟化处理器将最初是物理LUN地址的源地址替换为对应的虚拟LUN和地址。在目的地地址中,端口将它自己的地址替换为发起者的地址。对于来自发起者的数据,端口将源地址从发起者的地址改变为该端口自己的地址。它还将目的地地址从虚拟LUN/地址改变为对应的物理LUN/地址。所述新的或已修改的帧然后可被提供给虚拟化拦截交换机306,以使该帧可被发送到其预期目的地。
当虚拟化处理器308获得并应用所述虚拟-物理映射时,所述帧或关联数据可存储在临时存储器位置(例如缓冲区)310中。另外,可能需要或希望存储正被发送或接收的数据,直到已确认所预期的读或写操作已成功完成。例如,可能希望将大量数据写到虚拟LUN,所述数据必须以多个帧的形式被分别发送。因此,可能希望对该数据进行临时缓冲,直到接收到该数据的接收确认。作为另一个例子,可能希望从虚拟LUN读大量数据,所述数据必须以多个帧的形式被分别接收。而且,接收这一数据的顺序可能与该数据应被传送到读命令的发起者的顺序不一致。在此情形下,在将数据发送到发起者之前对之进行缓冲可能是有益的,以使数据在发送之前可被重新排序。类似地,可能希望在必须验证已被发送到发起者(或目标)的数据的完整性时,对数据进行缓冲。
所述新的或已修改的帧然后由转发引擎312接收,转发引擎312从该帧的各个字段获得信息,例如源地址和目的地地址。转发引擎312然后访问转发表314,以确定所述源地址是否可访问所指定的目的地地址。更具体地说,转发表314可包括物理LUN地址以及虚拟LUN地址。转发引擎312还确定交换机的合适端口以通过其发送该帧,并为该帧生成合适的路由标签。
将帧进行合适的格式化以用于发送之后,在发送之前由缓冲队列模块316接收该帧。不是将帧在接收时就进行发送,而是可能希望将帧临时存储在缓冲区或队列318中。例如,可能希望基于服务质量而将分组临时存储在一组队列中的一个队列中,其中每个队列都对应于不同的优先级。然后通过交换结构320将帧发送到合适的端口。如图所示,外发端口具有它自己的MAC模块322和双向连接器324,通过它们发送帧。
如上所述,不是存储区域网络中的所有交换机都必须是虚拟化交换机。也就是说,交换机可以是标准交换机,其中任意端口都未实现“智能的”虚拟化功能。图3B的框图示出了其中可实现本发明的若干实施例的示例性标准交换机。如图所示,标准端口326具有MAC模块304。然而,未实现诸如图3所示的虚拟化拦截交换机和虚拟化处理器。在进入端口处接收的帧只是由转发引擎312和它的关联转发表314进行处理。在发送之前,可将帧排队316在缓冲区或队列318中。然后通过交换结构320将帧转发到外发端口。如图所示,外发端口也具有关联MAC模块322和双向连接器324。当然,每个端口都可支持多种协议。例如,外发端口可以是也支持虚拟化的iSCSI端口(即支持以太网上的基于IP的SCSI的端口),还可以是并行SCSI和串行SCSI。
虽然上面参考图3A和3B所述的网络设备被描述为交换机,但是这些网络设备仅仅是示例性的。因此,也可实现其他网络设备例如路由器来接收、处理、修改和/或生成具有如上所述功能的分组或帧以在存储区域网络中进行传输。而且,上述网络设备仅仅是示例性的,因此也可实现其他类型的网络设备来执行所公开的虚拟化功能。
一般地,SCSI目标可由SCSI发起者(例如主机)直接访问。也就是说,SCSI目标例如PLUN对正在访问这些SCSI目标的主机来说是可见的。类似地,即使实现了VLUN,VLUN对SCSI发起者来说也是可见且可访问的。因此,每个主机一般都必须识别对它来说可用的SCSI。更具体地说,主机一般确定哪些SCSI目标端口对它来说是可用的。主机然后向这些SCSI端口中的每一个询问,想了解通过这些SCSI目标端口可使用哪些VLUN。
在光纤信道网络内,所有的光纤信道设备都具有全球范围名称(WWN)。更具体地说,节点WWN(NWWN)是连接到特定端口的节点的WWN。也就是说,NWWN是连接到交换机端口的系统、存储设备或子系统的WWN。在节点WWN之外,端口WWN(PWWN)用作为特定端口的给定名称。特定交换机端口的光纤信道网络ID(FCID)用于表示端口的物理位置。每个光纤信道设备可具有多个端口,每个端口都唯一地由一个NWWN和PWWN标识。
不幸地是,传统的光纤信道WWN术语的应用存在若干相关联的缺点。例如,必须为光纤信道设备的每个端口都分配NWWN和PWWN。然而,可能不希望使得每个端口的NWWN和PWWN对于发起者例如主机来说都是可见的。而且,可用端口的数量被限制为特定存储设备、子系统或交换机内的端口的数量。类似地,存储设备、子系统或交换机可具有比特定存储虚拟化方案中所需的端口数量多得多的端口。然而,虚拟化端口的实现是很昂贵的,因此不希望“浪费”这些智能端口。因此,根据本发明,虚拟化端口的使用可以是按需进行。也就是说,可选择端口用于实现一个或多个虚拟包封,这是通过将这些端口绑定到虚拟包封端口或通过将中心端口实现为陷入端口来完成的。结果,生产起来最为昂贵的那些端口可得到最大程度的使用。
在本发明的一个实施例中,网络例如光纤信道网络中的虚拟化的实现不受限于存储子系统中可访问端口的数量。而且,SAN内的端口可按需选择及分配,以用于特定存储虚拟化方案。下面将更详细地描述本发明的若干实施例。
为了理解本发明是如何应用到光纤信道网络中的,图示出WWN术语在光纤信道网络中的传统应用是有帮助的。图4的事务流程图示出了为每个SCSI目标端口实现节点全球范围名称(NWWN)和端口全球范围名称(PWWN)的传统方法。如图所示,主机402、交换机404、域名系统(DNS)服务器406和SCSI目标端口408之间的交互通过被标签的对应垂直线所表示出来。如图所示,为了是光纤信道节点例如主机402可建立到结构交换机404的逻辑连接,主机402执行结构登录(FLOGI)410。与使用固定介质访问控制(MAC)地址的许多LAN技术不同,光纤信道使用称为FCID的地址标识符,该标识符可在登录期间动态分配。这样,在412处,交换机404向主机402提供一个FCID。一旦向主机分配了主机FCID,主机就可在方框414通过SCSI REPORT命令向DNS服务器406进行DNS查询,该命令请求确定SCSI目标是否可用。更具体地说,所述DNS查询确定对主机FCID可见的那些SCSI目标。在416,DNS服务器406然后将SCSI目标端口的FCID提供给主机402。
在主机获得对它可用的那些SCSI目标端口的FCID之后,在418,它向(由其FCID标识出的)可用的SCSI目标端口之一发送光纤信道处理逻辑命令。这一处理逻辑实现了一个映射层,将光纤信道“映射”到SCSI。完成后,SCSI目标端口408在420发送光纤信道接受消息。由于光纤信道被映射到SCSI,因此主机可以发送SCSI命令到SCSI目标。
由于主机402可以发送SCSI命令到SCSI目标端口408,因此它在422可以通过将SCSI处理登录命令发送到SCSI目标端口408来执行SCSI处理登录。SCSI目标端口408然后发送SCSI接受命令424。由此可在主机和SCSI目标之间建立经由SCSI协议进行的通信。例如,主机可以确定哪些LUN对它可用,并对它可用的LUN进行读和写。
由于主机402知道了哪些SCSI目标端口对它可用,并可与这些端口中的每一个进行通信,因此它可以在426发送SCSI REPORT LUN命令到SCSI目标端口408,以确定对所述主机FCID可见的那些LUN。SCSI目标端口408在428确定哪些LUN对该主机FCID是可见的,并发送一个LUN(例如PLUN或VLUN)列表。然后在430,主机402可通过SCSI目标端口408向特定PLUN或VLUN发送SCSI读和写命令。
根据本发明的若干实施例,通过创建“虚拟包封”而在存储区域网络中实现了存储虚拟化。图5的框图示出了根据本发明一个实施例的示例性虚拟包封。虚拟包封502是一个适于“包封”或代表一个或多个虚拟存储单元的虚拟实体。例如,所述虚拟存储单元中的一个或多个中的每一个都可包括SAN上的VLUN或其他虚拟存储表示。如上所述,每个虚拟存储单元都表示存储区域网络的一个或多个物理存储单元504上的一个或多个物理存储位置。通过创建虚拟包封,可以按需实现上述各种虚拟化端口以支持特定存储区域网络内的虚拟化。更具体地说,所述虚拟包封具有一个或多个“虚拟包封端口”,其中每一个虚拟包封端口都与该存储区域网络内的网络设备的一个端口(例如虚拟化端口)相关联。例如,可静态或动态地指示网络设备的端口去处理发送到虚拟包封端口的消息。还将一个地址或标识符分配到每个虚拟包封端口。这样,发送到虚拟包封端口的消息(例如分组或帧)可通过这一地址或标识符来标识,从而使得一个端口可代表特定的虚拟包封端口来拦截并处理消息。例如,可将一个FCID分配到光纤信道网络中使用的每个虚拟包封端口,或与诸如SAN之类的网络内的各种光纤信道设备一起使用。按照这种方式,可以创建虚拟包封来表示一个或多个虚拟存储单元。
在SAN内,可以创建不同的虚拟SAN(VSAN)。在单个存储区域网络内实现虚拟存储区域网络(VSAN)的一种方法已参考美国专利申请No.___(律师案卷号No.ANDIP001)进行了更详细的描述,该申请的名称为“Methods and Apparatus for Encapsulating a Frame forTransmission in a Storage Area Network”,由Edsall等人与2001年12月26日递交,该申请通过引用而包含于此以用于各种目的。也就是说,可能希望或必须将物理存储单元分布在不同的VSAN之间。因此,当虚拟包封端口被绑定到虚拟化端口时,这些所选择的虚拟化端口可被分布在多个VSAN之间。
每个虚拟包封可具有任意数量的虚拟包封端口。也就是说,希望使得虚拟包封端口的数量是可以选择的。例如,负责创建并维护虚拟包封定义的系统管理员可选择适当数量的虚拟包封端口。应注意,虚拟包封内的虚拟包封端口的数量并不受限于存储区域网络内特定网络设备内的端口数量。更具体地说,每个虚拟包封端口与存储区域网络内的网络设备的一个端口相关联。也就是说,单个虚拟包封的虚拟包封端口可同时与存储区域网络内多个不同网络设备而非单个设备的端口(例如虚拟化端口)相关联。另外,网络设备的单个端口例如虚拟化端口可同时与多个虚拟包封端口相关联或绑定到所述虚拟包封端口。因此,可用于虚拟存储单元的虚拟化的端口的数量几乎没有限制。
如上所述,将一个地址或标识符分配到每个虚拟包封端口。理论上,这一地址或标识符可以是之前已被分配到存储区域网络某个端口的地址或标识符,所述某个端口之后与该虚拟包封端口相关联。然而,由于单个虚拟化端口可绑定到多个虚拟包封端口,因此之前分配给所述端口(例如虚拟化端口)的地址或标识符将不再唯一地标识虚拟包封端口。因此,将所述地址或标识符分配到虚拟包封端口以唯一地表示该虚拟包封端口。此时,将所述地址或标识符提供给与该虚拟包封端口相关联的虚拟化端口。根据一个实施例,所述虚拟包封使用在光纤信道网络中,因此每个光纤信道设备都具有NWWN。根据本发明的各个实施例来利用这一术语,以实现虚拟包封。因此,NWWN和PWWN一起可用作唯一地表示虚拟包封端口的地址或标识符。更具体地说,NWWN与虚拟包封相关联。另外,将PWWN分配到每个虚拟包封端口。NWWN和PWWN一起标识虚拟包封端口,直到它被分配了一个地址或标识符例如FCID。
创建虚拟包封之后,可将一个或多个虚拟存储单元分配到该虚拟包封。如上所述,每个虚拟存储单元都可以是VLUN或存储区域网络上的其他虚拟存储表示。按照这种方式,虚拟包封“包封”了所述虚拟存储单元,从而需要主机通过虚拟包封来访问这些虚拟存储单元。按照这种方式,可将VLUN对于主机“隐藏”起来。也就是说,通过访问PWWN,主机仅可访问虚拟包封而不能访问具体设备或VLUN。更具体地说,VLUN看起来像位于一组虚拟包封端口之后的逻辑单元。这样,用于创建VLUN的PLUN对主机隐藏起来。
如上所述,可用适于实现虚拟化功能的虚拟化交换机以及标准交换机来实现存储区域网络。每个虚拟化交换机都可包括一个或多个“智能”虚拟化端口以及一个或多个标准端口。图6示出了根据本发明若干实施例的一个示例性系统,在其中可通过将虚拟包封端口绑定到若干虚拟化端口来实现虚拟包封。如图所示,虚拟包封602“包封”了两个虚拟存储单元VLUN1 604和VLUN2 606。在这一示例中,虚拟包封602具有3个虚拟包封端口:VE1 608、VE2 610和VE3 612。另外,还示出了存储区域网络内的4个网络设备。更具体地说,示出了4个虚拟化交换机614、616、618和620。每个虚拟化交换机都具有一个或多个虚拟化端口,如上参考图3A所述。然而,为了简化图示,每个虚拟化交换机都被示出为具有单个虚拟化端口,分别标记为v1、v2、v3和v4。每个虚拟化端口都具有关联PWWN(未示出)。交换机之间的通信可通过两个交换机(或两个端口)之间的交换机间链路来完成。
可唯一地表示每个虚拟包封端口。更具体地说,在光纤信道网络内,虚拟包封602由NWWN 621所标识。另外,一旦每个虚拟包封端口与虚拟化端口相关联之后,虚拟包封端口VE1 608、VE2 610和VE3 612中的每一个就都可由PWWN以及其FCID来进一步标识,分别标记为PWWN1622、PWWN2 624和PWWN3 626。更具体地说,虚拟包封端口可通过NWWN和PWWN来标识,直到向虚拟包封端口分配了FCID。下面将参考图8来更详细地描述FCID。如图所示,所分配的FCID还标识了与对应的虚拟包封端口相关联的虚拟化交换机。这是因为在光纤信道中,交换机被视为“域”。因此,该交换机中的任意端口的FCID的第一个字节都与域ID相同。例如,分配给第一虚拟包封端口VE1 608的FCID的第一个字节标识了虚拟化交换机616,示出为交换机50,而分配给第三虚拟包封端口VE3 612的FCID的第一个字节标识了虚拟化交换机618,示出为交换机45。
虚拟包封例如虚拟包封602的创建还可由网络设备例如虚拟包封服务器627来执行。例如,可由系统管理员来创建虚拟包封602。创建后,可将各种VLUN例如VLUN 604和606分配给虚拟包封602。需要的话,可随后将这一分配修改为包括其他VLUN,从该虚拟包封内删除VLUN,或修改VLUN到虚拟包封602的分配。在创建、修改和维护虚拟包封之外,虚拟包封服务器627还可以向虚拟化交换机的虚拟化端口通知它们与对应的虚拟包封端口之间的关联。按照这种方式,可向虚拟化端口通知它们的以下职责,即拦截并处理指向那些对应虚拟包封端口的分组(或帧)。
一旦已创建虚拟包封,一个或多个主机628、630就可通过虚拟包封602访问存储区域网络内的数据。更具体地说,主机628、630可访问与虚拟存储单元(在此示出为VLUN1 604和虚拟包封602)相对应的各个物理存储设备(称为物理存储单元)。例如,主机可通过向虚拟包封所包封的VLUN内(并且通过虚拟包封端口而可由该主机获得)的虚拟地址发送分组、帧或消息,从存储区域网络内的各个PLUN 632、634、636、638读数据或对之写数据。
如上所述,可创建虚拟包封以在各种网络环境下使用。图7的处理流程图示出了根据本发明的若干实施例来创建虚拟包封的方法。在这一示例中,该虚拟包封用在光纤信道网络中。因此,如在方框702所示,将一个NWWN与虚拟包封相关联。另外,在方框704选择虚拟包封的虚拟包封端口的数量。这些虚拟包封端口中的每一个都可由PWWN来标识,直到在方框706将它们绑定到虚拟化端口,并在方框708分配FCID。生成虚拟包封之后,在710将一个或多个VLUN分配到虚拟包封。这样,当主机在方框712登录到SAN中时,该主机可以发出SCSI读和写命令,以通过虚拟包封来访问物理存储单元。
在光纤信道网络内,每个SCSI目标设备都被分配了NWWN。而且,每个SCSI目标端口都被分配了PWWN。另外,光纤信道标识符(FCID)标识了每个SCSI目标端口的物理位置,因此与PWWN相关联。图8示出了根据本发明的若干实施例,可与虚拟包封端口相关联的传统FCID。FCID是一个3字节地址标识符,标识出交换机802例如虚拟化交换机、网络内的区域804以及交换机802的端口806例如虚拟化端口。
如上所述,为了创建虚拟包封,将每个虚拟包封端口“绑定”到虚拟化端口。根据本发明的若干实施例,由独立的网络设备来协调将虚拟包封端口绑定到虚拟化端口的工作。例如,这一网络设备可以是负责生成虚拟包封的虚拟包封服务器。也就是说,虚拟包封服务器对被绑定到虚拟包封端口、并因此应处理指向该虚拟包封端口的(由该虚拟化端口所接收的)所有消息的虚拟化端口进行指示。
除了将单个虚拟化端口绑定到虚拟包封端口之外,可能还希望使得另外的端口可“陷入”指向该虚拟包封端口的消息。例如,接收指向虚拟包封端口的虚拟化端口可比“绑定”到该虚拟包封端口的虚拟化端口离主机更近,因此能够提供更及时、有效的服务。另外,可能不希望将所有的消息都路由到被绑定到虚拟包封端口的单个虚拟化端口,因为这可能对有限数量的端口产生过重的负载,从而导致低效的服务。因此,根据本发明的若干实施例,虚拟包封服务器指示各个虚拟化端口“陷入”指向一个或多个虚拟包封端口的消息。按照这种方式,就可以利用SAN内其他虚拟化端口处理消息的能力。因此,即使在虚拟化端口未绑定到虚拟包封端口时,虚拟化端口也可对虚拟包封进行服务。
“陷入”虚拟化端口优选地是SAN中的“外部”节点而非内部节点。也就是说,虚拟化端口应直接连接到主机,而非通过一个或多个其他端口(例如标准或虚拟化端口)间接地连接。这一直接连接尤其重要,因为内部节点可从主机接收消息或请求,但是该内部节点可能不接收来自该目标、指向该主机的消息,因为不能确保有相同的返回路径。因此,虚拟化端口将不能完成这一“通信回路”,因此就无法得知主机请求是否已得到了服务。
图9中示出了一种方法,用于根据本发明的若干实施例,协调虚拟化端口的虚拟包封绑定和陷入功能。虚拟包封服务器处执行的步骤由垂直线902表示,而在虚拟化端口1-3处执行的步骤分别由垂直线904、906和908表示。DNS服务器和关联交换机分别由垂直线912和910表示。DNS服务器912经常包括在交换机910内。虚拟包封服务器902可向SAN内的各端口发送各种虚拟化消息,以实现SAN内的存储虚拟化。例如,如上所述,虚拟化消息可以是绑定消息或陷入消息,其标识了虚拟包封端口的PWWN。绑定消息和陷入消息之间的基本区别在于绑定消息表明FCID将动态地分配给虚拟包封端口,而陷入消息表明将获得之前已分配给另一个虚拟包封端口的FCID,以使得指向该FCID的消息可由接收端口陷入。如在914所示,虚拟包封服务器发送绑定消息914,指示第一虚拟化端口(虚拟化端口1 904)处理指向第一虚拟包封端口VEP1的所有消息,这些消息由虚拟化端口1 904接收。每个虚拟包封端口例如VEP1都由其PWWN唯一地标识。虚拟化消息例如绑定或陷入消息还可进一步表明接收虚拟化端口将获得分配到该虚拟包封端口的地址或标识符。例如,虚拟化消息可表明将从DNS服务器获得所述地址或标识符,其可以是已指定或未指定的。
接收到绑定消息后,虚拟化端口1 904在916将FLOGI消息发送到交换机910,以建立与交换机910的连接。如上所述,在登录期间动态地分配FCID。因此,交换机910向第一虚拟化端口VEP1分配了一个FCID即FCID1,其在918被提供给DNS服务器912,服务器912然后将虚拟包封端口1 VEP1与该FCID即FCID1相关联。交换机910然后在920发送“接受(ACCEPT)”消息,表明FCID1现在已由DNS服务器912与第一虚拟包封端口VEP1相关联。另外,如图所示,该“接受”消息还向虚拟化端口904提供已被分配的FCID。虚拟化端口跟踪这些虚拟包封端口,该虚拟化端口已与这些虚拟包封端口相互绑定,并负责为这些虚拟包封端口陷入消息。为了维护这一虚拟包封端口信息,虚拟化端口然后将所述FCID即FCID1存储在例如下面参考图10所述的虚拟化端口表中。还在922执行DNS REGISTRY(DNS注册),以将VEP1理解SCSI协议这一情况通知给DNS服务器912。DNS服务器然后在914发送“接受”消息。然后在926从虚拟化端口向虚拟包封服务器发送虚拟化响应,表明虚拟化端口现在已被配置为处理指向虚拟包封的虚拟包封端口的消息。在这一示例中,所述虚拟化响应表明虚拟化端口现在已绑定到虚拟包封端口。另外,分配到虚拟包封端口VEP1的FCID也可被提供给虚拟包封服务器,以使得虚拟包封服务器可将FCID分配给虚拟包封端口。更具体地说,可以在虚拟化响应中提供FCID。按照这种方式,虚拟包封服务器就获得了它可使用的SCSI目标端口的FCID。
在将虚拟包封端口绑定到SAN内的虚拟化端口之外,虚拟包封服务器902还可通过SAN内地其他虚拟化端口来建立陷入,如上所述。例如,如图所示,在928,发送陷入消息,表明虚拟化端口2 906将处理指向分配到特定虚拟包封端口的地址或标识符的消息。由于虚拟包封服务器902已获得了分配到该虚拟包封端口VEP1的FCID,因此可以在陷入消息中提供该FCID。或者,可以从DNS服务器获得该FCID,这将在此示例中进行描述。在这一示例中,指示虚拟化端口906处理指向所指定的虚拟包封端口(例如VEP1)消息,这些消息由虚拟化端口906接收。也就是说,指示虚拟化端口906处理指向分配到该虚拟包封端口的地址或标识符的消息。类似地,在930发送第二陷入消息到虚拟化端口3 908,表明该虚拟化端口将处理指向第一虚拟包封端口的消息。
当虚拟化端口2 906在928接收到陷入消息时,该虚拟化端口在932发送GET_FCID消息到DNS服务器912,以获得分配到第一虚拟包封端口VEP1的地址或标识符。它在934接收到所述地址或标识符之后,在936存储该地址或标识符。更具体地说,它可更新以下图10中所述的表。所述虚拟化端口然后在938向主机发送虚拟化响应,以响应所述虚拟化消息。例如,所述虚拟化响应可表明所述虚拟化端口已成功(或不成功)地被配置来处理指向所述虚拟包封端口的消息。所述虚拟化端口现在可以陷入它所接收的、指向所述虚拟包封端口的消息,如在940所示。
类似地,当虚拟化端口3 908在930接收到陷入消息时,该虚拟化端口在942将GET_FCID消息发送到DNS服务器912,以获得分配给第一虚拟包封端口VEP1的地址或标识符。它在944接收到该地址或标识符之后,在946存储该地址或标识符。该虚拟化端口在948发送虚拟化响应,表明所述虚拟化端口已成功(或不成功)地被配置为陷入端口,并在950开始陷入指向该虚拟化端口的消息。
如上所述,SAN内的端口例如虚拟化端口可被配置为代表多个虚拟包封端口来处理消息。更具体地说,单个虚拟化端口可被绑定到多个虚拟包封端口,并可被配置为用于多个虚拟包封端口的陷入端口。图10示出了根据本发明若干实施例的一个示例性的表,其可由虚拟化端口维护,表明将由该虚拟化端口处理的FCID。如图所示,虚拟化端口表1000可由虚拟化端口维护,以跟踪与之绑定或被配置来为之陷入消息的那些虚拟包封端口1002。对于每个虚拟包封端口1002,它维护相关联的FCID。按照这种方式,虚拟化端口可标识出它所负责的那些FCID。当分组指向该虚拟化端口不对之负责的FCID时,虚拟化端口只是转发该分组。
配置了一个或多个虚拟化端口来代表虚拟包封端口处理分组后(例如陷入或绑定端口),它们就可用作为发起者例如主机的SCSI目标。图11的事务流程图示出了根据本发明的实施例,在主机和一个或多个虚拟化端口(例如绑定到一个或多个虚拟包封端口的端口或陷入端口)建立通信,以使得主机可以访问一个或多个LUN的方法。如图所示,主机1102、交换机1104、域名系统(DNS)服务器1106和虚拟化端口1108之间的交互由被标记的对应垂直线表示。如图所示,光纤信道节点例如主机1102为了建立到结构交换机1104的逻辑连接,它执行结构登录(FLOGI)1110。如上所述,光纤信道使用称为FCID的地址标识符,该标识符在登录期间动态地分配。这样,交换机1104在1112向主机1102提供FCID。向主机分配了主机FCID之后,主机可在步骤1114通过SCSI REPORT(报告)命令对DNS服务器1106进行DNS查询,请求对该主机可用因而可见的SCSI目标。更具体地说,DNS查询确定对该主机FCID可见的SCSI目标。然后DNS服务器1106在1116向主机1102提供作为潜在目标端口的一个或多个虚拟包封端口的FCID。
主机获得对它来说可用的那些SCSI目标端口的FCID之后,它在1118发送光纤信道处理登录命令到(由其FCID标识的)可用的虚拟包封SCSI目标端口中的一个或多个。如上所述,虽然分组指向了分配给虚拟包封端口的FCID,但是,可能是由绑定到该虚拟包封端口或代表该虚拟包封端口进行陷入的虚拟化端口来实际处理这些分组。这一处理登录实现了一个映射层,将光纤信道“映射”到SCSI。完成后,(多个)SCSI虚拟包封端口1108在1120发送光纤信道接受消息。由于光纤信道被映射到SCSI,因此主机可以将SCSI命令发送到所述(多个)SCSI目标虚拟包封端口。
由于主机1102可以向(多个)虚拟包封端口1108发送SCSI命令,因此它通过将SCSI处理登录命令发送到SCSI目标虚拟包封端口1108,从而可在1122执行SCSI处理登录。SCSI虚拟包封端口1108然后发送SCSI接受命令1124。因此通过SCSI协议在主机和SCSI目标虚拟包封端口之间建立了通信。例如,主机可以确定哪些LUN对它来说是可用的,并对那些对它可用的LUN进行读和写。
由于主机1102知道哪些SCSI目标(以及虚拟包封端口)对它来说是可用的,并且可以与这些端口中的每一个进行通信,因此,它可以在1126发送“SCSI报告LUN”命令到(多个)SCSI目标虚拟包封端口1108,以确定对该主机FCID可见的那些LUN。例如,这些LUN可能仅仅是虚拟包封的那些VLUN,或者可能是那些VLUN的子集。更具体地说,这一“报告”消息可被发送到分配给所述虚拟包封端口的FCID。接收SCSI目标虚拟包封端口1108在1128确定哪些LUN对所述主机FCID是可见的,并在1130发送指示了一个或多个可用LUN(例如PLUN或VLUN)的应答消息。需要注意,接收虚拟包封端口实际上可能是绑定到虚拟包封端口的虚拟化端口或代表该虚拟包封端口进行陷入的虚拟化端口。因此,这些虚拟化端口还负责在1128执行LUN映射。下面将参考图12详细描述一种LUN映射方法。主机1102然后在1132通过虚拟包封端口1108发送SCSI读和写命令到特定的VLUN。
可以任何通信协议来实现诸如陷入和绑定消息等虚拟化消息。所实现的协议优选地是可靠的通信协议,例如TCP套接口或运行在TCP/IP上的动态即时化协议(DIP)。
图12示出了可在图11的步骤1128处用于执行LUN映射的示例性LUN映射表。如图所示,LUN映射表1200可用于为每个发起者(例如主机)1202标识出那些通过虚拟包封的一个或多个虚拟包封端口1206(例如FCID)可见的那些VLUN 1204。例如,一个指定的逻辑单元1208例如LUN0可用来表示引导盘。由于可能希望为每个主机提供一个不同的引导盘,因此所指定的逻辑单元1208与一个或多个VLUN 1204相关联,所述VLUN 1204通过所指定的虚拟包封端口1206而对主机1202可用。对特定主机1202可用的虚拟包封端口1206可被指定,或者可使用通配符来表明所有的虚拟包封端口对该主机来说都是可用的。因此,当通过虚拟包封端口之一从该主机接收到对指定的逻辑单元1208的请求时,与该指定的逻辑单元1208相关联的VLUN被利用来服务于该请求。
图13表示对应于图12的LUN映射表的虚拟包封。如图所示,虚拟包封1302表示4个VLUN:A 1304、B 1306、C 1308和D 1310。虚拟包封1302具有两个虚拟包封端口,VEP1 1312和VEP2 1314。如图12所示,主机H1在任何虚拟包封端口上都将LUN0视为VLUN A,主机H2在任何虚拟包封端口上都将LUN0视为VLUN B,主机H3在任何虚拟包封端口上都将LUN0视为VLUN C,主机H4只在虚拟包封端口0上将LUN0视为VLUN D,而主机H5只在虚拟包封端口1上将LUN0视为VLUNC。按照这种方式,所述VLUN的身份对主机来说是不可见的。因此,本发明提供了附加的存储虚拟化层级。
LUN映射表优选地维护在中心位置例如虚拟包封服务器处。然而,根据一个实施例,也可提供LUN映射表并周期性地分发到存储区域网络内的合适网络设备(例如虚拟化端口)。例如,LUN映射表可在主机登录时被分发到某个虚拟包封端口。换言之,向虚拟化端口提供了一个LUN映射(map),其对应于通过所述虚拟包封服务器已登录的主机。
尽管在此已示出并描述了本发明的示例性实施例和应用,但是可在本发明的原理、范围和精神的范围内作出许多变动和修改,这些变动和修改对本领域内的技术人员来说在阅读了本申请之后将会变得很清楚。例如,本发明被描述为应用到帧上。然而,应该理解到,本发明并不局限于这种实现,而是可同样应用到分组。而且,可应用本发明而不考虑其实现所处的上下文和系统。因此,一般地说,多个端口的绑定和陷入的协调控制并不一定需要如上所述地使用虚拟包封服务器来执行,而是可以其他方式来执行。
另外,尽管描述了示例性的交换机,但是上述实施例也可实现在多种网络设备(例如服务器)以及多种介质中。例如,用于实现上述发明的指令和数据可以存储在磁盘驱动器、硬盘驱动器、软盘、服务器计算机或远程联网的计算机上。因此,所述实施例应被理解为示例性的而非限制性的,本发明不应局限于此处所给出的细节,而是可以在所附权利要求的范围和等同物之内作出修改。
Claims (47)
1.一种在存储区域网络内实现存储虚拟化的方法,包括:
创建虚拟包封,所述虚拟包封具有一个或多个虚拟端口,并适于表示一个或多个虚拟存储单元,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置;
将所述虚拟包封的虚拟端口中的每一个都与所述存储区域网络内的网络设备的端口相关联,以使得所述存储区域网络内的一个或多个网络设备与所述虚拟端口相关联;以及
向所述虚拟端口中的每一个都分配地址或标识符;
其中“将所述虚拟包封的所述虚拟端口中的每一个都与所述存储区域网络内的网络设备的端口相关联”包括从第一网络设备向所述存储区域网络内的第二网络设备的物理端口发送消息,以指示所述第二网络设备的物理端口去处理指向分配给所述关联虚拟端口的地址或标识符的消息,从而使得所述第一网络设备指示所述第二网络设备的物理端口代表所述虚拟端口进行操作。
2.如权利要求1所述的方法,还包括:
选择要被包括在所述虚拟包封中的虚拟端口数量。
3.如权利要求1所述的方法,其中,“将所述虚拟包封的所述虚拟端口中的每一个都与所述存储区域网络内的第二网络设备的端口相关联”包括:
将所述虚拟端口与所述存储区域网络内的一个或多个网络设备的端口相关联。
4.如权利要求1所述的方法,还包括:
将一个或多个虚拟存储单元分配到所述虚拟包封。
5.如权利要求4所述的方法,其中,所述一个或多个虚拟存储单元中的每一个都包括VLUN或所述存储区域网络上的存储的其他虚拟表示。
6.一种在存储区域网络内实现存储虚拟化的装置,包括:
用于创建虚拟包封的装置,所述虚拟包封具有一个或多个虚拟端口,并适于表示一个或多个虚拟存储单元,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置;
用于将所述虚拟包封的虚拟端口中的每一个都与所述存储区域网络内的网络设备的端口相关联,以使得所述存储区域网络内的一个或多个网络设备与所述虚拟端口相关联的装置;以及
用于向所述虚拟端口中的每一个都分配地址或标识符的装置;
其中所述用于将所述虚拟包封的虚拟端口中的每一个都与所述存储区域网络内的网络设备的端口相关联的装置包括用于从第一网络设备向所述存储区域网络内的第二网络设备的物理端口发送消息,以指示所述第二网络设备的物理端口去处理指向分配给所述关联虚拟端口的地址或标识符的消息,从而使得所述第一网络设备指示所述第二网络设备的物理端口代表所述虚拟端口进行操作的装置。
7.一种适于在存储区域网络内实现存储虚拟化的网络设备,包括:
处理器;以及
存储器,所述处理器和存储器中至少有一个适于:
创建虚拟包封,所述虚拟包封具有一个或多个虚拟端口,并适于表示一个或多个虚拟存储单元,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置;
将所述虚拟包封的虚拟端口中的每一个都与所述存储区域网络内的网络设备的端口相关联,以使得所述存储区域网络内的一个或多个网络设备与所述虚拟端口相关联;并且
向所述虚拟端口中的每一个都分配地址或标识符;
其中“将所述虚拟包封的所述虚拟端口中的每一个都与所述存储区域网络内的网络设备的端口相关联”包括从第一网络设备向所述存储区域网络内的第二网络设备的物理端口发送消息,以指示所述第二网络设备的物理端口去处理指向分配给所述关联虚拟端口的地址或标识符的消息,从而使得所述第一网络设备指示所述第二网络设备的物理端口代表所述虚拟端口进行操作。
8.如权利要求7所述的网络设备,其中所述存储区域网络是虚拟存储区域网络。
9.如权利要求7所述的网络设备,其中节点全球范围名称与所述虚拟包封相关联。
10.如权利要求7所述的网络设备,其中端口全球范围名称被分配给所述虚拟端口中的每一个,以使得所述端口全球范围名称与所述存储区域网络内的网络设备的关联物理端口相关联。
11.如权利要求7所述的网络设备,其中,所述存储区域网络内的第二网络设备的物理端口是光纤信道设备的端口。
12.如权利要求7所述的网络设备,其中FCID被分配给所述虚拟端口中的每一个。
13.如权利要求7所述的网络设备,其中,所述虚拟包封的虚拟端口数量大于所述存储区域网络内的每个网络设备的端口数量。
14.如权利要求7所述的网络设备,其中,“将所述虚拟包封的所述虚拟端口中的每一个都与所述存储区域网络内的网络设备的端口相关联”包括:
向所述存储区域网络内的网络设备的端口发送绑定消息,以将所述存储区域网络内的网络设备的端口绑定到所述虚拟端口中的一个或多个。
15.如权利要求14所述的网络设备,还包括:
向所述存储区域网络内的一个或多个网络设备的一个或多个其他端口发送陷入消息,以指示所述存储区域网络内的一个或多个网络设备的一个或多个其他端口去陷入指向所述虚拟端口之一的消息。
16.如权利要求7所述的网络设备,其中所述虚拟存储单元中的一个或多个中的每一个都包括VLUN或所述存储区域网络上的存储的其他虚拟表示。
17.一种在存储区域网络内进行LUN映射的方法,包括:
访问具有一个或多个条目的LUN映射表,所述条目中的每一个都标识出所述存储区域网络内的发起者、虚拟包封中的一个或多个虚拟端口构成的组中的一个或多个虚拟端口,并且所述条目还将所指定的逻辑单元与一个或多个虚拟存储单元相关联,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置,其中所述虚拟包封适于表示所述的由一个或多个虚拟存储单元构成的组,并且每个所述虚拟端口都与所述存储区域网络内的网络设备的端口相关联,其中所述网络设备的物理端口已从另一网络设备接收到消息,所述消息指示所述物理端口去处理指向所述关联虚拟端口的消息;以及
当通过所述关联虚拟端口之一,从所述发起者接收到对所指定的逻辑单元的请求时,标识出所述LUN映射表中的条目之一,并利用该条目中指定的一个或多个虚拟存储单元来服务于该请求。
18.一种在第一网络设备中的用于在存储区域网络内实现存储虚拟化的方法,包括:
向所述存储区域网络内的第二网络设备的物理端口发送虚拟化消息,所述虚拟化消息指示所述物理端口处理指向虚拟包封的虚拟端口的消息,所述虚拟包封具有一个或多个虚拟端口,并适于表示一个或多个虚拟存储单元,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置;以及
响应于所述虚拟化消息,从所述第二网络设备的所述物理端口接收虚拟化响应。
19.如权利要求18所述的方法,还包括:
接收分配给所述虚拟端口的地址或标识符。
20.如权利要求18所述的方法,其中所述虚拟化消息表明所述物理端口将处理指向分配给所述虚拟端口的地址或标识符的消息。
21.如权利要求20所述的方法,其中所述地址或标识符是FCID。
22.一种适于在存储区域网络内的第一网络设备中实现存储虚拟化的装置,包括:
用于向所述存储区域网络内的第二网络设备的物理端口发送虚拟化消息的装置,所述虚拟化消息指示所述物理端口处理指向虚拟包封的虚拟端口的消息,所述虚拟包封具有一个或多个虚拟端口,并适于表示一个或多个虚拟存储单元,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置;以及
用于响应于所述虚拟化消息,从所述第二网络设备的所述物理端口接收虚拟化响应的装置。
23.一种适于在存储区域网络内的第一网络设备中实现存储虚拟化的装置,包括:
处理器;
存储器,所述处理器和存储器中至少有一个适于:
向所述存储区域网络内的第二网络设备的物理端口发送虚拟化消息,所述虚拟化消息指示所述物理端口处理指向虚拟包封的虚拟端口的消息,所述虚拟包封具有一个或多个虚拟端口,并适于表示一个或多个虚拟存储单元,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置;并且
响应于所述虚拟化消息,从所述第二网络设备的所述物理端口接收虚拟化响应。
24.如权利要求23所述的装置,其中所述虚拟端口由NWWN和PWWN来标识。
25.如权利要求23所述的装置,其中所述虚拟化响应表明所述物理端口被配置成处理指向所述虚拟包封的虚拟端口的消息。
26.如权利要求23所述的装置,其中所述虚拟化消息表明所述物理端口要获得分配给所述虚拟端口的地址或标识符。
27.如权利要求26所述的装置,其中所述虚拟化消息是绑定消息或陷入消息。
28.如权利要求26所述的装置,其中所述虚拟化响应包括分配给所述虚拟端口的地址或标识符。
29.如权利要求23所述的装置,其中所述虚拟化消息表明所述物理端口要从DNS服务器获得分配给所述虚拟端口的地址或标识符。
30.如权利要求26所述的装置,其中所述地址或标识符是FCID。
31.一种在存储区域网络内的第一网络设备中实现存储虚拟化的方法,包括:
在所述第一网络设备的物理端口处接收来自所述存储区域网络内的第二网络设备的虚拟化消息,所述虚拟化消息指示所述物理端口处理指向虚拟包封的虚拟端口的消息,所述虚拟包封具有一个或多个虚拟端口,并适于表示一个或多个虚拟存储单元,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置;以及
响应于所述虚拟化消息,从所述第一网络设备的所述物理端口发送虚拟化响应到所述第二网络设备。
32.如权利要求31所述的方法,还包括:
获得并存储分配给所述虚拟端口的所述地址或标识符。
33.如权利要求32所述的方法,还包括:
发送分配给所述虚拟端口的地址或标识符。
34.如权利要求32所述的方法,其中所述地址或标识符是FCID。
35.如权利要求31所述的方法,还包括:
处理指向分配给所述虚拟端口的地址或标识符的消息。
36.如权利要求31所述的方法,还包括:
处理指向所述虚拟包封的虚拟端口的消息。
37.如权利要求32所述的方法,还包括:
处理指向分配给所述虚拟端口的地址或标识符的消息。
38.如权利要求31所述的方法,还包括:
接收一个报告消息,该消息请求标识出由分配给所述虚拟端口之一的地址或标识符所支持的虚拟存储单元中的一个或多个;以及
发送应答消息,该消息标识了所述虚拟存储单元中的一个或多个。
39.如权利要求38所述的方法,其中所述标识符或地址是FCID。
40.如权利要求38所述的方法,其中,所述应答消息中所标识出的虚拟存储单元中的一个或多个是对发送所述报告消息的发起者来说可见的那些虚拟存储单元。
41.一种适于在存储区域网络内的第一网络设备中实现存储虚拟化的网络设备,包括:
用于在第一网络设备的物理端口处接收来自所述存储区域网络内的第二网络设备的虚拟化消息的装置,所述虚拟化消息指示所述物理端口处理指向虚拟包封的虚拟端口的消息,所述虚拟包封具有一个或多个虚拟端口,并适于表示一个或多个虚拟存储单元,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置;以及
用于响应于所述虚拟化消息,从所述第一网络设备的所述物理端口向所述第二网络设备发送虚拟化响应的装置。
42.一种适于在存储区域网络内的第一网络设备中实现存储虚拟化的网络设备,包括:
处理器;以及
存储器,所述处理器和存储器中至少有一个适于:
在第一网络设备的物理端口处接收来自所述存储区域网络内的第二网络设备的虚拟化消息,所述虚拟化消息指示所述物理端口处理指向虚拟包封的虚拟端口的消息,所述虚拟包封具有一个或多个虚拟端口,并适于表示一个或多个虚拟存储单元,所述虚拟存储单元中的每一个都表示所述存储区域网络的一个或多个物理存储单元上的一个或多个物理存储位置;并且
响应于所述虚拟化消息,从所述第一网络设备的所述物理端口向所述第二网络设备发送虚拟化响应。
43.如权利要求42所述的网络设备,其中,所述虚拟化消息表明所述物理端口要获得分配给所述虚拟端口的地址或标识符。
44.如权利要求42所述的网络设备,其中,所述虚拟化消息表明所述物理端口要从DNS服务器获得分配给所述虚拟端口的地址或标识符。
45.如权利要求42所述的网络设备,其中,所述虚拟化消息表明所述物理端口将处理指向分配给所述虚拟端口的地址或标识符的消息。
46.如权利要求45所述的网络设备,其中所述地址或标识符是FCID。
47.如权利要求42所述的网络设备,其中,所述虚拟存储单元中的一个或多个包括VLUN或所述存储区域网络上的存储的其他虚拟表示。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/045,883 | 2002-01-09 | ||
US10/045,883 US7548975B2 (en) | 2002-01-09 | 2002-01-09 | Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1623136A CN1623136A (zh) | 2005-06-01 |
CN1311326C true CN1311326C (zh) | 2007-04-18 |
Family
ID=21940363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028284461A Expired - Fee Related CN1311326C (zh) | 2002-01-09 | 2002-12-23 | 通过虚拟包封在存储区域网络内实现存储虚拟化的方法和装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7548975B2 (zh) |
EP (1) | EP1502179A2 (zh) |
JP (1) | JP4372553B2 (zh) |
KR (1) | KR100927748B1 (zh) |
CN (1) | CN1311326C (zh) |
AU (1) | AU2002361837B2 (zh) |
CA (1) | CA2472992C (zh) |
WO (1) | WO2003060688A2 (zh) |
Families Citing this family (177)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7171453B2 (en) * | 2001-04-19 | 2007-01-30 | Hitachi, Ltd. | Virtual private volume method and system |
JP4484396B2 (ja) * | 2001-05-18 | 2010-06-16 | 株式会社日立製作所 | タービン動翼 |
US7171434B2 (en) * | 2001-09-07 | 2007-01-30 | Network Appliance, Inc. | Detecting unavailability of primary central processing element, each backup central processing element associated with a group of virtual logic units and quiescing I/O operations of the primary central processing element in a storage virtualization system |
US7472231B1 (en) | 2001-09-07 | 2008-12-30 | Netapp, Inc. | Storage area network data cache |
US7433948B2 (en) * | 2002-01-23 | 2008-10-07 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network |
US20090259817A1 (en) * | 2001-12-26 | 2009-10-15 | Cisco Technology, Inc. | Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization |
US20090259816A1 (en) * | 2001-12-26 | 2009-10-15 | Cisco Technology, Inc. | Techniques for Improving Mirroring Operations Implemented In Storage Area Networks and Network Based Virtualization |
US20070094466A1 (en) * | 2001-12-26 | 2007-04-26 | Cisco Technology, Inc., A Corporation Of California | Techniques for improving mirroring operations implemented in storage area networks and network based virtualization |
US9009427B2 (en) | 2001-12-26 | 2015-04-14 | Cisco Technology, Inc. | Mirroring mechanisms for storage area networks and network based virtualization |
US6934799B2 (en) * | 2002-01-18 | 2005-08-23 | International Business Machines Corporation | Virtualization of iSCSI storage |
EP1345113A3 (en) * | 2002-03-13 | 2008-02-06 | Hitachi, Ltd. | Management server |
US6880052B2 (en) * | 2002-03-26 | 2005-04-12 | Hewlett-Packard Development Company, Lp | Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes |
JP2003296037A (ja) * | 2002-04-05 | 2003-10-17 | Hitachi Ltd | 計算機システム |
US9344235B1 (en) * | 2002-06-07 | 2016-05-17 | Datacore Software Corporation | Network managed volumes |
US8200871B2 (en) * | 2002-06-28 | 2012-06-12 | Brocade Communications Systems, Inc. | Systems and methods for scalable distributed storage processing |
US7237045B2 (en) * | 2002-06-28 | 2007-06-26 | Brocade Communications Systems, Inc. | Apparatus and method for storage processing through scalable port processors |
US7752361B2 (en) * | 2002-06-28 | 2010-07-06 | Brocade Communications Systems, Inc. | Apparatus and method for data migration in a storage processing device |
US7353305B2 (en) * | 2002-06-28 | 2008-04-01 | Brocade Communications Systems, Inc. | Apparatus and method for data virtualization in a storage processing device |
US9787524B1 (en) * | 2002-07-23 | 2017-10-10 | Brocade Communications Systems, Inc. | Fibre channel virtual host bus adapter |
US7269168B2 (en) * | 2002-07-31 | 2007-09-11 | Brocade Communications Systems, Inc. | Host bus adaptor-based virtualization switch |
US7120728B2 (en) * | 2002-07-31 | 2006-10-10 | Brocade Communications Systems, Inc. | Hardware-based translating virtualization switch |
US7616631B2 (en) * | 2002-08-14 | 2009-11-10 | Lsi Corporation | Method and apparatus for debugging protocol traffic between devices in integrated subsystems |
US7725568B2 (en) * | 2002-09-09 | 2010-05-25 | Netapp, Inc. | Method and apparatus for network storage flow control |
US8805918B1 (en) | 2002-09-11 | 2014-08-12 | Cisco Technology, Inc. | Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network |
US7774444B1 (en) * | 2002-10-16 | 2010-08-10 | Symantec Operating Corporation | SAN simulator |
JP4139675B2 (ja) * | 2002-11-14 | 2008-08-27 | 株式会社日立製作所 | 仮想ボリュームの記憶領域割当方法、その装置及びプログラム |
US7263593B2 (en) | 2002-11-25 | 2007-08-28 | Hitachi, Ltd. | Virtualization controller and data transfer control method |
JP2004192105A (ja) * | 2002-12-09 | 2004-07-08 | Hitachi Ltd | 記憶装置の接続装置およびそれを含むコンピュータシステム |
US7782784B2 (en) | 2003-01-10 | 2010-08-24 | Cisco Technology, Inc. | Port analyzer adapter |
US7899048B1 (en) | 2003-01-15 | 2011-03-01 | Cisco Technology, Inc. | Method and apparatus for remotely monitoring network traffic through a generic network |
US7606239B2 (en) * | 2003-01-31 | 2009-10-20 | Brocade Communications Systems, Inc. | Method and apparatus for providing virtual ports with attached virtual devices in a storage area network |
JP4237515B2 (ja) * | 2003-02-07 | 2009-03-11 | 株式会社日立グローバルストレージテクノロジーズ | ネットワークストレージ仮想化方法およびネットワークストレージシステム |
US7382776B1 (en) | 2003-04-15 | 2008-06-03 | Brocade Communication Systems, Inc. | Performing block storage virtualization at a switch |
US7460528B1 (en) | 2003-04-15 | 2008-12-02 | Brocade Communications Systems, Inc. | Processing data packets at a storage service module of a switch |
US7739543B1 (en) * | 2003-04-23 | 2010-06-15 | Netapp, Inc. | System and method for transport-level failover for loosely coupled iSCSI target devices |
JP4278444B2 (ja) * | 2003-06-17 | 2009-06-17 | 株式会社日立製作所 | 仮想ポート名の管理装置 |
US7523201B2 (en) * | 2003-07-14 | 2009-04-21 | Network Appliance, Inc. | System and method for optimized lun masking |
US8239552B2 (en) * | 2003-08-21 | 2012-08-07 | Microsoft Corporation | Providing client access to devices over a network |
US7474666B2 (en) | 2003-09-03 | 2009-01-06 | Cisco Technology, Inc. | Switch port analyzers |
US8165136B1 (en) * | 2003-09-03 | 2012-04-24 | Cisco Technology, Inc. | Virtual port based SPAN |
US20050071560A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corp. | Autonomic block-level hierarchical storage management for storage networks |
US7359993B1 (en) * | 2003-10-03 | 2008-04-15 | Nortel Networks Ltd. | Method and apparatus for interfacing external resources with a network element |
US7734748B1 (en) * | 2003-10-03 | 2010-06-08 | Nortel Networks Limited | Method and apparatus for intelligent management of a network element |
JP4257783B2 (ja) * | 2003-10-23 | 2009-04-22 | 株式会社日立製作所 | 論理分割可能な記憶装置及び記憶装置システム |
US20050091426A1 (en) * | 2003-10-23 | 2005-04-28 | Horn Robert L. | Optimized port selection for command completion in a multi-ported storage controller system |
US20050114464A1 (en) * | 2003-10-27 | 2005-05-26 | Shai Amir | Virtualization switch and method for performing virtualization in the data-path |
US7669032B2 (en) * | 2003-11-26 | 2010-02-23 | Symantec Operating Corporation | Host-based virtualization optimizations in storage environments employing off-host storage virtualization |
US20050114595A1 (en) * | 2003-11-26 | 2005-05-26 | Veritas Operating Corporation | System and method for emulating operating system metadata to provide cross-platform access to storage volumes |
US7934023B2 (en) * | 2003-12-01 | 2011-04-26 | Cisco Technology, Inc. | Apparatus and method for performing fast fibre channel write operations over relatively high latency networks |
US20050138184A1 (en) * | 2003-12-19 | 2005-06-23 | Sanrad Ltd. | Efficient method for sharing data between independent clusters of virtualization switches |
JP2005190036A (ja) * | 2003-12-25 | 2005-07-14 | Hitachi Ltd | 記憶制御装置及び記憶制御装置の制御方法 |
JP4463042B2 (ja) * | 2003-12-26 | 2010-05-12 | 株式会社日立製作所 | ボリュームの動的割り付け機能を有する記憶装置システム |
JP4227035B2 (ja) | 2004-02-03 | 2009-02-18 | 株式会社日立製作所 | 計算機システム、管理装置、ストレージ装置及びコンピュータ装置 |
JP2005267008A (ja) * | 2004-03-17 | 2005-09-29 | Hitachi Ltd | ストレージ管理方法およびストレージ管理システム |
US20050223180A1 (en) * | 2004-03-31 | 2005-10-06 | Philip Derbeko | Accelerating the execution of I/O operations in a storage system |
US7437506B1 (en) * | 2004-04-26 | 2008-10-14 | Symantec Operating Corporation | Method and system for virtual storage element placement within a storage area network |
JP2005316548A (ja) * | 2004-04-27 | 2005-11-10 | Hitachi Ltd | 複数種のストレージネットワークを有する計算機システムおよび情報設定方法 |
JP4230410B2 (ja) * | 2004-05-11 | 2009-02-25 | 株式会社日立製作所 | 仮想ストレージの通信品質制御装置 |
JP2006024024A (ja) * | 2004-07-08 | 2006-01-26 | Toshiba Corp | 論理ディスク管理方法及び装置 |
US9264384B1 (en) * | 2004-07-22 | 2016-02-16 | Oracle International Corporation | Resource virtualization mechanism including virtual host bus adapters |
US20060101204A1 (en) * | 2004-08-25 | 2006-05-11 | Bao Bill Q | Storage virtualization |
US20060161810A1 (en) * | 2004-08-25 | 2006-07-20 | Bao Bill Q | Remote replication |
JP4646574B2 (ja) | 2004-08-30 | 2011-03-09 | 株式会社日立製作所 | データ処理システム |
US20060047850A1 (en) * | 2004-08-31 | 2006-03-02 | Singh Bhasin Harinder P | Multi-chassis, multi-path storage solutions in storage area networks |
US7062624B2 (en) * | 2004-09-29 | 2006-06-13 | Hitachi, Ltd. | Method for managing volume groups considering storage tiers |
JP2006134208A (ja) * | 2004-11-09 | 2006-05-25 | Fujitsu Ltd | ストレージ仮想化装置 |
US7571274B2 (en) * | 2004-12-30 | 2009-08-04 | Intel Corporation | Method and system for virtual enclosure management |
US20060271706A1 (en) * | 2005-05-24 | 2006-11-30 | Dugan Robert J | Method, apparatus, and computer program product for requesting deterministic virtual address identifiers for nodes in a fibre channel network |
US8037026B1 (en) * | 2005-07-01 | 2011-10-11 | Hewlett-Packard Development Company, L.P. | Protected user-controllable volume snapshots |
WO2007011164A1 (en) * | 2005-07-21 | 2007-01-25 | Kyungpook National University Industry-Academic Cooperation Foundation | Virtual storage system and method for managementing virtual storage based on ad-hoc network |
US9813283B2 (en) | 2005-08-09 | 2017-11-07 | Oracle International Corporation | Efficient data transfer between servers and remote peripherals |
US8127059B1 (en) * | 2005-09-02 | 2012-02-28 | Pmc-Sierra Us, Inc. | Apparatus for interconnecting hosts with storage devices |
US8107467B1 (en) * | 2005-09-30 | 2012-01-31 | Emc Corporation | Full array non-disruptive failover |
US8072987B1 (en) | 2005-09-30 | 2011-12-06 | Emc Corporation | Full array non-disruptive data migration |
US20070088917A1 (en) * | 2005-10-14 | 2007-04-19 | Ranaweera Samantha L | System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems |
US7644179B1 (en) | 2005-12-01 | 2010-01-05 | Cisco Technology, Inc. | Inter-VSAN routing with NAT |
US7882562B2 (en) * | 2005-12-15 | 2011-02-01 | International Business Machines Corporation | Apparatus, system, and method for deploying iSCSI parameters to a diskless computing device |
US8001267B2 (en) * | 2005-12-15 | 2011-08-16 | International Business Machines Corporation | Apparatus, system, and method for automatically verifying access to a multipathed target at boot time |
US8166166B2 (en) * | 2005-12-15 | 2012-04-24 | International Business Machines Corporation | Apparatus system and method for distributing configuration parameter |
US7769023B2 (en) * | 2005-12-21 | 2010-08-03 | Cisco Technology, Inc. | Fibre channel traffic redirect scheme using access control lists |
US9348530B2 (en) * | 2005-12-27 | 2016-05-24 | Emc Corporation | Presentation of virtual arrays using n-port ID virtualization |
US7697554B1 (en) * | 2005-12-27 | 2010-04-13 | Emc Corporation | On-line data migration of a logical/virtual storage array by replacing virtual names |
US7500134B2 (en) * | 2005-12-27 | 2009-03-03 | Emc Corporation | Virtual array failover |
US7697515B2 (en) * | 2005-12-27 | 2010-04-13 | Emc Corporation | On-line data migration of a logical/virtual storage array |
US7685395B1 (en) | 2005-12-27 | 2010-03-23 | Emc Corporation | Spanning virtual arrays across multiple physical storage arrays |
US7631143B1 (en) * | 2006-01-03 | 2009-12-08 | Emc Corporation | Data storage system employing virtual disk enclosure |
US7549017B2 (en) * | 2006-03-07 | 2009-06-16 | Cisco Technology, Inc. | Methods and apparatus for selecting a virtualization engine |
CN100423491C (zh) * | 2006-03-08 | 2008-10-01 | 杭州华三通信技术有限公司 | 虚拟化网络存储系统及其网络存储设备 |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US8274993B2 (en) * | 2006-06-16 | 2012-09-25 | Cisco Technology, Inc. | Fibre channel dynamic zoning |
US8583861B1 (en) * | 2006-06-29 | 2013-11-12 | Emc Corporation | Presentation of management functionality of virtual arrays |
US8533408B1 (en) * | 2006-06-29 | 2013-09-10 | Emc Corporation | Consolidating N-storage arrays into one storage array using virtual array non-disruptive data migration |
US8589504B1 (en) | 2006-06-29 | 2013-11-19 | Emc Corporation | Full array non-disruptive management data migration |
US8452928B1 (en) * | 2006-06-29 | 2013-05-28 | Emc Corporation | Virtual array non-disruptive migration of extended storage functionality |
US8539177B1 (en) * | 2006-06-29 | 2013-09-17 | Emc Corporation | Partitioning of a storage array into N-storage arrays using virtual array non-disruptive data migration |
US7757059B1 (en) | 2006-06-29 | 2010-07-13 | Emc Corporation | Virtual array non-disruptive management data migration |
JP5087249B2 (ja) * | 2006-09-06 | 2012-12-05 | 株式会社日立製作所 | ストレージシステムおよびストレージシステムの制御方法 |
US7761738B2 (en) * | 2006-09-07 | 2010-07-20 | International Business Machines Corporation | Establishing communications across virtual enclosure boundaries |
US8443134B2 (en) * | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
WO2008070191A2 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a reconfigurable baseboard management controller |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US8706968B2 (en) * | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
JP5081441B2 (ja) * | 2006-12-13 | 2012-11-28 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置の制御方法 |
US8489811B1 (en) * | 2006-12-29 | 2013-07-16 | Netapp, Inc. | System and method for addressing data containers using data set identifiers |
US7711979B2 (en) * | 2007-02-16 | 2010-05-04 | Symantec Corporation | Method and apparatus for flexible access to storage facilities |
US7958263B2 (en) * | 2007-02-20 | 2011-06-07 | International Business Machines Corporation | Address reduction for data storage enclosures |
US8312046B1 (en) | 2007-02-28 | 2012-11-13 | Netapp, Inc. | System and method for enabling a data container to appear in a plurality of locations in a super-namespace |
US8661518B2 (en) * | 2007-06-13 | 2014-02-25 | Cisco Technology, Inc. | N-port ID virtualization (NPIV) proxy module, NPIV proxy switching system and methods |
US7856022B1 (en) * | 2007-06-28 | 2010-12-21 | Emc Corporation | Non-disruptive data migration with external virtualization engine |
US9098211B1 (en) * | 2007-06-29 | 2015-08-04 | Emc Corporation | System and method of non-disruptive data migration between a full storage array and one or more virtual arrays |
US9063896B1 (en) | 2007-06-29 | 2015-06-23 | Emc Corporation | System and method of non-disruptive data migration between virtual arrays of heterogeneous storage arrays |
US9063895B1 (en) | 2007-06-29 | 2015-06-23 | Emc Corporation | System and method of non-disruptive data migration between heterogeneous storage arrays |
US8131857B2 (en) * | 2007-07-11 | 2012-03-06 | Cisco Technology, Inc. | Fibre channel intelligent target management system |
US8209365B2 (en) * | 2007-07-23 | 2012-06-26 | Hewlett-Packard Development Company, L.P. | Technique for virtualizing storage using stateless servers |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8028062B1 (en) * | 2007-12-26 | 2011-09-27 | Emc Corporation | Non-disruptive data mobility using virtual storage area networks with split-path virtualization |
US8380674B1 (en) * | 2008-01-09 | 2013-02-19 | Netapp, Inc. | System and method for migrating lun data between data containers |
US10108460B2 (en) * | 2008-02-28 | 2018-10-23 | International Business Machines Corporation | Method and system for integrated deployment planning for virtual appliances |
US8914540B1 (en) * | 2008-07-01 | 2014-12-16 | Cisco Technology, Inc. | Multi-fabric SAN based data migration |
US9973446B2 (en) | 2009-08-20 | 2018-05-15 | Oracle International Corporation | Remote shared server peripherals over an Ethernet network for resource virtualization |
CN102045603B (zh) * | 2009-10-19 | 2013-09-11 | 杭州华三通信技术有限公司 | 光纤通道端口协商方法以及光纤通道交换机系统 |
US20110153905A1 (en) * | 2009-12-23 | 2011-06-23 | Hitachi, Ltd. | Method and apparatus for i/o path switching |
US8468302B2 (en) | 2010-01-14 | 2013-06-18 | Hitachi, Ltd. | Storage system |
US8473947B2 (en) * | 2010-01-18 | 2013-06-25 | Vmware, Inc. | Method for configuring a physical adapter with virtual function (VF) and physical function (PF) for controlling address translation between virtual disks and physical storage regions |
US8402196B2 (en) * | 2010-03-04 | 2013-03-19 | Xyratex Technology Limited | Storage assembly, a physical expander and a method |
US8341457B2 (en) * | 2010-03-11 | 2012-12-25 | Lsi Corporation | System and method for optimizing redundancy restoration in distributed data layout environments |
CN102412978B (zh) * | 2010-09-21 | 2014-04-16 | 杭州华三通信技术有限公司 | 一种针对虚拟主机进行网络配置的方法和系统 |
US9331963B2 (en) | 2010-09-24 | 2016-05-03 | Oracle International Corporation | Wireless host I/O using virtualized I/O controllers |
US8719253B2 (en) * | 2010-12-01 | 2014-05-06 | Cisco Technology, Inc. | Method and apparatus for efficiently organizing hierarchical QoS policies |
US20120155461A1 (en) * | 2010-12-16 | 2012-06-21 | Electronics And Telecommunications Research Institute | Apparatus for managing virtual network |
US8725691B1 (en) * | 2010-12-16 | 2014-05-13 | Emc Corporation | Dynamic LUN resizing in a replication environment |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US8712962B1 (en) * | 2011-12-01 | 2014-04-29 | Emc Corporation | Snapshots in de-duplication |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
CN102662610B (zh) * | 2012-04-20 | 2016-05-11 | 中国科学院遥感应用研究所 | 一种遥感影像数据管理系统及方法 |
US8750288B2 (en) * | 2012-06-06 | 2014-06-10 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9819737B2 (en) | 2012-08-23 | 2017-11-14 | Cisco Technology, Inc. | System and method for policy based fibre channel zoning for virtualized and stateless computing in a network environment |
US9083550B2 (en) | 2012-10-29 | 2015-07-14 | Oracle International Corporation | Network virtualization over infiniband |
US9304875B2 (en) * | 2012-11-30 | 2016-04-05 | International Business Machines Corporation | Dynamically tracking logical units moving between input/output ports of a storage area network target |
US10013185B2 (en) * | 2013-03-15 | 2018-07-03 | Srinivasan Viswanathan | Mapping systems and methods of an accelerated application-oriented middleware layer |
US9503523B2 (en) * | 2013-09-20 | 2016-11-22 | Cisco Technology, Inc. | Hybrid fibre channel storage with end-to-end storage provisioning and external connectivity in a storage area network environment |
CN104636076B (zh) * | 2013-11-15 | 2017-12-05 | 中国电信股份有限公司 | 一种用于云存储的分布式块设备驱动方法和系统 |
CN104750427B (zh) * | 2013-12-27 | 2019-05-17 | 伊姆西公司 | 存储设备及其方法 |
US9933946B2 (en) | 2014-09-15 | 2018-04-03 | Hewlett Packard Enterprise Development Lp | Fibre channel storage array methods for port management |
US9853873B2 (en) | 2015-01-10 | 2017-12-26 | Cisco Technology, Inc. | Diagnosis and throughput measurement of fibre channel ports in a storage area network environment |
US20160277498A1 (en) * | 2015-03-20 | 2016-09-22 | Intel Corporation | Location and boundary controls for storage volumes |
US9900250B2 (en) | 2015-03-26 | 2018-02-20 | Cisco Technology, Inc. | Scalable handling of BGP route information in VXLAN with EVPN control plane |
US10222986B2 (en) | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US11588783B2 (en) | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
US10778765B2 (en) | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
US9892075B2 (en) | 2015-12-10 | 2018-02-13 | Cisco Technology, Inc. | Policy driven storage in a microserver computing environment |
JP6734058B2 (ja) | 2016-01-27 | 2020-08-05 | 株式会社バイオス | 制御装置 |
US10140172B2 (en) | 2016-05-18 | 2018-11-27 | Cisco Technology, Inc. | Network-aware storage repairs |
US20170351639A1 (en) | 2016-06-06 | 2017-12-07 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
US10664169B2 (en) | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
US11563695B2 (en) | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
US10545914B2 (en) | 2017-01-17 | 2020-01-28 | Cisco Technology, Inc. | Distributed object storage |
US11070512B2 (en) * | 2017-02-10 | 2021-07-20 | International Business Machines Corporation | Server port virtualization for guest logical unit number (LUN) masking in a host direct attach configuration |
US10243823B1 (en) | 2017-02-24 | 2019-03-26 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
US10713203B2 (en) | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
US10254991B2 (en) | 2017-03-06 | 2019-04-09 | Cisco Technology, Inc. | Storage area network based extended I/O metrics computation for deep insight into application performance |
US10560525B2 (en) * | 2017-06-21 | 2020-02-11 | Juniper Networks, Inc. | Synchronization between virtual network functions and host systems |
US10303534B2 (en) | 2017-07-20 | 2019-05-28 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
US10404596B2 (en) | 2017-10-03 | 2019-09-03 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US10942666B2 (en) | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
CN110502184B (zh) * | 2018-05-17 | 2021-01-05 | 杭州海康威视系统技术有限公司 | 一种存储数据的方法、读取数据的方法、装置及系统 |
CN108920101B (zh) * | 2018-06-27 | 2021-03-30 | 河北工业大学 | 一种软硬协同动态负载存储方法 |
US11137913B2 (en) | 2019-10-04 | 2021-10-05 | Hewlett Packard Enterprise Development Lp | Generation of a packaged version of an IO request |
CN113297116A (zh) * | 2020-04-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 信息配置方法、端口访问方法、设备及存储介质 |
US11119965B1 (en) | 2020-04-20 | 2021-09-14 | International Business Machines Corporation | Virtualized fabric controller for a storage area network |
US11522814B2 (en) | 2020-11-24 | 2022-12-06 | International Business Machines Corporation | Virtualized fabric login server for storage area network |
US11683372B2 (en) | 2020-11-24 | 2023-06-20 | International Business Machines Corporation | Virtualized fabric management server for storage area network |
US11709699B2 (en) | 2020-11-24 | 2023-07-25 | International Business Machines Corporation | Virtualized fabric name server for storage area network |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001080013A1 (en) * | 2000-04-18 | 2001-10-25 | Storeage Networking Technologies | Storage virtualization in a storage area network |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617421A (en) | 1994-06-17 | 1997-04-01 | Cisco Systems, Inc. | Extended domain computer network using standard links |
US5809285A (en) | 1995-12-21 | 1998-09-15 | Compaq Computer Corporation | Computer system having a virtual drive array controller |
US6035105A (en) | 1996-01-02 | 2000-03-07 | Cisco Technology, Inc. | Multiple VLAN architecture system |
US5742604A (en) | 1996-03-28 | 1998-04-21 | Cisco Systems, Inc. | Interswitch link mechanism for connecting high-performance network switches |
US5740171A (en) | 1996-03-28 | 1998-04-14 | Cisco Systems, Inc. | Address translation mechanism for a high-performance network switch |
US5764636A (en) | 1996-03-28 | 1998-06-09 | Cisco Technology, Inc. | Color blocking logic mechanism for a high-performance network switch |
US6101497A (en) | 1996-05-31 | 2000-08-08 | Emc Corporation | Method and apparatus for independent and simultaneous access to a common data set |
JP2000515657A (ja) | 1996-08-02 | 2000-11-21 | トランソフト コーポレイション | 共有資源の分散制御を可能にする方法と装置 |
US6202135B1 (en) | 1996-12-23 | 2001-03-13 | Emc Corporation | System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility |
US6209059B1 (en) | 1997-09-25 | 2001-03-27 | Emc Corporation | Method and apparatus for the on-line reconfiguration of the logical volumes of a data storage system |
US6188694B1 (en) | 1997-12-23 | 2001-02-13 | Cisco Technology, Inc. | Shared spanning tree protocol |
US6208649B1 (en) | 1998-03-11 | 2001-03-27 | Cisco Technology, Inc. | Derived VLAN mapping technique |
US6260120B1 (en) * | 1998-06-29 | 2001-07-10 | Emc Corporation | Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement |
US6295575B1 (en) | 1998-06-29 | 2001-09-25 | Emc Corporation | Configuring vectors of logical storage units for data storage partitioning and sharing |
US6269381B1 (en) | 1998-06-30 | 2001-07-31 | Emc Corporation | Method and apparatus for backing up data before updating the data and for restoring from the backups |
US6269431B1 (en) | 1998-08-13 | 2001-07-31 | Emc Corporation | Virtual storage and block level direct access of secondary storage for recovery of backup data |
US6148414A (en) | 1998-09-24 | 2000-11-14 | Seek Systems, Inc. | Methods and systems for implementing shared disk array management functions |
US6266705B1 (en) | 1998-09-29 | 2001-07-24 | Cisco Systems, Inc. | Look up mechanism and associated hash table for a network switch |
US6226771B1 (en) | 1998-12-14 | 2001-05-01 | Cisco Technology, Inc. | Method and apparatus for generating error detection data for encapsulated frames |
JP2000242434A (ja) | 1998-12-22 | 2000-09-08 | Hitachi Ltd | 記憶装置システム |
US6542961B1 (en) | 1998-12-22 | 2003-04-01 | Hitachi, Ltd. | Disk storage system including a switch |
US6400730B1 (en) | 1999-03-10 | 2002-06-04 | Nishan Systems, Inc. | Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network |
US6877044B2 (en) * | 2000-02-10 | 2005-04-05 | Vicom Systems, Inc. | Distributed storage management platform architecture |
US20020103889A1 (en) * | 2000-02-11 | 2002-08-01 | Thomas Markson | Virtual storage layer approach for dynamically associating computer storage with processing hosts |
US20020120741A1 (en) * | 2000-03-03 | 2002-08-29 | Webb Theodore S. | Systems and methods for using distributed interconnects in information management enviroments |
US6772231B2 (en) | 2000-06-02 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Structure and process for distributing SCSI LUN semantics across parallel distributed components |
US6779094B2 (en) * | 2000-06-19 | 2004-08-17 | Storage Technology Corporation | Apparatus and method for instant copy of data by writing new data to an additional physical storage area |
US6952734B1 (en) | 2000-08-21 | 2005-10-04 | Hewlett-Packard Development Company, L.P. | Method for recovery of paths between storage area network nodes with probationary period and desperation repair |
US6847647B1 (en) | 2000-09-26 | 2005-01-25 | Hewlett-Packard Development Company, L.P. | Method and apparatus for distributing traffic over multiple switched fiber channel routes |
US6978300B1 (en) | 2000-10-19 | 2005-12-20 | International Business Machines Corporation | Method and apparatus to perform fabric management |
US7165096B2 (en) * | 2000-12-22 | 2007-01-16 | Data Plow, Inc. | Storage area network file system |
US6857059B2 (en) * | 2001-01-11 | 2005-02-15 | Yottayotta, Inc. | Storage virtualization system and methods |
US6748502B2 (en) * | 2001-01-12 | 2004-06-08 | Hitachi, Ltd. | Virtual volume storage |
US6880062B1 (en) | 2001-02-13 | 2005-04-12 | Candera, Inc. | Data mover mechanism to achieve SAN RAID at wire speed |
US7200144B2 (en) * | 2001-10-18 | 2007-04-03 | Qlogic, Corp. | Router and methods using network addresses for virtualization |
JP2003162439A (ja) | 2001-11-22 | 2003-06-06 | Hitachi Ltd | ストレージシステム及びその制御方法 |
US6986015B2 (en) | 2001-12-10 | 2006-01-10 | Incipient, Inc. | Fast path caching |
US7155494B2 (en) | 2002-01-09 | 2006-12-26 | Sancastle Technologies Ltd. | Mapping between virtual local area networks and fibre channel zones |
US6983303B2 (en) | 2002-01-31 | 2006-01-03 | Hewlett-Packard Development Company, Lp. | Storage aggregator for enhancing virtualization in data storage networks |
JP3993773B2 (ja) | 2002-02-20 | 2007-10-17 | 株式会社日立製作所 | ストレージサブシステム、記憶制御装置及びデータコピー方法 |
US6907419B1 (en) | 2002-02-27 | 2005-06-14 | Storage Technology Corporation | Method, system, and product for maintaining within a virtualization system a historical performance database for physical devices |
US8051197B2 (en) | 2002-03-29 | 2011-11-01 | Brocade Communications Systems, Inc. | Network congestion management systems and methods |
US6683883B1 (en) | 2002-04-09 | 2004-01-27 | Sancastle Technologies Ltd. | ISCSI-FCP gateway |
US7237045B2 (en) | 2002-06-28 | 2007-06-26 | Brocade Communications Systems, Inc. | Apparatus and method for storage processing through scalable port processors |
US7353305B2 (en) | 2002-06-28 | 2008-04-01 | Brocade Communications Systems, Inc. | Apparatus and method for data virtualization in a storage processing device |
US7120728B2 (en) | 2002-07-31 | 2006-10-10 | Brocade Communications Systems, Inc. | Hardware-based translating virtualization switch |
US7269168B2 (en) | 2002-07-31 | 2007-09-11 | Brocade Communications Systems, Inc. | Host bus adaptor-based virtualization switch |
US7467406B2 (en) | 2002-08-23 | 2008-12-16 | Nxp B.V. | Embedded data set processing |
US7352706B2 (en) | 2002-09-16 | 2008-04-01 | Finisar Corporation | Network analysis scalable analysis tool for multiple protocols |
US7277431B2 (en) | 2002-10-31 | 2007-10-02 | Brocade Communications Systems, Inc. | Method and apparatus for encryption or compression devices inside a storage area network fabric |
US20050050211A1 (en) | 2003-08-29 | 2005-03-03 | Kaul Bharat B. | Method and apparatus to manage network addresses |
US20050076113A1 (en) | 2003-09-12 | 2005-04-07 | Finisar Corporation | Network analysis sample management process |
US20050091426A1 (en) | 2003-10-23 | 2005-04-28 | Horn Robert L. | Optimized port selection for command completion in a multi-ported storage controller system |
US7934023B2 (en) | 2003-12-01 | 2011-04-26 | Cisco Technology, Inc. | Apparatus and method for performing fast fibre channel write operations over relatively high latency networks |
-
2002
- 2002-01-09 US US10/045,883 patent/US7548975B2/en not_active Expired - Lifetime
- 2002-12-23 KR KR1020047010745A patent/KR100927748B1/ko active IP Right Grant
- 2002-12-23 AU AU2002361837A patent/AU2002361837B2/en not_active Ceased
- 2002-12-23 WO PCT/US2002/041079 patent/WO2003060688A2/en active Application Filing
- 2002-12-23 JP JP2003560717A patent/JP4372553B2/ja not_active Expired - Fee Related
- 2002-12-23 EP EP02797469A patent/EP1502179A2/en not_active Ceased
- 2002-12-23 CA CA2472992A patent/CA2472992C/en not_active Expired - Fee Related
- 2002-12-23 CN CNB028284461A patent/CN1311326C/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001080013A1 (en) * | 2000-04-18 | 2001-10-25 | Storeage Networking Technologies | Storage virtualization in a storage area network |
Also Published As
Publication number | Publication date |
---|---|
KR100927748B1 (ko) | 2009-11-20 |
US20030131182A1 (en) | 2003-07-10 |
WO2003060688A2 (en) | 2003-07-24 |
AU2002361837A1 (en) | 2003-07-30 |
AU2002361837B2 (en) | 2009-06-04 |
CN1623136A (zh) | 2005-06-01 |
CA2472992A1 (en) | 2003-07-24 |
CA2472992C (en) | 2013-02-19 |
EP1502179A2 (en) | 2005-02-02 |
WO2003060688A3 (en) | 2004-12-09 |
KR20040068368A (ko) | 2004-07-30 |
US7548975B2 (en) | 2009-06-16 |
JP4372553B2 (ja) | 2009-11-25 |
JP2006505831A (ja) | 2006-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1311326C (zh) | 通过虚拟包封在存储区域网络内实现存储虚拟化的方法和装置 | |
CN1304961C (zh) | 基于元数据服务器的存储虚拟化管理方法 | |
US7437507B2 (en) | Online restriping technique for distributed network based virtualization | |
CN1708742A (zh) | 在存储区域网中实现存储虚拟化的方法与装置 | |
CN1324450C (zh) | 存储系统和存储控制装置及存储控制装置的控制方法 | |
JP4691251B2 (ja) | 仮想ローカルストレージを与えるためのストレージルータおよび方法 | |
US6553408B1 (en) | Virtual device architecture having memory for storing lists of driver modules | |
JP4632574B2 (ja) | 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法 | |
CN100396065C (zh) | 一种iSCSI存储系统的实现方法 | |
CN1766851A (zh) | 用于数据存储区管理的系统及方法 | |
CN1688982A (zh) | 为文件和块存取协议提供综合支持的多协议存储设备 | |
US20050129016A1 (en) | Storage system management method, storage system, switch, and storage medium having a program | |
CN1617526A (zh) | 在物理端口上模拟多个逻辑端口的方法和装置 | |
CN1754374A (zh) | 带有网关负载分配的网络地址转换 | |
CN104052789A (zh) | 用于虚拟联网系统的负载平衡 | |
JP2008529167A (ja) | 協調的共用ストレージアーキテクチャ | |
CN101075198A (zh) | 提供两级服务器虚拟化的方法和系统 | |
WO2002025446A2 (en) | Method and system of allocating storage resources in a storage area network | |
JP2005309680A (ja) | 記憶サブシステム管理方法 | |
CN101048981A (zh) | 用于混合交换机架构的光纤信道透明交换机 | |
CN1955912A (zh) | 海量存储系统中的资源分配方法 | |
CN1902578A (zh) | 用于控制对逻辑单元的访问的方法和设备 | |
KR101470857B1 (ko) | iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템 및 방법 | |
WO2018099241A1 (zh) | 磁盘阵列控制器、数据处理方法及其装置 | |
CN1455334A (zh) | 用普通scsi磁盘代替存储光纤网络中光纤磁盘的方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070418 Termination date: 20201223 |
|
CF01 | Termination of patent right due to non-payment of annual fee |