US20120259961A1 - System of managing remote resources - Google Patents

System of managing remote resources Download PDF

Info

Publication number
US20120259961A1
US20120259961A1 US13/081,963 US201113081963A US2012259961A1 US 20120259961 A1 US20120259961 A1 US 20120259961A1 US 201113081963 A US201113081963 A US 201113081963A US 2012259961 A1 US2012259961 A1 US 2012259961A1
Authority
US
United States
Prior art keywords
remote
storage
local
manager
pool
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.)
Abandoned
Application number
US13/081,963
Inventor
Alex Winokur
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.)
Infinidat Ltd
Original Assignee
Infinidat 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 Infinidat Ltd filed Critical Infinidat Ltd
Priority to US13/081,963 priority Critical patent/US20120259961A1/en
Assigned to INFINIDAT LTD. reassignment INFINIDAT LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WINOKUR, ALEX
Publication of US20120259961A1 publication Critical patent/US20120259961A1/en
Priority to US14/215,166 priority patent/US9405484B2/en
Assigned to HSBC BANK PLC reassignment HSBC BANK PLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INFINIDAT LTD
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers

Definitions

  • This invention relates to remote management operations.
  • remote management operations are typically executed, at least partially, by human storage administrators and are quite involved.
  • Storage Management commands are commands that do not directly concern the I/O operations that are addressed to the storage system (such as write data to or read data from a storage).
  • the storage management commands may concern modifications in the internal structure of data in the storage system (e.g. volumes, mirrors, snapshots), or in the distribution of data over the physical components of the storage system, and the like.
  • Remote Storage management commands are management commands that are addressed to remote storage systems.
  • remote management operation may include by way of example one or more of the following management operations:
  • remote storage is typically managed by a different (human) storage administrator than the one who manages the primary (local) storage.
  • An exemplary remote I/O operation is remote mirroring.
  • data that resides in volumes of local storage is replicated and copied in accordance with a known protocol (e.g. synchronous, or asynchronous) into volume(s) that reside in remote storage.
  • the remote mirroring affords restoration of lost or damaged data in the local storage, e.g. by accessing and retrieving the “mirrored data” from the remote storage.
  • a known protocol e.g. synchronous, or asynchronous
  • the remote mirroring affords restoration of lost or damaged data in the local storage, e.g. by accessing and retrieving the “mirrored data” from the remote storage.
  • There are known techniques for implementing remote mirrors such as in “ Information Storage and Management: Storing, Managing, and Protecting Digital Information ” Chapter 14 by EMC (hereinafter the “ Information Storage ”).
  • FIG. 1 illustrating a block diagram of a generalized system architecture for carrying out remote mirroring, according to the prior art.
  • Host 10 accesses local storage 11 for executing I/O operations 12 , such as reading/writing volumes or snapshots that reside in local storage.
  • Local storage is depicted for simplicity as a single unit, although in real life this is typically not the case.
  • management operations such as create or delete resources (e.g. volumes/snapshots) in the local storage, require involvement of computerized storage manager module 13 , possibly also with significant involvement of human storage administrator 14 through interface 15 .
  • the human administrator 14 in charge of the local storage should be approached.
  • the human administrator activates the computerized storage manager 13 (through interface 15 ) for creating a volume at local storage 11 .
  • Remote operations (such as remote mirroring) not only require a sequence of operations that are executed at the local storage 11 , but also operations performed at the remote storage 16 and this requires involvement of computerized remote storage manager module 17 and possibly also of remote human storage administrator 18 (utilizing interface 19 ).
  • the remote storage may be of different characteristics (and/or commercially available from a is different vendor) than the local storage, and therefore the local and the remote storage managers are not identical, further hindering the coordination required to implement the remote management operation.
  • the local and remote storage administrators are different entities, thereby further complicating the remote management preparatory operations and the actual remote management implementation.
  • a volume say V 1
  • the remote human administrator 18 typically a different entity than the local human administrator 14
  • the remote administrator will activate the computerized remote storage manager 17 (through interface 18 ) for creating remote volume V 1 ′ and associating V 1 ′ to V 1 .
  • Storage pools is a mechanism used by storage administrators or managers to monitor and control storage allocation to hosts, e.g. in the case of volumes with snapshots or of thin volumes.
  • a storage manager allocates a storage pool in accordance with the size of the storage quota to be allocated for a particular user, which accesses the system via a host or via a group of hosts.
  • the storage pool forms part of the storage system. All volumes for this user are allocated then by the storage manager (e.g. local storage manager 13 ) from this storage pool.
  • the pools provide a flexible way to manage the space allocated to a certain user.
  • the space in the pool is depleted, no more data can be allocated for volumes associated with the pool and no new volumes can be created which use space associated with this pool.
  • the storage manager/administrator may free some space by deleting some volumes or snapshots, thus increasing the pool size, or abort the new data allocation.
  • the storage manager (possibly under control of the storage administrator) is also in charge of imposing security rules, for instance authorizing or denying access of the host to given volumes/snapshots (e.g. residing in storage pools).
  • a system of managing remote resources that includes a local storage associated with a local storage manager constituting a local storage system and a remote storage associated with a remote storage manager constituting a local storage system, the local storage system is associated with a remote storage system by means of a first link; the local storage system is configured to send through the link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system; the system comprising a second link associating the local storage system and remote storage system; the local storage manager being responsive to at least one remote storage management command) and being configured to send through the second link at least one cross-storage-remote management command corresponding to the remote storage management command, complying with an I/O protocol, for execution in the remote storage.
  • the I/O protocol being the SCSI protocol.
  • the first link and second link are the same.
  • a system wherein the local storage system is associated with a host manager by means of a third link and wherein the host manager is configured to send through the third link the at least one remote storage management command complying with the I/O protocol.
  • the local storage includes a local pool and the remote storage includes an associated remote pool.
  • a system wherein the host manager is associated with the local storage system by means of a fourth link and wherein the host manager is configured to send through the fourth link at least one local storage management command complying with the I/O protocol, for executing in the local storage.
  • the remote storage management command being a “create remote mirror”, including create a volume in said local storage, indicate in a local data structure that the volume in the local storage is associated to a volume in a remote storage, and create volume in the remote storage, and indicate in a remote data structure that that the volume in the remote storage is associated to the volume in local storage.
  • the remote storage management command being a “create remote snapshot”, including create a snapshot of the remote volume in the remote storage.
  • the I/O remote command being a remote mirror including utilizing the local and remote data structures and storing in the volume in the remote storage a mirror of data in the volume of the local storage.
  • a system wherein the host manager is attached through a first handle to a local extended pool; the extended pool is associated with the local storage manager, a remote extended pool is associated by means of a second handle to the local manager; the remote extended pool is associated with the remote storage manager; and wherein the host manager is configured to send the remote management command to the local extended pool through the handle, which command is sent to the local manager, and wherein the local storage manager is configured to issue a cross storage remote management command and send it through the second handle to the remote extended pool which command is sent to the remote storage manager; the remote storage manager is configured to parse the command and to execute it in the remote pool.
  • the first handle includes an initiator port for attaching to the host, a target port for attaching to a local pool volume of the local extended pool, and a LUN uniquely identifying the handle; and wherein the second handle includes an initiator port for attaching to the local storage, a target port for attaching to a remote pool volume of the remote extended pool, and a LUN uniquely identifying the handle.
  • a system of managing remote resources that includes a local storage associated with a local storage manager, constituting a local storage system and a remote storage associated with a remote storage manager, constituting a remote storage system; the local storage system having a first link for association with a remote storage system; the local storage system is configured to send through the link at least one I/O remote command complying with an I/O protocol, for execution in a remote storage system; the system comprising: the local storage system having a second link for association with the remote storage system; the local storage manager being responsive to at least one remote storage management command and being configured to send through the second link at least one cross-storage-remote management command corresponding to the remote storage management command, complying with an I/O protocol, for execution in the remote storage.
  • the local storage system having a third link for association with a host manager; the local storage system is configured to receive from the host manager through the third link the at least one remote storage management command complying with the I/O protocol.
  • the local storage includes a local pool and the remote storage includes an associated remote pool.
  • a system of managing remote resources that includes a local storage associated with a local storage manager, constituting a local storage system and a remote storage associated with a remote storage manager, constituting a remote storage system; the remote storage system having a first link for association with the local storage system; the remote storage system is configured to receive through the first link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system; the system comprising the remote storage system having a second link for association with the local storage system; the remote storage manager being configured to send through the second link at least one cross-storage-remote management command corresponding to a remote storage management command, complying with an I/O protocol, for execution in the remote storage.
  • a system that includes a local storage associated with a local storage manager, constituting a local storage system; a remote storage associated with a remote storage manager, constituting a remote storage system; the local storage system having a first link for association with the remote storage system; the local storage system is configured to send through the link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system, a method for managing remote resources method comprising:
  • a local storage associated with a local storage manager constituting a local storage system
  • a remote storage associated with a remote storage manager constituting a remote storage system
  • the remote storage system having a first link for association with the local storage system
  • the remote storage system is configured to received through the link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system, a method for managing remote resources method comprising:
  • FIG. 1 is a block diagram of a generalized system architecture for carrying out remote mirroring, according to the prior art
  • FIG. 2A is a block diagram of a generalized system architecture, in accordance with certain embodiments of the invention.
  • FIG. 2B illustrates schematically, remote and local storages, in accordance with certain embodiments of the invention
  • FIG. 2C illustrates schematically, local and remote volume management tables, in accordance with certain embodiments of the invention.
  • FIG. 3 is a block diagram of host manager modules, in accordance with certain embodiments of the invention.
  • FIG. 4 is a block diagram of storage manager modules, in accordance with certain embodiments of the invention.
  • FIG. 5 is a schematic illustration of a host and extended pool, in accordance with certain embodiments of the invention.
  • FIG. 6 is a flow chart illustrating a sequence of operations for generating an extended pool by a storage manager, in accordance with certain embodiments of the invention.
  • FIG. 7 illustrates, schematically, local and remote operations, in accordance with certain embodiments of the invention.
  • FIG. 8 illustrates a sequence of operations for implementing a remote create snapshot command, in accordance with certain embodiments of the invention.
  • the operations of the host manager, local storage manager, or remote storage manager may be performed by a computer specially constructed for the desired purposes or by a general purpose computer specially configured for the desired purpose by a computer program stored in a computer readable storage medium.
  • command is not necessarily confined to a single computer instruction but, depending upon the particular application, may include a plurality of instructions.
  • FIG. 2A it illustrates a block diagram of a generalized system architecture, in accordance with certain embodiments of the invention.
  • the host manager 201 invokes a remote management command, and transmits it to a local storage manager 202 (associated with local storage 203 ) through a link 206 .
  • a link between the host and the local storage (say 12 ) is used in the prior art architecture of FIG. 1 to convey I/O commands (such as read/write data to and from a storage resource).
  • I/O commands such as read/write data to and from a storage resource.
  • a link between host manager (associated with the host) and the local storage will be used to convey management commands including remote management commands.
  • a local system includes the specified local storage manager and the local storage.
  • the local storage manager executes the command vis-à-vis the local storage 203 .
  • the local storage manager 202 transmits a cross storage management command to remote storage manager 204 through link 208 , where the latter executes, in turn, the remote command commands vis-à-vis the remote storage 205 .
  • a remote system includes the specified remote storage manager and the remote storage.
  • the link between the local storage system and remote storage system (say 100 ) is used in the prior art architecture of FIG. 1 to convey I/O commands (such as read/write data to and from a storage resource).
  • I/O commands such as read/write data to and from a storage resource.
  • a link between the local storage and the remote storage systems will be used to convey remote management commands designated to be executed on the remote storage.
  • triggering remote management commands from the host and utilizing links (e.g. 206 and 208 ) for conveying the management commands obviates the need to involve the local and remote human storage administrators.
  • the pertinent I/O commands e.g. write snapshot data or mirroring data for storing in remote storage 205 may be transmitted through the same or similar links (as is the case with prior art architecture).
  • a given local storage 203 there may be associated two or more remote storages 205 .
  • FIG. 2B it illustrates schematically remote and local storages, in accordance with certain embodiments of the invention.
  • a remote secondary volume (e.g. RV 1 251 ) resides in a remote pool e.g. 252 (forming part of remote storage 205 ).
  • a local pool e.g. 253 (forming part of local storage 203 ) accommodates the primary volume e.g. V 1 254 .
  • the local and remote pools are associated with each other and within the associated pools, selected local and remote volume(s) are associated with each other (e.g. volume V 1 254 is associated with remote volume RV 1 251 ), for the purpose of executing remote command, such as remote mirroring.
  • a volume in a remote pool can be associated to a volume in a local pool only if the pools are associated.
  • remote snapshot e.g. 255
  • V 1 a local volume
  • remote pool e.g. 252
  • the association between the volumes may be reflected in corresponding local and remote volume management tables and may be utilized e.g, for implementing the specified remote mirroring.
  • This is illustrated for example in FIG. 2C showing schematic local volume management table 270 where the data that pertains to local volume e.g. V 1 is stored in record 271 and among the various fields characterizing the volume (e.g. size 272 ) there is further indicated remote mirror field 273 designated RV 1 .
  • the remote volume management table 280 includes record 281 for remote volume RV 1 which includes characterizing fields (e.g. size 282 ) and primary volume field 283 designating the counterpart local volume V 1 .
  • the specified databases can be utilized by the remote mirroring utility to place the mirrors of local volume V 1 in remote volume RV 1 (in remote pool 252 ) utilizing to this end link 208 .
  • Specific volume management table portions 270 and 280 are illustrated by way of example only and any known per se data structures may be used.
  • this may include:
  • FIG. 3 it illustrates a block diagram of host manager modules, in accordance with certain embodiments of the invention.
  • host manager 201 of FIG. 2 includes remote management control module 300 which includes remote mirroring module 301 in charge of commencing remote mirroring management commands.
  • remote snapshot creation module 302 in charge of commencing remote snapshot creation management commands. Note that by the specific example of FIG. 3 only two remote management operations are exemplified. The invention is of course not bound by the specified remote mirroring and remote create snapshot operations.
  • the host manager further includes local resource management control module 303 for issuing local resource management operations at the local storage (pool).
  • FIG. 4 it illustrates a block diagram of storage manager modules, in accordance with certain embodiments of the invention.
  • local storage manager 202 of FIG. 2 includes pool resource control module 401 (whose operation will be explained in greater detail below) and management control module 402 which is in charge of commencing cross-storage remote management operations such as cross-storage mirroring management commands (in response to a triggering a command from the host manager module 301 ).
  • pool resource control module 401 whose operation will be explained in greater detail below
  • management control module 402 which is in charge of commencing cross-storage remote management operations such as cross-storage mirroring management commands (in response to a triggering a command from the host manager module 301 ).
  • the management control module 402 is configured to communicate indirectly (as will be exemplified below) with remote mirroring control (RMC) module 404 forming part of remote management module 405 ) of remote storage manager 204 (all as will be exemplified in greater detail below) which will execute the specified remote mirror management command.
  • RMC remote mirroring control
  • the management control module 402 is further in charge of commencing a cross-storage snapshot creation management command (in response to triggering a command from the host manager module 301 ).
  • the management control module 402 is configured to communicate indirectly with remote snapshot creation (RSC) module 407 (of remote storage management module 405 ) of remote storage manager 204 (all as will be exemplified in greater detail below), for executing remote snapshot creation management command.
  • RSS remote snapshot creation
  • the remote storage manager further includes remote pool resource control module 408 whose operation will be explained in greater detail below.
  • local storage manager 202 includes local resource management module 409 for implementing operations on local storage (pool), all as will be explained in greater detail below.
  • FIG. 5 shows a schematic illustration of a host and extended storage pool, in accordance with certain embodiments of the invention.
  • a so called local pool volume 501 is created (e.g. by means of pool resource controller 401 of the local storage manager 202 —see FIG. 4 ).
  • the pool volume complies with the general structure of known per se volumes and in accordance with certain embodiments has an initial size 0.
  • the local storage manager 202 (e.g. by means of pool resource controller 401 ) further creates a handle 502 (e.g. in accordance with the initiator-Target-LUN [ITL] paradigm) allocating a unique LUN as part of the specified handle (handle being an example of a link).
  • a handle 502 e.g. in accordance with the initiator-Target-LUN [ITL] paradigm
  • ITL initiator-Target-LUN
  • the pool resource control module 401 further attaches the handle to the pool volume 501 through target port 503 and the host manager 201 attaches the handle to the host 10 through initiator port 504 , e.g. in compliance with the known per se volume ITL paradigm, see U.S. application Ser. No. 12/957,613, filed 1 Dec. 2010, whose contents are incorporated herein by reference.
  • the pool volume 501 will be associated with a created pool 505 that forms part of the local storage (e.g. 203 of FIG. 2 ).
  • each pool is defined by a name, the size of physical storage associated with it, and logical volumes associated with it.
  • the specified architecture of local extended pool (including the pool and the associated pool volume) will be utilized by the host for triggering a management command for managing local resources (such as create/delete local volumes/snapshots) and for triggering remote management operations (such as create remote snapshot/create remote mirror), in a manner that will be described in more detail below.
  • a management command for managing local resources (such as create/delete local volumes/snapshots) and for triggering remote management operations (such as create remote snapshot/create remote mirror), in a manner that will be described in more detail below.
  • a remote extended pool that includes remote pool volume 510 and remote pool 511 (the latter forms part of remote storage 205 ) and their association is created by remote pool resource control module 408 of remote storage manager 204 .
  • a link between the local storage and the remote storage is required in to order to convey the remote management commands (originated from the host) to the remote side for execution at the remote pool. More specifically, a link (e.g. a handle complying with the ITL paradigm) is created between the management control module 402 (of local storage manager 202 —see FIG. 4 ) and the remote pool volume 510 .
  • the pool resource control module 408 of the local storage manager 202 defines an initiator port 507 and attaches it to the management control module 402 .
  • the remote pool resource control module 408 (of remote storage manager 204 ), in turn, defines a target port 509 and attaches it to the remote pool volume 510 .
  • LUN # ( 508 ) and sends the data to the local pool resource control module for associating the LUN 508 to initiator port 507 , thereby creating a handle facilitating communication (in compliance with the ITL paradigm) between the management control module 402 and remote pool volume 510 , all as will be explained in greater detail below.
  • the link (e.g. TTL based link, 502 - 504 ) between the host and the local storage as well as between the local storage and remote storage (e.g. 507 to 509 ), serve in accordance with certain embodiments for conveying remote management commands (such as create remote snapshot or create remote mirror), whereas according to the prior art such links served for communicating I/O commands (e.g. read data from/write data to storage resources such as volumes and/or snapshots).
  • I/O commands e.g. read data from/write data to storage resources such as volumes and/or snapshots.
  • ITL paradigm is an example only and is by no means binding.
  • the operation of the specified pool resource control module 401 associated with the local storage manager 202 may occasionally require the involvement of a human resource administrator at the local site.
  • remote pool resource control module 408 associated with the remote storage manager 202 may occasionally require the involvement of human resource administrator at the remote site.
  • association between a primary storage pool e.g. 505 and a secondary storage pool e.g. 511 is performed by associating the primary pool volume 501 with a secondary pool volume 510 . This is in useful for example if multiple primary pools on a single primary storage are to be associated with multiple remote pools on a secondary storage.
  • FIG. 6 shows a flow chart illustrating a sequence of operations for generating a local and remote extended pools by the respective storage manager (as outlined e.g. in FIG. 4 ), in accordance with certain embodiments of the invention.
  • the pool resource control module 401 of the storage manager module 202 creates an extended storage pool that includes a pool of specific size and specific pool name (e.g. 505 of FIG. 5 ).
  • the pool resource control module 401 creates a volume (designated “pool volume” forming part of the extended pool) of size 0 (e.g. 501 ) with a name which is algorithmically derived from the storage pool. For instance, if VOL_TEST_POOL_NAME is the pool name then the pool volume name (algorithmically derived therefrom) may be VOL_TEST_POOL_NAME_ POOLVOLUME. Note that the name relationship between the pool and the pool volume names is not necessarily algorithmically derived and obviously not limited to the example above which was provided for illustrative purposes only.
  • step 603 the pool resource control module 401 grants to hosts access to the local storage pool 505 . This is accomplished by associating the pool volume 501 with the appropriate handle 502 , in a similar fashion to known per se creating and attaching a volume to a host.
  • the resource control module 401 associates local pool volume 501 to management control modules 402 (of local storage manager 202 ) and in step 605 receives a handle data (e.g. LUN # 508 ) from the remote side and attaches it to so created initiator port (e.g. 507 ) of management control module 402 to thereby establish an ITL based communication between the local management control module 402 and the remote pool volume 510 .
  • This handle will serve for conveying remote management commands in an I/O protocol format (e.g. SCSI)) to remote pool volume 510 ), all as will be explained in greater detail below. To this end it associates an initiator port (e.g. 507 ) to the management control modules 402 .
  • FIG. 6 further elaborates the operational stages performed by the remote resource pool control module 408 of remote storage manager 204 .
  • a remote extended storage pool that includes a pool 511 is created.
  • a remote pool volume of size 0 with a name that is algorithmically derived from the storage pool is created ( 510 ).
  • a target port (e.g. 509 ) is created at pool volume 510 and a handle (including 508 ) is generated.
  • the handle data is sent ( 613 ) for attaching it to the management control module at the local side (as described above), thereby establishing an ITL based link between the management control module 402 and the remote pool volume 510 .
  • the local and remote pool volume names may also be related.
  • the utilization of the pool volumes in the manner specified prescribes a certain privilege regime.
  • the utilization of the pool volume will only allow the host to manage and access a local pool that is associated to this given host.
  • the remote side only a remote pool that is associated with the remote pool volume is accessible.
  • FIG. 7 it illustrates schematically remote management operations, in accordance with certain embodiments of the invention.
  • the description focuses at first on implementing local operations at the local pool (e.g. pool 505 ) before moving on to remote operation.
  • the host manager (associated with host 400 ) issues through its local resource management module ( 303 ), a “create volume V 52 in a pool” command 701 (e.g. imbedded in a SCSI command as will be discussed in greater detail below) and sends the command to the appropriate pool volume 501 .
  • the host utilizes the dedicated handle 502 attaching the host 400 to the pool volume 501 .
  • the storage manager (e.g. through its local resource manager 409 —see also FIG. 4 ) receives and parses 702 the command and executes, in a known per se manner, creation 703 of volume V S2 704 in pool 505 . For instance, the parsing (at the local storage manager end, e.g.
  • module 409 may include transforming the SCSI command into a CLI (Command Line Interface) format for implementing the management command, such as create volume.
  • CLI Common Line Interface
  • the SCSI command appears in a so called CDB (Command Descriptor Block) format which can be modified to incorporate a CLI format.
  • pool 505 already accommodates volume V S1 705 storing data 706 indicative, for example, of snapshots of a primary volume (not shown in FIG. 7 ) of host 400 .
  • the local resource management module 409 of the local storage manager 202 executes this command by creating the requested volume of the specified name and size in the specified pool, allocating a free LUN number to it ( 712 ) in compliance with the ITL paradigm.
  • an ITL is created which is based on this LUN and an initiator port 502 and target port 711 which are the same as the ones allocated for the pool volume 501 . This can be illustrated, for example, in FIG.
  • target port 711 is the same for both LUN numbers.
  • the LUN numbers whilst presented for simplicity as having physical connections between the host and the respective volumes, are in fact (as is well known) logical connections and therefore the target port 711 , although presented graphically as two distinct “locations”, may be common to both LUNs 502 and 712 .
  • FIG. 7 illustrates an exemplary management command i.e. create volume.
  • Other management commands can be implemented, e.g. deleting a volume from a given pool, create local snapshot, etc. mutatis mutandis.
  • VOL_TEST in addition to “pool” and “pool volume”, also other resources such as “volume” and “volume snapshot” may have algorithmically derivative names.
  • a volume called say VOL_TEST is created.
  • a pool that is associated to this volume may have the name VOL_TEST_POOL_NAME (where the volume VOL_TEST is algorithmically derived from the pool name).
  • All the snapshots in this volume may have names that are algorithmically derived from the volume name, for example: YYYY.MM.HH.MM.SS-VOL_TEST SNAPs (where VOL_TEST_SNAPs signifies a snapshot associated with volume VOL_TEST and YYYY.MM.HH.MM.SS signifies the snapshot's creation time).
  • VOL_TEST_SNAPs signifies a snapshot associated with volume VOL_TEST
  • YYYY.MM.HH.MM.SS signifies the snapshot's creation time
  • FIG. 7 illustrates one form of resource, i.e. a standard volume.
  • the invention is however applicable to other resources of external virtual memory, such as snapshots or thin volumes.
  • This command is originated by snapshot creation module 302 (shown in FIG. 3 ) of remote management control module 300 in host manager 201 .
  • This SCSI command (SCSI being an example of I/O protocol) is transmitted through the LUN 502 to local pool volume 501 .
  • the latter module 409 receives the host originated remote management command, analyses it and concludes that it is a remote management command rather than local management command and consequently sends it through link 7000 to management control module 402 .
  • the management control module 402 optionally generates and transmits a cross storage (SCSI) command (indicative of create remote snapshot) to remote pool volume 510 utilizing the ITL handle (initiator port 507 , LUN 508 and target port 509 ).
  • SCSI cross storage
  • the cross-storage command may be the original command sent from the host manager (using of course a different initiator and target port, i.e. 507 and 509 instead of 710 and 711 ) or a newly generated command (syntactically wise) but semantically representative of the same host originated command (e.g. create remote snapshot).
  • the specified ITL handle ( 507 to 509 ) is typically implemented over standard wide area network infrastructure, since as specified, the remote side is typically geographically remote from the local site.
  • the pool volume 510 at the remote side transmits ( 720 ) the so received SCSI command to remote storage manager (not shown in FIG. 7 ) and more specifically to remote resource management module 405 thereof.
  • the remotely originated snapshot control module 407 of the remote resource management 405 parses the command and executes, in a known per se manner, (i.e. creation of remote snapshot in remote pool 511 ).
  • the parsing of the command may include transforming the SCSI command into a CLI (Command Line Interface) format for implementing the management command, such as create snapshot.
  • CLI Common Line Interface
  • the SCSI command appears in a so called CDB (Command Descriptor Block) format which can be modified to incorporate a CLI format.
  • the actual snapshotted data (e.g. the SCSI I/O command of write snapshot data) utilizes also ITL links between the host and the local storage as well as between the local storage and the remote storage, in a known per se manner (as is the case with the prior art system depicted in FIG. 1 ).
  • remote mirroring management command is performed in a similar manner mutatis mutandis, using for instance remote mirror control module 404 in remote resource management module 405 of remote storage manager 15 .
  • local and remote volumes are created utilizing the local storage manager and remote storage managers, respectively.
  • a SCSI remote mirroring management command e.g. create volume pair V 1 , RV 1
  • the SCSI command is transmitted to the local storage 203 (through LUN 502 ) and processed (including parsing) at the local resource management module 409 .
  • the latter will indicate in local volume management table 270 (at the remote mirror field 273 thereof) that the mirror volume of local volume V 1 is RV 1 .
  • the command will be sent to the management control module 402 which will generate a cross-storage “create volume pair” SCSI command (having the same or different syntax) and will send it through handle (LUN 508 ) to remote volume 510 which sends it to remotely originated mirror creation module 404 (of remote resource management module 405 ).
  • Module 404 parses and processes the command and consequently updates the primary volume field 283 of remote table 280 by designating that V 1 is the primary volume for which RV 1 serves as a mirroring module.
  • ITL based handles linking between the host and the local storage as well as between the local storage and remote storage
  • I/O commands e.g. SCSI
  • the description with reference to FIG. 7 illustrated only one pool 505 associated with the pool volume 501 . This however is not obligatory, and there may be more than one pool associated with the specified pool volume. In this case the SCSI command should indicate the name of the target pool.
  • FIG. 8 illustrating a sequence of operations for implementing a remote create snapshot management command, in accordance with certain embodiments of the invention.
  • the description of FIG. 8 will occasionally refer also to FIG. 7 .
  • the remote snapshot will be performed for the remote volume, however, due to the “mirror” relationship between the remote and local volumes, the remote snapshot is in fact a snapshot of the local volume.
  • the host manager e.g. remote management control module 300
  • This command is to generate a snapshot (at a remote pool) to a volume stored in a remote pool.
  • the host manager ascertains if the host has permission to access the specified volume 802 (by this specific example, this is achieved by simply accessing the pool volume which is associated to a pool storing volumes that the host is permitted to access), and if in the affirmative 803 the sequence continues, otherwise the operation is aborted 804 .
  • the command is transmitted through the local pool volume (e.g. 501 ) to local resource management module 409 . Since the command is a remote operation, it is transmitted by the local resource management module local pool volume to management control module 402 .
  • the management control module identifies the remote volume (at the remote pool 505 ) that corresponds to the local volume (step 805 )) (e.g. utilizing table 270 of FIG. 2C ). Having identified the corresponding volume, a cross storage command is invoked 806 (e.g. CREATE REMOTE SNAPSHOT, REMOTE VOLUME NAME). The command is embedded in a SCSI command and is communicated through the ITL handle to remote pool volume 510 and is then parsed by the remote resource management module 405 and converted to actually create remote snapshot in remote pool 511 (stage 807 at module 407 ). Note that the actual snapshotted data of local volume V 1 will be sent (according to the data snapshot policy) for storing in the corresponding remote volume through a link associating the local and remote storages, all as known per se.
  • a cross storage command is invoked 806 (e.g. CREATE REMOTE SNAPSHOT, REMOTE VOLUME NAME).
  • the command is embedded in
  • the resulting remote snapshot 255 of the remote volume 251 is depicted by way of example in FIG. 2B .
  • the actual data in the remote snapshot will be written only upon invoking the BO remote operation of create remote snapshot, all as known per se.
  • the notion of an extended storage pool is extended to primary extended storage pool and secondary extended storage pool.
  • the notion of primary pool (e.g. 253 ) and secondary pool (e.g. 202 ) is similar to the notion of a primary volume (e.g. 254 ) and a secondary volume (e.g. 251 ). That is, in the context of remote operations a primary storage pool 253 is associated with a secondary storage pool 252 on the remote storage such that:
  • the remote storage pool is attached to the primary storage, it is viewed as an extension of the primary storage, and from this point onwards the primary storage administrator has full control over it by the ITL access control mechanism. This mechanism minimizes the need for coordination between the primary storage manager and the secondary storage manager.
  • a mirror volume is automatically created in the remote pool, either sync or a async, based on the definition for the relationship between the pools.
  • This may be implemented, for example, by automatically triggering a CREATE VOLUME PAIR command (see discussion below) in response to CREATE LOCAL VOLUME command which generates a command at the local storage (pool).
  • a host can create/delete remote snapshots and manage remote mirroring using a set of management operations in accordance with certain embodiments.
  • To execute these operations the host manager needs the appropriate privileges to run these commands on the host, but these privileges do not need to propagate to the storage, i.e. the storage subsystem does not have to manage other privileges than that of access control to volumes based on ITLs.
  • the utilization of pool volumes in the manner specified may achieve the specified privileges.
  • Create remote snapshot command is of the form Create_Remote_Snapshot Volume_Name. This command will create a snapshot of Volume_Name at the remote site. The command is imbedded in a SCSI command and directed to the primary volume for which the snapshot is to be taken. If the host has access to the volume, the command will not be rejected.
  • the local storage system finds the corresponding name of the remote volume and issues a cross storage system internal command of the form Create — Snapshot Remote_Volume_Name. Remote storage system will not reject the command provided the remote volume resides in a pool attached to the primary storage. Remote storage subsystem will create a snapshot in the remote pool exactly the same as for a host that creates a snapshot on the primary storage system.
  • Delete remote snapshot command is of the form Delete_Remote_Snapshot Remota_Snapshot_Name, Primary_Volume_Name. This command will delete a remote snapshot Remote_Snapshot_Name of a primary volume Volume_Name. Primary storage will honor the command from the host if the latter has access to Volume_Name. The local storage system finds the corresponding name of the remote pool and issues a cross storage system internal command of the form Delete_Snapshot Snapshot_Name, Remote_Pool_Volume_Name. Remote storage system will not reject the command provided the remote pool attached is attached the primary storage.
  • Query remote volumes command is of the form Query_Remote_Volumes Primary_Pool_Name. This command lists all remote volumes and their corresponding remote snapshots in a remote pool corresponding to the primary pool. For regular remote volumes the command will also list their corresponding local volumes if the volumes are in mirroring relationship. Access control is as above.
  • Create Volume Pair command will facilitate remote mirroring operation, in accordance with certain embodiments.
  • Create Volume Pair is of the form Create_Volume_Pair Primary_volume_name.
  • This command will create a volume with a name which optionally is uniquely derived from the primary volume name on a remote storage pool corresponding to the storage pool in which the primary volume resides.
  • the command will initiate mirroring based on known per se mirroring command parameters (with initial data synchronization, without data synchronization etc.), utilizing e.g. in accordance with the specified Information Storage publication.
  • remote mirroring means either sync and async mirroring all as known per se.
  • the Create pair operation will merely associate the respective volumes which were created independently, as described above with reference to certain embodiments of the invention.
  • Terminate Create Volume Pair is of the form Terminate_Volume_Pair Primary_volume_name. This command will terminate a volume pair with the logic as above. Once executing the specified command, remote mirroring will be terminated for the specified local volume,
  • Delete/Create Remote Volume allows a system administrator to delete or create a volume from a remote pool provided the system administrator has access to the corresponding local pool.
  • the command is of the form Delete/create_Remote_Volume Remote_Volume_name, Primary_Pool_Name.
  • Remote_Volume_Name is created or deleted in a remote pool associated with Primary_Pool_Name. Access control is as above. Note: volume deletion is honored only if it is not a part of a mirror pair.
  • remote snapshot whenever remote snapshot is specified in the command, it is identified by its name and the associated primary volume.
  • a remote snapshot can be also identified by its name and remote pool name or by its name and the corresponding primary pool name.
  • all consistency group related commands both for snapshots and for remote mirroring are based on mechanisms above by providing the necessary atomicity of operation on multiple volumes.
  • FIGS. 2A , 3 , 4 , 5 and 7 illustrate schematically the system architecture in accordance with certain embodiments of the presently disclosed subject matter.
  • Each module in FIGS. 2A , 3 , 4 , 5 and 7 can be made up of any combination of software, hardware and/or firmware that performs the functions as defined and explained herein.
  • 2A , 3 , 4 , 5 and 7 may be centralized in one location or dispersed over more than one location.
  • the system may comprise fewer, more, and/or different modules than those shown in FIGS. 2A , 3 , 4 , 5 and 7 .
  • system may be a suitably programmed computer.
  • the presently disclosed subject matter contemplates a computer program being readable by a computer for executing the method of the presently disclosed subject matter.
  • the presently disclosed subject matter further contemplates a computer program product that includes a storage storing computer code for executing the method of the presently disclosed subject matter.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A system of managing remote resources that includes a local storage associated with a local storage manager constituting a local storage system. A remote storage associated with a remote storage manager constituting a local storage system. The local storage system is associated with a remote storage system by means of a first link. The local storage system is configured to send through the first link I/O remote commands complying with the SCSI protocol, for execution in the remote storage system. The system includes a second link associating the local storage system and the remote storage system. The local storage manager being responsive to remote storage management commands and being configured to send through the second link corresponding cross-storage-remote management commands that comply with the SCSI protocol, for execution in the remote storage.

Description

    FIELD OF THE INVENTION
  • This invention relates to remote management operations.
  • BACKGROUND OF THE INVENTION
  • Management operations of storage in remote locations, often referred to as remote management operations, are typically executed, at least partially, by human storage administrators and are quite involved.
  • Storage Management commands (operations) are commands that do not directly concern the I/O operations that are addressed to the storage system (such as write data to or read data from a storage). The storage management commands may concern modifications in the internal structure of data in the storage system (e.g. volumes, mirrors, snapshots), or in the distribution of data over the physical components of the storage system, and the like. Remote Storage management commands are management commands that are addressed to remote storage systems.
  • Thus, remote management operation may include by way of example one or more of the following management operations:
      • 1. Communication management: includes part or all of the following: defining the communication paths between the storage systems to participate in the operation. Communication management includes identifying port pairs on local and remote storage systems over which remote operations and data will flow.
      • 2. Volume management includes: part or all of the following: Definition of a remote mirroring pair, i.e., the relationship between primary volumes (residing in local storage) and secondary volumes (residing in remote storage), definition of consistency groups and definition of the replication type. Consistency group, as is well known, refers to gathering of a few distinct volumes for the purposes of applying certain management commands to all of them as atomic commands. Thus, for instance, a mirroring operation in respect of the consistency group will create a replica of all the volumes in the group as an atomic command, and not of each of the specified volumes in a row. Also: snapshots (either local or remote) of all volumes in the group are created as an atomic operation. Replication type, as is well known, includes synchronous and a-synchronous operation. In the former, the replication action is terminated upon receipt of acknowledgement from the remote site, whereas in the latter, operation does not require acknowledgement for every mirroring transaction. Synchronous operation is more reliable (as every successful operation is acknowledged), but this is at the penalty of slower response time, naturally affecting performance, all as known per se. Note that Volume management is a very involved task.
      • 3. Snapshot management includes part or all of the following: Creation or deletion of snapshots in remote storage. The snapshots, in remote storage are typically of volume of the local storage.
      • 4. Mirror management includes part or all of the following: creation or termination of the mirror in the remote storage of volumes in the local storage.
  • What complicates the remote management procedures even further is the fact that in accordance with the prior art, remote storage is typically managed by a different (human) storage administrator than the one who manages the primary (local) storage.
  • An exemplary remote I/O operation is remote mirroring. Thus, for instance, in I/O remote mirroring operation, data that resides in volumes of local storage, is replicated and copied in accordance with a known protocol (e.g. synchronous, or asynchronous) into volume(s) that reside in remote storage. The remote mirroring affords restoration of lost or damaged data in the local storage, e.g. by accessing and retrieving the “mirrored data” from the remote storage. There are known techniques for implementing remote mirrors, such as in “Information Storage and Management: Storing, Managing, and Protecting Digital InformationChapter 14 by EMC (hereinafter the “Information Storage”).
  • Note that in the context of remote mirroring, various known per se mechanisms have been devised to make sure that volumes will not be overwritten, which significantly complicates the definition of remote mirroring.
  • For a better understanding of the foregoing, attention is drawn to FIG. 1, illustrating a block diagram of a generalized system architecture for carrying out remote mirroring, according to the prior art. As shown, in FIG. 1 Host 10 accesses local storage 11 for executing I/O operations 12, such as reading/writing volumes or snapshots that reside in local storage. Local storage is depicted for simplicity as a single unit, although in real life this is typically not the case. As is further known in the art, management operations, such as create or delete resources (e.g. volumes/snapshots) in the local storage, require involvement of computerized storage manager module 13, possibly also with significant involvement of human storage administrator 14 through interface 15. For instance in order to create local volume the human administrator 14 in charge of the local storage should be approached. In response, the human administrator activates the computerized storage manager 13 (through interface 15) for creating a volume at local storage 11. Remote operations (such as remote mirroring) not only require a sequence of operations that are executed at the local storage 11, but also operations performed at the remote storage 16 and this requires involvement of computerized remote storage manager module 17 and possibly also of remote human storage administrator 18 (utilizing interface 19). Note that in many cases, the remote storage may be of different characteristics (and/or commercially available from a is different vendor) than the local storage, and therefore the local and the remote storage managers are not identical, further hindering the coordination required to implement the remote management operation. Moreover, in many cases, the local and remote storage administrators are different entities, thereby further complicating the remote management preparatory operations and the actual remote management implementation. Thus, for example, in order to apply remote mirroring, a volume (say V1) is created in the local storage 11 in the manner specified above. Now, the remote human administrator 18 (typically a different entity than the local human administrator 14) is approached and requested to create a remote volume V1′ and to attach it to V1. The remote administrator will activate the computerized remote storage manager 17 (through interface 18) for creating remote volume V1′ and associating V1′ to V1.
  • Once establishing the adequate infrastructure for carrying out remote mirroring (in response to the specified preparatory operations) known per se procedures can be invoked for implementing remote mirroring (e.g. through link 100), e.g. in accordance with the teaching of the specified Information Storage publication.
  • As is well known, Storage pools is a mechanism used by storage administrators or managers to monitor and control storage allocation to hosts, e.g. in the case of volumes with snapshots or of thin volumes. A storage manager allocates a storage pool in accordance with the size of the storage quota to be allocated for a particular user, which accesses the system via a host or via a group of hosts. The storage pool forms part of the storage system. All volumes for this user are allocated then by the storage manager (e.g. local storage manager 13) from this storage pool. This is useful for instance in the case of snapshots, because while one can anticipate the amount of snapshots to be created by the user, it is difficult to anticipate the rate of change of data in the source after any snapshot is created, and accordingly it is difficult to anticipate the amount of additional storage space that will be needed as new data is created as part of the snapshot mechanism. Hence, the pools provide a flexible way to manage the space allocated to a certain user. When the space in the pool is depleted, no more data can be allocated for volumes associated with the pool and no new volumes can be created which use space associated with this pool. At this point the storage manager/administrator may free some space by deleting some volumes or snapshots, thus increasing the pool size, or abort the new data allocation.
  • The storage manager (possibly under control of the storage administrator) is also in charge of imposing security rules, for instance authorizing or denying access of the host to given volumes/snapshots (e.g. residing in storage pools).
  • There is thus a need in the art to simplify remote operation management.
  • There is still another need in the art to reduce the amount of coordination between remote storage manager(s) and administrators.
  • There is still another need in the art to allow delegation of some of the remote management tasks from storage manager/administrator to the host manager.
  • SUMMARY OF THE INVENTION
  • In accordance with an aspect of the presently disclosed subject matter, there is provided a system of managing remote resources, that includes a local storage associated with a local storage manager constituting a local storage system and a remote storage associated with a remote storage manager constituting a local storage system, the local storage system is associated with a remote storage system by means of a first link; the local storage system is configured to send through the link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system; the system comprising a second link associating the local storage system and remote storage system; the local storage manager being responsive to at least one remote storage management command) and being configured to send through the second link at least one cross-storage-remote management command corresponding to the remote storage management command, complying with an I/O protocol, for execution in the remote storage.
  • In accordance with an embodiment of the presently disclosed subject matter, there is further provided a system, wherein the I/O protocol being the SCSI protocol. In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the first link and second link are the same.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the local storage system is associated with a host manager by means of a third link and wherein the host manager is configured to send through the third link the at least one remote storage management command complying with the I/O protocol.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the local storage includes a local pool and the remote storage includes an associated remote pool.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the host manager is associated with the local storage system by means of a fourth link and wherein the host manager is configured to send through the fourth link at least one local storage management command complying with the I/O protocol, for executing in the local storage.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the remote storage management command being a “create remote mirror”, including create a volume in said local storage, indicate in a local data structure that the volume in the local storage is associated to a volume in a remote storage, and create volume in the remote storage, and indicate in a remote data structure that that the volume in the remote storage is associated to the volume in local storage.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the remote storage management command being a “create remote snapshot”, including create a snapshot of the remote volume in the remote storage.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the I/O remote command being a remote mirror including utilizing the local and remote data structures and storing in the volume in the remote storage a mirror of data in the volume of the local storage.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the host manager is attached through a first handle to a local extended pool; the extended pool is associated with the local storage manager, a remote extended pool is associated by means of a second handle to the local manager; the remote extended pool is associated with the remote storage manager; and wherein the host manager is configured to send the remote management command to the local extended pool through the handle, which command is sent to the local manager, and wherein the local storage manager is configured to issue a cross storage remote management command and send it through the second handle to the remote extended pool which command is sent to the remote storage manager; the remote storage manager is configured to parse the command and to execute it in the remote pool.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the first handle includes an initiator port for attaching to the host, a target port for attaching to a local pool volume of the local extended pool, and a LUN uniquely identifying the handle; and wherein the second handle includes an initiator port for attaching to the local storage, a target port for attaching to a remote pool volume of the remote extended pool, and a LUN uniquely identifying the handle.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the execution of the create remote mirror management command obviates intervention of a human storage administrator.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the execution of the create remote snapshot management command obviates intervention of a human storage administrator.
  • In accordance with an aspect of the presently disclosed subject matter, there is yet further provided a system of managing remote resources, that includes a local storage associated with a local storage manager, constituting a local storage system and a remote storage associated with a remote storage manager, constituting a remote storage system; the local storage system having a first link for association with a remote storage system; the local storage system is configured to send through the link at least one I/O remote command complying with an I/O protocol, for execution in a remote storage system; the system comprising: the local storage system having a second link for association with the remote storage system; the local storage manager being responsive to at least one remote storage management command and being configured to send through the second link at least one cross-storage-remote management command corresponding to the remote storage management command, complying with an I/O protocol, for execution in the remote storage.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the I/O protocol being the SCSI protocol.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the local storage system having a third link for association with a host manager; the local storage system is configured to receive from the host manager through the third link the at least one remote storage management command complying with the I/O protocol.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a system, wherein the local storage includes a local pool and the remote storage includes an associated remote pool.
  • In accordance with an aspect of the presently disclosed subject matter, there is yet further provided a system of managing remote resources, that includes a local storage associated with a local storage manager, constituting a local storage system and a remote storage associated with a remote storage manager, constituting a remote storage system; the remote storage system having a first link for association with the local storage system; the remote storage system is configured to receive through the first link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system; the system comprising the remote storage system having a second link for association with the local storage system; the remote storage manager being configured to send through the second link at least one cross-storage-remote management command corresponding to a remote storage management command, complying with an I/O protocol, for execution in the remote storage.
  • In accordance with an aspect of the presently disclosed subject matter, there is yet further provided, in a system that includes a local storage associated with a local storage manager, constituting a local storage system; a remote storage associated with a remote storage manager, constituting a remote storage system; the local storage system having a first link for association with the remote storage system; the local storage system is configured to send through the link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system, a method for managing remote resources method comprising:
      • (a) providing for the local storage system a second link for association with the remote storage system;
      • (b) in response to receiving at least one remote storage management command the local storage manager sending through the second link at least one cross-storage-remote management command corresponding to the remote storage management command, complying with an I/O protocol, for execution in the remote storage.
  • In accordance with an embodiment of the presently disclosed subject matter, there is yet further provided a method, wherein the I/O protocol being the SCSI protocol.
  • In accordance with an aspect of the presently disclosed subject matter, there is yet further provided, in a system that includes a local storage associated with a local storage manager, constituting a local storage system; a remote storage associated with a remote storage manager, constituting a remote storage system; the remote storage system having a first link for association with the local storage system; the remote storage system is configured to received through the link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system, a method for managing remote resources method comprising:
      • (a) providing for the remote storage system a second link for association with the local storage system;
      • (b) the remote storage manager receiving through the second link at least one cross-storage-remote management command corresponding to a remote storage management command, complying with an I/O protocol, for execution in the remote storage.
    BRIEF DESCRIPTION OF THE DRAWINGS
  • In order to understand the invention and to see how it may be carried out in practice, embodiments will now be described, by way of non-limiting example only, with reference to the accompanying drawings, in which:
  • FIG. 1 is a block diagram of a generalized system architecture for carrying out remote mirroring, according to the prior art;
  • FIG. 2A is a block diagram of a generalized system architecture, in accordance with certain embodiments of the invention;
  • FIG. 2B illustrates schematically, remote and local storages, in accordance with certain embodiments of the invention;
  • FIG. 2C illustrates schematically, local and remote volume management tables, in accordance with certain embodiments of the invention;
  • FIG. 3 is a block diagram of host manager modules, in accordance with certain embodiments of the invention;
  • FIG. 4 is a block diagram of storage manager modules, in accordance with certain embodiments of the invention;
  • FIG. 5 is a schematic illustration of a host and extended pool, in accordance with certain embodiments of the invention;
  • FIG. 6 is a flow chart illustrating a sequence of operations for generating an extended pool by a storage manager, in accordance with certain embodiments of the invention;
  • FIG. 7 illustrates, schematically, local and remote operations, in accordance with certain embodiments of the invention; and
  • FIG. 8 illustrates a sequence of operations for implementing a remote create snapshot command, in accordance with certain embodiments of the invention.
  • DETAILED DESCRIPTION OF EMBODIMENTS
  • Note that in the drawings and descriptions, identical reference numerals indicate those components or stages that are common to different examples.
  • Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as providing, sending, executing or the like, include action and/or processes of a computer that manipulate and/or transform data into other data, said data represented as physical quantities, e.g. such as electronic quantities, and/or said data representing the physical objects.
  • Note that unless stated otherwise, in addition to or instead of what may be construed from the description herein, all technical and scientific terms used herein may have the same meaning as understood by one of ordinary skill in the art.
  • The operations of the host manager, local storage manager, or remote storage manager, may be performed by a computer specially constructed for the desired purposes or by a general purpose computer specially configured for the desired purpose by a computer program stored in a computer readable storage medium.
  • Note that the terms command and operation are occasionally used interchangeably. Note also that the term command is not necessarily confined to a single computer instruction but, depending upon the particular application, may include a plurality of instructions.
  • Turning now to FIG. 2A, it illustrates a block diagram of a generalized system architecture, in accordance with certain embodiments of the invention.
  • As shown, the host manager 201 (associated with the host 200) invokes a remote management command, and transmits it to a local storage manager 202 (associated with local storage 203) through a link 206. Note that the link between the host and the local storage (say 12) is used in the prior art architecture of FIG. 1 to convey I/O commands (such as read/write data to and from a storage resource). In accordance with certain embodiments as illustrated in FIG. 2A, a link between host manager (associated with the host) and the local storage will be used to convey management commands including remote management commands.
  • Note that in accordance with certain embodiments a local system includes the specified local storage manager and the local storage.
  • In case the command is designated to local storage, the local storage manager executes the command vis-à-vis the local storage 203. In case the command is designated to the remote storage, the local storage manager 202 transmits a cross storage management command to remote storage manager 204 through link 208, where the latter executes, in turn, the remote command commands vis-à-vis the remote storage 205.
  • Note that in accordance with certain embodiments, a remote system includes the specified remote storage manager and the remote storage.
  • Note that the link between the local storage system and remote storage system (say 100) is used in the prior art architecture of FIG. 1 to convey I/O commands (such as read/write data to and from a storage resource). In accordance with certain embodiments as illustrated in FIG. 2A, a link between the local storage and the remote storage systems will be used to convey remote management commands designated to be executed on the remote storage.
  • Note that in accordance with certain embodiments, triggering remote management commands from the host and utilizing links (e.g. 206 and 208) for conveying the management commands (instead of I/O non management commands as in the prior art) obviates the need to involve the local and remote human storage administrators.
  • In accordance with certain embodiments, after having executed the management command, the pertinent I/O commands (e.g. write snapshot data or mirroring data for storing in remote storage 205 may be transmitted through the same or similar links (as is the case with prior art architecture).
  • In accordance with certain embodiments for a given local storage 203, there may be associated two or more remote storages 205.
  • Turning now to FIG. 2B, it illustrates schematically remote and local storages, in accordance with certain embodiments of the invention.
  • Thus, in accordance with certain embodiments, a remote secondary volume (e.g. RV1 251) resides in a remote pool e.g. 252 (forming part of remote storage 205). A local pool e.g. 253 (forming part of local storage 203) accommodates the primary volume e.g. V 1 254. As will be exemplified in greater detail below, the local and remote pools are associated with each other and within the associated pools, selected local and remote volume(s) are associated with each other (e.g. volume V 1 254 is associated with remote volume RV1 251), for the purpose of executing remote command, such as remote mirroring. Note that a volume in a remote pool can be associated to a volume in a local pool only if the pools are associated.
  • Insofar as another remote command is concerned, e.g. remote snapshot, note that remote snapshot (e.g. 255) of a local volume (e.g. V1) resides in a remote pool (e.g. 252) only if the latter is associated with local pool 253 (that accommodates the local snapshotted volume V1).
  • The association between the volumes may be reflected in corresponding local and remote volume management tables and may be utilized e.g, for implementing the specified remote mirroring. This is illustrated for example in FIG. 2C showing schematic local volume management table 270 where the data that pertains to local volume e.g. V1 is stored in record 271 and among the various fields characterizing the volume (e.g. size 272) there is further indicated remote mirror field 273 designated RV1. Similarly the remote volume management table 280 includes record 281 for remote volume RV1 which includes characterizing fields (e.g. size 282) and primary volume field 283 designating the counterpart local volume V1. The specified databases can be utilized by the remote mirroring utility to place the mirrors of local volume V1 in remote volume RV1 (in remote pool 252) utilizing to this end link 208.
  • Specific volume management table portions 270 and 280 are illustrated by way of example only and any known per se data structures may be used.
  • In accordance with certain embodiments, in terms of privileges, this may include:
      • The host that originates the remote management command, must have access to the local pool and volume (within the pool) in respect of which a remote operation is performed (e.g. remote mirror or remote snapshot)
      • For remote mirror operation, the remote volume (e.g. 251) which accommodates the remote mirror (of the local volume e.g. 254) must reside in a remote pool (e.g. 252) that is associated with a local pool e.g. 253 and the remote volume (e.g. 251) must be associated with the local volume 251).
      • For remote snapshot operation, the remote snapshot (e.g. 255) of the local volume e.g. 254 must reside in a remote pool (e.g. 252) that is associated with a local pool e.g. 253.
  • Turning now to FIG. 3, it illustrates a block diagram of host manager modules, in accordance with certain embodiments of the invention. Thus, as shown, host manager 201 of FIG. 2, includes remote management control module 300 which includes remote mirroring module 301 in charge of commencing remote mirroring management commands. Also shown is remote snapshot creation module 302 in charge of commencing remote snapshot creation management commands. Note that by the specific example of FIG. 3 only two remote management operations are exemplified. The invention is of course not bound by the specified remote mirroring and remote create snapshot operations. The host manager further includes local resource management control module 303 for issuing local resource management operations at the local storage (pool).
  • Note that the invention is not bound by the specific architecture of FIG. 3.
  • Turning now to FIG. 4, it illustrates a block diagram of storage manager modules, in accordance with certain embodiments of the invention. Thus, as shown, local storage manager 202 of FIG. 2, includes pool resource control module 401 (whose operation will be explained in greater detail below) and management control module 402 which is in charge of commencing cross-storage remote management operations such as cross-storage mirroring management commands (in response to a triggering a command from the host manager module 301). The management control module 402 is configured to communicate indirectly (as will be exemplified below) with remote mirroring control (RMC) module 404 forming part of remote management module 405) of remote storage manager 204 (all as will be exemplified in greater detail below) which will execute the specified remote mirror management command.
  • The management control module 402 is further in charge of commencing a cross-storage snapshot creation management command (in response to triggering a command from the host manager module 301). The management control module 402 is configured to communicate indirectly with remote snapshot creation (RSC) module 407 (of remote storage management module 405) of remote storage manager 204 (all as will be exemplified in greater detail below), for executing remote snapshot creation management command.
  • The remote storage manager further includes remote pool resource control module 408 whose operation will be explained in greater detail below.
  • Note also that the local storage manager 202 includes local resource management module 409 for implementing operations on local storage (pool), all as will be explained in greater detail below.
  • Note that by the specific example of FIG. 4 only two remote management operations (snapshot creation and mirroring) are exemplified. The invention is of course not bound by the specified remote mirroring and remote create snapshot operations.
  • Note that the invention is not bound by the specific architecture of FIG. 4.
  • Turning now to FIG. 5, it shows a schematic illustration of a host and extended storage pool, in accordance with certain embodiments of the invention.
  • As shown, a so called local pool volume 501 is created (e.g. by means of pool resource controller 401 of the local storage manager 202—see FIG. 4). The pool volume complies with the general structure of known per se volumes and in accordance with certain embodiments has an initial size 0.
  • The local storage manager 202 (e.g. by means of pool resource controller 401) further creates a handle 502 (e.g. in accordance with the initiator-Target-LUN [ITL] paradigm) allocating a unique LUN as part of the specified handle (handle being an example of a link). Note that whilst the handle is depicted for clarity as a physical connection between the host and volume, those versed in the art will readily appreciate that the LUN is indicative of a logical connection between a host and the pool volume. The pool resource control module 401 further attaches the handle to the pool volume 501 through target port 503 and the host manager 201 attaches the handle to the host 10 through initiator port 504, e.g. in compliance with the known per se volume ITL paradigm, see U.S. application Ser. No. 12/957,613, filed 1 Dec. 2010, whose contents are incorporated herein by reference.
  • The pool volume 501 will be associated with a created pool 505 that forms part of the local storage (e.g. 203 of FIG. 2). Note that each pool is defined by a name, the size of physical storage associated with it, and logical volumes associated with it.
  • The specified architecture of local extended pool (including the pool and the associated pool volume) will be utilized by the host for triggering a management command for managing local resources (such as create/delete local volumes/snapshots) and for triggering remote management operations (such as create remote snapshot/create remote mirror), in a manner that will be described in more detail below.
  • As further shown in FIG. 5, a remote extended pool that includes remote pool volume 510 and remote pool 511 (the latter forms part of remote storage 205) and their association is created by remote pool resource control module 408 of remote storage manager 204.
  • A link between the local storage and the remote storage is required in to order to convey the remote management commands (originated from the host) to the remote side for execution at the remote pool. More specifically, a link (e.g. a handle complying with the ITL paradigm) is created between the management control module 402 (of local storage manager 202—see FIG. 4) and the remote pool volume 510. To this end, the pool resource control module 408 of the local storage manager 202 (see FIG. 4) defines an initiator port 507 and attaches it to the management control module 402. The remote pool resource control module 408 (of remote storage manager 204), in turn, defines a target port 509 and attaches it to the remote pool volume 510. It further allocates a LUN # (508) and sends the data to the local pool resource control module for associating the LUN 508 to initiator port 507, thereby creating a handle facilitating communication (in compliance with the ITL paradigm) between the management control module 402 and remote pool volume 510, all as will be explained in greater detail below.
  • Note that the link (e.g. TTL based link, 502-504) between the host and the local storage as well as between the local storage and remote storage (e.g. 507 to 509), serve in accordance with certain embodiments for conveying remote management commands (such as create remote snapshot or create remote mirror), whereas according to the prior art such links served for communicating I/O commands (e.g. read data from/write data to storage resources such as volumes and/or snapshots). Note also that the ITL paradigm is an example only and is by no means binding.
  • It should be noted that the operation of the specified pool resource control module 401 associated with the local storage manager 202 may occasionally require the involvement of a human resource administrator at the local site.
  • It should be also noted that the operation of the remote pool resource control module 408 associated with the remote storage manager 202 may occasionally require the involvement of human resource administrator at the remote site.
  • Note also that association between a primary storage pool e.g. 505 and a secondary storage pool e.g. 511 is performed by associating the primary pool volume 501 with a secondary pool volume 510. This is in useful for example if multiple primary pools on a single primary storage are to be associated with multiple remote pools on a secondary storage.
  • Turning now to FIG. 6 it shows a flow chart illustrating a sequence of operations for generating a local and remote extended pools by the respective storage manager (as outlined e.g. in FIG. 4), in accordance with certain embodiments of the invention.
  • Thus, in step 601, the pool resource control module 401 of the storage manager module 202 creates an extended storage pool that includes a pool of specific size and specific pool name (e.g. 505 of FIG. 5).
  • In step 602, the pool resource control module 401 creates a volume (designated “pool volume” forming part of the extended pool) of size 0 (e.g. 501) with a name which is algorithmically derived from the storage pool. For instance, if VOL_TEST_POOL_NAME is the pool name then the pool volume name (algorithmically derived therefrom) may be VOL_TEST_POOL_NAME_ POOLVOLUME. Note that the name relationship between the pool and the pool volume names is not necessarily algorithmically derived and obviously not limited to the example above which was provided for illustrative purposes only.
  • In step 603, the pool resource control module 401 grants to hosts access to the local storage pool 505. This is accomplished by associating the pool volume 501 with the appropriate handle 502, in a similar fashion to known per se creating and attaching a volume to a host.
  • In step 604, the resource control module 401 associates local pool volume 501 to management control modules 402 (of local storage manager 202) and in step 605 receives a handle data (e.g. LUN # 508) from the remote side and attaches it to so created initiator port (e.g. 507) of management control module 402 to thereby establish an ITL based communication between the local management control module 402 and the remote pool volume 510. This handle will serve for conveying remote management commands in an I/O protocol format (e.g. SCSI)) to remote pool volume 510), all as will be explained in greater detail below. To this end it associates an initiator port (e.g. 507) to the management control modules 402.
  • FIG. 6 further elaborates the operational stages performed by the remote resource pool control module 408 of remote storage manager 204. Thus, at stage 610, a remote extended storage pool that includes a pool 511 is created. At stage 611 a remote pool volume of size 0 with a name that is algorithmically derived from the storage pool is created (510).
  • In stage 612 a target port (e.g. 509) is created at pool volume 510 and a handle (including 508) is generated. The handle data is sent (613) for attaching it to the management control module at the local side (as described above), thereby establishing an ITL based link between the management control module 402 and the remote pool volume 510.
  • In accordance with certain embodiments the local and remote pool volume names may also be related.
  • It should be noted that the utilization of the pool volumes in the manner specified prescribes a certain privilege regime. Thus, for example the utilization of the pool volume will only allow the host to manage and access a local pool that is associated to this given host. By the same token, in the remote side, only a remote pool that is associated with the remote pool volume is accessible.
  • Note that the invention is not bound by the specified sequence of operations of FIG. 6.
  • Turning now to FIG. 7, it illustrates schematically remote management operations, in accordance with certain embodiments of the invention. For clarity of explanation, the description focuses at first on implementing local operations at the local pool (e.g. pool 505) before moving on to remote operation.
  • Thus, the host manager (associated with host 400) issues through its local resource management module (303), a “create volume V52 in a pool” command 701 (e.g. imbedded in a SCSI command as will be discussed in greater detail below) and sends the command to the appropriate pool volume 501. To this end, the host utilizes the dedicated handle 502 attaching the host 400 to the pool volume 501. The storage manager (e.g. through its local resource manager 409—see also FIG. 4) receives and parses 702 the command and executes, in a known per se manner, creation 703 of volume V S2 704 in pool 505. For instance, the parsing (at the local storage manager end, e.g. module 409) may include transforming the SCSI command into a CLI (Command Line Interface) format for implementing the management command, such as create volume. As is well known, the SCSI command appears in a so called CDB (Command Descriptor Block) format which can be modified to incorporate a CLI format.
  • Reverting now to FIG. 7, note that pool 505 already accommodates volume V S1 705 storing data 706 indicative, for example, of snapshots of a primary volume (not shown in FIG. 7) of host 400. The local resource management module 409 of the local storage manager 202 executes this command by creating the requested volume of the specified name and size in the specified pool, allocating a free LUN number to it (712) in compliance with the ITL paradigm. In accordance with certain embodiments, an ITL is created which is based on this LUN and an initiator port 502 and target port 711 which are the same as the ones allocated for the pool volume 501. This can be illustrated, for example, in FIG. 7, where the initiator port 710 is the same one for both LUN numbers (represented graphically as LUNs 502 and 712). By the same token, target port 711 is the same for both LUN numbers. As may be recalled, the LUN numbers, whilst presented for simplicity as having physical connections between the host and the respective volumes, are in fact (as is well known) logical connections and therefore the target port 711, although presented graphically as two distinct “locations”, may be common to both LUNs 502 and 712.
  • The description with reference to FIG. 7 illustrates an exemplary management command i.e. create volume. Other management commands can be implemented, e.g. deleting a volume from a given pool, create local snapshot, etc. mutatis mutandis.
  • Note also that in accordance with certain embodiments, in addition to “pool” and “pool volume”, also other resources such as “volume” and “volume snapshot” may have algorithmically derivative names. Thus, for instance, a volume called say VOL_TEST is created. A pool that is associated to this volume may have the name VOL_TEST_POOL_NAME (where the volume VOL_TEST is algorithmically derived from the pool name). All the snapshots in this volume may have names that are algorithmically derived from the volume name, for example: YYYY.MM.HH.MM.SS-VOL_TEST SNAPs (where VOL_TEST_SNAPs signifies a snapshot associated with volume VOL_TEST and YYYY.MM.HH.MM.SS signifies the snapshot's creation time). Note that the name relationship between the pool, pool volume and other resources' names is not necessarily algorithmically derived and obviously not limited to the example above which is provided for illustrative purposes only.
  • Note that the description with reference to FIG. 7 illustrates one form of resource, i.e. a standard volume. The invention is however applicable to other resources of external virtual memory, such as snapshots or thin volumes.
  • Having described local operations, the description below with reference to FIG. 7 will now focus on the remote management operations. Thus, consider for example, a remote operation such as create remote snapshot, This command is originated by snapshot creation module 302 (shown in FIG. 3) of remote management control module 300 in host manager 201. This SCSI command (SCSI being an example of I/O protocol) is transmitted through the LUN 502 to local pool volume 501. In contrast to the processing of local management command in the local resource management module 409 (as discussed above), the latter module 409 receives the host originated remote management command, analyses it and concludes that it is a remote management command rather than local management command and consequently sends it through link 7000 to management control module 402. In accordance with certain embodiments, the management control module 402 optionally generates and transmits a cross storage (SCSI) command (indicative of create remote snapshot) to remote pool volume 510 utilizing the ITL handle (initiator port 507, LUN 508 and target port 509).
  • Note that the cross-storage command may be the original command sent from the host manager (using of course a different initiator and target port, i.e. 507 and 509 instead of 710 and 711) or a newly generated command (syntactically wise) but semantically representative of the same host originated command (e.g. create remote snapshot).
  • Note that the specified ITL handle (507 to 509) is typically implemented over standard wide area network infrastructure, since as specified, the remote side is typically geographically remote from the local site.
  • The pool volume 510 at the remote side transmits (720) the so received SCSI command to remote storage manager (not shown in FIG. 7) and more specifically to remote resource management module 405 thereof. The remotely originated snapshot control module 407 of the remote resource management 405 parses the command and executes, in a known per se manner, (i.e. creation of remote snapshot in remote pool 511). Note that the parsing of the command (at the remote storage manager end, e.g. module 407) may include transforming the SCSI command into a CLI (Command Line Interface) format for implementing the management command, such as create snapshot. As is well known, the SCSI command appears in a so called CDB (Command Descriptor Block) format which can be modified to incorporate a CLI format. Note that in accordance with certain embodiments, the actual snapshotted data (e.g. the SCSI I/O command of write snapshot data) utilizes also ITL links between the host and the local storage as well as between the local storage and the remote storage, in a known per se manner (as is the case with the prior art system depicted in FIG. 1).
  • Note that the generation of the remote snapshot is illustrated for example with reference to FIG. 2B, discussed above.
  • An operation of remote mirroring management command is performed in a similar manner mutatis mutandis, using for instance remote mirror control module 404 in remote resource management module 405 of remote storage manager 15.
  • Thus, for example, and as has been explained with reference to FIG. 2B and 2C, local and remote volumes (say V1 and RV1, respectively) are created utilizing the local storage manager and remote storage managers, respectively. Having created the volumes, a SCSI remote mirroring management command (e.g. create volume pair V1, RV1) is originated by the host manager. The SCSI command is transmitted to the local storage 203 (through LUN 502) and processed (including parsing) at the local resource management module 409. The latter will indicate in local volume management table 270 (at the remote mirror field 273 thereof) that the mirror volume of local volume V1 is RV1. Next the command will be sent to the management control module 402 which will generate a cross-storage “create volume pair” SCSI command (having the same or different syntax) and will send it through handle (LUN 508) to remote volume 510 which sends it to remotely originated mirror creation module 404 (of remote resource management module 405). Module 404 parses and processes the command and consequently updates the primary volume field 283 of remote table 280 by designating that V1 is the primary volume for which RV1 serves as a mirroring module. Now, after having created the volumes and utilizing the local and remote management commands originated from the host for updating the respective tables (thereby associating the volumes V1 and RV1), known per se mirroring techniques may be utilized (also employing in accordance with certain embodiments ITL based handles linking between the host and the local storage as well as between the local storage and remote storage) for implementing I/O commands (e.g. SCSI) for actually writing at the remote volume RV1 the mirrored data.
  • Note that whilst the description with reference to FIGS. 2 and 7 exemplified one to one correspondence between associated modules (V1 and RV1), this is not necessarily the case and accordingly, in accordance with certain embodiments, a few mirror volumes may be associated to one primary volume.
  • Note that the description with reference to FIG. 7 illustrated only one pool 505 associated with the pool volume 501. This however is not obligatory, and there may be more than one pool associated with the specified pool volume. In this case the SCSI command should indicate the name of the target pool.
  • Note that whilst the description with reference to FIG. 7 and various other embodiments illustrate usage of an SCSI command, this is a non limiting example of I/O protocol for communicating a storage.
  • Bearing this in mind attention is drawn to FIG. 8, illustrating a sequence of operations for implementing a remote create snapshot management command, in accordance with certain embodiments of the invention. The description of FIG. 8 will occasionally refer also to FIG. 7. Note that in accordance with certain embodiments, when invoking a “create remote snapshot management command”, it is assumed that there is already available a remote volume that is associated with a local volume and designated to be a mirror thereof. The remote snapshot will be performed for the remote volume, however, due to the “mirror” relationship between the remote and local volumes, the remote snapshot is in fact a snapshot of the local volume. Thus, at the onset the host manager (e.g. remote management control module 300) invokes a “create remote snapshot command” 801 embedded in SCSI protocol. The purpose of this command is to generate a snapshot (at a remote pool) to a volume stored in a remote pool. In accordance with certain embodiments the host manager ascertains if the host has permission to access the specified volume 802 (by this specific example, this is achieved by simply accessing the pool volume which is associated to a pool storing volumes that the host is permitted to access), and if in the affirmative 803 the sequence continues, otherwise the operation is aborted 804. The command is transmitted through the local pool volume (e.g. 501) to local resource management module 409. Since the command is a remote operation, it is transmitted by the local resource management module local pool volume to management control module 402. The management control module identifies the remote volume (at the remote pool 505) that corresponds to the local volume (step 805)) (e.g. utilizing table 270 of FIG. 2C). Having identified the corresponding volume, a cross storage command is invoked 806 (e.g. CREATE REMOTE SNAPSHOT, REMOTE VOLUME NAME). The command is embedded in a SCSI command and is communicated through the ITL handle to remote pool volume 510 and is then parsed by the remote resource management module 405 and converted to actually create remote snapshot in remote pool 511 (stage 807 at module 407). Note that the actual snapshotted data of local volume V1 will be sent (according to the data snapshot policy) for storing in the corresponding remote volume through a link associating the local and remote storages, all as known per se.
  • As may be recalled, the resulting remote snapshot 255 of the remote volume 251 is depicted by way of example in FIG. 2B. The actual data in the remote snapshot will be written only upon invoking the BO remote operation of create remote snapshot, all as known per se.
  • Note that the invention is not bound by the specified specific sequence of operations as depicted in FIG. 8, and also not by the specific modules depicted in FIG. 7.
  • It should be noted that in accordance with certain embodiments, the notion of an extended storage pool is extended to primary extended storage pool and secondary extended storage pool. With reference (for clarity) to FIG. 2B, the notion of primary pool (e.g. 253) and secondary pool (e.g. 202) is similar to the notion of a primary volume (e.g. 254) and a secondary volume (e.g. 251). That is, in the context of remote operations a primary storage pool 253 is associated with a secondary storage pool 252 on the remote storage such that:
      • 1. A remote secondary volume 251 will reside in a remote pool 252 associated with the pool 253 of the primary volume 254
      • 2. A remote snapshot 255 of a volume 251 will reside in a remote pool 252 associated with the pool 253 of the local volume 254.
  • In accordance with certain embodiments, once the remote storage pool is attached to the primary storage, it is viewed as an extension of the primary storage, and from this point onwards the primary storage administrator has full control over it by the ITL access control mechanism. This mechanism minimizes the need for coordination between the primary storage manager and the secondary storage manager.
  • Thus, in accordance with certain embodiments, the following advantages are achieved:
      • Minimizes the need to coordinate between local and remote storage administrators.
      • Unifies cross storage communication definition (e.g. ITL based between local and remote pool volumes) to that of a storage host communication definition (e.g. ITL based between the local host and local storage)
  • In accordance with certain embodiments, when local and remote pools are associated, one can specify that when creating a volume in the primary volume, a mirror volume is automatically created in the remote pool, either sync or a async, based on the definition for the relationship between the pools. This may be implemented, for example, by automatically triggering a CREATE VOLUME PAIR command (see discussion below) in response to CREATE LOCAL VOLUME command which generates a command at the local storage (pool).
  • The following sections explain how a host (host manager) can create/delete remote snapshots and manage remote mirroring using a set of management operations in accordance with certain embodiments. To execute these operations the host manager needs the appropriate privileges to run these commands on the host, but these privileges do not need to propagate to the storage, i.e. the storage subsystem does not have to manage other privileges than that of access control to volumes based on ITLs. In accordance with certain embodiments, the utilization of pool volumes in the manner specified may achieve the specified privileges.
  • Note that the invention is not bound by the listed commands and/or their syntax and semantics.
  • Create Remote Snapshot
  • In accordance with certain embodiments, Create remote snapshot command is of the form Create_Remote_Snapshot Volume_Name. This command will create a snapshot of Volume_Name at the remote site. The command is imbedded in a SCSI command and directed to the primary volume for which the snapshot is to be taken. If the host has access to the volume, the command will not be rejected. The local storage system finds the corresponding name of the remote volume and issues a cross storage system internal command of the form CreateSnapshot Remote_Volume_Name. Remote storage system will not reject the command provided the remote volume resides in a pool attached to the primary storage. Remote storage subsystem will create a snapshot in the remote pool exactly the same as for a host that creates a snapshot on the primary storage system.
  • Delete Remote Snapshot
  • Delete remote snapshot command is of the form Delete_Remote_Snapshot Remota_Snapshot_Name, Primary_Volume_Name. This command will delete a remote snapshot Remote_Snapshot_Name of a primary volume Volume_Name. Primary storage will honor the command from the host if the latter has access to Volume_Name. The local storage system finds the corresponding name of the remote pool and issues a cross storage system internal command of the form Delete_Snapshot Snapshot_Name, Remote_Pool_Volume_Name. Remote storage system will not reject the command provided the remote pool attached is attached the primary storage.
  • Query Remote Volumes
  • Query remote volumes command is of the form Query_Remote_Volumes Primary_Pool_Name. This command lists all remote volumes and their corresponding remote snapshots in a remote pool corresponding to the primary pool. For regular remote volumes the command will also list their corresponding local volumes if the volumes are in mirroring relationship. Access control is as above.
  • The following Create Volume Pair command will facilitate remote mirroring operation, in accordance with certain embodiments.
  • Create Volume Pair
  • Create Volume Pair is of the form Create_Volume_Pair Primary_volume_name. This command will create a volume with a name which optionally is uniquely derived from the primary volume name on a remote storage pool corresponding to the storage pool in which the primary volume resides. Once volume is created and associated (e.g. in corresponding volume tables) the command will initiate mirroring based on known per se mirroring command parameters (with initial data synchronization, without data synchronization etc.), utilizing e.g. in accordance with the specified Information Storage publication. Note also that remote mirroring means either sync and async mirroring all as known per se.
  • Note that in accordance with certain embodiments, the Create pair operation will merely associate the respective volumes which were created independently, as described above with reference to certain embodiments of the invention.
  • Terminate Volume Pair
  • Terminate Create Volume Pair is of the form Terminate_Volume_Pair Primary_volume_name. This command will terminate a volume pair with the logic as above. Once executing the specified command, remote mirroring will be terminated for the specified local volume,
  • Delete/Create Remote Volume
  • Delete/Create Remote Volume allows a system administrator to delete or create a volume from a remote pool provided the system administrator has access to the corresponding local pool. The command is of the form Delete/create_Remote_Volume Remote_Volume_name, Primary_Pool_Name. Remote_Volume_Name is created or deleted in a remote pool associated with Primary_Pool_Name. Access control is as above. Note: volume deletion is honored only if it is not a part of a mirror pair.
  • In accordance with certain embodiments, whenever remote snapshot is specified in the command, it is identified by its name and the associated primary volume. Alternatively, a remote snapshot can be also identified by its name and remote pool name or by its name and the corresponding primary pool name.
  • In accordance with certain embodiments, all consistency group related commands both for snapshots and for remote mirroring, are based on mechanisms above by providing the necessary atomicity of operation on multiple volumes.
  • In embodiments of the presently disclosed subject matter, fewer, more and/or different stages than those shown in FIGS. 6 and 8 may be executed. In embodiments of the presently disclosed subject matter one or more stages illustrated in FIGS. 6 and 8 may be executed in a different order and/or one or more groups of stages may be executed simultaneously. FIGS. 2A, 3, 4, 5 and 7, illustrate schematically the system architecture in accordance with certain embodiments of the presently disclosed subject matter. Each module in FIGS. 2A, 3, 4, 5 and 7 can be made up of any combination of software, hardware and/or firmware that performs the functions as defined and explained herein. The modules in FIGS. 2A, 3, 4, 5 and 7 may be centralized in one location or dispersed over more than one location. In other embodiments of the presently disclosed subject matter, the system may comprise fewer, more, and/or different modules than those shown in FIGS. 2A, 3, 4, 5 and 7.
  • The subject matter of the present application can have features of different aspects and/or embodiments described above or their equivalents, in any combination thereof.
  • It will also be understood that the system according to the presently disclosed subject matter may be a suitably programmed computer. Likewise, the presently disclosed subject matter contemplates a computer program being readable by a computer for executing the method of the presently disclosed subject matter. The presently disclosed subject matter further contemplates a computer program product that includes a storage storing computer code for executing the method of the presently disclosed subject matter.
  • While various embodiments have been shown and described, it will be understood that there is no intent to limit the presently disclosed subject matter by such disclosure, but rather, it is intended to cover all modifications and alternate constructions falling within the scope of the presently disclosed subject matter, as defined in the appended claims:

Claims (20)

1. A system of managing remote resources, that includes
a local storage associated with a local storage manager constituting a local storage system and a remote storage associated with a remote storage manager constituting a local storage system
the local storage system is associated with a remote storage system by means of a first link; the local storage system is configured to send through said link at least one I/O remote command complying with an I/O protocol, for execution in said remote storage system; the system comprising:
a second link associating said local storage system and remote storage system; the local storage manager being responsive to at least one remote storage management command) and being configured to send through said second link at least one cross-storage-remote management command corresponding to said remote storage management command, complying with an I/O protocol, for execution in said remote storage.
2. The system according to claim 1, wherein said I/O protocol being the SCSI protocol.
3. The system according to claim 1, wherein said first link and second link are the same.
4. The system according to claim 1, wherein said local storage system is associated with a host manager by means of a third link and wherein said host manager is configured to send through said third link said at least one remote storage management command complying with said I/O protocol.
5. The system according to claim 1, wherein said local storage includes a local pool and said remote storage includes an associated remote pool.
6. The system according to claim 1, wherein said host manager is associated with said local storage system by means of a fourth link and wherein said host manager is configured to send through said fourth link at least one local storage management command complying with said I/O protocol, for executing in said local storage.
7. The system according to claim 1, wherein said remote storage management command being a “create remote mirror”, including create a volume in said local storage, indicate in a local data structure that said volume in the local storage is associated to a volume in a remote storage, and create volume in said remote storage, and indicate in a remote data structure that that the volume in the remote storage is associated to said volume in local storage.
8. The system according to claim 7, wherein said remote storage management command being a “create remote snapshot”, including create a snapshot of said remote volume in said remote storage.
9. The system according to claim 7, wherein said I/O remote command being a remote mirror including utilizing said local and remote data structures and storing in said volume in the remote storage a mirror of data in the volume of the local storage.
10. The system according to claim 1, wherein the host manager is attached through a first handle to a local extended pool; said extended pool is associated with said local storage manager, a remote extended pool is associated by means of a second handle to said local manager; the remote extended pool is associated with said remote storage manager; and wherein said host manager is configured to send said remote management command to said local extended pool through said handle, which command is sent to said local manager, and wherein said local storage manager is configured to issue a cross storage remote management command and send it through said second handle to said remote extended pool which command is sent to said remote storage manager; said remote storage manager is configured to parse said command and to execute it in said remote pool.
11. The system according to claim 10, wherein said first handle includes an initiator port for attaching to the host, a target port for attaching to a local pool volume of said local extended pool, and a LUN uniquely identifying the handle; and wherein said second handle includes an initiator port for attaching to the local storage, a target port for attaching to a remote pool volume of said remote extended pool, and a LUN uniquely identifying the handle.
12. The system according to claim 7, wherein the execution of said create remote mirror management command obviates intervention of a human storage administrator.
13. The system according to claim 8, wherein the execution of said create remote snapshot management command obviates intervention of a human storage administrator.
14. A system of managing remote resources, that includes
a local storage associated with a local storage manager, constituting a local storage system and a remote storage associated with a remote storage manager, constituting a remote storage system;
the local storage system having a first link for association with a remote storage system; the local storage system is configured to send through said link at least one I/O remote command complying with an I/O protocol, for execution in a remote storage system; the system comprising:
the local storage system having a second link for association with the remote storage system; the local storage manager being responsive to at least one remote storage management command and being configured to send through said second link at least one cross-storage-remote management command corresponding to said remote storage management command, complying with an I/O protocol, for execution in said remote storage.
15. The system according to claim 14, wherein said I/O protocol being the SCSI protocol.
16. The system according to claim 14, wherein said local storage system having a third link for association with a host manager; the local storage system is configured to receive from said host manager through said third link said at least one remote storage management command complying with said I/O protocol.
17. The system according to claim 14, wherein said local storage includes a local pool and said remote storage includes an associated remote pool.
18. A system of managing remote resources, that includes
a local storage associated with a local storage manager, constituting a local storage system and a remote storage associated with a remote storage manager, constituting a remote storage system;
the remote storage system having a first link for association with the local storage system; the remote storage system is configured to receive through said first link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system; the system comprising:
the remote storage system having a second link for association with the local storage system; the remote storage manager being configured to send through said second link at least one cross-storage-remote management command corresponding to a remote storage management command, complying with an I/O protocol, for execution in said remote storage. In a system that includes
a local storage associated with a local storage manager, constituting a local storage system; a remote storage associated with a remote storage manager, constituting a remote storage system; the local storage system having a first link for association with the remote storage system; the local storage system is configured to send through said link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system, a method for managing remote resources method comprising:
(a) providing for the local storage system a second link for association with the remote storage system;
(b) in response to receiving at least one remote storage management command the local storage manager sending through said second link at least one cross-storage-remote management command corresponding to said remote storage management command, complying with an I/O protocol, for execution in said remote storage.
19. The method according to claim 18, wherein said I/O protocol being the SCSI protocol.
20. A method for managing remote resources in a system that includes
a local storage associated with a local storage manager, constituting a local storage system; a remote storage associated with a remote storage manager, constituting a remote storage system; the remote storage system having a first link for association with the local storage system; the remote storage system is configured to received through said link at least one I/O remote command complying with an I/O protocol, for execution in the remote storage system, the method comprising:
(a) providing for the remote storage system a second link for association with the local storage system;
(b) the remote storage manager receiving through said second link at least one cross-storage-remote management command corresponding to a remote storage management command, complying with an I/O protocol, for execution in said remote storage.
US13/081,963 2011-04-07 2011-04-07 System of managing remote resources Abandoned US20120259961A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/081,963 US20120259961A1 (en) 2011-04-07 2011-04-07 System of managing remote resources
US14/215,166 US9405484B2 (en) 2011-04-07 2014-03-17 System of managing remote resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/081,963 US20120259961A1 (en) 2011-04-07 2011-04-07 System of managing remote resources

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/215,166 Continuation US9405484B2 (en) 2011-04-07 2014-03-17 System of managing remote resources

