WO2015167579A1 - Procédé et appareil de fourniture de stockage utilisant une virtualisation de dispositif dans un environnement de stockage hétérogène - Google Patents
Procédé et appareil de fourniture de stockage utilisant une virtualisation de dispositif dans un environnement de stockage hétérogène Download PDFInfo
- Publication number
- WO2015167579A1 WO2015167579A1 PCT/US2014/036556 US2014036556W WO2015167579A1 WO 2015167579 A1 WO2015167579 A1 WO 2015167579A1 US 2014036556 W US2014036556 W US 2014036556W WO 2015167579 A1 WO2015167579 A1 WO 2015167579A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage
- requested
- capacity
- storage node
- storage capacity
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Definitions
- the present invention relates generally to storage systems and, more particularly, to storage capacity provisioning method and apparatus in a heterogeneous storage environment that includes, for example, enterprise storage systems and commodity server based storage.
- U.S. Patent No. 8,375,223 for secure distributed storage describes commodity server based storage system which is configured from a commodity server that contains CPU, HDD, memory, etc. Ceph, Redhat storage, and Swift are examples of commodity server based storage.
- U.S. Patent No. 7,133,988 describes a storage device virtualization technology that virtualizes the capacity installed in another storage system physically and provides its capacity to the server as the capacity of the upper storage system. The storage system which has physical capacity is called external storage.
- a storage system including commodity server based storage provides different features, performance, cost, access interface, and capacity from those of an enterprise storage system.
- the user has to choose the storage system depending on the user's requirement. To do so, the user has to know which storage system has which features, and has to manage the free storage capacity of each storage system. It is a complicated task.
- Exemplary embodiments of the invention provide storage capacity provisioning method and apparatus in a heterogeneous storage environment in such a way that capacity management and feature
- enterprise storage systems and commodity server based storage are provided in the heterogeneous storage environment.
- the storage capacity of a first storage having one of the features is mapped to a second storage having another feature by using device virtualization technology. The capacity is provided from the second storage to the server.
- the provided storage can have all the required features.
- the result is improved ease of use in storage capacity provisioning and storage capacity manageability in the heterogeneous storage environment.
- One aspect of the present invention is directed to a
- the management computer coupled to a plurality of storage nodes.
- the management computer comprises a memory being configured to store first information indicating functionalities which can be executed by each of the plurality of storage nodes and second information showing types of storage capacity included in each of the plurality of storage nodes; and a processor, in response to a user request, configured to: select a storage node which has a functionality requested by the user request by referring to the first information; check whether the selected storage node has a type of storage capacity requested by the user request by referring to the second information; and provide, if the storage node does not have the type of storage capacity requested by the user request, a virtual device which is mapped to another storage capacity provided by another storage node, said another storage capacity satisfying the type of storage capacity requested by the user request.
- the processor is configured: if the storage node has the type of storage capacity requested by the user request, to allocate the storage capacity from the storage node and to provide a storage device from the storage node having the allocated storage capacity; and if the storage node does not have the type of storage capacity requested by the user request, to search said another storage node having said another storage capacity and being connected to the storage node which has the functionality, and to allocate said another storage capacity from said another storage node.
- the processor is configured to: check whether the requested functionality is storage media tiering or storage capacity virtualization, and if no, relate the storage device (if the storage node has the type of storage capacity requested by the user request) or the virtual device (if the storage node does not have the type of storage capacity requested by the user request) to a port connected to a virtual machine associated with the requested functionality and the requested type of storage capacity, and if yes, add the storage device (if the storage node has the type of storage capacity requested by the user request) or the virtual device (if the storage node does not have the type of storage capacity requested by the user request) to a capacity pool of storage media tiering or storage capacity virtualization, make another device corresponding to the capacity pool, and relate said another device to the port connected to the virtual machine associated with the requested functionality and the requested type of storage capacity.
- the memory is configured to store third information indicating access interface; and wherein the processor is configured to check whether the access interface is file or object by referring to the third information, and if the access interface is file or object, the processor is configured to: if the access interface is file, make a file system in the storage node; if the access interface is object, create an object store in the storage node; if the storage node has the type of storage capacity requested by the user request, relate the storage device to an internet protocol port connected to a virtual machine associated with the requested functionality and the requested type of storage capacity; and if the storage node does not have the type of storage capacity requested by the user request, relate the virtual device to an internet protocol port connected to a virtual machine associated with the requested functionality and the requested type of storage capacity.
- the processor is configured to determine whether the requested functionality is to reduce data size, and if yes, the processor is configured to estimate a needed physical capacity in consideration of the requested functionality to reduce data size.
- the checking comprises checking whether the selected storage node has a type of storage capacity requested by the user request with the estimated physical capacity.
- the providing comprises providing, if the storage node does not have the type of storage capacity requested by the user request with the estimated physical capacity, a virtual device which is mapped to another storage capacity provided by another storage node, said another storage capacity satisfying the type of storage capacity requested by the user request with the estimated physical capacity.
- the processor is configured: if the storage node has the type of storage capacity requested by the user request with the estimated physical capacity, to allocate the storage capacity from the storage node; and if the storage node does not have the type of storage capacity requested by the user request with the estimated physical capacity, to search said another storage node having said another storage capacity with the estimated physical capacity and being connected to the storage node which has the functionality, and to allocate said another storage capacity from said another storage node.
- the user request specifies multiple functionalities
- the processor is configured to determine whether all the requested functionalities can be provided by one of the plurality of storage nodes, and if no, then determine whether all the requested functionalities
- functionalities can be provided by two or more storage nodes, and if yes, then: decide a device virtualization order among the two or more storage nodes having all the requested functionalities so as to provide an upper storage node and one or more lower storage nodes including a lowest storage node; and provide an upper virtual device for the upper storage node which corresponds to one or more lower virtual devices for the one or more lower storage nodes. If the two or more storage node having all the requested functionalities do not have the type of storage capacity requested by the user request, a lowest virtual device for the lowest storage node is mapped to said another storage capacity provided by said another storage node, said another storage capacity satisfying the type of storage capacity requested by the user request.
- two storage nodes have all the requested functionalities, including the upper storage node and a middle storage node which do not have the type of storage capacity requested by the user request.
- the middle virtual device for the middle storage node is mapped to said another storage capacity provided by said another storage node, said another storage capacity satisfying the type of storage capacity requested by the user request.
- the management computer further comprises an interface from which the user requests the functionality and total amount of storage capacity without specifying one or more storage nodes of the plurality of storage node.
- Another aspect of the invention is directed to a storage provisioning method for a plurality of storage nodes.
- the method comprises: storing first information indicating functionalities which can be executed by each of the plurality of storage nodes and second information showing types of storage capacity included in each of the plurality of storage nodes;
- selecting a storage node which has a functionality requested by the user request by referring to the first information checking whether the selected storage node has a type of storage capacity requested by the user request by referring to the second information; and providing, if the storage node does not have the type of storage capacity requested by the user request, a virtual device which is mapped to another storage capacity provided by another storage node, said another storage capacity satisfying the type of storage capacity requested by the user request.
- FIG. 1 illustrates an example of a hardware configuration of a computer system in which the method and apparatus of the invention may be applied according to the first embodiment.
- FIG. 2 illustrates an example of a node.
- FIG. 3 illustrates an example of an enterprise storage system.
- FIG. 4 illustrates an example of a traditional storage capacity provisioning screen provided by the management server.
- FIG. 5 illustrates an example of the storage capacity
- FIG. 5A illustrates an example of storage provisioning when the required physical capacity and required functionalities are provided by different storages according to the first embodiment.
- FIG. 6 illustrates an example of the memory of the management server.
- FIG. 7 illustrates an example of the memory of the storage system.
- FIG. 8 illustrates an example of a functionality management table.
- FIG. 9 illustrates an example of a capacity management table.
- FIG. 10 shows an example of a flow diagram illustrating the process of a provisioning program (in the management server) to provision storage capacity.
- FIG. 1 1 shows an example of a flow diagram illustrating the process of a capacity allocation program (1 ) (in the management server) to allocate physical storage capacity.
- FIG. 12 shows an example of a flow diagram illustrating the process of a first device configuration program (1 ) (in the upper storage) to configure the device and storage functionalities.
- FIG. 13 shows an example of a flow diagram illustrating the process of a second device configuration program (2) (in the upper storage).
- FIG. 14 shows an example of a flow diagram illustrating the process of a replica configuration program executed in the management server.
- FIG. 15 shows an example of a flow diagram illustrating the process of a snapshot configuration program executed in the management server.
- FIG. 16 shows an example of a flow diagram illustrating the process of a remote copy configuration program executed in the management server.
- FIG. 17 shows an example of a flow diagram illustrating the process of another capacity allocation program (2) executed in the
- FIG. 18 shows an example of a flow diagram illustrating the process of a third device configuration program (3).
- FIG. 19 illustrates an example of storage provisioning when the required physical capacity and required functionalities are provided by different storages and the required functionalities are provided by two or more storages according to the second embodiment.
- FIG. 20 shows an example of a flow diagram illustrating the process of a provisioning program (in the management server) to provision storage capacity according to the second embodiment.
- FIG. 21 illustrates an example of a functionality table.
- processing can include the actions and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system's memories or registers or other information storage, transmission or display devices.
- the present invention also relates to an apparatus for performing the operations herein.
- This apparatus may be specially
- Exemplary embodiments of the invention provide apparatuses, methods and computer programs for storage capacity provisioning in a heterogeneous storage environment.
- the processing that is disclosed while a program is handled as a subject can also be a processing that is executed by a processor that executes the program or an apparatus that is provided with the processor (for instance, a control device, a controller, and a storage system). Moreover, a part or a whole of a processing that is executed when the processor executes a program can also be executed by a hardware circuit as substitute for or in addition to a processor.
- FIG. 1 illustrates an example of a hardware configuration of a computer system in which the method and apparatus of the invention may be applied according to the first embodiment.
- the computer system includes management node 100, compute node 200, storage node (commodity) 300, storage node (all flash) 400, and storage node (rich func) 500, and network 700 physically.
- Virtual machine 600 is created by using these nodes.
- CPU resource of each compute node constitutes computing resource pool and capacity of each node constitutes storage capacity pool. This is one example; other types of nodes can be added to the computer system.
- FIG. 2 illustrates an example of a node.
- the node (1 00, 200, or 300) has program, memory, CPU, HDD (hard disk drive), and network interface (IF).
- This is a physical configuration of the management server, compute node, and storage node (commodity).
- the amount of the resource depends on the node type.
- the compute node may have a large number of the processors and the storage node may have a large amount of the HDD capacity.
- Some management program(s) may be installed in the
- the HDD is an example of storage capacity.
- SSD Solid State Drive
- other physical drives can be installed as storage capacity.
- FIG. 3 illustrates an example of an enterprise storage system.
- the storage system 400 or 500 includes cache unit 201 , storage l/F 202, processor 203, disk l/F 204, volume 205, disks 206, storage control information 207, and storage program 208.
- the storage l/F 202 is coupled to the other nodes via the network 700, and mediates communication with the other nodes.
- the processor 203 executes a wide variety of processing by executing a wide variety of programs that have been stored into the storage program 208. Moreover, the processor 203 executes a wide variety of processing by using a wide variety of information that has been stored into the storage control information 207.
- the disk l/F 204 is coupled to at least one disk 206 via a bus.
- the volume 205 that is configured to manage data is configured by at least one storage region of the disk(s) 206.
- a disk 206 is HDD.
- the disk 206 is not restricted to an HDD and can also be an SSD (Solid State Drive) or a DVD, for instance.
- at least one disk can be collected up in a unit of a parity group, and a high reliability technique such as a RAID (Redundant Arrays of Independent Disks) can also be used.
- the volume 205 is provided as disk 206 to an operating system using the volume.
- the storage control information 207 stores a wide variety of information used by a wide variety of programs.
- the storage program 208 stores a wide variety of programs, such as read processing program or write processing program and so on.
- the cache unit 201 caches the data stored in the disk 206 for performance boost.
- FIG. 4 illustrates an example of a traditional storage capacity provisioning screen provided by the management server 1 00.
- the storage node (commodity) 300 has 300TB, and storage system
- A has 10 TB and storage system B has 90TB of free storage capacity.
- Storage system A is product name. The user is making provisioning 50TB from commodity and attaching it to VM1 in the example. From the example, free storage capacity is managed by each storage system. The user has to specify which storage system provides storage capacity. To do so, the user has to know the features of each storage system. For example, storage system A is a high performance storage system which has flash as physical storage media. The free capacity of each storage system is managed individually, because the storage systems each have different features and different performances.
- FIG. 4 Another example of a traditional storage capacity provisioning screen for user interface can be considered.
- features of each storage system are not managed in the management server. Only total free storage capacity is managed and displayed in the screen, without specifying storage node(s). It is 400TB in the example of FIG. 4.
- the high performance all flash storage system and storage functionalities rich storage system are treated as commodity server based storage. As such, features of these storage systems are not utilized.
- FIG. 5 illustrates an example of the storage capacity
- provisioning screen in the present invention In this example, the total free capacity is displayed instead of the free capacity of each storage system.
- Provisioning capacity and destination VM correspond to the total free capacity.
- the user is making provisioning 50 TB from 400TB free capacity and attaching it to VM1 in this example.
- the user chooses the storage media type.
- High means high cost and high performance storage media such as a flash storage (Tier 1 ).
- Mid means mid cost and mid performance storage media such as an SAS HDD (Tier 2).
- Low means low cost and low performance storage media such as a SATA HDD (Tier 3).
- SATA HDD SATA HDD
- the user chooses the needed functionalities and access interface. The user is not conscious of which storage system has which feature and performance.
- the storage capacity of a first storage having one of the features is mapped to a second storage having another feature by using device virtualization technology. The capacity is provided from the second storage to the server.
- the provided storage can have all required features. Details of the processing are described in FIG. 10 to FIG.19.
- FIG. 5A illustrates an example of storage provisioning when the required physical capacity and required functionalities are provided by different storages according to the first embodiment.
- the request for storage for a VM in a host is issued to the storage having the required functionalities (upper storage).
- the storage having the required physical capacity may be referred to as the external storage and the physical capacity is mapped to the upper storage having the required functionalities.
- FIG. 6 illustrates an example of the memory of the management server.
- the memory includes a control information unit and a program.
- node distance table manages the distance between nodes.
- Provisioning program (FIG. 10), capacity allocation program (FIG. 1 1 ), replica configuration program (FIG. 14), snapshot configuration program (FIG. 15), and remote copy configuration program (FIG. 16) are stored in the program unit. Details of the tables and programs are described later.
- FIG. 7 illustrates an example of the memory of the storage system.
- the memory includes a control information unit, a program unit, and a cache unit.
- Replication pair table, remote copy pair table, snapshot table and so on are managed in the control information unit.
- the replication pair table manages copy source device ID and copy destination device ID, and so on.
- the remote copy pair table manages copy source device ID, copy source storage system ID, copy destination device ID, copy destination storage system ID, path information which is used for data transfer, and so on.
- the snapshot table manages the snapshot pool information which manages the device configuring the snapshot pool and the relationship between the device used by the server and the snapshot pool.
- Device configuration program (FIGS. 12 and 13), device discover program (FIGS. 1 2 and 13), pair creation program (FIG. 14), snapshot pool configuration program (FIG. 15), snapshot initialization program (FIG. 15), and remote copy pair creation program (FIG. 16) are stored in the program unit. Details of the tables and programs are described later.
- FIG. 8 illustrates an example of a functionality management table.
- Node ID, data protection, performance boost, cost reduction, and access l/F are managed.
- storage functionalities are categorized into data protection, performance boost, cost reduction, and access l/F.
- the storage system specified node ID 4 has de- duplication functionality and can be accessed with block l/F from the server.
- the storage system specified node ID 5 has replication, remote copy, snapshot, and cache unit, and can be accessed with block, file or object l/F from the server.
- the management server knows which server has which functionalities.
- FIG. 9 illustrates an example of a capacity management table. Node ID, media, free capacity, and used capacity are managed in the table. Media manages the disk type installed in the node specified by the node ID. By using media information, the management server can know the storage cost. The storage cost is dependent not only on storage media type but system. Therefore, the storage cost can be estimated in consideration of the type of system.
- FIG. 10 shows an example of a flow diagram illustrating the process of a provisioning program (in the management server) to provision storage capacity according to the first embodiment.
- This program searches storage which has the required storage capacity and searches storage which has the required functionalities.
- the result can be two or more storages. If the storage having the required capacity differs from the storage having the required functionalities, the capacity is mapped to the storage having the required functionalities. Finally, it is attached to the VM as capacity of storage having functionalities.
- step S1 00 the provisioning program receives a capacity provisioning request from the user.
- the program searches storage which has all the requested functionalities (S101 ). If there is no storage having all the requested functionalities (S1 02), the program proceeds to step S1 03, reports error at S103, and terminates the processing (S1 09). If there is storage having all requested functionalities, the program calls the capacity allocation program at the step S104 (FIG. 1 1 ). In step S105, if the result of the capacity allocation program is error, the program proceeds to step S103. If the result of the capacity allocation program is not error, the program issues the device configuration request to the storage (S1 06).
- the request is issued to the storage having the required functionalities.
- the storage which receives the request executes the device configuration program (FIG. 12 or 13 or 20). The details of the program are described later.
- the program calls a program to configure storage functionalities. The appropriate program to call depends on the requested storage functionalities (FIG. 14 for replication, FIG. 15 for snapshot, and FIG. 16 for remote copy). After that, the program attaches the capacity to the specified VM (S1 08) and terminates the processing (S109).
- FIG. 1 1 shows an example of a flow diagram illustrating the process of a capacity allocation program (1 ) (in the management server) to allocate physical storage capacity.
- the program checks whether the storage having the required functionalities also has the requested cost of storage media or not. If the result is yes, the program allocates physical capacity from the same storage at step S201 . If the result is no, the program searches the storage having a requested cost of storage media from the storage systems connected to the storage having the required functionalities
- step S203 If there is no storage fulfilling the condition in step S203, the program reports the error at the step S204. If there is storage fulfilling the condition in step S203, the program allocates the physical capacity from the storage in step S205. The program terminates the processing in step S206 after S201 , S204, or S205.
- FIG. 12 shows an example of a flow diagram illustrating the process of a first device configuration program (1 ) (in the upper storage) to configure the device and storage functionalities.
- the device configuration program (1 ) is called after receiving the device configuration request from the step S106 of provisioning program in FIG. 10.
- step S300 the program checks whether the physical storage capacity is provided by some other storage or not. If the result is yes, the program obtains device information from the external storage which has the physical capacity (S301 ). The storage having the required capacity receives the request for device information from the upper storage which has functionalities and reports the device information to the upper storage by executing a device discover program (S302). Then the device configuration program (1 ) defines a virtual device corresponding to the physical capacity (S303). If the result of step
- step S300 the device configuration program (1 ) skips step S301 to step
- step S304 the program relates the device to the port connected to the VM. If the physical capacity is in external storage, the virtual device defined in step S303 is related to the port. The program terminates the processing in step S305. If the required functionality is cache, the cache of the upper storage can be used by the I/O processing.
- FIG. 13 shows an example of a flow diagram illustrating the process of a second device configuration program (2) (in the upper storage).
- the device configuration program (2) is executed instead of the device configuration program (1 ) of FIG. 12. Steps S300, S301 ,
- step S300 is the same as the steps in FIG. 12.
- step S400 is executed.
- the program adds allocated device to the capacity pool of storage media tiering or storage capacity virtualization. If the physical capacity is in external storage, the virtual device defined in step S303 is added. Then, the program makes another device corresponding to the capacity pool (S401 ). Next, the program relates the device made in previous step to the port connected to the VM (S402). Finally, the program terminates the processing (S403). Different from the example in FIG. 1 2, the program of FIG. 13 adds the device to the capacity pool instead of attaching it to the VM. As a result, some region of the device attached to the VM may correspond to another physical device belonging to the capacity pool.
- the storage has the capacity pool including the storage media requested by the user when the user requests the storage provisioning, allocation of new physical capacity can be avoided. If the pool consisting of the requested cost of storage media does not exist, the pool is made and allocated device is added to the made pool. If the pool consisting of the requested cost of storage media exists and the free capacity more than the predetermined value is in the pool, allocation of physical capacity can be skipped. In particular, the steps S1 04, S105, S300, S301 , S302 are skipped to avoid physical capacity allocation. If the physical capacity of the upper storage is contained in the pool, physical capacity allocation to the device defined in step S401 can be limited to the requested cost of storage media. [0060] FIG.
- step S500 the program calls a capacity allocation program to allocate physical capacity for replicated data (FIG. 1 1 ).
- the program checks whether the device for replicated data is in the same storage which has the replication functionality (S501 ). If the result is yes, the program skips step S502 and proceeds to the step S503. If the result is no, the program specifies execution of the device configuration program to the storage which has the replication functionality in step S502.
- the storage executes device configuration program (1 ) or (2) (FIG. 12 or 13).
- the replica configuration program issues a pair creation command to the storage which has the replication functionality (S503).
- the storage which receives the pair creation command executes the pair creation program.
- the pair creation program receives the command from the management server (S504) and updates the replication pair table (S505).
- the pair creation program initializes the replication processes such as an initial copy and responds to the management server (S506).
- the replica configuration program receives the response and terminates the processing (S507).
- FIG. 15 shows an example of a flow diagram illustrating the process of a snapshot configuration program executed in the management server.
- the snapshot configuration program is called in step S107 of the provisioning program in FIG. 10.
- the program queries whether there is a snapshot pool or not to the storage which has the snapshot functionality.
- the storage which receives the query checks the existence of the snapshot pool and reports it to the management server (S601 ).
- the snapshot configuration program checks whether there is snapshot pool to store differentiated data of snapshot (S602). If the result is yes, the program skips steps S603, S604, and S605 and proceeds to step S606. If the result is no, the program calls the capacity allocation program to store the differentiated data in step S603 (FIG. 1 1 ).
- the program checks whether the allocated capacity is in the same storage which has the snapshot functionality (S604). If the result is yes, the program skips step S605 and proceeds to step S606. If the result of the step S604 is no, the program specifies execution of the device configuration program to the storage (S605). The storage which receives the request executes the device configuration program (1 ) or (2) (FIG. 12 or 13). Then, the snapshot configuration program issues the snapshot initialization command to the storage having the snapshot functionality (S606). If the snapshot pool configuration is needed, a snapshot pool configuration request can be included in the command. The storage which receives the snapshot initialization command executes the snapshot initialization program. The snapshot initialization program checks whether the command includes the snapshot pool configuration request or not. If the result is no, the program skips step S608 and proceeds to step S609. If the result is yes, the program makes a snapshot pool and adds the specified device to the snapshot pool
- the program relates the source device to the snapshot pool
- the snapshot configuration program receives the response from the storage and terminates the processing (S61 1 ).
- FIG. 16 shows an example of a flow diagram illustrating the process of a remote copy configuration program executed in the management server.
- the remote copy configuration program is called in step S107 of the provisioning program in FIG. 10.
- step S107 the provisioning program in FIG. 10.
- the program searches the destination storage of remote copy.
- the destination storage of remote copy is one that has the remote copy functionality and is installed a long distance away from the source storage, and is connected to source storage selected by the provisioning program.
- the distance between storage systems can be check by using the node distance table. Then, the program calls the capacity allocation program for the remote copy destination device in step S701 .
- the capacity allocation program described in FIG. 1 1 is executed.
- the "same storage" in step S200 of the capacity allocation program in FIG. 1 1 means the destination storage.
- the program checks whether the destination device is in the destination storage (S702). If the result is yes, the program skips step S703 and proceeds to step S704. If the result is no, the program specifies execution of the device configuration program to the destination storage (S703).
- the storage which receives the request executes the device configuration program (1 ) or (2) (FIG. 12 or 13). Then, the program issues a remote copy pair creation command to the source storage (S704).
- the source storage which receives the remote copy pair creation command executes the remote copy pair creation program in the source storage.
- the remote copy pair creation program issues the pair creation request to the destination storage (S706).
- the destination storage executes the remote copy pair creation program in the destination storage and updates the replication pair table (S707).
- the remote copy pair creation program in source storage updates the replication pair table in the source storage (S708) and initializes the replication processes such as an initial copy and so on (S709).
- the remote copy configuration program receives the response from the remote copy pair creation program in the source storage and terminates the processing (S710). Some conditions for remote copy pair creation can be checked before steps S707 and S708.
- FIG. 17 shows an example of a flow diagram illustrating the process of another capacity allocation program (2) executed in the
- the capacity allocation program (2) of FIG. 17 is executed instead of the capacity allocation program (1 ) of FIG. 1 1 .
- the capacity allocation program (2) allocates the physical capacity in consideration of the effect of the data reduction functionalities.
- step S800 is inserted just before step S200 of FIG. 1 1 .
- step S800 the capacity allocation program (2) estimates the needed physical capacity in
- FIG. 18 shows an example of a flow diagram illustrating the process of a third device configuration program (3).
- the device configuration program (3) is executed (instead of (1 ) in FIG. 1 1 or (2) in FIG. 12).
- the process of FIG. 18 is similar to the process of FIG. 12.
- Step S900 is added and step S901 replaces step S303.
- the device configuration program (3) makes file system or configure object store in step S900 after step S302.
- step S901 the program relates the capacity to the port connected to the VM.
- the capacity is related to the IP (internet protocol) port which is connected to the VM.
- IP internet protocol
- FIG. 19 illustrates an example of storage provisioning when the required physical capacity and required functionalities are provided by different storages and the required functionalities are provided by two or more storages according to the second embodiment.
- the request for storage for a VM in a host is issued to the storage having a first required functionality of remote copy (upper storage).
- a middle storage provides a second required functionality of replication.
- the storage having the required physical capacity may be referred to as the external storage and the physical capacity is mapped to the middle storage having the replication functionality and to the upper storage having the remote copy functionality.
- FIG. 19 shows a device virtualization order between the upper storage and the lower storage.
- the physical capacity is mapped to the lowest storage of the multiple storages having the required functionalities.
- the volume is provided from the upper storage to the VM.
- FIG. 20 shows an example of a flow diagram illustrating the process of a provisioning program (in the management server) to provision storage capacity according to the second embodiment.
- This program searches storage which has the required storage capacity and searches storages which have the required functionalities.
- the result can be two or more storages to provide the required functionalities. If the storage having the required capacity differs from the storage having the required functionalities, the capacity is mapped to the storage(s) having the required functionalities.
- FIG. 20 (second embodiment) is similar to FIG. 10 (first embodiment), but adds steps S1000 and S1001 and replaces S106 with steps
- step S1002 to S1006.
- S100 to S1 05 and S107 to S109 remain the same.
- step S102 if there is no storage having all the requested functionalities, the program proceeds to step S1 000 and searches storages which can provide at least one of the requested functionalities.
- step S1001 if all the requested functionalities are not provided by one or more storages, the program proceeds to step S103, reports error at S103, and terminates the processing
- step S105 if the result of the capacity allocation program is error, the program proceeds to step S1 03. If the result of the capacity allocation program is not error, the program determines whether all the requested functionalities are provided by one storage. If yes, the program skips steps S1003 to S1006 and proceeds to step S107. If no, the program performs steps S1003 to S1006 before performing step S107.
- step S1 003 the program decides the device virtualization order.
- the order of the storages having the requested functionalities is decided (e.g., upper storage and middle storage). For the example shown in FIG. 19, the order is upper storage, middle storage, and external storage.
- step S1004 the program specifies execution of the device configuration program to the middle storage. The virtual volume corresponding to the physical capacity is defined.
- step S1005 the program specifies execution of the device configuration program to the upper storage. This defines another virtual volume corresponding to the virtual volume defined in the middle storage in step S1004.
- step S1006 the program updates the functionality table (FIG. 21 ). This table manages which storage system provides which functionality and is used for issuing command for functionality.
- step S107 the program calls a program to configure storage functionalities. This step is executed for all required functionalities.
- the remote copy configuration program for upper storage and the replica configuration program for middle storage are executed.
- the program attaches the capacity to the specified VM (S108) and terminates the processing (S109).
- FIG. 21 illustrates an example of a functionality table.
- the functionality table as columns of volume ID (1 , 2, etc.), functionalities (remote copy, replication, etc.), and storage (node ID numbers).
- Volume ID is identification of volume to be provided to the VM.
- remote copy and replication are applied to volume ID no. 1 .
- Remote copy processing is executed in the storage system specified by node ID 1 .
- Replication processing is executed in the storage system specified by node ID 2.
- the management server can detect the storage system executing the functionality and issue the command.
- Examples of operation command include suspend, re-sync, and the like.
- FIG. 1 the system configuration illustrated in FIG. 1 is purely exemplary of information systems in which the present invention may be implemented, and the invention is not limited to a particular hardware configuration.
- the computers and storage systems implementing the invention can also have known I/O devices (e.g., CD and DVD drives, floppy disk drives, hard drives, etc.) which can store and read the modules, programs and data structures used to implement the above-described invention.
- These modules, programs and data structures can be encoded on such computer-readable media.
- the data structures of the invention can be stored on computer-readable media independently of one or more computer-readable media on which reside the programs used in the invention.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include local area networks, wide area networks, e.g., the Internet, wireless networks, storage area networks, and the like.
- the methods When performed by software, the methods may be executed by a processor, such as a general purpose computer, based on instructions stored on a computer-readable medium. If desired, the instructions can be stored on the medium in a compressed and/or encrypted format.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
L'invention concerne un ordinateur de gestion, couplé à une pluralité de nœuds de stockage, qui comprend une mémoire qui est configurée pour stocker des premières informations indiquant des fonctionnalités qui peuvent être exécutées par chacun des nœuds de stockage et des secondes informations montrant des types de capacités de stockage incluses dans chacun des nœuds de stockage ; et un processeur, en réponse à une requête d'utilisateur, configuré pour : sélectionner un nœud de stockage qui a une fonctionnalité demandée par la requête d'utilisateur en se référant aux premières informations ; vérifier si le nœud de stockage sélectionné a ou non un type de capacité de stockage demandé par la requête d'utilisateur en se référant aux secondes informations ; et fournir, si le nœud de stockage n'a pas le type de capacité de stockage demandé par la requête d'utilisateur, un dispositif virtuel qui est mappé à une autre capacité de stockage fournie par un autre nœud de stockage, ladite autre capacité de stockage satisfaisant le type de capacité de stockage demandé par la requête d'utilisateur.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2014/036556 WO2015167579A1 (fr) | 2014-05-02 | 2014-05-02 | Procédé et appareil de fourniture de stockage utilisant une virtualisation de dispositif dans un environnement de stockage hétérogène |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2014/036556 WO2015167579A1 (fr) | 2014-05-02 | 2014-05-02 | Procédé et appareil de fourniture de stockage utilisant une virtualisation de dispositif dans un environnement de stockage hétérogène |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015167579A1 true WO2015167579A1 (fr) | 2015-11-05 |
Family
ID=54359109
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2014/036556 Ceased WO2015167579A1 (fr) | 2014-05-02 | 2014-05-02 | Procédé et appareil de fourniture de stockage utilisant une virtualisation de dispositif dans un environnement de stockage hétérogène |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2015167579A1 (fr) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5758050A (en) * | 1996-03-12 | 1998-05-26 | International Business Machines Corporation | Reconfigurable data storage system |
| US6839746B1 (en) * | 2003-06-03 | 2005-01-04 | Veritas Operating Corporation | Storage area network (SAN) device logical relationships manager |
| US7433948B2 (en) * | 2002-01-23 | 2008-10-07 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network |
| US20110022812A1 (en) * | 2009-05-01 | 2011-01-27 | Van Der Linden Rob | Systems and methods for establishing a cloud bridge between virtual storage resources |
| US7953929B1 (en) * | 2005-10-20 | 2011-05-31 | American Megatrends, Inc. | Expanding the storage capacity of a virtualized data storage system |
| US8200935B2 (en) * | 2008-03-26 | 2012-06-12 | Fujitsu Limited | Storage capacity allocation control apparatus and method thereof |
| US20130166839A1 (en) * | 2011-12-23 | 2013-06-27 | Oracle International Corporation | Sub-lun auto-tiering |
-
2014
- 2014-05-02 WO PCT/US2014/036556 patent/WO2015167579A1/fr not_active Ceased
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5758050A (en) * | 1996-03-12 | 1998-05-26 | International Business Machines Corporation | Reconfigurable data storage system |
| US7433948B2 (en) * | 2002-01-23 | 2008-10-07 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network |
| US6839746B1 (en) * | 2003-06-03 | 2005-01-04 | Veritas Operating Corporation | Storage area network (SAN) device logical relationships manager |
| US7953929B1 (en) * | 2005-10-20 | 2011-05-31 | American Megatrends, Inc. | Expanding the storage capacity of a virtualized data storage system |
| US8200935B2 (en) * | 2008-03-26 | 2012-06-12 | Fujitsu Limited | Storage capacity allocation control apparatus and method thereof |
| US20110022812A1 (en) * | 2009-05-01 | 2011-01-27 | Van Der Linden Rob | Systems and methods for establishing a cloud bridge between virtual storage resources |
| US20130166839A1 (en) * | 2011-12-23 | 2013-06-27 | Oracle International Corporation | Sub-lun auto-tiering |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10437486B2 (en) | Method and apparatus for tenant-aware storage sharing platform | |
| US8850152B2 (en) | Method of data migration and information storage system | |
| US10013196B2 (en) | Policy based provisioning of storage system resources | |
| US8464003B2 (en) | Method and apparatus to manage object based tier | |
| US8639899B2 (en) | Storage apparatus and control method for redundant data management within tiers | |
| JP4124331B2 (ja) | Dbms向け仮想ボリューム作成・管理方法 | |
| US10374792B1 (en) | Layout-independent cryptographic stamp of a distributed dataset | |
| US9740416B2 (en) | Essential metadata replication | |
| JP5830599B2 (ja) | 計算機システム及びその管理システム | |
| US9229870B1 (en) | Managing cache systems of storage systems | |
| US10572175B2 (en) | Method and apparatus of shared storage between multiple cloud environments | |
| US7953929B1 (en) | Expanding the storage capacity of a virtualized data storage system | |
| CN110955487A (zh) | Hci环境下的vm/容器和卷配置决定方法及存储系统 | |
| US10664182B2 (en) | Storage system | |
| US11188243B2 (en) | Storage management apparatus, information system, and storage management method | |
| US10048885B1 (en) | Managing reclaiming storage space in file systems | |
| US9854037B2 (en) | Identifying workload and sizing of buffers for the purpose of volume replication | |
| WO2013098960A1 (fr) | Système informatique, procédé de gestion de fichiers, et support de mémorisation | |
| US20180267713A1 (en) | Method and apparatus for defining storage infrastructure | |
| US8447947B2 (en) | Method and interface for allocating storage capacities to plural pools | |
| WO2013061376A1 (fr) | Système de stockage et procédé de traitement de données dans un système de stockage | |
| US10242053B2 (en) | Computer and data read method | |
| US9239681B2 (en) | Storage subsystem and method for controlling the storage subsystem | |
| US11461029B1 (en) | Techniques for storage management | |
| KR101834082B1 (ko) | 다중 ssd 시스템 관리 장치 및 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14890741 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14890741 Country of ref document: EP Kind code of ref document: A1 |