WO2016167762A1 - Method and apparatus for volume type change - Google Patents

Method and apparatus for volume type change Download PDF

Info

Publication number
WO2016167762A1
WO2016167762A1 PCT/US2015/025923 US2015025923W WO2016167762A1 WO 2016167762 A1 WO2016167762 A1 WO 2016167762A1 US 2015025923 W US2015025923 W US 2015025923W WO 2016167762 A1 WO2016167762 A1 WO 2016167762A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
volume
functions
type
volume type
Prior art date
Application number
PCT/US2015/025923
Other languages
French (fr)
Inventor
Akira Deguchi
Original Assignee
Hitachi, 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 Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to PCT/US2015/025923 priority Critical patent/WO2016167762A1/en
Publication of WO2016167762A1 publication Critical patent/WO2016167762A1/en

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0647Migration 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/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]

Definitions

  • the present invention relates generally to storage systems and, more particularly, to cloud management software and storage system.
  • U.S. Patent No. 7,949,847 discloses a storage extent allocation method for thin provisioning storage. It manages gold, silver, and bronze as volume types relating to storage performance. Cloud management software manages capacity pool information. The cloud management software manages volume type (template or catalog) and allocates the storage capacity based on the volume type. The cloud management software provides to changes the type of volume dynamically. A lot of storage systems provide storage function, such as mirror, snapshot, remote copy, thin provisioning etc. Data migration inside storage system and data migration between storage systems are also provided.
  • the storage system creates a volume or migrates a volume based on a command from the cloud management software.
  • a configuration change command is sent to the storage system.
  • One example is change from volume with snapshot to volume without snapshot. In that case, the storage system deletes the snapshot.
  • Another example is change from low performance volume to high performance volume. It will be used when the application status is changed from test&dev (test & development) to production. In that case, the storage system copies the data from HDD to flash memory, for instance.
  • the storage system might receive the command not only from the cloud management software but also from storage administrators. As such, when the volume type is changed, the storage system configuration should not be changed simply based on the new volume type. For example, if storage functionalities needed by an old volume type is canceled and storage functionalities needed by a new volume type is applied, the functionalities applied by the storage administrators is canceled. The canceled
  • volume type definition includes a fiber channel drive. But drive is replaced by some other drive today. If the storage system allocates low performance HDD instead of fiber channel HDD, it might cause application performance trouble. If the storage system allocates high performance flash instead of fiber channel HDD, it might cause inefficiency use of resource. Thus, the volume type should be modified.
  • Exemplary embodiments of the invention provide ways to manage volume type change.
  • One approach involves taking over only the needed function after the volume type change.
  • a storage management server manages who is the requester for the storage function or what is the purpose of the storage function.
  • the storage system decides what storage function should be taken over by using the information.
  • Another approach proposes revision of the volume type definition based on physical configuration change. By using this invention, data can be migrated correctly and the efficiency of the storage system can be improved.
  • An aspect of the present invention is directed to a storage management server coupled to a storage system which provides a first volume.
  • the storage management server comprises: a memory configured to store function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and a processor configured, in response to a command to change a first volume type to another volume type, to determine whether the one or more first functions should be taken over by the another volume type based on the function requester information.
  • the processor is configured, in response to the command to change the first volume type to the another volume type, to: obtain differences between the first volume type and the another volume type; determine whether a storage function change is needed by comparing the first volume type and the another volume type; and if the storage function change is needed, determine whether the one or more first functions should be taken over by the another volume type, based on the function requester information.
  • the processor is configured to determine whether the one or more first functions should be taken over by the another volume type, based on function take over information stored in the memory, which specifies a function take over approach for each of the one or more first functions.
  • the processor is configured to: for a first status in which the data of the first volume is not migrated or in which the data of the first volume is migrated to said another volume and the one or more first functions are also migrated to the another volume, omit any first functions which were determined not to be taken over by the another volume type from the first volume or the another volume, and apply one or more second function, which is not included in the first volume type but in the another volume type, to the first volume or the another volume; and for a second status in which the data of the first volume is migrated to the another volume but the one or more first functions are not migrated to the another volume, apply any first functions, which were determined to be taken over by the another volume type, and one or more second functions, which are not included in the first volume type but in the another volume type, to the another volume.
  • the function take over information specifies one or more function take over approaches for the one or more first functions, the one or more function take over approaches including (i) a depend-on-migration approach which specifies taking over a function if the function is needed after migration of the data to a target volume, (ii) a follow- volume-type approach which specifies taking over a function if the function is included in the another volume type, and (iii) a take-over approach which specifies taking over a function by the another volume type; and determining which of the one or more first functions to take over based on the function take over information includes (i) checking whether a function is needed after migration of the data to the target volume for the depend-on-migration approach, (ii) checking whether a function is included in the another volume type for the follow-volume-type approach, and (iii) specifying taking over a function by the another volume type under the take-over approach.
  • the function take over information specifies one or more function take over approaches for the one or more first functions based on the function requester information, and, for each function of the one or more first functions, whether application of the each function is based on volume type if the function requester is a cloud management server, and whether the each function is to be applied permanently if the function requester is not the cloud management server.
  • the function take over approach is the follow-volume-type approach; if the function requester information indicates that the function requester for a function is a cloud management server and the application of the function is not based on volume type, the function take over approach is the take-over approach; if the function requester information indicates that the function requester for a function is not a cloud management server and the function is to be applied permanently, the function take over approach is the take-over approach; and if the function requester information indicates that the function requester for a function is not a cloud management server and the function is not to be applied permanently, the function take over approach is the depend-on- migration approach.
  • the function requester for a function that is not the cloud management server is a user; and the processor is configured to provide a user interface for the user to specify whether the function is to be applied permanently or not for the first volume.
  • the processor is configured, in response to a request to change configuration of the storage system, to:
  • the configuration change determines whether the configuration change is to uninstall an existing resource or to install a new resource; if the configuration change is to uninstall the existing resource and if the existing resource is used by the another volume type, then replace the existing resource to be uninstalled with an appropriate resource for the another volume type; and if the configuration change is to install the new resource and if the new resource can be used by the another volume type to meet a preset service level, then propose redefinition of the another volume type to use the new resource to a cloud management server.
  • the memory is configured to store IO
  • the processor is configured to select the appropriate resource to replace the existing resource based on the IO statistics; and the processor is configured to determine whether the new resource can be used by the another volume type to meet the preset service level based on the IO statistics.
  • the memory is configured to store media type information on IO performance and cost of a plurality of media types of resources; and the processor is configured to select the appropriate resource to replace the existing resource based on the media type
  • Another aspect of the invention is directed to a storage management method of managing a storage system which provides a first volume.
  • the storage management method comprises: storing function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and in response to a command to change a first volume type of the first volume to another volume type, determining whether the one or more first functions should be taken over by the another volume type based on the function requester information.
  • Another aspect of this invention is directed to a non-transitory computer-readable storage medium storing a plurality of instructions for controlling a data processor to manage a storage system which provides a first volume.
  • the plurality of instructions comprise: instructions that cause the data processor to store function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and instructions that cause the data processor, in response to a command to change a first volume type of the first volume to another volume type, to determine whether the one or more first functions should be taken over by the another volume type based on the function requester information.
  • 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.
  • FIG. 2 shows an example of the server in detail.
  • FIG. 3 shows an example of the storage system and storage management server in detail.
  • FIG. 4 shows an example of the cloud management server in detail.
  • FIG. 5 shows an example of cloud control information and cloud program in the cloud management server.
  • FIG. 6 shows an example of management information and management program in the management server.
  • FIG. 7 shows an example of the capacity pool table in the cloud management server.
  • FIG. 8 shows an example of a volume table in the cloud management server.
  • FIG. 9 shows an example of the volume type table.
  • the volume type table manages the definition of volume type.
  • FIG. 10 shows an example of a flow diagram illustrating a process of the volume creation program (C) and volume creation program
  • FIG. 11 shows an example of a function table which manages storage function requester and purpose of storage function.
  • FIG. 12 shows an example of a screen used to command application of storage function from the storage management server.
  • FIG. 13 shows an example of a flow diagram illustrating a process of the function application program (M).
  • FIG. 14 shows an example of a flow diagram illustrating a process of the type change program (C) and type change program (M).
  • FIG. 15 shows an example of a flow diagram illustrating a process of the function change program (M) which executes migration of function.
  • FIG. 16 shows an example of a flow diagram illustrating a process of the list program (M) which decides which storage function should be migrated.
  • FIG. 17 shows an example of a flow diagram illustrating a process of the configuration program (M) which changes configuration of the storage system and proposes redefinition of volume type.
  • FIG. 18 shows an example of a statistics table to store the statistics of volumes.
  • FIG. 19 shows an example of a flow diagram illustrating a process of the statistics program to get the statistics from the storage system.
  • FIG. 20 shows an example of a media type table which manages the abilities of storage media.
  • FIG. 21 shows an example of a flow diagram illustrating a process of an updating program ( ) which executes steps for install and uninstall.
  • these quantities take the form of electrical or magnetic signals or instructions capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, instructions, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
  • 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 managing volume type change.
  • 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.
  • the system includes cloud management server, storage
  • the cloud includes storage system(s), and server(s).
  • the management server runs cloud management software to build a cloud.
  • the cloud management software is used by the user or cloud administrator. For example, the user or cloud administrator can make virtual machine and allocate storage capacity via a screen of the cloud management software.
  • the cloud management software manages computing resource of server and storage resource of storage system.
  • the storage management server runs storage management software to operate and manage the storage system.
  • the storage management server runs storage management software to operate and manage the storage system.
  • the storage management software is used by storage administrator.
  • the storage management server can be installed inside of the storage system as service processor.
  • the storage system is a computer to store the data. A lot of storage media such as HDD are installed into the storage system.
  • the server is a computer to execute the application program.
  • the cloud management server makes virtual machine corresponding to the server.
  • the storage system is connected to the server via a data network.
  • the server issues I/O (Input/Output) requests to the storage system.
  • the cloud management server is connected to the storage system, storage
  • the storage management server is connected to the storage system via the management network.
  • FIG. 2 shows an example of the server in detail.
  • the server 100 has OS (Operating System) 101 , processor 102, application 103, memory
  • the server 00 provides service by executing an OS and applications such as a database system.
  • the data processed by the database system is stored in the storage system 200.
  • the server 100 is coupled to the storage system 200 via a network data network
  • the server can execute virtual machine on the physical server.
  • FIG. 3 shows an example of the storage system and storage management server in detail.
  • the storage system 200 includes cache unit
  • the storage l/F 202 is coupled to the server 100 via the data network
  • 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 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.
  • a volume 205 that is configured to manage data is configured by at least one storage region of the disk 206.
  • 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 the 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 disk 206 for performance boost.
  • the management l/F 209 is coupled to the management server via the
  • management network 500 mediates a communication for management operation.
  • the management server 400 includes management l/F 401 , input/output unit 402, management information 403, and management program 404.
  • the management l/F 401 is coupled to the management l/F
  • the management server issues management command to the storage by using this management l/F 401.
  • the input/output unit 402 receives the command from the user and displays result. For example, display, keyboard or mouse can be the input/output unit.
  • the management information 403 stores a wide variety of information used by a wide variety of programs in the management program.
  • the management program 404 stores a wide variety of programs, such as monitoring program.
  • the physical hardware of the management server 400 can be the same as that of the server 100.
  • FIG. 4 shows an example of the cloud management server in detail.
  • the cloud management server 300 includes management l/F 301 , input/output unit 302, cloud control information 303, and cloud program 304.
  • the management l/F 301 is coupled to the management l/F of the storage management server.
  • the cloud management server issues management command relating to the storage to the storage management server.
  • the input/output unit 302 receives the command from the user and displays result. For example, display, keyboard or mouse can be the input/output unit.
  • the cloud control information 303 stores a wide variety of information used by a wide variety of programs in the management program.
  • the cloud program 304 stores a wide variety of programs, such as monitoring program.
  • the physical hardware of the cloud management server 300 can be the same as that of the server 100.
  • FIG. 5 shows an example of cloud control information and cloud program in the cloud management server.
  • the cloud control information includes capacity pool table (FIG. 7), volume table (FIG. 8), volume type table
  • the capacity pool table manages storage capacity of the storage.
  • the volume table manages volumes allocated to the virtual machines.
  • the volume type table manages definition of volume. It is similar to the templates.
  • the virtual machine table manages information about virtual machine such as, for example, spec of virtual machine, volume attached to the virtual machine, physical machine used to the virtual machine and so on.
  • the cloud program includes volume creation program (C) (FIG. 10) and type change program (C) (FIG. 14).
  • the volume creation program is a program to create volume and attaches it to the virtual machine.
  • the type change program is a program that issues the command in order to change the volume type. Details of the tables and programs are described herein below.
  • FIG. 6 shows an example of management information and management program in the management server.
  • the management information includes function table (FIG. 11), media type table (FIG. 20), and statistics table (FIG. 18).
  • the management program includes volume creation program (M) (FIG. 10), function application program (M) (FIG. 13), type change program (M) (FIG. 14), list program (M) (FIG. 16), function change program (M) (FIG. 15), statistics program (M) (FIG. 19), and configuration program (FIG. 17). Details of the tables and programs are described herein below.
  • FIG. 7 shows an example of the capacity pool table in the cloud management server.
  • the capacity pool table manages storage capacity and tier. Capacity includes used and free capacity. Tier means performance and cost. For example, tierl is high performance and high cost. Mix means that the storage system moves the data to the appropriate type of storage media by using the I/O trend.
  • the cloud management software uses the capacity pool table to allocate the storage capacity. This table has pool ID, storage ID, capacity, used, free, and tier as columns.
  • the pool ID is an identification of the capacity pool.
  • the storage ID is an identification of the storage system having the capacity physically.
  • the capacity column manages a total size of the capacity pool.
  • the used column manages a size of the used capacity in the pool.
  • the free column manages a size of free capacity in the pool.
  • the tier column manages type of storage media.
  • FIG. 8 shows an example of a volume table in the cloud management server.
  • the volume table manages relationship among capacity pool, allocated capacity, and allocation target virtual machine.
  • the volume table has volume ID, pool ID, capacity, VM (virtual machine), and volume type as columns.
  • the volume ID is an identification of the volume.
  • the pool ID is the same as the pool ID in the capacity pool table (FIG. 7).
  • the capacity pool table can be searched by using value of pool ID in the volume table.
  • the capacity column manages allocated capacity.
  • the VM column manages virtual machine information.
  • the capacity column shows capacity assigned to the virtual machine.
  • the volume type column manages the type of the volume.
  • the volume type is defined in the volume type table in FIG. 9.
  • FIG. 9 shows an example of the volume type table.
  • the volume type table manages the definition of volume type.
  • the volume type table has name, media, and functions as columns. In this example, the table has performance and cost as sub columns of the media column, and has mirror, snapshot, remote copy, thin provisioning, and encryption as sub columns of the functions column.
  • the name is a name of volume type.
  • the media column manages storage media that should be used for the volume created with the volume type.
  • the functions column manages storage functions that should be applied to the volume created with the volume type. In this example, if the volume is created with volume type gold, high performance storage media, such as flash is assigned, and mirror, snapshot, remote copy, thin provisioning, and encryption are applied to the created volume.
  • FIG. 10 shows an example of the volume type table.
  • FIG. 10 shows an example of a flow diagram illustrating a process of the volume creation program (C) and volume creation program (M).
  • the (C) indicates the cloud management and the (M) indicates storage management.
  • the volume creation program (C) is executed in the cloud management server and the volume creation program (M) is executed in the storage management server.
  • the volume creation program (C) receives a volume creation request from the user (S100).
  • the user specified the volume type or the cloud management server automatically chose the volume type based on the purpose of the volume. For example, if the volume is used to store the archive data, volume type having large capacity and low cost is chosen.
  • the program issues a volume creation command to the storage management server and waits for the response from the storage management server (S101 ).
  • This command includes the volume type.
  • the volume creation program (M) receives the command and specified volume type from the cloud management server
  • the program issues a volume creation command including specified HDD type to the storage system and waits for the response from the storage system (S103). For example, if the notified volume type requires high performance, the program allocates the capacity from flash media.
  • the program calls the function application program (see FIG. 13) in order to apply functions specified by the volume type (S104) and sends the created volume information and completion to the requester (S105).
  • the volume creation program (C) provides the created volume (S106) to the requester and terminates the processing (S107). By this processing, the volume satisfying the volume creation request is created. Processes for application of functions are described later.
  • One of the problems solved by this invention is that storage functions are not taken over correctly when volume type is changed. That cannot be judged from the definition of volume type because storage functions are applied from several sources.
  • the sources include cloud administrator via cloud management server, storage administrator via storage management server, etc.
  • Applied functions include temporary applied function such as, for example, mirror function to protect the data from HDD failure. If the data is migrated to another HDD by the volume type change, the mirror function is not needed after migration. If the data is not migrated to another HDD, the mirror function should be taken over.
  • embodiments of this invention manage storage function requester, purpose of storage function, etc.
  • FIG. 11 shows an example of a function table which manages storage function requester and purpose of storage function.
  • the function table is stored in the storage management server and has volume ID, requester, category, reason, function, and take over info as columns.
  • the volume ID is an identification of the volume.
  • the volume ID is decided in step
  • the storage management server When the storage management server issues a volume creation command to the storage system, the storage management server assigns a volume ID and notifies it to the storage system. The volume ID is notified to the cloud management server in step S105.
  • the requester column manages who applies the function.
  • the category column manages whether the function is applied permanently or temporarily.
  • the reason column manages why the function is applied temporary. An entry is stored in the reason column only when the value of category is temporary.
  • the function column manages which function is applied.
  • the take over info column manages whether the function should be taken over or not. In this example, snapshot, mirror, and remote copy are applied to the volume "0."
  • Applications of snapshot and remote copy are commands from the cloud administrator. An application of mirror is a command from the storage administrator.
  • the mirror function is applied to avoid data loss from HDD failure.
  • Remote copy is taken over if the new volume type includes remote copy, according to the follow- volume-type approach of take over. Snapshot is taken over, according to the take-over approach, regardless of the function.
  • the taking over of the mirror function depends on whether a reason for the mirror is eliminated or not, according to the depends-on-migration approach.
  • FIG. 12 shows an example of a screen used to command application of storage function from the storage management server. It allows the user or administrator to create initially the function table of FIG. 11. There are two combo boxes to input target volume ID and function. A radio button is used to specify whether the application of the function is permanent or temporary. If temporary is selected, the reason can be input into the text box. After input, the application command is issued by using an apply button.
  • FIG. 13 shows an example of a flow diagram illustrating a process of the function application program (M) which is called from step S 04 in the volume creation program (M) of FIG. 10 or the screen for storage function of FIG. 2. This program is called after pushing the apply button of the screen of FIG. 12.
  • the function application program (M) receives the command with a specified function (S200) and issues an application command for the specified function to the storage system (S201).
  • the program updates the function table in steps S202 to S209.
  • the program checks if the requester is the cloud management server or not (S202). If the result is "yes,” the program checks if the application is based on volume type or not (S203). If the result is "yes", the program updates the function table (S204).
  • the function table is updated to show permanent as category, cloud administrator as requester, and follow-volume-type as take over info (i.e., take over the function if the new volume type provides the function) in addition to specified volume ID and function. If the result of step S203 is "no," the application is considered temporary. So, temporary as category, cloud administrator as requester, and take over as take over info (i.e., take over the function) in addition to specified volume ID and function are inserted to the function table (S205).
  • step S202 if the result is "no,” this means the application is requested from the storage administrator.
  • the program checks if the application is permanent or not (S207). If the result is "yes,” permanent as category, storage administrator as requester, and take over as take over info in addition to specified volume ID and function are inserted to the function table (S209).
  • step S207 If the result to step S207 is "no," temporary as category, storage administrator as requester, and depend-on-migration as take over info (i.e., take over the function if the function is needed after data migration to a target volume) in addition to specified volume ID and function are inserted into the function table (S208).
  • step S208 is executed. For example, the storage administrator takes a snapshot in order to do test something. After HDD failure, the storage administrator mirrors the data in order to avoid data loss from additional HDD failure. If the reason is inputted, the reason is also inserted into the function table.
  • step S204, S205, S208, and S209 the program terminates the processing (S206).
  • volume type is changed, the necessity of taking over storage functions is decided based on information in the function table.
  • FIG. 14 shows an example of a flow diagram illustrating a process of the type change program (C) and type change program (M).
  • the type change program (C) receives the volume type change request from the user (S300) and issues a type change command to the storage management server (S301). This command includes the volume type definition of old and new volume types.
  • the type change program (M) receives the command from step S301 and obtains the difference between the old type and new type
  • the program reports the completion to the type change program (C) (S308).
  • the type change program (C) receives the report from the type change program (M) and terminates the processing (S309). Deleting or applying storage function is controlled by the function change program (M) and the list program (M).
  • FIG. 15 shows an example of a flow diagram illustrating a process of tjie function change program (M) which executes migration of function.
  • FIG. 16 shows an example of a flow diagram illustrating a process of the list program (M) which decides which storage function should be migrated.
  • the function change program (M) calls the list program (M) to list the functions which should be listed (S401).
  • the processing flow of the list program (M) of FIG. 16 is described.
  • the list program (M) obtains the functions applied to the original volume (S500) and chooses one unprocessed function (S501). Then, the program obtains information about the chosen function from the function table and checks the value of the take over info (S502). If the value is "take-over,” the program adds the function to the take over list (S503) and proceeds to step S504. If the value is "follow-volume-type,” the program checks if the function is included in (i.e. to be applied to data stored therein) the new volume type or not (S505). If the function is included, the program adds the function to the take over list (S503) and proceeds to step S504. If the function is not included, the program skips step S503.
  • step S506 the program checks if the function is needed after data migration. If the function is needed, the program adds the function to the take over list (S503) and proceeds to step S504. If the function is not needed, the program skips step S503. After step S503, S506 or S505, the program proceeds to step S504. At step S504, the program checks if all functions are processed or not. If the result is "no,” the program goes back to step S501 and executes steps S501 to S504 for the next function. If the result is "yes,” the program terminates the processing (S507).
  • the function change program (M) checks if the data is migrated or not (S401). If change of storage media is needed ,the data is migrated. Then, the program checks if the function is also migrated by the data migration program (S402). Today, there are a lot of data migration technologies. One of them migrates only data; the function is not migrated. Another technology migrates the applied storage function in addition to the data migration. Migration of storage function is checked at step S402. [0071] The status can be categorized into first and second status.
  • the function change program (M) deletes the unnecessary storage functions in steps S405 to S409.
  • the function change program (M) applies the necessary storage functions in steps S403 and S404.
  • step S403 the program issues an application command of recorded functions for the new volume to the storage system (S404).
  • step S404 the program applies new functions which are included in only the new volume type (S412) and terminates the processing at step S410.
  • the program obtains functions applied to the original volume (S405) and chooses one unprocessed function
  • step S406 the program checks if the function is included in the take over list or not (S407). If the function is not included, the program issues a delete command for the function to the storage system (S408). If the function is included, the program skips step S408 and proceeds to step S409. In step
  • step S409 the program checks if all functions are processed or not. If there is unprocessed function, the program returns to step S406 and executes steps
  • the cloud management server cannot know the configuration change of the storage system. As such, the cloud management server does not have a chance to redefine the volume type based on the configuration change. In the second embodiment, methods to redefine the volume type when the configuration is changed are described.
  • FIG. 17 shows an example of a flow diagram illustrating a process of the configuration program (M) which changes configuration of the storage system and proposes redefinition of volume type.
  • the configuration program (M) receives a configuration change request from the storage administrator (S600) and checks if the configuration change is to install or uninstall (S601).
  • the program makes a list of volumes using the uninstailed resource (S602) and obtains statistics of the volumes (S603) (see FIGS. 18 and 19).
  • the program replaces existing resource with appropriate resource (S604) and reports the replacement and uninstall information to the cloud management server (S605).
  • flash (MLC) will be uninstailed
  • the flash (MLC) is replaced with flash (SLC) which has better performance than flash (MLC).
  • the program updates the storage configuration. Physical resource installation or uninstallation is done before execution of step S606.
  • the program checks if the new resource can be used to reduce cost in steps S608 to S612. The program obtains a list of volumes using resource whose cost is higher than the cost of the new resource (S608). Then, the program checks if all obtained volumes are processed or not (S609). If the result is "no," the program choses one volume and obtains statistics of the chosen volume (S611).
  • step S612 the program checks if the service level can be kept with the new resource or not (S612). If the result is "yes,” the program proposes to redefine the volume type in order to use the new resource to the cloud management server (S613) and then returns to step S609. If the result is "no,” the program returns to step S609 and executes step S610 to S613 for the next volume. If the result of step S609 is "yes,” the program proceeds to step S606 to update the storage configuration by executing the storage configuration change and terminates the processing (S607).
  • FIG. 18 shows an example of a statistics table to store the statistics of volumes.
  • the statistics table has volume ID, ave lOPS, peak lOPS, and ave response as columns.
  • the ave lOPS manages an average number of IO per second.
  • the peak lOPS manages the maximum number of IO per second.
  • the ave lOPS manages an average time of IO response time. These are recorded for each volume.
  • FIG. 19 shows an example of a flow diagram illustrating a process of the statistics program to get the statistics from the storage system.
  • step S603 of FIG. 17 The configuration program of FIG. 17 searches the appropriate resource for replacement in step S604 and checks if the service level can be kept with the new resource in step S612. To achieve this process, the storage management server manages the abilities of the resources.
  • FIG. 20 shows an example of a media type table which manages the abilities of storage media.
  • the media type table has media type, IOPS, response, and cost as columns.
  • the media type is a name of the storage media.
  • flash single level cell
  • flash multi-level cell
  • FC HDD fibre channel HDD
  • SAS HDD serial attached SCSI HDD
  • SATA HDD serial Advanced Technology Attachment HDD
  • the IOPS column manages an ability of IO per second of the specified storage media type.
  • the response column manages an ability of the response time of the specified storage media type.
  • the cost column manages the cost per gigabyte of the specified storage media type.
  • the configuration program can determine the appropriate resource to use for replacement. This example is for storage media. Table(s) of other resources, such as processor or main memory, interface, etc., can be managed and used.
  • FIG. 21 shows an example of a flow diagram illustrating a process of an updating program (M) which executes steps for install and uninstall.
  • M updating program
  • the updating program (M) obtains functions and resources that are changed to non-support (S800) and executes steps S602 to S605 (S801).
  • the updating program (M) obtains functions and resources that are changed to support (S802) and executes steps S608 to S613 (S803).
  • the program updates the operating system version (S804). If step S804 is migration to another storage apparatus instead of updating the operating system version, step S800 to S803 can be used similarly.
  • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Exemplary embodiments provide ways to manage volume type change in storage systems, including systems involving cloud management. One aspect is directed to a storage management server coupled to a storage system which provides a first volume. The storage management server comprises: a memory configured to store function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and a processor configured, in response to a command to change a first volume type to another volume type, to determine whether the one or more first functions should be taken over by the another volume type based on the function requester information.