Publications (1)

Publication Number Publication Date
US20120259961A1 true US20120259961A1 (en) 2012-10-11

Family

ID=46966965

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/081,963 Abandoned US20120259961A1 (en) 2011-04-07 2011-04-07 System of managing remote resources
US14/215,166 Active 2032-01-25 US9405484B2 (en) 2011-04-07 2014-03-17 System of managing remote resources

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/215,166 Active 2032-01-25 US9405484B2 (en) 2011-04-07 2014-03-17 System of managing remote resources

Country Status (1)

Country Link
US (2) US20120259961A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140201438A1 (en) * 2013-01-11 2014-07-17 Hitachi, Ltd. Storage system, method of controlling a storage system and management system for storage system
US20140289487A1 (en) * 2011-04-07 2014-09-25 Infinidat Ltd. System of managing remote resources
US9052828B2 (en) 2013-05-31 2015-06-09 International Business Machines Corporation Optimal volume placement across remote replication relationships
US9087201B2 (en) 2012-01-05 2015-07-21 Infinidat Ltd. System and methods for host enabled management in a storage system
US20150317373A1 (en) * 2013-02-11 2015-11-05 International Business Machines Corporation Volume initialization for asynchronous mirroring
US20160034319A1 (en) * 2014-07-31 2016-02-04 Splunk Inc. Distributed tasks for retrieving supplemental job information
US9311019B2 (en) 2013-07-29 2016-04-12 Infinidat Ltd. Storage system and method for accessing logical volumes
US20160110267A1 (en) * 2012-03-30 2016-04-21 Emc Corporation Cluster file server proxy server for backup and recovery
CN111178958A (en) * 2019-12-23 2020-05-19 腾讯科技(深圳)有限公司 Virtual resource distribution method, device, system and medium based on resource pre-distribution

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275103B1 (en) * 2002-12-18 2007-09-25 Veritas Operating Corporation Storage path optimization for SANs
US20080016121A1 (en) * 2006-07-13 2008-01-17 Xiv Ltd. Method, an apparatus and a system for managing a snapshot storage pool
US7899933B1 (en) * 2000-06-27 2011-03-01 Emc Corporation Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system
US20110078398A1 (en) * 2009-01-23 2011-03-31 Lsi Corporation Method and system for dynamic storage tiering using allocate-on-write snapshots
US8185663B2 (en) * 2004-05-11 2012-05-22 Hewlett-Packard Development Company, L.P. Mirroring storage interface

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671820B1 (en) 2000-08-10 2003-12-30 Dell Products, L.P. System and method for the prevention of corruption of networked storage devices during backup data recovery
US8219777B2 (en) * 2002-10-03 2012-07-10 Hewlett-Packard Development Company, L.P. Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system
US7769722B1 (en) 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
US7143235B1 (en) 2003-03-21 2006-11-28 Network Appliance, Inc. Proposed configuration management behaviors in a raid subsystem
US7933936B2 (en) 2005-06-10 2011-04-26 Network Appliance, Inc. Method and system for automatic management of storage space
US7584340B1 (en) 2005-06-13 2009-09-01 Symantec Operating Corporation System and method for pre-provisioning storage in a networked environment
JP4799936B2 (en) 2005-07-11 2011-10-26 株式会社日立製作所 Conditional snapshot acquisition method and system
US20070043705A1 (en) 2005-08-18 2007-02-22 Emc Corporation Searchable backups
US8533409B2 (en) 2006-01-26 2013-09-10 Infortrend Technology, Inc. Method of managing data snapshot images in a storage system
GB0608405D0 (en) 2006-04-28 2006-06-07 Ibm Optimisation of the selection of storage device ports
US8001345B2 (en) 2007-05-10 2011-08-16 Dot Hill Systems Corporation Automatic triggering of backing store re-initialization
US8284198B1 (en) 2008-03-03 2012-10-09 Network Appliance, Inc. Method for visualizing space utilization in storage containers
US8918619B2 (en) 2009-10-04 2014-12-23 Infinidat Ltd. Virtualized storage system and method of operating thereof
US8539172B1 (en) * 2010-11-08 2013-09-17 Infinidat Ltd. System and method for accessing data in an external virtual memory
US8645659B1 (en) * 2010-12-01 2014-02-04 Infinidat Ltd. Method for managing volumes/snapshots in pools of external virtual memory
US20120259961A1 (en) * 2011-04-07 2012-10-11 Infinidat Ltd. System of managing remote resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899933B1 (en) * 2000-06-27 2011-03-01 Emc Corporation Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system
US7275103B1 (en) * 2002-12-18 2007-09-25 Veritas Operating Corporation Storage path optimization for SANs
US8185663B2 (en) * 2004-05-11 2012-05-22 Hewlett-Packard Development Company, L.P. Mirroring storage interface
US20080016121A1 (en) * 2006-07-13 2008-01-17 Xiv Ltd. Method, an apparatus and a system for managing a snapshot storage pool
US20110078398A1 (en) * 2009-01-23 2011-03-31 Lsi Corporation Method and system for dynamic storage tiering using allocate-on-write snapshots

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140289487A1 (en) * 2011-04-07 2014-09-25 Infinidat Ltd. System of managing remote resources
US9405484B2 (en) * 2011-04-07 2016-08-02 Infinidat Ltd. System of managing remote resources
US9087201B2 (en) 2012-01-05 2015-07-21 Infinidat Ltd. System and methods for host enabled management in a storage system
US20160110267A1 (en) * 2012-03-30 2016-04-21 Emc Corporation Cluster file server proxy server for backup and recovery
US10417027B1 (en) 2012-03-30 2019-09-17 EMC IP Holding Company LLC Virtual machine proxy server for hyper-V image backup and recovery
US10331525B2 (en) * 2012-03-30 2019-06-25 EMC IP Holding Company LLC Cluster file server proxy server for backup and recovery
US20140201438A1 (en) * 2013-01-11 2014-07-17 Hitachi, Ltd. Storage system, method of controlling a storage system and management system for storage system
US9052839B2 (en) * 2013-01-11 2015-06-09 Hitachi, Ltd. Virtual storage apparatus providing a plurality of real storage apparatuses
US9727626B2 (en) * 2013-02-11 2017-08-08 International Business Machines Corporation Marking local regions and providing a snapshot thereof for asynchronous mirroring
US20150317373A1 (en) * 2013-02-11 2015-11-05 International Business Machines Corporation Volume initialization for asynchronous mirroring
US9052828B2 (en) 2013-05-31 2015-06-09 International Business Machines Corporation Optimal volume placement across remote replication relationships
US9311019B2 (en) 2013-07-29 2016-04-12 Infinidat Ltd. Storage system and method for accessing logical volumes
US9983912B2 (en) * 2014-07-31 2018-05-29 Splunk Inc. Utilizing distributed tasks to retrieve supplemental job information for performing a job
US10255322B2 (en) 2014-07-31 2019-04-09 Splunk Inc. Utilizing persistent and non-persistent connections for distributed tasks for performing a job
US20160034319A1 (en) * 2014-07-31 2016-02-04 Splunk Inc. Distributed tasks for retrieving supplemental job information
US10713245B2 (en) 2014-07-31 2020-07-14 Splunk Inc. Utilizing persistent and non-persistent connections for generating a job result for a job
US11252224B2 (en) 2014-07-31 2022-02-15 Splunk Inc. Utilizing multiple connections for generating a job result
CN111178958A (en) * 2019-12-23 2020-05-19 腾讯科技(深圳)有限公司 Virtual resource distribution method, device, system and medium based on resource pre-distribution