Description

METHOD AND APPARATUS FOR VOLUME TYPE CHANGE
BACKGROUND OF THE INVENTION
[0001] The present invention relates generally to storage systems and, more particularly, to cloud management software and storage system.
[0002] U.S. Patent No. 7,949,847 discloses a storage extent allocation method for thin provisioning storage. It manages gold, silver, and bronze as volume types relating to storage performance. Cloud management software manages capacity pool information. The cloud management software manages volume type (template or catalog) and allocates the storage capacity based on the volume type. The cloud management software provides to changes the type of volume dynamically. A lot of storage systems provide storage function, such as mirror, snapshot, remote copy, thin provisioning etc. Data migration inside storage system and data migration between storage systems are also provided.
[0003] The storage system creates a volume or migrates a volume based on a command from the cloud management software. When a new volume type is applied to the volume, a configuration change command is sent to the storage system. One example is change from volume with snapshot to volume without snapshot. In that case, the storage system deletes the snapshot. Another example is change from low performance volume to high performance volume. It will be used when the application status is changed from test&dev (test & development) to production. In that case, the storage system copies the data from HDD to flash memory, for instance. [0004] The storage system might receive the command not only from the cloud management software but also from storage administrators. As such, when the volume type is changed, the storage system configuration should not be changed simply based on the new volume type. For example, if storage functionalities needed by an old volume type is canceled and storage functionalities needed by a new volume type is applied, the functionalities applied by the storage administrators is canceled. The canceled
functionalities are not needed for the cloud administrator but needed for the storage administrator.
[0005] Another problem arises where the cloud management software does not have a chance to know about configuration change of the physical storage system (new type HDD installation, system consolidation, etc.). It might cause inefficiency. For example, a volume type definition includes a fiber channel drive. But drive is replaced by some other drive today. If the storage system allocates low performance HDD instead of fiber channel HDD, it might cause application performance trouble. If the storage system allocates high performance flash instead of fiber channel HDD, it might cause inefficiency use of resource. Thus, the volume type should be modified.
BRIEF SUMMARY OF THE INVENTION
[0006] Exemplary embodiments of the invention provide ways to manage volume type change. One approach involves taking over only the needed function after the volume type change. For example, a storage management server manages who is the requester for the storage function or what is the purpose of the storage function. When the volume type change is requested, the storage system decides what storage function should be taken over by using the information. Another approach proposes revision of the volume type definition based on physical configuration change. By using this invention, data can be migrated correctly and the efficiency of the storage system can be improved.
[0007] An aspect of the present invention is directed to a storage management server coupled to a storage system which provides a first volume. The storage management server comprises: a memory configured to store function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and a processor configured, in response to a command to change a first volume type to another volume type, to determine whether the one or more first functions should be taken over by the another volume type based on the function requester information.
[0008] In some embodiments, the processor is configured, in response to the command to change the first volume type to the another volume type, to: obtain differences between the first volume type and the another volume type; determine whether a storage function change is needed by comparing the first volume type and the another volume type; and if the storage function change is needed, determine whether the one or more first functions should be taken over by the another volume type, based on the function requester information. [0009] In specific embodiments, the processor is configured to determine whether the one or more first functions should be taken over by the another volume type, based on function take over information stored in the memory, which specifies a function take over approach for each of the one or more first functions.
[0010] In some embodiments, the processor is configured to: for a first status in which the data of the first volume is not migrated or in which the data of the first volume is migrated to said another volume and the one or more first functions are also migrated to the another volume, omit any first functions which were determined not to be taken over by the another volume type from the first volume or the another volume, and apply one or more second function, which is not included in the first volume type but in the another volume type, to the first volume or the another volume; and for a second status in which the data of the first volume is migrated to the another volume but the one or more first functions are not migrated to the another volume, apply any first functions, which were determined to be taken over by the another volume type, and one or more second functions, which are not included in the first volume type but in the another volume type, to the another volume.
[0011] In specific embodiments, the function take over information specifies one or more function take over approaches for the one or more first functions, the one or more function take over approaches including (i) a depend-on-migration approach which specifies taking over a function if the function is needed after migration of the data to a target volume, (ii) a follow- volume-type approach which specifies taking over a function if the function is included in the another volume type, and (iii) a take-over approach which specifies taking over a function by the another volume type; and determining which of the one or more first functions to take over based on the function take over information includes (i) checking whether a function is needed after migration of the data to the target volume for the depend-on-migration approach, (ii) checking whether a function is included in the another volume type for the follow-volume-type approach, and (iii) specifying taking over a function by the another volume type under the take-over approach.
[0012] In some embodiments, the function take over information specifies one or more function take over approaches for the one or more first functions based on the function requester information, and, for each function of the one or more first functions, whether application of the each function is based on volume type if the function requester is a cloud management server, and whether the each function is to be applied permanently if the function requester is not the cloud management server.
[0013] In specific embodiments, if the function requester information indicates that the function requester for a function is a cloud management server and the application of the function is based on volume type, the function take over approach is the follow-volume-type approach; if the function requester information indicates that the function requester for a function is a cloud management server and the application of the function is not based on volume type, the function take over approach is the take-over approach; if the function requester information indicates that the function requester for a function is not a cloud management server and the function is to be applied permanently, the function take over approach is the take-over approach; and if the function requester information indicates that the function requester for a function is not a cloud management server and the function is not to be applied permanently, the function take over approach is the depend-on- migration approach.
[0014] In some embodiments, the function requester for a function that is not the cloud management server is a user; and the processor is configured to provide a user interface for the user to specify whether the function is to be applied permanently or not for the first volume.
[0015] In specific embodiments, the processor is configured, in response to a request to change configuration of the storage system, to:
determine whether the configuration change is to uninstall an existing resource or to install a new resource; if the configuration change is to uninstall the existing resource and if the existing resource is used by the another volume type, then replace the existing resource to be uninstalled with an appropriate resource for the another volume type; and if the configuration change is to install the new resource and if the new resource can be used by the another volume type to meet a preset service level, then propose redefinition of the another volume type to use the new resource to a cloud management server.
[0016] In some embodiments, the memory is configured to store IO
(Input/Output) statistics of volumes in the storage system; the processor is configured to select the appropriate resource to replace the existing resource based on the IO statistics; and the processor is configured to determine whether the new resource can be used by the another volume type to meet the preset service level based on the IO statistics. [0017] In specific embodiments, the memory is configured to store media type information on IO performance and cost of a plurality of media types of resources; and the processor is configured to select the appropriate resource to replace the existing resource based on the media type
information.
[0018] Another aspect of the invention is directed to a storage management method of managing a storage system which provides a first volume. The storage management method comprises: storing function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and in response to a command to change a first volume type of the first volume to another volume type, determining whether the one or more first functions should be taken over by the another volume type based on the function requester information.
[0019] Another aspect of this invention is directed to a non-transitory computer-readable storage medium storing a plurality of instructions for controlling a data processor to manage a storage system which provides a first volume. The plurality of instructions comprise: instructions that cause the data processor to store function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and instructions that cause the data processor, in response to a command to change a first volume type of the first volume to another volume type, to determine whether the one or more first functions should be taken over by the another volume type based on the function requester information.
[0020] These and other features and advantages of the present invention will become apparent to those of ordinary skill in the art in view of the following detailed description of the specific embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] 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.
[0022] FIG. 2 shows an example of the server in detail.
[0023] FIG. 3 shows an example of the storage system and storage management server in detail.
[0024] FIG. 4 shows an example of the cloud management server in detail.
[0025] FIG. 5 shows an example of cloud control information and cloud program in the cloud management server.
[0026] FIG. 6 shows an example of management information and management program in the management server.
[0027] FIG. 7 shows an example of the capacity pool table in the cloud management server.
[0028] FIG. 8 shows an example of a volume table in the cloud management server. [0029] FIG. 9 shows an example of the volume type table. The volume type table manages the definition of volume type.
[0030] FIG. 10 shows an example of a flow diagram illustrating a process of the volume creation program (C) and volume creation program
(M).
[0031] FIG. 11 shows an example of a function table which manages storage function requester and purpose of storage function.
[0032] FIG. 12 shows an example of a screen used to command application of storage function from the storage management server.
[0033] FIG. 13 shows an example of a flow diagram illustrating a process of the function application program (M).
[0034] FIG. 14 shows an example of a flow diagram illustrating a process of the type change program (C) and type change program (M).
[0035] FIG. 15 shows an example of a flow diagram illustrating a process of the function change program (M) which executes migration of function.
[0036] FIG. 16 shows an example of a flow diagram illustrating a process of the list program (M) which decides which storage function should be migrated.
[0037] FIG. 17 shows an example of a flow diagram illustrating a process of the configuration program (M) which changes configuration of the storage system and proposes redefinition of volume type.
[0038] FIG. 18 shows an example of a statistics table to store the statistics of volumes. [0039] FIG. 19 shows an example of a flow diagram illustrating a process of the statistics program to get the statistics from the storage system.
[0040] FIG. 20 shows an example of a media type table which manages the abilities of storage media.
[0041] FIG. 21 shows an example of a flow diagram illustrating a process of an updating program ( ) which executes steps for install and uninstall.
DETAILED DESCRIPTION OF THE INVENTION
[0042] In the following detailed description of the invention, reference is made to the accompanying drawings which form a part of the disclosure, and in which are shown by way of illustration, and not of limitation, exemplary embodiments by which the invention may be practiced. In the drawings, like numerals describe substantially similar components throughout the several views. Further, it should be noted that while the detailed description provides various exemplary embodiments, as described below and as illustrated in the drawings, the present invention is not limited to the embodiments described and illustrated herein, but can extend to other embodiments, as would be known or as would become known to those skilled in the art. Reference in the specification to "one embodiment," "this embodiment," or "these
embodiments" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention, and the appearances of these phrases in various places in the specification are not necessarily all referring to the same embodiment. Additionally, in the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that these specific details may not all be needed to practice the present invention. In other circumstances, well-known structures, materials, circuits, processes and interfaces have not been described in detail, and/or may be illustrated in block diagram form, so as to not unnecessarily obscure the present invention.
[0043] Furthermore, some portions of the detailed description that follow are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to most effectively convey the essence of their innovations to others skilled in the art. An algorithm is a series of defined steps leading to a desired end state or result. In the present invention, the steps carried out require physical manipulations of tangible quantities for achieving a tangible result.
Usually, though not necessarily, these quantities take the form of electrical or magnetic signals or instructions capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, instructions, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing," "computing," "calculating," "determining," "displaying," or the like, 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.
[0044] The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially
constructed for the required purposes, or it may include one or more general- purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer- readable storage medium including non-transitory medium, such as, but not limited to optical disks, magnetic disks, read-only memories, random access memories, solid state devices and drives, or any other types of media suitable for storing electronic information. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs and modules in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform desired method steps. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. The instructions of the programming language(s) may be executed by one or more processing devices, e.g., central processing units (CPUs), processors, or controllers.
[0045] Exemplary embodiments of the invention, as will be described in greater detail below, provide apparatuses, methods and computer programs for managing volume type change.
[0046] First Embodiment
[0047] 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. The system includes cloud management server, storage
management server, storage system(s), and server(s). The cloud
management server runs cloud management software to build a cloud. The cloud management software is used by the user or cloud administrator. For example, the user or cloud administrator can make virtual machine and allocate storage capacity via a screen of the cloud management software. The cloud management software manages computing resource of server and storage resource of storage system.
[0048] The storage management server runs storage management software to operate and manage the storage system. The storage
management software is used by storage administrator. For example, the storage administrator operates and monitors physical storage machine. The storage management server can be installed inside of the storage system as service processor. The storage system is a computer to store the data. A lot of storage media such as HDD are installed into the storage system. The server is a computer to execute the application program. The cloud management server makes virtual machine corresponding to the server. The storage system is connected to the server via a data network. The server issues I/O (Input/Output) requests to the storage system. The cloud management server is connected to the storage system, storage
management server, and server via a management network. The storage management server is connected to the storage system via the management network.
[0049] FIG. 2 shows an example of the server in detail. The server 100 has OS (Operating System) 101 , processor 102, application 103, memory
104, and storage l/F (interface) 105. The server 00 provides service by executing an OS and applications such as a database system. The data processed by the database system is stored in the storage system 200. The server 100 is coupled to the storage system 200 via a network data network
600. The server can execute virtual machine on the physical server.
Applications can be executed on the virtual machine.
[0050] FIG. 3 shows an example of the storage system and storage management server in detail. The storage system 200 includes cache unit
201 , storage l/F 202, processor 203, disk l/F 204, volume 205, disks 206, storage control information 207, storage program 208, and management l/F
209. The storage l/F 202 is coupled to the server 100 via the data network
600, and mediates a communication for I/O. 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. A volume 205 that is configured to manage data is configured by at least one storage region of the disk 206. One example of 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. Moreover, 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 the 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 disk 206 for performance boost. The management l/F 209 is coupled to the management server via the
management network 500, and mediates a communication for management operation.
[0051] The management server 400 includes management l/F 401 , input/output unit 402, management information 403, and management program 404. The management l/F 401 is coupled to the management l/F
209 of the storage system and management l/F 301 of the cloud management server. The management server issues management command to the storage by using this management l/F 401. The input/output unit 402 receives the command from the user and displays result. For example, display, keyboard or mouse can be the input/output unit. The management information 403 stores a wide variety of information used by a wide variety of programs in the management program. The management program 404 stores a wide variety of programs, such as monitoring program. The physical hardware of the management server 400 can be the same as that of the server 100.
[0052] FIG. 4 shows an example of the cloud management server in detail. The cloud management server 300 includes management l/F 301 , input/output unit 302, cloud control information 303, and cloud program 304. The management l/F 301 is coupled to the management l/F of the storage management server. The cloud management server issues management command relating to the storage to the storage management server. The input/output unit 302 receives the command from the user and displays result. For example, display, keyboard or mouse can be the input/output unit. The cloud control information 303 stores a wide variety of information used by a wide variety of programs in the management program. The cloud program 304 stores a wide variety of programs, such as monitoring program. The physical hardware of the cloud management server 300 can be the same as that of the server 100.
[0053] FIG. 5 shows an example of cloud control information and cloud program in the cloud management server. The cloud control information includes capacity pool table (FIG. 7), volume table (FIG. 8), volume type table
(FIG. 9), and virtual machine table, etc. The capacity pool table manages storage capacity of the storage. The volume table manages volumes allocated to the virtual machines. The volume type table manages definition of volume. It is similar to the templates. The virtual machine table manages information about virtual machine such as, for example, spec of virtual machine, volume attached to the virtual machine, physical machine used to the virtual machine and so on. The cloud program includes volume creation program (C) (FIG. 10) and type change program (C) (FIG. 14). The volume creation program is a program to create volume and attaches it to the virtual machine. The type change program is a program that issues the command in order to change the volume type. Details of the tables and programs are described herein below.
[0054] FIG. 6 shows an example of management information and management program in the management server. The management information includes function table (FIG. 11), media type table (FIG. 20), and statistics table (FIG. 18). The management program includes volume creation program (M) (FIG. 10), function application program (M) (FIG. 13), type change program (M) (FIG. 14), list program (M) (FIG. 16), function change program (M) (FIG. 15), statistics program (M) (FIG. 19), and configuration program (FIG. 17). Details of the tables and programs are described herein below.
[0055] FIG. 7 shows an example of the capacity pool table in the cloud management server. The capacity pool table manages storage capacity and tier. Capacity includes used and free capacity. Tier means performance and cost. For example, tierl is high performance and high cost. Mix means that the storage system moves the data to the appropriate type of storage media by using the I/O trend. The cloud management software uses the capacity pool table to allocate the storage capacity. This table has pool ID, storage ID, capacity, used, free, and tier as columns. The pool ID is an identification of the capacity pool. The storage ID is an identification of the storage system having the capacity physically. The capacity column manages a total size of the capacity pool. The used column manages a size of the used capacity in the pool. The free column manages a size of free capacity in the pool. The tier column manages type of storage media.
[0056] FIG. 8 shows an example of a volume table in the cloud management server. The volume table manages relationship among capacity pool, allocated capacity, and allocation target virtual machine. The volume table has volume ID, pool ID, capacity, VM (virtual machine), and volume type as columns. The volume ID is an identification of the volume. The pool ID is the same as the pool ID in the capacity pool table (FIG. 7). The capacity pool table can be searched by using value of pool ID in the volume table. The capacity column manages allocated capacity. The VM column manages virtual machine information. The capacity column shows capacity assigned to the virtual machine. The volume type column manages the type of the volume. The volume type is defined in the volume type table in FIG. 9.
[0057] FIG. 9 shows an example of the volume type table. The volume type table manages the definition of volume type. The volume type table has name, media, and functions as columns. In this example, the table has performance and cost as sub columns of the media column, and has mirror, snapshot, remote copy, thin provisioning, and encryption as sub columns of the functions column. The name is a name of volume type. The media column manages storage media that should be used for the volume created with the volume type. The functions column manages storage functions that should be applied to the volume created with the volume type. In this example, if the volume is created with volume type gold, high performance storage media, such as flash is assigned, and mirror, snapshot, remote copy, thin provisioning, and encryption are applied to the created volume. [0058] FIG. 10 shows an example of a flow diagram illustrating a process of the volume creation program (C) and volume creation program (M). The (C) indicates the cloud management and the (M) indicates storage management. The volume creation program (C) is executed in the cloud management server and the volume creation program (M) is executed in the storage management server.
[0059] First, the volume creation program (C) receives a volume creation request from the user (S100). The user specified the volume type or the cloud management server automatically chose the volume type based on the purpose of the volume. For example, if the volume is used to store the archive data, volume type having large capacity and low cost is chosen.
Then, the program issues a volume creation command to the storage management server and waits for the response from the storage management server (S101 ). This command includes the volume type. On the storage management server side, the volume creation program (M) receives the command and specified volume type from the cloud management server
(S102). Then, the program issues a volume creation command including specified HDD type to the storage system and waits for the response from the storage system (S103). For example, if the notified volume type requires high performance, the program allocates the capacity from flash media. Next, the program calls the function application program (see FIG. 13) in order to apply functions specified by the volume type (S104) and sends the created volume information and completion to the requester (S105). Returning to the cloud management server side, the volume creation program (C) provides the created volume (S106) to the requester and terminates the processing (S107). By this processing, the volume satisfying the volume creation request is created. Processes for application of functions are described later.
[0060] One of the problems solved by this invention is that storage functions are not taken over correctly when volume type is changed. That cannot be judged from the definition of volume type because storage functions are applied from several sources. For example, the sources include cloud administrator via cloud management server, storage administrator via storage management server, etc. Applied functions include temporary applied function such as, for example, mirror function to protect the data from HDD failure. If the data is migrated to another HDD by the volume type change, the mirror function is not needed after migration. If the data is not migrated to another HDD, the mirror function should be taken over. To solve the problem, embodiments of this invention manage storage function requester, purpose of storage function, etc.
[0061] FIG. 11 shows an example of a function table which manages storage function requester and purpose of storage function. The function table is stored in the storage management server and has volume ID, requester, category, reason, function, and take over info as columns. The volume ID is an identification of the volume. The volume ID is decided in step
S103 of FIG. 10. When the storage management server issues a volume creation command to the storage system, the storage management server assigns a volume ID and notifies it to the storage system. The volume ID is notified to the cloud management server in step S105. The requester column manages who applies the function. The category column manages whether the function is applied permanently or temporarily. The reason column manages why the function is applied temporary. An entry is stored in the reason column only when the value of category is temporary. The function column manages which function is applied. The take over info column manages whether the function should be taken over or not. In this example, snapshot, mirror, and remote copy are applied to the volume "0." Applications of snapshot and remote copy are commands from the cloud administrator. An application of mirror is a command from the storage administrator. The mirror function is applied to avoid data loss from HDD failure. Remote copy is taken over if the new volume type includes remote copy, according to the follow- volume-type approach of take over. Snapshot is taken over, according to the take-over approach, regardless of the function. The taking over of the mirror function depends on whether a reason for the mirror is eliminated or not, according to the depends-on-migration approach.
[0062] FIG. 12 shows an example of a screen used to command application of storage function from the storage management server. It allows the user or administrator to create initially the function table of FIG. 11. There are two combo boxes to input target volume ID and function. A radio button is used to specify whether the application of the function is permanent or temporary. If temporary is selected, the reason can be input into the text box. After input, the application command is issued by using an apply button.
[0063] FIG. 13 shows an example of a flow diagram illustrating a process of the function application program (M) which is called from step S 04 in the volume creation program (M) of FIG. 10 or the screen for storage function of FIG. 2. This program is called after pushing the apply button of the screen of FIG. 12. [0064] First, the function application program (M) receives the command with a specified function (S200) and issues an application command for the specified function to the storage system (S201). The program updates the function table in steps S202 to S209. The program checks if the requester is the cloud management server or not (S202). If the result is "yes," the program checks if the application is based on volume type or not (S203). If the result is "yes", the program updates the function table (S204). The function table is updated to show permanent as category, cloud administrator as requester, and follow-volume-type as take over info (i.e., take over the function if the new volume type provides the function) in addition to specified volume ID and function. If the result of step S203 is "no," the application is considered temporary. So, temporary as category, cloud administrator as requester, and take over as take over info (i.e., take over the function) in addition to specified volume ID and function are inserted to the function table (S205).
[0065] Returning to step S202, if the result is "no," this means the application is requested from the storage administrator. The program checks if the application is permanent or not (S207). If the result is "yes," permanent as category, storage administrator as requester, and take over as take over info in addition to specified volume ID and function are inserted to the function table (S209). There are two cases for permanent function as specified by the storage administrator. The first one is the function to improve the storage efficiency. For example, compression or de-duplication is used to improve efficiency of storage capacity. It is for the storage administrator. The second one is the function to provide some service from the infrastructure administrator to the user such as a cloud administrator. For example, all data is protected by snapshot which is taken once a day. If the result to step S207 is "no," temporary as category, storage administrator as requester, and depend-on-migration as take over info (i.e., take over the function if the function is needed after data migration to a target volume) in addition to specified volume ID and function are inserted into the function table (S208). When the storage administrator applies the function temporarily, step S208 is executed. For example, the storage administrator takes a snapshot in order to do test something. After HDD failure, the storage administrator mirrors the data in order to avoid data loss from additional HDD failure. If the reason is inputted, the reason is also inserted into the function table. After step S204, S205, S208, and S209, the program terminates the processing (S206).
[0066] Next, the method to change volume type is described. When the volume type is changed, the necessity of taking over storage functions is decided based on information in the function table.
[0067] FIG. 14 shows an example of a flow diagram illustrating a process of the type change program (C) and type change program (M). The type change program (C) receives the volume type change request from the user (S300) and issues a type change command to the storage management server (S301). This command includes the volume type definition of old and new volume types. The type change program (M) receives the command from step S301 and obtains the difference between the old type and new type
(5302) . Then the program checks if storage media change is needed or not
(5303) . For example, change from HDD to flash is request for performance improvement. If the result is "no," the program skips the steps for the data migration process (S304 and S305). If the result is "yes," the program issues a data migration command to the storage (S304) and waits for the completion of data migration (S305). Details of the data migration process are omitted because there are a lot of non-disruptive data migration technologies today. Some of them migrate the data and applied storage function. Then, the program checks if the storage function change is needed or not (S306). This check is realized by comparing the definition of old volume type and the definition of new volume type. If the result is "yes," the program calls the function change program (M) (S307). If the result is "no," the program skips step S307. Next, the program reports the completion to the type change program (C) (S308). Finally, the type change program (C) receives the report from the type change program (M) and terminates the processing (S309). Deleting or applying storage function is controlled by the function change program (M) and the list program (M).
[0068] FIG. 15 shows an example of a flow diagram illustrating a process of tjie function change program (M) which executes migration of function. FIG. 16 shows an example of a flow diagram illustrating a process of the list program (M) which decides which storage function should be migrated. First, the function change program (M) calls the list program (M) to list the functions which should be listed (S401). Next, the processing flow of the list program (M) of FIG. 16 is described.
[0069] The list program (M) obtains the functions applied to the original volume (S500) and chooses one unprocessed function (S501). Then, the program obtains information about the chosen function from the function table and checks the value of the take over info (S502). If the value is "take-over," the program adds the function to the take over list (S503) and proceeds to step S504. If the value is "follow-volume-type," the program checks if the function is included in (i.e. to be applied to data stored therein) the new volume type or not (S505). If the function is included, the program adds the function to the take over list (S503) and proceeds to step S504. If the function is not included, the program skips step S503. If the value is "depend-on- migration," the program checks if the function is needed after data migration (S506). If the function is needed, the program adds the function to the take over list (S503) and proceeds to step S504. If the function is not needed, the program skips step S503. After step S503, S506 or S505, the program proceeds to step S504. At step S504, the program checks if all functions are processed or not. If the result is "no," the program goes back to step S501 and executes steps S501 to S504 for the next function. If the result is "yes," the program terminates the processing (S507).
[0070] By execution of the list program (M), functions which should be taken over are recorded into the take over list. Based on the result of executing the list program, the function change program (M) applies or deletes the functions. Returning to step S401 in FIG. 15, the function change program (M) checks if the data is migrated or not (S401). If change of storage media is needed ,the data is migrated. Then, the program checks if the function is also migrated by the data migration program (S402). Today, there are a lot of data migration technologies. One of them migrates only data; the function is not migrated. Another technology migrates the applied storage function in addition to the data migration. Migration of storage function is checked at step S402. [0071] The status can be categorized into first and second status. In the first status, all functions are applied to the volume after migration. This includes the case where the migration is not needed. In the first status, the function change program (M) deletes the unnecessary storage functions in steps S405 to S409. In the second status, functions are not applied to the new volume after migration. It means only data is migrated. In the second status, the function change program (M) applies the necessary storage functions in steps S403 and S404.
[0072] In the case of the second status, the program issues delete of all functions applied to the old volume which is the source volume of migration
(S403). Then, the program issues an application command of recorded functions for the new volume to the storage system (S404). After step S404, the program applies new functions which are included in only the new volume type (S412) and terminates the processing at step S410.
[0073] In the case of the first status, the program obtains functions applied to the original volume (S405) and chooses one unprocessed function
(S406). Then, the program checks if the function is included in the take over list or not (S407). If the function is not included, the program issues a delete command for the function to the storage system (S408). If the function is included, the program skips step S408 and proceeds to step S409. In step
S409, the program checks if all functions are processed or not. If there is unprocessed function, the program returns to step S406 and executes steps
S406 to S409 for the next function. After all functions are processed, the program applies new functions which are included in only the new volume type (S412) and terminates the processing (S410). By executing the process of FIG. 15, only necessary functions are taken over to the new volume when volume type is changed.
[0074] Second Embodiment
[0075] The cloud management server cannot know the configuration change of the storage system. As such, the cloud management server does not have a chance to redefine the volume type based on the configuration change. In the second embodiment, methods to redefine the volume type when the configuration is changed are described.
[0076] FIG. 17 shows an example of a flow diagram illustrating a process of the configuration program (M) which changes configuration of the storage system and proposes redefinition of volume type. First, the configuration program (M) receives a configuration change request from the storage administrator (S600) and checks if the configuration change is to install or uninstall (S601).
[0077] If it is to uninstall, the program makes a list of volumes using the uninstailed resource (S602) and obtains statistics of the volumes (S603) (see FIGS. 18 and 19). Next the program replaces existing resource with appropriate resource (S604) and reports the replacement and uninstall information to the cloud management server (S605). For example, flash (MLC) will be uninstailed, the flash (MLC) is replaced with flash (SLC) which has better performance than flash (MLC). After that, the program updates the storage configuration. Physical resource installation or uninstallation is done before execution of step S606.
[0078] If the configuration change is to install, the program checks if the new resource can be used to reduce cost in steps S608 to S612. The program obtains a list of volumes using resource whose cost is higher than the cost of the new resource (S608). Then, the program checks if all obtained volumes are processed or not (S609). If the result is "no," the program choses one volume and obtains statistics of the chosen volume (S611).
Then, the program checks if the service level can be kept with the new resource or not (S612). If the result is "yes," the program proposes to redefine the volume type in order to use the new resource to the cloud management server (S613) and then returns to step S609. If the result is "no," the program returns to step S609 and executes step S610 to S613 for the next volume. If the result of step S609 is "yes," the program proceeds to step S606 to update the storage configuration by executing the storage configuration change and terminates the processing (S607).
[0079] FIG. 18 shows an example of a statistics table to store the statistics of volumes. The statistics table has volume ID, ave lOPS, peak lOPS, and ave response as columns. The ave lOPS manages an average number of IO per second. The peak lOPS manages the maximum number of IO per second. The ave lOPS manages an average time of IO response time. These are recorded for each volume.
[0080] FIG. 19 shows an example of a flow diagram illustrating a process of the statistics program to get the statistics from the storage system.
This program is called in step S603 of FIG. 17. First, the statistics program sends a request for statistics information to the storage system (S700) and waits for the response (S701). Then, the program receives the statistics information (S702) and updates the statistics table (S703). Finally, the program terminates the processing (S704). [0081] The configuration program of FIG. 17 searches the appropriate resource for replacement in step S604 and checks if the service level can be kept with the new resource in step S612. To achieve this process, the storage management server manages the abilities of the resources.
[0082] FIG. 20 shows an example of a media type table which manages the abilities of storage media. The media type table has media type, IOPS, response, and cost as columns. The media type is a name of the storage media. In this example, flash (SLC (single level cell)), flash (MLC (multi-level cell)), FC HDD (fibre channel HDD), SAS HDD (serial attached SCSI HDD), and SATA HDD (serial Advanced Technology Attachment HDD) are stored. The IOPS column manages an ability of IO per second of the specified storage media type. The response column manages an ability of the response time of the specified storage media type. The cost column manages the cost per gigabyte of the specified storage media type. By using the media type table, the configuration program can determine the appropriate resource to use for replacement. This example is for storage media. Table(s) of other resources, such as processor or main memory, interface, etc., can be managed and used.
[0083] FIG. 21 shows an example of a flow diagram illustrating a process of an updating program (M) which executes steps for install and uninstall. In the example, operating system change is assumed. For resource install or uninstall, when the operating system is updated or the apparatus is migrated to a new apparatus, both of install and uninstall occur at the same time. First, the updating program (M) obtains functions and resources that are changed to non-support (S800) and executes steps S602 to S605 (S801). Then, the updating program (M) obtains functions and resources that are changed to support (S802) and executes steps S608 to S613 (S803). After that, the program updates the operating system version (S804). If step S804 is migration to another storage apparatus instead of updating the operating system version, step S800 to S803 can be used similarly.
[0084] Of course, 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. For example, 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.
[0085] In the description, numerous details are set forth for purposes of explanation in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that not all of these specific details are required in order to practice the present invention. It is also noted that the invention may be described as a process, which is usually depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged.
[0086] As is known in the art, the operations described above can be performed by hardware, software, or some combination of software and hardware. Various aspects of embodiments of the invention may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software), which if executed by a processor, would cause the processor to perform a method to carry out embodiments of the invention.
Furthermore, some embodiments of the invention may be performed solely in hardware, whereas other embodiments may be performed solely in software.
Moreover, the various functions described can be performed in a single unit, or can be spread across a number of components in any number of ways.
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.
[0087] From the foregoing, it will be apparent that the invention provides methods, apparatuses and programs stored on computer readable media for managing volume type change. Additionally, while specific embodiments have been illustrated and described in this specification, those of ordinary skill in the art appreciate that any arrangement that is calculated to achieve the same purpose may be substituted for the specific embodiments disclosed. This disclosure is intended to cover any and all adaptations or variations of the present invention, and it is to be understood that the terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with the established doctrines of claim
interpretation, along with the full range of equivalents to which such claims are entitled.

Claims

WHAT IS CLAIMED IS:
1. A storage management server coupled to a storage system which provides a first volume, the storage management server comprising:
a memory configured to store function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and
a processor configured, in response to a command to change a first volume type to another volume type, to determine whether the one or more first functions should be taken over by the another volume type based on the function requester information.
2. The storage management server according to claim 1 , wherein the processor is configured, in response to the command to change the first volume type to the another volume type, to:
obtain differences between the first volume type and the another volume type;
determine whether a storage function change is needed by comparing the first volume type and the another volume type; and
if the storage function change is needed, determine whether the one or more first functions should be taken over by the another volume type, based on the function requester information.
3. The storage management server according to claim 1 ,
wherein the processor is configured to determine whether the one or more first functions should be taken over by the another volume type, based on function take over information stored in the memory, which specifies a function take over approach for each of the one or more first functions.
4. The storage management server according to claim 3, wherein the processor is configured to:
for a first status in which the data of the first volume is not migrated or in which the data of the first volume is migrated to the another volume and the one or more first functions are also migrated to the another volume, omit any first functions which were determined not to be taken over by the another volume type from the first volume or the another volume, and apply one or more second function, which is not included in the first volume type but in the another volume type, to the first volume or the another volume; and
for a second status in which the data of the first volume is migrated to the another volume but the one or more first functions are not migrated to the another volume, apply any first functions, which were determined to be taken over by the another volume type, and one or more second functions, which are not included in the first volume type but in the another volume type, to the another volume.
5. The storage management server according to claim 3,
wherein the function take over information specifies one or more function take over approaches for the one or more first functions, the one or more function take over approaches including (i) a depend-on-migration approach which specifies taking over a function if the function is needed after migration of the data to a target volume, (ii) a follow-volume-type approach which specifies taking over a function if the function is included in the another volume type, and (iii) a take-over approach which specifies taking over a function by the another volume type; and
wherein determining which of the one or more first functions to take over based on the function take over information includes (i) checking whether a function is needed after migration of the data to the target volume for the depend-on-migration approach, (ii) checking whether a function is included in the another volume type for the follow-volume-type approach, and (iii) specifying taking over a function by the another volume type under the takeover approach.
6. The storage management server according to claim 5,
wherein the function take over information specifies one or more function take over approaches for the one or more first functions based on the function requester information, and, for each function of the one or more first functions, whether application of the each function is based on volume type if the function requester is a cloud management server, and whether the each function is to be applied permanently if the function requester is not the cloud management server.
7. The storage management server according to claim 6, wherein if the function requester information indicates that the function requester for a function is a cloud management server and the application of the function is based on volume type, the function take over approach is the follow-volume-type approach;
wherein if the function requester information indicates that the function requester for a function is a cloud management server and the application of the function is not based on volume type, the function take over approach is the take-over approach;
wherein if the function requester information indicates that the function requester for a function is not a cloud management server and the function is to be applied permanently, the function take over approach is the take-over approach; and
wherein if the function requester information indicates that the function requester for a function is not a cloud management server and the function is not to be applied permanently, the function take over approach is the depend- on-migration approach.
8. The storage management server according to claim 7,
wherein the function requester for a function that is not the cloud management server is a user; and
wherein the processor is configured to provide a user interface for the user to specify whether the function is to be applied permanently or not for the first volume.
9. The storage management server according to claim 1 , wherein the processor is configured, in response to a request to change configuration of the storage system, to:
determine whether the configuration change is to uninstall an existing resource or to install a new resource;
if the configuration change is to uninstall the existing resource and if the existing resource is used by the another volume type, then replace the existing resource to be uninstalled with an appropriate resource for the another volume type; and
if the configuration change is to install the new resource and if the new resource can be used by the another volume type to meet a preset service level, then propose redefinition of the another volume type to use the new resource to a cloud management server.
10. The storage management server according to claim 9,
wherein the memory is configured to store IO (Input/Output) statistics of volumes in the storage system;
wherein the processor is configured to select the appropriate resource to replace the existing resource based on the IO statistics; and
wherein the processor is configured to determine whether the new resource can be used by the another volume type to meet the preset service level based on the IO statistics.
11. The storage management server according to claim 9, wherein the memory is configured to store media type information on 10 performance and cost of a plurality of media types of resources; and
wherein the processor is configured to select the appropriate resource to replace the existing resource based on the media type information.
12. A storage management method of managing a storage system which provides a first volume, the storage management method comprising:
storing function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and
in response to a command to change a first volume type of the first volume to another volume type, determining whether the one or more first functions should be taken over by the another volume type based on the function requester information.
13. The storage management method according to claim 12, further comprising, in response to the command to change the first volume type to the another volume type:
obtaining differences between the first volume type and the another volume type;
determining whether a storage function change is needed by comparing the first volume type and the another volume type; and if the storage function change is needed, determining whether the one or more first functions should be taken over by the another volume type, based on the function requester information.
14. The storage management method according to claim 12,
wherein whether the one or more first functions should be taken over by the another volume type is determined based on function take over information which specifies a function take over approach for each of the one or more first functions.
15. A non-transitory computer-readable storage medium storing a plurality of instructions for controlling a data processor to manage a storage system which provides a first volume, the plurality of instructions comprising:
instructions that cause the data processor to store function information indicative of one or more first functions set on the first volume and function requester information of one or more function requesters who request to set the one or more first functions on the first volume, the one or more first functions being applied to data stored in the first volume; and
instructions that cause the data processor, in response to a command to change a first volume type of the first volume to another volume type, to determine whether the one or more first functions should be taken over by the another volume type based on the function requester information.
PCT/US2015/025923 2015-04-15 2015-04-15 Method and apparatus for volume type change WO2016167762A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/025923 WO2016167762A1 (en) 2015-04-15 2015-04-15 Method and apparatus for volume type change

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/025923 WO2016167762A1 (en) 2015-04-15 2015-04-15 Method and apparatus for volume type change