Also Published As

Publication number Publication date
US20140289487A1 (en) 2014-09-25
US9405484B2 (en) 2016-08-02

Similar Documents

Publication Publication Date Title
US9405484B2 (en) System of managing remote resources
US10067722B2 (en) Storage system for provisioning and storing data to a virtual disk
US7020734B2 (en) Connecting device of storage device and computer system including the same connecting device
US7917551B2 (en) Storage system and management method thereof
US9875063B2 (en) Method for writing data to a virtual disk using a controller virtual machine and different storage and communication protocols
US9558085B2 (en) Creating and reverting to a snapshot of a virtual disk
US9483205B2 (en) Writing to a storage platform including a plurality of storage clusters
US9424151B2 (en) Disk failure recovery for virtual disk with policies
US9798489B2 (en) Cloning a virtual disk in a storage platform
US9411534B2 (en) Time stamp generation for virtual disks
US7509466B2 (en) Backup method for a copy pair using newly created logical volume via virtual server device
US9864530B2 (en) Method for writing data to virtual disk using a controller virtual machine and different storage and communication protocols on a single storage platform
US7133988B2 (en) Method and apparatus for managing direct I/O to storage systems in virtualization
US20110066801A1 (en) Storage system and method for controlling the same
US7987206B2 (en) File-sharing system and method of using file-sharing system to generate single logical directory structure
JP2007334877A (en) System and method for managing consistency among volumes in continuous data protection environment
WO2016050315A1 (en) Method and an apparatus, and related computer-program products, for managing access request in multi-tenancy environments
US9875059B2 (en) Storage system
US10936243B2 (en) Storage system and data transfer control method
US20230259529A1 (en) Timestamp consistency for synchronous replication
WO2014108935A1 (en) Data storage system, method of controlling a data storage system and management system for a data storage system
US8645659B1 (en) Method for managing volumes/snapshots in pools of external virtual memory
US10860235B2 (en) Storage system having a plurality of storage apparatuses which migrate a first volume group to a second volume group
Gibson et al. ObjectStorage: Scalable Bandwidth for HPC Clusters
He Data management in intelligent storage systems

Legal Events

Date Code Title Description
AS Assignment

Owner name: INFINIDAT LTD., ISRAEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WINOKUR, ALEX;REEL/FRAME:026617/0625

Effective date: 20110711

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: HSBC BANK PLC, ENGLAND

Free format text: SECURITY INTEREST;ASSIGNOR:INFINIDAT LTD;REEL/FRAME:066268/0584

Effective date: 20231220