Publications (1)

Publication Number Publication Date
WO2016167762A1 true WO2016167762A1 (en) 2016-10-20

Family

ID=57126677

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/025923 WO2016167762A1 (en) 2015-04-15 2015-04-15 Method and apparatus for volume type change

Country Status (1)

Country Link
WO (1) WO2016167762A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070179994A1 (en) * 2006-01-31 2007-08-02 Akira Deguchi Storage system
US20090198949A1 (en) * 2008-02-06 2009-08-06 Doug Kuligowski Hypervolume data storage object and method of data storage
US20120331254A1 (en) * 2004-04-09 2012-12-27 Hitachi, Ltd. Storage control system and method
US20130111034A1 (en) * 2011-11-01 2013-05-02 Pavan Belur Gopalakrishna Upadhya System or method to automatically provision a storage volume by having an app-aware based appliance in a storage cloud environment
US20150026402A1 (en) * 2012-03-21 2015-01-22 Hitachi, Ltd. Storage apparatus and data management method
WO2015042559A1 (en) * 2013-09-23 2015-03-26 Amazon Technologies, Inc. Client-premise resource control via provider-defined interfaces

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331254A1 (en) * 2004-04-09 2012-12-27 Hitachi, Ltd. Storage control system and method
US20070179994A1 (en) * 2006-01-31 2007-08-02 Akira Deguchi Storage system
US20090198949A1 (en) * 2008-02-06 2009-08-06 Doug Kuligowski Hypervolume data storage object and method of data storage
US20130111034A1 (en) * 2011-11-01 2013-05-02 Pavan Belur Gopalakrishna Upadhya System or method to automatically provision a storage volume by having an app-aware based appliance in a storage cloud environment
US20150026402A1 (en) * 2012-03-21 2015-01-22 Hitachi, Ltd. Storage apparatus and data management method
WO2015042559A1 (en) * 2013-09-23 2015-03-26 Amazon Technologies, Inc. Client-premise resource control via provider-defined interfaces

Similar Documents

Publication Publication Date Title
US11720264B2 (en) Compound storage system and storage control method to configure change associated with an owner right to set the configuration change
US9696931B2 (en) Region-based storage for volume data and metadata
US9542105B2 (en) Copying volumes between storage pools
US10572175B2 (en) Method and apparatus of shared storage between multiple cloud environments
JP5685676B2 (en) Computer system and data management method
US8448167B2 (en) Storage system, and remote copy control method therefor
US8954706B2 (en) Storage apparatus, computer system, and control method for storage apparatus
US20110270945A1 (en) Computer system and control method for the same
US20080243947A1 (en) Method and apparatus for controlling storage provisioning
US20140129770A1 (en) Storage system using real data storage area dynamic allocation method
US20130138908A1 (en) Storage system and pool capacity scale-down control method
WO2013042159A1 (en) Storage apparatus, computer system, and data migration method
US8849966B2 (en) Server image capacity optimization
US20170177225A1 (en) Mid-level controllers for performing flash management on solid state drives
US8527732B2 (en) Storage system and method of controlling storage system
US9851907B2 (en) Control device, storage system, and method of controlling a plurality of storage devices
KR20170135594A (en) Storage System and Volume Management Method thereof
US10430121B2 (en) Efficient asynchronous mirror copy of fully provisioned volumes to thin-provisioned volumes
WO2016167762A1 (en) Method and apparatus for volume type change
US9223510B2 (en) Optimizing storage utilization by modifying a logical volume offset
US11222005B1 (en) Proactive storage system configuration consistency validation
US11461029B1 (en) Techniques for storage management
US20240111520A1 (en) Targeted updates of storage management software based on class file usage
WO2014115184A1 (en) Storage system and control method for storage system
WO2018051446A1 (en) Computer system including storage system having optional data processing function, and storage control method

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: 15889359

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: 15889359

Country of ref document: EP

Kind code of ref document: A1