WO2015189988A1 - ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム - Google Patents
ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム Download PDFInfo
- Publication number
- WO2015189988A1 WO2015189988A1 PCT/JP2014/065760 JP2014065760W WO2015189988A1 WO 2015189988 A1 WO2015189988 A1 WO 2015189988A1 JP 2014065760 W JP2014065760 W JP 2014065760W WO 2015189988 A1 WO2015189988 A1 WO 2015189988A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- policy
- storage device
- management server
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1727—Details of free space management performed by the file system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Definitions
- the present invention relates to a management server that manages a storage system.
- block storage tiering technology to increase the use efficiency of block storage devices.
- block storage tiering technology multiple types of storage devices with different performances are used to form a tiered pool, and the real storage area (also referred to as the real area) stored in the tiered pool is used as virtual logic. Assign to a volume.
- the storage destination of data in a logical volume is automatically or manually changed to a tier with an appropriate performance based on an I / O (Input / Output) load for the data.
- I / O Input / Output
- Patent Document 1 JP 2010-108341 A
- Patent Document 2 JP 2011-70628 A
- Patent Document 3 International Publication 2011/117925
- Patent Document 1 describes a storage system including a plurality of types of storage devices having different performances.
- a plurality of types of pools are configured based on a plurality of storage devices, and the plurality of types of pools belong to different layers.
- a pool of a type corresponding to the type is configured.
- the controller in the storage system stores the storage destination of the target data stored in the first real page of the target allocated to a certain virtual page in the virtual volume when a predetermined storage destination change condition is met. Is changed to a second real page that is not allocated in a second type pool different from the first type pool having the target first real page.
- the actual page size varies depending on the type of pool.
- Patent Document 2 describes a storage system having a pool composed of physical storage volumes divided into a plurality of tiers having different tier levels, and a controller.
- the controller allocates a pool to a plurality of virtual volumes.
- the controller stores the relationship between the data in the storage system accessed by each application running on the host computer and the application ID of the application.
- the tier level of the storage volume is changed based at least in part on the application accessing the data in the storage volume.
- a file server hierarchization technology for improving the efficiency of use of the file server.
- a file system is formed using a plurality of types of logical volumes having different performances, and files are allocated to the volumes.
- the correspondence between the file and the volume is automatically or manually changed by a policy-based layering technique.
- the policy describes conditions for narrowing down files such as the file name and creation date and time, and the logical volume of the placement destination.
- the file server management program refers to this policy and allocates the file to the logical volume.
- Patent Document 3 when the file request response performance is added to the access request from the host computer, the storage management system determines the file request response performance and the response performance of the pool volume allocated to the page. If the response performance of the compared pool volume does not meet the required response performance, select the pool volume that satisfies the required response performance from the pool volume, move the page to the selected pool volume, and A technique for storing data in a page to which a volume is assigned is described.
- Patent Documents 1 and 2 considers only block storage relocation, and does not consider file server relocation.
- the conventional technology described in Patent Document 3 considers both the file server and the block storage, but does not assume an environment in which the file system is composed of a plurality of logical volumes and relocation is performed on the file server. .
- the use efficiency of the upper tier can be improved by combining the rearrangement by the file server and the rearrangement by the block storage, the data cannot be optimally arranged by simply combining the above-described conventional techniques. For example, if relocation by a file server is applied to a file that is frequently accessed, the entire file is allocated to the upper tier, so that the utilization efficiency of the upper tier may not be optimized.
- the management server includes a memory, a processor that refers to the memory, and a network interface for communicating with a storage device or a file server, and the storage device is divided into pages having a predetermined capacity.
- a storage device for storing data in the page the file server manages data stored in the storage device in units of files, and the processor goes to a page in which data constituting the file is stored. Is obtained as a result of comparing the policy applied to the file with the bias of I / O to a part of the data constituting the file. If the policy needs to be changed, the changed policy is output.
- the embodiment of the present invention may be implemented by software running on a general-purpose computer, or may be implemented by dedicated hardware or a combination of software and hardware.
- each information of the present invention will be described in a “table” format.
- the information does not necessarily have to be represented by a data structure of a table, such as a data structure such as a list, a DB, a queue, or the like. It may be expressed as For this reason, “table”, “list”, “DB”, “queue”, etc. may be simply referred to as “information” in order to show that they do not depend on the data structure.
- program as a subject (operation subject).
- a program is executed by a processor and a process determined by a memory and a communication port (communication control device). Since it is performed while being used, the description may be made with the processor as the subject.
- the processing disclosed with the program as the subject may be processing performed by a computer such as a management server or an information processing apparatus. Part or all of the program may be realized by dedicated hardware, or may be modularized.
- Various programs may be installed in each computer by a program distribution server or a storage medium.
- the invention disclosed in the present application relates to a storage management technology that optimizes the usage status of storage devices in a storage device, and is particularly effective in an environment where a combination of layering technology using file servers and layering technology using block storage is used. is there.
- a file server has virtual volumes allocated from a plurality of pools constructed on a storage apparatus and having a plurality of storage tiers having different performances.
- An example will be described in which the management server determines a problematic policy based on the policy setting information 113 of the file server and the number of page accesses and presents it to the user.
- FIG. 1 is a diagram showing a configuration of a computer system in the first embodiment.
- the computer system includes a file server 100, a management server 200, and a storage device 300.
- the file server 100 and the storage apparatus 300 are connected by a SAN (Storage Area Network) 400.
- the file server 100, the management server 200, and the storage device 300 are connected by a LAN (Local Area Network) 500.
- the file server 100 is installed in the back end of a server (for example, a Web server) (not shown), and provides the file system 121 to the server. Further, the file server 100 may provide the file system 121 to a terminal (not shown).
- a server for example, a Web server
- the file server 100 may provide the file system 121 to a terminal (not shown).
- the file 122 provided by the file system 121 is stored in the logical volume 123 provided from the storage apparatus 300. There is a difference in the performance of the logical volume 123, and it is configured by a logical volume A123 with good response performance and a logical volume B124 with poor response performance.
- the file management program 111 rearranges the files between the logical volume A 123 and the logical volume B 124 according to the file rearrangement policy read from the policy setting information 113 (see FIG. 12).
- the storage apparatus 300 provides virtual volumes 331 and 332 by the storage management program 321.
- the virtual volumes 331 and 332, the storage pools 333 and 334, and the pool volumes 335 and 336 will be described later with reference to FIG.
- FIG. 2 is a diagram illustrating a hardware configuration of the file server 100.
- the file server 100 has a processor (CPU) 101, a memory 102, a SAN port 103, and a LAN port 104.
- the CPU 101, the memory 102, the SAN port 103, and the LAN port 104 are connected by a bus 105.
- the SAN port 103 connects the file server 100 to the SAN 400.
- the LAN port 104 connects the file server 100 to the LAN 500.
- the CPU 101 performs various processes by executing the file management program 111 and the file relocation control program 112 stored in the memory 102.
- the memory 102 stores a file management program 111 and a file relocation control program 112 (see FIG. 13).
- the memory 102 stores information necessary for the CPU 101 to execute the file management program 111 and the file relocation control program 112.
- the memory 102 stores policy setting information 113 (see FIG. 12), file server configuration information 114 (see FIG. 11), and file management information 115 (see FIG. 10).
- the file rearrangement control program 112 performs the file rearrangement control process periodically (for example, at a predetermined time interval such as once every 10 minutes).
- FIG. 4 is a diagram illustrating a hardware configuration of the management server 200.
- the management server 200 includes a processor (CPU) 201, a memory 202, an auxiliary storage device 203, and a LAN port 204.
- the CPU 201, the memory 202, the auxiliary storage device 203, and the LAN port 204 are connected by a bus 205.
- a LAN port 204 connects the management server 200 to the LAN 500.
- the CPU 201 performs various processes by executing the problematic policy search program 211 and the page access bias acquisition program 212 stored in the memory 202.
- the memory 202 stores a problematic policy search program 211 and a page access bias acquisition program 212. Further, the memory 202 stores information necessary for the CPU 201 to execute the problematic policy search program 211 and the page access bias acquisition program 212. For example, the memory 202 includes problematic policy management information 213 (see FIG. 15), page access bias (by file) information 214 (see FIG. 16), feature value and threshold information 215 (see FIG. 17), Virtual volume management information (for management) 216 (see FIG. 20) is stored.
- the problematic policy search program 211 is, for example, a program that acquires the policy setting information 113 held by the file server 100 and executes problematic policy search processing to create problematic policy management information 213. Further, the problematic policy search program 211 calls the page access bias acquisition program 212 to acquire the page access bias. Details of each process will be described later.
- the page access bias acquisition program 212 acquires the page access bias of the target file, stores the acquired page access bias in the page access bias (by file) time-series information 222, and sorted access. Processing for obtaining the page access bias from the total number and the total number of accesses S, processing for obtaining an average value from the feature values of all files targeted by the target policy, and calculating the obtained average value for page access bias (policy). The other processing is to store in the time series information 221.
- the auxiliary storage device 203 stores information collected and managed by the page access bias acquisition program 212.
- the auxiliary storage device 203 stores page access bias (by policy) time-series information 221 (see FIG. 18) and page access bias (by file) time-series information 222 (see FIG. 19).
- the auxiliary storage device 203 is configured with a single storage device in the figure, but may be configured with a plurality of storage devices.
- the auxiliary storage device 203 can be configured by, for example, a SATA disk, FC disk, SSD, or the like.
- the management server 200 may have an input device and a display device (output device), although not shown. Further, instead of the input device and the output device, a terminal device having a display device (display) and an input device (keyboard, pointer device) may be connected to a serial interface or an Ethernet interface. In this case, the management server 200 transmits a display screen to the terminal device and receives input data from the terminal device.
- a set of one or more computers that manage the computer system and display the display information in this embodiment may be referred to as a management system. That is, the management system may be one management server 200 when displaying the display information.
- a management terminal that displays display information may be provided separately from the management server 200.
- a combination of the management server 200 and the management terminal is a management system. Even if the management terminal executes a program (for example, a web browser) that displays display information, the management terminal analyzes the information output from the management server 200 and displays the display information to be displayed (for example, a dedicated application) ) May be executed.
- the function of the management server 200 may be realized by a plurality of computers in order to increase the speed and reliability of the management process. In this case, the plurality of computers (if the display computer performs display, a management terminal is used). Management system).
- FIG. 3 is a diagram illustrating a hardware configuration of the storage device 300.
- the storage device 300 includes a processor (CPU) 301, a memory 302, at least one physical storage device 303, a SAN port 304, a LAN port 305, and a disk interface 306.
- the CPU 301, the memory 302, the physical storage device 303, the SAN port 304, the LAN port 305, and the disk interface 306 are connected by a bus 307.
- the SAN 304 port connects the storage apparatus 300 to the SAN 400.
- a LAN port 305 connects the storage apparatus 300 to the LAN 500.
- the CPU 301 performs various processes by executing the storage management program 311 stored in the memory 302.
- the memory 302 stores a storage management program 311, a relocation control program 312 (see FIG. 9), and information necessary for the CPU 301 to execute the storage management program 311 and the relocation control program 312.
- the memory 302 stores RAID group management information 313 (see FIG. 6), real area management information 314 (see FIG. 7), and virtual volume management information 315 (see FIG. 8).
- the storage management program 311 executes processing for constructing a logical volume logically provided by the storage apparatus 300.
- the physical storage device 303 provides a physical storage area that is treated as a storage area.
- the physical storage device 303 is, for example, a SATA disk, FC disk, SSD, or the like.
- FIG. 5 is a diagram illustrating a logical configuration of the file server 100 and the storage apparatus 300.
- the storage management program 311 has a function of constructing a logical storage area from a plurality of physical storage devices 303.
- the storage management program 311 can construct logical storage areas such as RAID groups, logical volumes, storage pools, and virtual volumes.
- logical storage areas such as RAID groups, logical volumes, storage pools, and virtual volumes.
- the RAID group is a logical storage area composed of a plurality of physical storage devices 303, that is, RAID (Redundant Arrays of Inexpensive Disks), and is constructed by the storage management program 311. For example, when the storage management program 311 receives, from the management server 200 as input parameters, an instruction as to which of the plurality of physical storage devices 303 constitutes the RAID group and an instruction of the RAID level as input parameters, the storage management program 311 sets the specified RAID level.
- the own RAID group is constructed from the physical storage device 303.
- RAID groups can be constructed in various sizes, and RAID groups of various sizes can be set together.
- the logical disk is a logical storage area in the RAID group and is constructed by the storage management program 311. For example, when the storage management program 311 receives the creation source RAID group and the size of the logical disk to be created from the management server as input values, the storage management program 311 can configure a logical disk having the designated size from the designated RAID group. .
- the storage pools 333 and 334 are logical storage areas composed of a plurality of logical disks, and are constructed by the storage management program 311.
- the storage management program 311 accepts a plurality of logical volumes that should constitute a pool from the management server 200 as input values, and constructs storage pools 333 and 334 from the specified plurality of logical volumes.
- the logical disks constituting the storage pools 333 and 334 are referred to as pool volumes and are described as pool volumes in the figure.
- the real area is a storage area composed of one or a plurality of logical storage areas constituting the storage pool, and is constructed by the storage management program 311.
- the expression “page” can be used. Note that the data stored in the SEG is stored in the logical disk constituting the storage pool via the storage pool constituting the page.
- the virtual volumes 331 and 332 are logical storage areas constructed from a plurality of virtual areas (VSEG) by the storage management program 311 and are provided to the file server 100 as virtual volumes having a capacity greater than the actual capacity. For example, when the storage management program 311 receives the capacity of the virtual logical volume as an input value from the management server 200, the storage management program 311 constructs a virtual volume having the specified capacity from a plurality of SEGs. In addition, the storage management program 311 provides virtual volumes 331 and 332, which are volumes having a capacity greater than the actual capacity, to the file server 100 as logical volumes 123 and 124. In FIG. 5, the logical volume and the virtual volume are associated one-to-one, but may be associated one-to-many or many-to-one.
- VSEG virtual areas
- the virtual volumes 331 and 332 are associated with the storage pools 333 and 334, respectively. For example, when data is written from the file server 100 to VSEG 1 in the virtual volume A 331, SEG 2 selected from the storage pool 333 is assigned to the virtual volume 331. Data from the file server 100 is written to the assigned SEG2.
- the storage pools 333 and 334 have a plurality of storage hierarchies with different performance.
- the storage pool 333 has a first tier (Tier1) and a second tier (Tier2)
- the storage pool 334 has a second tier (Tier2) and a third tier (Tier3).
- the first tier is composed of real areas in the highest performance storage device.
- the first hierarchy can also be referred to as an upper hierarchy.
- the second tier is composed of real areas in the medium performance storage device.
- the second hierarchy can also be referred to as a middle hierarchy.
- the third hierarchy is composed of real areas of low-performance storage devices.
- the third hierarchy can also be referred to as a lower hierarchy. Further, in the following description, the first hierarchy and the second hierarchy may be collectively referred to as upper tier.
- the storage management program 311 selects a real area belonging to any tier in the storage pool and selects it as a write target virtual area VSEG. Allocated real area. Then, the write data from the file server 100 is written into the selected real area.
- the reallocation control program 312 periodically or irregularly allocates the real area assigned to the virtual volume on the basis of information on access to the real area (may be referred to as information on access to the virtual area). Change to the real area of the hierarchy.
- the relocation control program 312 moves so that data stored in a virtual area with a high access frequency (I / O count per unit time) is stored in a high-performance tier (higher tier).
- the data of the virtual area with low access frequency is moved so as to be stored in a low-performance layer (lower tier).
- the response time of data with high access frequency can be shortened.
- the high-performance tier can be used efficiently.
- the data rearrangement of data from the outside of the storage apparatus 300 is hidden. For example, even after the tier rearrangement is executed, the file server 100 can access the same data as before the tier rearrangement by accessing the same VSEG of the storage apparatus 300.
- the storage management program 311 includes a function for configuring the above-described logical storage area (logical storage area configuration function), a function for allocating virtual volumes to the file server 100 (virtual volume allocation function), and an I / O command from the file server 100. And a function of allocating SEG to the virtual volume according to (a virtual volume expansion function).
- the storage management program 311 provides a function of transmitting management information in accordance with a request from the management server 200 via the LAN.
- the relocation control program 312 changes the correspondence between VSEG and SEG based on the access frequency of VSEG.
- the storage apparatus 300 stores RAID group management information 313, real area management information 314, and virtual volume management information 315 in the memory 302.
- FIG. 6 is a diagram showing a configuration example of RAID group management information 313 for managing RAID group information.
- the RAID group management information 313 manages a RAID group ID 3131, a device type 3132, a RAID level 3133, and a storage device ID 3134 in association with each other.
- the RAID group ID 3131 is an identifier for uniquely identifying and identifying a RAID group.
- the device type 3132 is information indicating the type of the physical storage device 303 constituting the RAID group.
- the RAID level 3133 is information indicating the RAID level and combination of the RAID group.
- the storage device ID 3134 is identification information for identifying the physical storage devices 303 constituting the RAID group. In the figure, the physical storage device 303 may be abbreviated as “PDEV”.
- each table (information) described below, but some of the items included in the illustrated table may be changed to other items, or new items may be added. Furthermore, one table may be divided into a plurality of tables.
- FIG. 7 is a diagram illustrating a configuration example of real area management information 314 for managing real area information.
- the real area management information 314 manages the RAID group ID 3141, the real area ID 3142, the LBA range 3143, and the allocation status 3144 in association with each other.
- the RAID group ID 3141 is identification information for uniquely identifying and identifying a RAID group.
- the real area ID 3142 is identification information for identifying the real area (SEG).
- the LBA range 3143 is an LBA (Logical Block Addressing) range of the RAID group corresponding to the real area.
- the allocation status 3144 is information indicating whether the real area has been allocated to the virtual volume.
- FIG. 8 is a diagram showing a configuration example of virtual volume management information 315 for managing virtual volumes.
- the virtual volume management information 315 includes information regarding each virtual area in the virtual volume and the real area allocated to the virtual area.
- the virtual volume management information 315 manages the virtual volume ID 3151, the virtual area ID 3152, the LBA range 3153, the real area ID 3154, the number of accesses 3155, the monitoring period 3156, and the relocation destination determination result 3157 in association with each other. To do.
- the virtual volume ID (VVOL-ID) 3151 is identification information for uniquely identifying and identifying a virtual volume, and is not an identifier specified by the file server 100 but an identifier recognized inside the storage apparatus 300.
- the virtual area ID 3152 is identification information for identifying the virtual area (VSEG).
- the LBA range 3135 is the LBA range of the virtual volume corresponding to the virtual area (VSEG).
- the real area ID 3154 is identification information for identifying the real area assigned to the virtual area in the virtual volume.
- the access count 3155 is the access count (cumulative I / O count) from the file server 100 to the virtual area (VSEG) in the virtual volume.
- the monitoring period 3156 is a period for monitoring the number of accesses to the virtual area (VSEG).
- the storage apparatus 300 monitors the access count within the time range set in the monitoring period 3156. When a value indicating a specific time zone is not set in the monitoring period 3156, the storage apparatus 300 constantly monitors the number of accesses. The storage apparatus 300 resets the value of the access number to 0 at the timing of starting monitoring of the access number. When the monitoring result in the monitoring period is not stored, the value of the number of accesses is reset to 0 every certain period (for example, 24 hours).
- the monitoring period may be set in advance as a fixed value, or an arbitrary value may be set from the management server 200.
- the rearrangement destination determination result 3157 is information indicating the hierarchy of the data rearrangement destination determined by the rearrangement process.
- FIG. 9 is a flowchart of block storage data relocation processing.
- the data rearrangement process is executed by the rearrangement control program 312 of the storage apparatus 300.
- the storage apparatus 300 repeatedly performs the processing from step S102 to step S107 in descending order of access frequency (for example, IOPS) for all virtual areas (VSEG) (S111).
- access frequency for example, IOPS
- VSEG virtual areas
- the current arrangement (real area ID 3154) and relocation destination determination result 3157 of each VSEG are acquired from the virtual volume management information 315, and the current arrangement and the relocation destination are compared (S102).
- the current arrangement and the rearrangement destination are in the same hierarchy, the data rearrangement process is terminated because the data rearrangement is unnecessary.
- the rearrangement from step S103 is executed.
- the file management program 111 provides a function of configuring the file system 121 from the file management information 115 and the file server configuration information 114, and a function of associating a file page with a logical volume VSEG.
- the file rearrangement control program 112 provides a function of acquiring the target file placement destination from the policy setting information 113 and the file management information 115 and rearranging the file.
- FIG. 10 is a diagram illustrating a configuration example of the file management information 115 for managing files.
- the file management information 115 manages the file length 1151, the device ID 1152, the user ID 1153, the node ID 1154, the file mode 1155, the last update date 1156, and the last reference date 1157 in association with each other.
- the file length 1151 is the length (number of bytes) of the file.
- the device ID 1152 is identification information for uniquely identifying the logical volume of the file storage destination.
- the user ID 1153 is information indicating the file owner.
- the node ID 1154 is identification information for uniquely identifying a file in the file system.
- the file mode 1155 is information indicating file access authority (for example, writing, reading, execution, etc.).
- the last update date 1156 is the date and time when the file was last updated.
- the last reference date 1157 is the date and time when the file was last referenced.
- the file management information 115 is updated by accessing the file.
- the file management information 115 may include information representing file characteristics in addition to the above.
- FIG. 11 is a diagram illustrating a configuration example of the file server configuration information 114 for managing the configuration of the file server 100.
- the file server configuration information 114 manages the logical volume ID 1141 and the virtual volume ID 1142 in association with each other.
- the logical volume ID 1141 is identification information for uniquely identifying the logical volume of the file server 100.
- the virtual volume ID 1142 is identification information for uniquely identifying the virtual volume of the storage apparatus 300 corresponding to the logical volume.
- FIG. 12 is a diagram showing a configuration example of policy setting information 113 for managing a policy used for file relocation control.
- the policy setting information 113 manages a policy ID 1131, a search condition 1132, a current setting 1133, a change unnecessary check 1134, a relocation destination 1135, and a relocation condition 1136 in association with each other.
- Policy ID 1131 is identification information for uniquely identifying a policy.
- the search condition 1132 is a file condition to which the policy is to be applied.
- the search condition 1132 may be based not only on a method for specifying a file name but also on file metadata (for example, creator, creation date and time).
- the current setting 1133 is information indicating the setting of a file to be rearranged for each policy. For example, the file is left to a file (execution of file relocation) or left to a block (file relocation is not executed, logical There are settings such as fixing the volume.
- the change unnecessary check 1134 is a flag for controlling whether to display a problematic policy on the policy management screen (see FIG. 25), and is input by the user from the policy management screen. That is, if the change unnecessary check 1134 is set to false, the policy is not displayed as a problematic policy on the policy management screen, and the file location is not changed.
- the relocation destination 1135 is identification information of a logical volume that becomes a relocation destination of a file when the relocation condition is satisfied.
- the relocation condition 1136 is a condition for the file relocation control program 112 to perform relocation when the file relocation is set, and is set for each relocation destination. That is, when a file that matches the search condition 1132 satisfies the relocation condition 1136, the file is arranged in the relocation destination 1135.
- Each item of the policy setting information 113 may be set as a fixed value in advance, or an arbitrary value may be set from the management server.
- the relocation condition as a default value, if the I / O access is even once, the relocation condition is arranged in a high performance logical volume, and if there is no I / O access for 14 days, the relocation condition is arranged in a low performance logical volume. Can be set. Further, the relocation condition may be created using information stored in the file management information 115.
- FIG. 13 is a flowchart of the file relocation control process.
- the relocation control process is executed by the file relocation control program 112 of the file server 100.
- the file server 100 acquires all policies from the policy setting information 113. Then, the processing from step S112 to S119 is repeated for each acquired policy (S111).
- the file system 121 is searched using the acquired search conditions for each policy, and a list of files to which the policy should be applied is acquired (S112). Then, the processes in steps S114 to S119 are repeated for each file included in the acquired list (S113).
- the relocation destination of each file is acquired from the policy setting information 113 (S114). Details of the processing in step S114 will be described later with reference to FIG. Further, the current arrangement of each file is obtained from file system configuration information (not shown). Then, the current arrangement and the rearrangement destination are compared (S115). If the current arrangement and the rearrangement destination are in the same hierarchy, the file rearrangement process is terminated because the file rearrangement is unnecessary. On the other hand, when the current arrangement and the rearrangement destination are different layers, the rearrangement from step S116 is executed.
- FIG. 14 is a flowchart of processing for acquiring a file rearrangement destination, and shows details of processing in step S114.
- the file server 100 acquires from the policy setting information 113 a set of a target policy relocation condition 1136 and a relocation destination 1135. And the process of step S123 to S126 is repeatedly performed about each acquired group (S122).
- the relocation destination is set as the target file allocation destination (S125).
- the target file is placed in the same location as the current placement (S126).
- Hierarchy rearrangement is hidden from outside the file server 100. For example, even after hierarchical rearrangement is executed, the user of the file can access the same file as before the rearrangement without worrying about the location of the file.
- the memory 202 includes the problematic policy search program 211, the page access bias acquisition program 212, the problematic policy management information 213, the page access bias (by file) information 214, and the feature amount. And threshold information 215 and virtual volume management information (for management) 216 are stored.
- the auxiliary storage device 203 also stores time-series information 221 of page access bias (by policy) and time-series information 222 of page access bias (by file).
- FIG. 15 is a diagram illustrating a configuration example of the troublesome policy management information 213 used to present a troublesome policy to the user.
- the problematic policy management information 213 manages the policy ID 2131, the recommended setting 2132, the current setting 2133, and the change unnecessary check 2134 in association with each other.
- Policy ID 2131 is identification information for uniquely identifying a policy.
- the recommended setting 2132 is information indicating a setting recommended by the management server.
- the current setting 2133 is information indicating the current setting of the policy.
- the change unnecessary check 2134 is information indicating whether or not the user has made an input that does not require a change.
- FIG. 16 is a diagram showing a configuration example of page access bias (by file) information 214.
- the page access bias (by file) information 214 manages the file ID 2141 and the page access bias 2142 in association with each other.
- the file ID 2141 is identification information for uniquely identifying a file.
- the page access bias 2142 is a value obtained by the page access bias acquisition program 212 and indicating whether page access is biased in the file.
- FIG. 17 is a diagram illustrating a configuration example of the feature quantity and threshold information 215 that is used by the problematic policy search program 211 to acquire recommended settings.
- the feature amount and threshold value information 215 manages the feature amount ID 2151, the threshold value 2152, the recommended setting 2153 when the threshold value is equal to or greater than the threshold value, and the recommended setting 2154 when the value is less than the threshold value.
- Feature amount ID 2151 is identification information for uniquely identifying a feature amount.
- the feature amounts include, for example, page access bias and hot spot change.
- a value representing the feature of the file may be used as the feature amount.
- the threshold value 2152 is a threshold value for switching between the recommended setting 2153 and the recommended setting 2154.
- the recommended setting 2153 when the value is equal to or greater than the threshold is a setting recommended when the feature amount is equal to or greater than the threshold.
- the recommended setting 2154 when it is less than the threshold is a setting recommended when the feature amount is less than the threshold.
- FIG. 18 is a diagram showing a configuration example of page access bias (by policy) time series information 221 used to present a problematic policy to the user. It is.
- the page access bias (by policy) time-series information 221 manages date 2211, policy ID 2212, and page access bias 2213 in association with each other.
- Date 2211 is the date and time when the page access bias was acquired.
- the policy ID 2212 is identification information for uniquely identifying a policy.
- the page access bias 2213 is a value obtained by the page access bias acquisition program 212 and indicating whether page access is biased in the file.
- FIG. 19 is a diagram showing a configuration example of page access bias (by file) time-series information 222 used to present a problematic policy to the user. It is.
- the page access bias (by file) time-series information 222 manages date 2221, file ID 2222, and page access bias 2223 in association with each other.
- Date / time 2221 is the date / time when the page access bias was acquired.
- the file ID 2222 is identification information for uniquely identifying a file.
- the page access bias 2223 is a value obtained by the page access bias acquisition program 212 and indicating whether page access is biased in the file.
- FIG. 20 is a diagram illustrating a configuration example of virtual volume management information (for management) 216 for the management server 200 to manage virtual volumes.
- the virtual volume management information (for management) 216 includes a virtual volume ID 2161, a page ID 2162, a virtual area ID 2163, an LBA range 2164, a real area ID 2165, an access count 2166, a monitoring period 2167, and a relocation destination determination result. 2168 are managed in association with each other.
- the page ID 2162 is identification information for uniquely identifying a page (real area).
- Virtual volume ID 2161, virtual area ID 2163, LBA range 2164, real area ID 2165, access count 2166, monitoring period 2167, and relocation destination determination result 2168, which are items other than page ID 2162, are respectively virtual.
- the virtual volume ID 3151, the virtual area ID 3152, the LBA range 3153, the real area ID 3154, the number of accesses 3155, the monitoring period 3156, and the relocation destination determination result 3157 of the volume management information 315 are the same.
- the management server 200 repeatedly (for example, a predetermined time interval such as once per minute) obtains the correspondence between the real area ID and the VSEG from the file server 100, and obtains the virtual volume management information 315 from the storage apparatus 300. get.
- the management server 200 stores the acquisition result in the virtual volume management information (for management) 216.
- FIG. 21 is a flowchart of a problematic policy search process.
- the problematic policy retrieval process is repeatedly executed by the problematic policy retrieval program 211 (for example, at a predetermined time interval).
- the management server 200 acquires all policies held in the policy setting information 113 of the file server 100 (S131). And the process of step S133 to S143 is repeatedly performed about the acquired policy (S132).
- the average value of the page access bias of the acquired policy is acquired (S133).
- Acquisition of page access bias is a process executed by the page access bias acquisition program 212 and will be described in detail with reference to FIG.
- the threshold value 2152, the recommended setting 2153 when the threshold value is greater than or equal to the threshold value, and the recommended setting 2154 when the value is less than the threshold value are acquired from the feature amount and threshold value information 215 (S134). Then, the average value acquired in step S133 is compared with the threshold value acquired in step S134 (S135). If the average value is equal to or larger than the threshold value, the recommended setting when the average value is equal to or larger than the threshold value is adopted (S137). On the other hand, when the average value is smaller than the threshold value, the recommended setting when the average value is smaller than the threshold value is adopted (S138).
- the current setting of the policy is acquired from the policy setting information 113 (S139), and the adopted recommended setting is compared (S140). If the current setting and the recommended setting are the same as a result of the comparison, there is no problem with the current policy (S142), and the next policy is processed. If the current policy is recorded in the policy management information 213, it may be deleted from the policy management information 213. On the other hand, if the current setting is different from the recommended setting, there is a problem with the current policy, so it is recorded in the problematic policy management information 213 (S143). At this time, false is stored in the change unnecessary check 2134.
- the record recorded in the problematic policy management information 213 may be deleted when the user changes the policy.
- deleting a record recorded in the problematic policy management information 213 in step S142 if it is determined that there is no problem in the policy in the search process to be executed next, a record is created from the problematic policy management information 213. Will be deleted.
- FIG. 22 is a flowchart of page access bias acquisition processing, showing details of the processing in step S133.
- the page access bias acquisition process is executed by the page access bias acquisition program 212.
- the management server 200 acquires a list of files to which the target policy should be applied from the file server 100 (S151). Then, the processes of steps S153 to S156 are repeated for all files included in the acquired list (S152).
- the feature amount of the target file is acquired (S153).
- the feature amount of the file is a page access bias. Details of the process of acquiring the feature amount will be described later with reference to FIG. Then, the acquired page access bias is stored in the page access bias (by file) time-series information 222 (S154).
- the average value of the page access bias of all the files to which the target policy should be applied is calculated (S155), and the calculated average value is calculated as the page access bias (by policy). ) Stored in the time series information 221 (S156).
- the management server initializes a variable (for example, sum) representing the sum to 0.
- a variable for example, sum
- the page access bias 2223 of all the files to which the target policy is to be applied is acquired from the page access bias (by file) time-series information 222 and added to the variable sum.
- the variable sum is divided by the number of files to calculate an average value.
- FIG. 23 is a flowchart of a process for acquiring a page access bias of a file, and shows details of the process in step S153.
- the page access bias acquisition process 212 executes the file page access bias acquisition processing.
- the management server 200 acquires a list of pages (real areas) used by the file from the file server 100. And the process of step S162 is repeatedly performed about all the pages contained in the acquired list (S161). In the loop, the number of accesses of each page is acquired from the virtual volume management information (for management) 216 (S162).
- the page access bias is calculated from the total number S of file accesses and page accesses (S164). Details of the process of calculating the page access bias will be described later with reference to FIG.
- the calculated page access bias is stored in the page access bias (by file) information 214 (S165).
- FIG. 24 is a flowchart of the process of calculating the page access bias from the access count and the sum S of access counts, and shows details of the process in step S164.
- the number of accesses (that is, the number of pages) N is acquired (S178), and the page access bias is calculated (S179).
- the number N of pages having the number of accesses at a constant K rate (that is, page access bias) can be obtained.
- FIG. 25 is a diagram showing an example of a screen for presenting a list of problematic policies to the user.
- the problematic policy list screen 600 includes an area for displaying the problematic policy list 610 and an area 620 for displaying details of the policy information selected by the user.
- the problem policy list 610 displays the contents acquired from the problem policy management information 213.
- the change unnecessary check 2134 displays only policies that are false, and does not display policies that are true.
- true is stored in the policy change unnecessary check 2134 of the problem policy management information 213, and the problem policy list 610 delete.
- the management server 200 displays the time series information acquired from the page access bias (by policy) time series information 221 on the screen (621).
- FIG. 25 shows a state where the moving image file policy is selected.
- the management server 200 obtains page access bias (by file) from the time series information 222, and the page access of each file at the selected point in time is selected.
- the bias is displayed on the screen (623).
- the mouse cursor is moved to the file position on the page access bias screen 623 of each file, the file name of the file and the page access bias value are displayed (624).
- the management server 200 can hold detailed policy information, or the management server 200 can acquire and display policy information from the policy setting information 113 of the file server 100.
- a policy for storing all data of the file in the upper tier may be recommended. Even if the file is stored in the lower tier, if the policy applied to the file is satisfied, a policy for storing the data of the file in the lower tier may be recommended. Furthermore, if the performance is insufficient unless it is an upper tier, a policy may be recommended in which block relocation is stopped and all blocks constituting the file are allocated to the upper tier. In this way, it is possible to select a Tier that has no excess or deficiency in the policy applied to the file.
- a file whose page access bias is included in a predetermined range from the average value or a file not included in the range may be selected, and a new policy may be recommended for the selected file.
- both the policy for storing the file in the upper tier and the policy for storing the file in the lower tier may be displayed.
- the administrator can be provided with many policy options.
- the access frequency (I / O count per unit time) to the page storing the data constituting the file is acquired, and the policy applied to the file is
- the policy applied to the file needs to be changed as a result of comparing the access frequency bias to a part of the data constituting the file, the policy after the change is output.
- the administrator can easily find out the policy problem and the cause of the problem that are difficult to confirm due to the large number of files.
- the usage efficiency of the storage apparatus can be improved by modifying the policy.
- the administrator can determine which one of rearrangement for each file and rearrangement for each page is appropriate due to the bias of file access.
- the access frequency to the page is acquired in file units, it is possible to calculate the access frequency bias for each file.
- the minimum value of the number of pages in which the access frequency for each acquired page is a predetermined ratio or more with respect to the number of accesses of all the pages of the file is obtained, and the minimum value of the obtained number of pages is calculated as the total number of pages. Since the divided value is calculated as an access frequency bias, the access frequency bias can be calculated by a simple calculation.
- Example 2 In the second embodiment, in the problematic policy search process (FIG. 21) of the first embodiment, other feature quantities (for example, hot spot changes) are used instead of page access bias.
- a hot spot is a page (real area) where access is concentrated. That is, in the second embodiment, the user may be able to set an appropriate policy by evaluating changes in hot spots, or evaluating page access bias and hot spot changes. By using a plurality of feature amounts, a user can evaluate a plurality of information and set a policy.
- the second embodiment is a modification of the first embodiment, only the configuration and processing different from the first embodiment will be described, and the description of the same configuration and processing as the first embodiment will be omitted.
- FIG. 26 is a diagram showing a configuration example of hot spot information 217 for managing hot spots.
- the hot spot information 217 is stored in the memory 202 of the management server 200.
- Hot spot information 217 manages file ID 2171, page ID 2172, and number of accesses 2173 in association with each other.
- the file ID 2171 is identification information for uniquely identifying a file.
- the page ID 2172 is identification information for uniquely identifying a page (real area) where access is concentrated.
- the number of accesses 2173 is the number of accesses of the page.
- FIG. 27 is a flowchart of a process for acquiring a hot spot change.
- the change in hot spot is calculated by the following formula.
- Change in hotspot 1- (number of pages matching previous hotspot page and current hotspot page / number of previous hotspot page)
- the target page is added to the page set P (S185), the number of accesses of each page is acquired from the virtual volume management information (for management) 216, and the access acquired from S ′ is subtracted (S186).
- S ′ becomes 0 or less, the loop is exited (S187).
- the previous hot spot P ' is acquired from the hot spot information 217 (S188), and the change rate of the hot spot is calculated (S189).
- the hot spot change rate is calculated by 1 ⁇ (
- is the number of pages of P.
- the hot spot information 217 is updated with the calculated page set P (S190).
- various policies can be recommended by evaluating changes in hot spots. Specifically, when the change rate of the hot spot is larger than a predetermined threshold, it is recommended to recommend a policy that places the target file in the upper tier without performing the rearrangement in units of blocks. When the hot spot change rate is greater than a predetermined threshold, a plurality of locations of the file are frequently accessed. For this reason, file access performance can be further improved by not performing rearrangement in units of blocks.
- a value input by the user (for example, the minimum guaranteed value of IOPS) is used as the feature amount, not the bias of page access. That is, in the third embodiment, a value input by the user is used. For this reason, for example, by using the minimum guaranteed value of IOPS in addition to the bias of page access, the management server 200 needs to preferentially assign the upper Tier to the virtual area, or if the lower Tier is assigned. You can judge whether it is good. Thereby, the user's intention can be reflected in the problematic policy search.
- the third embodiment is a modification of the first embodiment, only the configuration and processing different from the first embodiment will be described, and the description of the same configuration and processing as in the first embodiment will be omitted.
- FIG. 28 is a diagram showing an example of a screen for the user to input the minimum guaranteed value of IOPS in this embodiment.
- the user can update the IOPS minimum guarantee value of the target policy by inputting the IOPS minimum guarantee. In addition, it is possible to confirm the time series information of the feature amount of the target policy.
- the recommended policy is output. May be. In this way, a policy that satisfies IOPS can be recommended.
- the third embodiment it is possible to recommend a policy that considers which Tier should be assigned to a virtual area by using the minimum guarantee of IOPS. For example, when the IOPS of a file is smaller than a predetermined threshold, a policy for storing the file in the lower tier can be recommended. For this reason, it is possible to prevent a file having a small IOPS from being occupied by the upper tier.
- the present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the scope of the appended claims.
- the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described.
- a part of the configuration of one embodiment may be replaced with the configuration of another embodiment.
- another configuration may be added, deleted, or replaced.
- each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
- Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
- a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
- control lines and information lines indicate what is considered necessary for the explanation, and do not necessarily indicate all control lines and information lines necessary for mounting. In practice, it can be considered that almost all the components are connected to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
ストレージ装置及びファイルサーバに接続される管理サーバであって、前記ストレージ装置は、所定の容量のページに区分され、前記ページにデータを格納する記憶デバイスを有し、前記ファイルサーバは、前記ストレージ装置に格納されるデータをファイル単位で管理し、前記管理サーバは、前記ファイルを構成するデータが格納されるページへの単位時間当たりのI/O回数を取得し、前記ファイルに適用されるポリシーと、当該ファイルを構成するデータの一部へのI/Oの偏りとを比較した結果、当該ファイルに適用されるポリシーを変更する必要がある場合、変更後のポリシーを出力する。
Description
本発明は、ストレージシステムを管理する管理サーバに関する。
ブロックストレージ装置の利用効率を高めるためのブロックストレージの階層化技術がある。ブロックストレージの階層化技術では、異なる性能の複数種類の記憶装置を用いて階層型プールを形成し、その階層型プールに蓄積されている実記憶領域(実領域とも呼ぶ)を、仮想的な論理ボリュームに割り当てる。階層ストレージ技術では、論理ボリュームのデータの格納先を、そのデータに対するI/O(Input/Output)負荷に基づいて適切な性能の階層へと自動又は手動で変更する。階層ストレージ技術を利用することで、データに対して、そのデータに必要な性能の記憶装置を必要な分だけ割当てることができる。
本技術分野の背景技術として、特開2010-108341号公報(特許文献1)、特開2011-70628号公報(特許文献2)、国際公開2011/117925号公報(特許文献3)がある。
特許文献1には、性能の異なる複数種類の記憶装置が含まれるストレージシステムが記載されている。該ストレージシステムでは、複数の記憶装置を基に、複数種類のプールが構成され、複数種類のプールは、それぞれ異なるレイヤに属する。一以上の同種類の記憶装置を基に、その種類に対応した種類のプールが構成されている。ストレージシステム内のコントローラは、所定の格納先変更条件に合致した場合に、仮想ボリューム内の或る仮想ページに割り当てられている対象の第一の実ページに格納されている対象のデータの格納先を、対象の第一の実ページを有する第一種のプールとは異なる種類の第二種のプール内の未割当ての第二の実ページへ変更する格納先変更処理を行う。実ページのサイズは、プールの種類によって異なる。
また、特許文献2には、階層レベルの異なる複数の階層に分割されている物理ストレージボリュームで構成されるプールと、コントローラと、を有するストレージシステムが記載されている。該ストレージシステムでは、コントローラは、プールを複数の仮想ボリュームに割り当てる。コントローラは、ホストコンピュータ上で走行する各アプリケーションがアクセスするストレージシステム内のデータと、アプリケーションのアプリケーションIDとの関係を記憶する。ストレージボリュームの階層レベルは、ストレージボリューム内のデータにアクセスするアプリケーションに少なくとも部分的に基づいて変更される。
一方で、ファイルサーバの利用効率を高めるためのファイルサーバの階層化技術がある。ファイルサーバの階層化技術は、異なる性能の複数種類の論理ボリュームを用いてファイルシステムを形成し、ファイルをボリュームに割り当てる。ファイルとボリュームの対応関係は、ポリシーベースの階層化技術によって、自動又は手動で変更する。ポリシーには、ファイル名や作成日時などのファイルを絞り込むための条件と、配置先の論理ボリュームとが記述されている。ファイルサーバの管理プログラムは、このポリシーを参照してファイルを論理ボリュームに割り当てる。
ファイルサーバとブロックストレージの階層化技術を組み合わせて利用効率を上げようとする試みもあるが、まだ有効な技術は確立されていない。
例えば、特許文献3では、ストレージ管理システムは、ホスト計算機からのアクセス要求に、ファイルの要求レスポンス性能が付加されていたときには、ファイルの要求レスポンス性能とページに割り当てられていたプールボリュームのレスポンス性能とを比較し、比較したプールボリュームのレスポンス性能が要求レスポンス性能を満たさないときには、そのレスポンス性能が要求レスポンス性能を満たすものをプールボリュームの中から選択し、選択したプールボリュームにページを移動し、プールボリュームが割り当てられたページにデータを格納する技術が記載されている。
特許文献1及び2に記載されている従来技術は、ブロックストレージの再配置のみ考慮しており、ファイルサーバの再配置は考慮されていない。特許文献3に記載されている従来技術は、ファイルサーバ及びブロックストレージの両方を考慮しているが、ファイルシステムが複数の論理ボリュームからなり、ファイルサーバで再配置が行われる環境を想定していない。
従って、ファイルサーバによる再配置とブロックストレージによる再配置とを組み合わせることによって上位Tierの利用効率を上げることができるが、前述した従来技術を単に組み合わせてもデータを最適に配置することができない。例えば、一部へのアクセスが多いファイルにファイルサーバによる再配置を適用すると、ファイル全体を上位Tierに配置するので、上位Tierの利用効率を最適化できない場合がある。
また、管理者が、全てのファイルに関して、問題のあるファイルサーバの再配置ポリシーを見つけるのは困難である。さらに、管理者が再配置ポリシーを評価するために必要な情報である、I/Oアクセスの偏り、ホットスポットの変化などが適切に提示されない問題がある。
前述した問題を解決するためには、問題のある再配置ポリシーを管理者がわかるように提示し、さらに、再配置ポリシーの評価に必要な情報を管理者に提示することが必要である。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、管理サーバであって、メモリと、前記メモリを参照するプロセッサと、ストレージ装置又はファイルサーバと通信するためのネットワークインターフェースと、を有し、前記ストレージ装置は、所定の容量のページに区分され、前記ページにデータを格納する記憶デバイスを有し、前記ファイルサーバは、前記ストレージ装置に格納されるデータをファイル単位で管理し、前記プロセッサは、前記ファイルを構成するデータが格納されるページへの単位時間当たりのI/O回数を取得し、前記ファイルに適用されるポリシーと、当該ファイルを構成するデータの一部へのI/Oの偏りとを比較した結果、当該ファイルに適用されるポリシーを変更する必要がある場合、変更後のポリシーを出力する。
本発明の代表的な実施例によれば、ファイルサーバの階層化とブロックストレージ装置の階層化を組み合わせた環境において、記憶装置の利用効率を高めることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
以下、添付図面を参照して本発明の実施例について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態及び実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成及び構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装してもよいし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装してもよい。
なお、以後の説明では「テーブル」形式によって本発明の各情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくてもよく、リスト、DB、キュー等のデータ構造やそれ以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と称することがある。
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
以下では「プログラム」を主語(動作主体)として本発明の実施形態における各処理について説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部又は全ては専用ハードウェアで実現してもよく、また、モジュール化されていてもよい。各種プログラムは、プログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
本願において開示される発明は、ストレージ装置内の記憶装置の使用状況を最適化するストレージ管理技術に関し、特に、ファイルサーバによる階層化技術及びブロックストレージによる階層化技術を組み合わせて使用する環境において有効である。
<実施例1>
第1実施例では、ファイルサーバが、ストレージ装置上に構築され、性能が異なる複数の記憶階層を有する複数のプールから割り当てられた仮想ボリュームを有する。管理サーバは、ファイルサーバのポリシー設定情報113と、ページのアクセス数とに基づいて、問題があるポリシーを判別してユーザに提示する例を説明する。
第1実施例では、ファイルサーバが、ストレージ装置上に構築され、性能が異なる複数の記憶階層を有する複数のプールから割り当てられた仮想ボリュームを有する。管理サーバは、ファイルサーバのポリシー設定情報113と、ページのアクセス数とに基づいて、問題があるポリシーを判別してユーザに提示する例を説明する。
図1は、第1実施例における計算機システムの構成を示す図である。
計算機システムは、ファイルサーバ100と、管理サーバ200と、ストレージ装置300とを有する。ファイルサーバ100とストレージ装置300とは、SAN(Storage Area Network)400によって接続されている。また、ファイルサーバ100、管理サーバ200、及びストレージ装置300は、LAN(Local Area Network)500によって接続されている。
ファイルサーバ100は、図示を省略するサーバ(例えば、Webサーバ)のバックエンドに設置され、該サーバにファイルシステム121を提供する。また、ファイルサーバ100は、図示を省略する端末にファイルシステム121を提供してもよい。
ファイルシステム121が提供するファイル122は、ストレージ装置300から提供される論理ボリューム123に格納する。論理ボリューム123の性能には違いがあり、レスポンス性能が良い論理ボリュームA123と、レスポンス性能が悪い論理ボリュームB124とによって構成される。ファイル管理プログラム111は、ポリシー設定情報113(図12参照)から読み込んだファイル再配置ポリシーに従って、論理ボリュームA123と論理ボリュームB124との間で、ファイルを再配置する。
ファイルサーバ100の構成の詳細は、図2を用いて後述する。
ストレージ装置300は、ストレージ管理プログラム321によって、仮想ボリューム331、332を提供する。仮想ボリューム331、332、ストレージプール333、334及びプールボリューム335、336については、図5を用いて後述する。
ストレージ装置300の構成の詳細は、図3を用いて後述する。
(i) ファイルサーバ
図2は、ファイルサーバ100のハードウェア構成を示す図である。
図2は、ファイルサーバ100のハードウェア構成を示す図である。
ファイルサーバ100は、プロセッサ(CPU)101と、メモリ102と、SANポート103と、LANポート104とを有する。CPU101と、メモリ102と、SANポート103と、LANポート104とは、バス105によって接続されている。SANポート103は、ファイルサーバ100をSAN400に接続する。LANポート104は、ファイルサーバ100をLAN500に接続する。
CPU101は、メモリ102に格納されているファイル管理プログラム111と、ファイル再配置制御プログラム112と、を実行することによって、各種処理を行う。
メモリ102は、ファイル管理プログラム111と、ファイル再配置制御プログラム112(図13参照)と、を格納する。また、メモリ102は、ファイル管理プログラム111とファイル再配置制御プログラム112とをCPU101が実行する際に必要な情報を格納する。例えば、メモリ102は、ポリシー設定情報113(図12参照)と、ファイルサーバ構成情報114(図11参照)と、ファイル管理情報115(図10参照)と、を格納する。ファイル再配置制御プログラム112は、例えば、定期的に(例えば、10分に1回などの所定の時間間隔で)、ファイル再配置制御処理を行う。
(ii)管理サーバ
図4は、管理サーバ200のハードウェア構成を示す図である。
図4は、管理サーバ200のハードウェア構成を示す図である。
管理サーバ200は、プロセッサ(CPU)201と、メモリ202と、補助記憶装置203と、LANポート204と、を有する。CPU201と、メモリ202と、補助記憶装置203と、LANポート204とは、バス205によって接続されている。LANポート204は、管理サーバ200をLAN500に接続する。
CPU201は、メモリ202に格納されている、問題のあるポリシー検索プログラム211と、ページアクセスの偏り取得プログラム212と、を実行することによって、各種処理を行う。
メモリ202は、問題のあるポリシー検索プログラム211と、ページアクセスの偏り取得プログラム212と、を格納する。また、メモリ202は、問題のあるポリシー検索プログラム211とページアクセスの偏り取得プログラム212とをCPU201が実行する際に必要な情報を格納する。例えば、メモリ202は、問題のあるポリシー管理情報213(図15参照)と、ページアクセスの偏り(ファイル別)情報214(図16参照)と、特徴量と閾値情報215(図17参照)と、仮想ボリューム管理情報(管理用)216(図20参照)と、を格納する。
問題のあるポリシー検索プログラム211は、例えば、ファイルサーバ100が保持するポリシー設定情報113を取得し、問題のあるポリシー検索処理を実行して問題のあるポリシー管理情報213を作成するプログラムである。また、問題のあるポリシー検索プログラム211は、ページアクセスの偏り取得プログラム212を呼び出してページアクセスの偏りを取得する。各処理の詳細については後述する。
ページアクセスの偏り取得プログラム212は、対象ファイルのページアクセスの偏りを取得する処理と、取得したページアクセスの偏りをページアクセスの偏り(ファイル別)時系列情報222に格納する処理と、ソート済みアクセス数とアクセス数の総和Sとからページアクセスの偏りを取得する処理と、対象ポリシーが対象としている全ファイルの特徴量から平均値を取得する処理と、取得した平均値をページアクセスの偏り(ポリシー別)時系列情報221に格納する処理と、を行う。
補助記憶装置203は、ページアクセスの偏り取得プログラム212が収集及び管理する情報を格納する。例えば、補助記憶装置203は、ページアクセスの偏り(ポリシー別)時系列情報221(図18参照)と、ページアクセスの偏り(ファイル別)時系列情報222(図19参照)と、を格納する。なお、補助記憶装置203は、図中では一つの記憶装置で構成されているが、複数の記憶装置で構成されてもよい。補助記憶装置203は、例えば、SATAディスク、FCディスク、SSD等によって構成することができる。
なお、管理サーバ200は、図示を省略するが、入力装置及び表示装置(出力装置)を有してもよい。また、入力装置及び出力装置の代わりに、シリアルインターフェースやイーサーネットインターフェースに、表示装置(ディスプレイ)及び入力装置(キーボード、ポインタデバイス)を有する端末装置を接続してもよい。この場合、管理サーバ200は、表示画面を端末装置に送信し、入力されたデータを端末装置から受信する。
以後、計算機システムを管理し、本実施例で表示用情報を表示する一つ以上の計算機の集合を管理システムと称することがある。すなわち、管理システムは、表示用情報を表示する場合は一つの管理サーバ200でもよい。また、管理サーバ200と別に表示用情報を表示する管理端末を設けてもよい。この場合、管理サーバ200と管理端末との組み合わせが管理システムである。管理端末は、表示用情報を表示するプログラム(例えば、webブラウザ)を実行するものでも、管理サーバ200から出力された情報を解析して、表示する表示用情報を表示するプログラム(例えば、専用アプリケーション)を実行するものでもよい。また、管理処理の高速化や高信頼化のために複数の計算機で管理サーバ200の機能を実現してもよい、この場合は当該複数の計算機(表示を表示用計算機が行う場合は管理端末を含む)が管理システムである。
(iii) ストレージ装置
図3は、ストレージ装置300のハードウェア構成を示す図である。
図3は、ストレージ装置300のハードウェア構成を示す図である。
ストレージ装置300は、プロセッサ(CPU)301と、メモリ302と、少なくとも一つの物理記憶装置303と、SANポート304と、LANポート305と、ディスクインタフェース306と、を有する。CPU301と、メモリ302と、物理記憶装置303と、SANポート304と、LANポート305と、ディスクインタフェース306とは、バス307によって接続されている。SAN304ポートは、ストレージ装置300をSAN400に接続する。LANポート305は、ストレージ装置300をLAN500に接続する。
CPU301は、メモリ302に格納されているストレージ管理プログラム311を実行することによって、各種処理を行う。
メモリ302は、ストレージ管理プログラム311と、再配置制御プログラム312(図9参照)と、ストレージ管理プログラム311と再配置制御プログラム312とをCPU301が実行する際に必要な情報と、を格納する。例えば、メモリ302は、RAIDグループ管理情報313(図6参照)と、実領域管理情報314(図7参照)と、仮想ボリューム管理情報315(図8参照)と、を格納する。ストレージ管理プログラム311は、例えば、ストレージ装置300が論理的に提供する論理ボリュームを構築する処理を実行する。
物理記憶装置303は、記憶領域として扱われる物理記憶領域を提供する。物理記憶装置303は、例えば、SATAディスク、FCディスク、SSD等である。
<論理記憶領域の構成例>
図5は、ファイルサーバ100及びストレージ装置300の論理的な構成を示す図である。
図5は、ファイルサーバ100及びストレージ装置300の論理的な構成を示す図である。
ストレージ管理プログラム311は、複数の物理記憶装置303から論理記憶領域を構築する機能を有する。例えば、ストレージ管理プログラム311は、RAIDグループ、論理ボリューム、ストレージプール、及び仮想ボリュームのような論理記憶領域を構築することができる。以下、各論理記憶領域について詳述する。
RAIDグループは、複数の物理記憶装置303から構成された論理記憶領域、すなわち、RAID(Redundant Arrays of Inexpensive Disks)であり、ストレージ管理プログラム311によって構築される。例えば、ストレージ管理プログラム311は、複数の物理記憶装置303の何れにRAIDグループを構成するかについての指示、及びRAIDレベルの指示を、入力パラメータとして管理サーバ200から受け付けると、指定されたRAIDレベルを持つRAIDグループを物理記憶装置303から構築する。RAIDグループは、様々なサイズで構築することができ、様々なサイズのRAIDグループを混在して設定することができる。
論理ディスクは、RAIDグループ内の論理記憶領域であり、ストレージ管理プログラム311によって構築される。例えば、ストレージ管理プログラム311は、管理サーバから作成元RAIDグループ及び作成する論理ディスクのサイズを、入力値として受け付けると、指定されたRAIDグループから指定されたサイズを持つ論理ディスクを構成することができる。
ストレージプール333、334は、複数の論理ディスクから構成された論理記憶領域であり、ストレージ管理プログラム311によって構築される。例えば、ストレージ管理プログラム311は、管理サーバ200からプールを構成すべき複数の論理ボリュームを入力値として受け付け、指定された複数の論理ボリュームからストレージプール333、334を構築する。以下、ストレージプール333、334を構成する論理ディスクを、プールボリュームと称し、図中ではプールボリュームと記載する。
実領域(SEG)は、ストレージプールを構成する一つ又は複数の論理記憶領域で構成される記憶領域であり、ストレージ管理プログラム311によって構築される。SEGを説明する際には「ページ」という表現を用いることが可能である。なお、SEGに格納されるデータは、当該ページを構成するストレージプールを介し、当該ストレージプールを構成する論理ディスクへ格納される。
仮想ボリューム331、332は、ストレージ管理プログラム311によって複数の仮想領域(VSEG)から構築された論理記憶領域であり、実容量以上の容量を持つ仮想ボリュームとしてファイルサーバ100に提供される。例えば、ストレージ管理プログラム311は、管理サーバ200から仮想論理ボリュームの容量を入力値として受け付けると、指定された容量を持つ仮想ボリュームを複数のSEGから構築する。また、ストレージ管理プログラム311は、実容量以上の容量を有するボリュームである仮想ボリューム331、332を論理ボリューム123、124としてファイルサーバ100に提供する。なお、図5では、論理ボリュームと仮想ボリュームとは1対1で対応付けられているが、1対多で対応付けても、多対1で対応付けてもよい。
各仮想ボリューム331、332は、ストレージプール333、334に関連付けられている。例えば、ファイルサーバ100から仮想ボリュームA331内のVSEG1にデータが書き込まれる場合、ストレージプール333から選択されたSEG2が仮想ボリューム331に割り当てられる。ファイルサーバ100からのデータは、割り当てられたSEG2に書き込まれる。
ストレージプール333、334は、性能が異なる複数の記憶階層を有する。例えば、ストレージプール333は、第1階層(Tier1)及び第2階層(Tier2)を有し、ストレージプール334は、第2階層(Tier2)及び第3階層(Tier3)を有する。
第1階層は、最も高性能の記憶装置内の実領域から構成される。第1階層は、上位階層と称することもできる。第2階層は、中程度の性能の記憶装置内の実領域から構成される。第2階層は、中位階層と称することもできる。第3階層は、低性能の記憶装置の実領域から構成される。第3階層は、下位階層と称することもできる。さらに、以降の説明では、第1階層と第2階層を合わせて、上位Tierと称することがある。
ファイルサーバ100が、仮想ボリューム内の未割り当ての仮想領域にデータを書き込む場合、ストレージ管理プログラム311は、ストレージプール内の何れかの階層に属する実領域を選択し、書き込み対象の仮想領域VSEGに選択された実領域を割り当てる。そして、ファイルサーバ100からのライトデータが、選択された実領域に書き込まれる。
再配置制御プログラム312は、その実領域へのアクセスに関する情報(仮想領域へのアクセスに関する情報と言い換えてもよい)に基づいて、定期的又は不定期に、仮想ボリュームに割り当てられた実領域を別の階層の実領域に変更する。
例えば、再配置制御プログラム312は、アクセス頻度(単位時間当たりのI/O回数)が高い仮想領域に格納されているデータを高性能な階層(上位Tier)に格納するように移動する。一方、アクセス頻度が低い仮想領域のデータを低性能な階層(下位Tier)に格納するように移動する。これにより、アクセス頻度が高いデータの応答時間を短縮することができる。さらに、アクセス頻度が低いデータを高性能な階層から低性能な階層に移動するため、高性能な階層を効率的に使用することができる。
ストレージ装置300の外部からデータの階層再配置は隠ぺいされる。例えば、階層再配置が実行された後もファイルサーバ100はストレージ装置300の同じVSEGにアクセスすることによって、階層再配置前と同じデータにアクセスすることができる。
<ストレージ装置の処理の概要>
ストレージ管理プログラム311は、前述した論理記憶領域を構成する機能(論理記憶領域構成機能)と、仮想ボリュームをファイルサーバ100に割り当てる機能(仮想ボリューム割り当て機能)と、ファイルサーバ100からのI/O命令に従って仮想ボリュームにSEGを割り当てる機能(仮想ボリューム拡張機能)と、を提供する。また、ストレージ管理プログラム311は、管理サーバ200からLANを経由した要求に従って管理情報を送信する機能を提供する。
ストレージ管理プログラム311は、前述した論理記憶領域を構成する機能(論理記憶領域構成機能)と、仮想ボリュームをファイルサーバ100に割り当てる機能(仮想ボリューム割り当て機能)と、ファイルサーバ100からのI/O命令に従って仮想ボリュームにSEGを割り当てる機能(仮想ボリューム拡張機能)と、を提供する。また、ストレージ管理プログラム311は、管理サーバ200からLANを経由した要求に従って管理情報を送信する機能を提供する。
再配置制御プログラム312は、VSEGのアクセス頻度に基づいて、VSEGとSEGの対応を変更する。
<各管理情報の構成例>
以下、ストレージ装置300に格納されている管理情報について説明する。ストレージ装置300は、RAIDグループ管理情報313と、実領域管理情報314と、仮想ボリューム管理情報315とをメモリ302に格納する。
以下、ストレージ装置300に格納されている管理情報について説明する。ストレージ装置300は、RAIDグループ管理情報313と、実領域管理情報314と、仮想ボリューム管理情報315とをメモリ302に格納する。
(i) RAIDグループ管理情報
図6は、RAIDグループの情報を管理するためのRAIDグループ管理情報313の構成例を示す図である。
図6は、RAIDグループの情報を管理するためのRAIDグループ管理情報313の構成例を示す図である。
RAIDグループ管理情報313は、RAIDグループID3131と、デバイスタイプ3132と、RAIDレベル3133と、記憶装置ID3134と、を対応付けて管理する。
RAIDグループID3131は、RAIDグループを一意に特定し、識別するための識別子である。デバイスタイプ3132は、RAIDグループを構成する物理記憶装置303の種類を示す情報である。RAIDレベル3133は、RAIDグループのRAIDレベル及びコンビネーションを示す情報である。記憶装置ID3134は、RAIDグループを構成する物理記憶装置303を識別するための識別情報である。なお、図中では、物理記憶装置303を「PDEV」と略記する場合がある。
以下に述べる各テーブル(情報)でも同様であるが、図示されたテーブルが含む項目の一部を他の項目に変更したり、新たな項目を追加したりしてもよい。さらに、一つのテーブルを複数のテーブルに分割してもよい。
(ii)実領域管理情報
図7は、実領域の情報を管理するための実領域管理情報314の構成例を示す図である。
図7は、実領域の情報を管理するための実領域管理情報314の構成例を示す図である。
実領域管理情報314は、RAIDグループID3141と、実領域ID3142と、LBA範囲3143と、割当状況3144と、を対応付けて管理する。
RAIDグループID3141は、RAIDグループを一意に特定し、識別するための識別情報である。実領域ID3142は、実領域(SEG)を識別するための識別情報である。LBA範囲3143は、実領域に対応する、RAIDグループのLBA(Logical Block Addressing)の範囲である。割当状況3144は、実領域が仮想ボリュームに割当て済みかを示す情報である。
(iii) 仮想ボリューム管理情報
図8は、仮想ボリュームを管理するための仮想ボリューム管理情報315の構成例を示す図である。
図8は、仮想ボリュームを管理するための仮想ボリューム管理情報315の構成例を示す図である。
仮想ボリューム管理情報315は、仮想ボリューム内の各仮想領域と、その仮想領域に割り当てられている実領域とに関する情報を含む。仮想ボリューム管理情報315は、仮想ボリュームID3151と、仮想領域ID3152と、LBA範囲3153と、実領域ID3154と、アクセス数3155と、監視期間3156と、再配置先判定結果3157と、を対応付けて管理する。
仮想ボリュームID(VVOL-ID)3151は、仮想ボリュームを一意に特定し、識別するための識別情報であり、ファイルサーバ100が指定する識別子ではなく、ストレージ装置300の内部で認識される識別子である。仮想領域ID3152は、仮想領域(VSEG)を識別するための識別情報である。
LBA範囲3135は、仮想領域(VSEG)に対応する仮想ボリュームのLBAの範囲である。実領域ID3154は、仮想ボリューム内の仮想領域に割り当てられている実領域を識別するための識別情報である。
アクセス数3155は、仮想ボリューム内の仮想領域(VSEG)に対する、ファイルサーバ100からのアクセス数(累計のI/O数)である。監視期間3156は、仮想領域(VSEG)に対するアクセス数を監視する期間である。ストレージ装置300は、監視期間3156に設定された時間範囲内でアクセス回数を監視する。監視期間3156に特定の時間帯を示す値が設定されていない場合、ストレージ装置300は、常時、アクセス数を監視する。ストレージ装置300は、アクセス数の監視を開始するタイミングで、アクセス数の値を0にリセットする。監視期間における監視結果を保存しない場合、一定期間(例えば、24時間)毎にアクセス数の値を0にリセットする。監視期間は、予め固定値として設定してもよく、管理サーバ200から任意の値を設定してもよい。
再配置先判定結果3157は、再配置処理によって判定された、データ再配置先の階層を示す情報である。
図9は、ブロックストレージのデータ再配置処理のフローチャートである。データ再配置処理は、ストレージ装置300の再配置制御プログラム312が実行する。
まず、ストレージ装置300は、全ての仮想領域(VSEG)をアクセス頻度(例えば、IOPS)が高い順に、ステップS102からS107の処理を繰り返し行う(S111)。
ループ内では、各VSEGの現在の配置(実領域ID3154)及び再配置先判定結果3157を仮想ボリューム管理情報315から取得し、現在の配置と再配置先とを比較する(S102)。比較の結果、現在の配置と再配置先とが同じ階層である場合、データの再配置は不要なので、データ再配置処理を終了する。一方、現在の配置と再配置先とが異なる階層である場合、ステップS103からの再配置を実行する。
その後、再配置先に空き領域があるかを判定する(S103)。判定の結果、再配置先に空き領域がある場合、空き領域にデータを移行する(S104)。
一方、再配置先に空き領域がない場合、再配置先に入れ替え可能な領域があるかを判定する(S105)。判定の結果、下位階層に配置してもよいデータが再配置先に格納されている場合、再配置先に入れ替え可能な領域があると判定し、再配置先から追い出すことができるデータを下位階層に格納し、空き領域を作る(S106)。一方、入れ替え可能な領域がない場合、再配置先に最も近い性能を有する他の階層を探し、探された他の階層にVSEGのデータを移行する(S107)。
次に、ファイルサーバ100の構成について説明する。
<ファイルサーバの論理構成>
ファイル管理プログラム111は、ファイル管理情報115及びファイルサーバ構成情報114からファイルシステム121を構成する機能と、ファイルのページと論理ボリュームのVSEGを対応付ける機能と、を提供する。
ファイル管理プログラム111は、ファイル管理情報115及びファイルサーバ構成情報114からファイルシステム121を構成する機能と、ファイルのページと論理ボリュームのVSEGを対応付ける機能と、を提供する。
ファイル再配置制御プログラム112は、ポリシー設定情報113及びファイル管理情報115から対象ファイルの配置先を取得し、ファイルを再配置する機能を提供する。
(i) ファイル管理情報
図10は、ファイルを管理するためのファイル管理情報115の構成例を示す図である。
図10は、ファイルを管理するためのファイル管理情報115の構成例を示す図である。
ファイル管理情報115は、ファイル長1151と、デバイスID1152と、ユーザID1153と、ノードID1154と、ファイルモード1155と、最終更新日時1156と、最終参照日時1157と、を対応付けて管理する。
ファイル長1151は、ファイルの長さ(バイト数)である。デバイスID1152は、ファイル格納先の論理ボリュームを一意に識別するための識別情報である。ユーザID1153は、ファイル所有者を示す情報である。ノードID1154は、ファイルシステム内でファイルを一意に識別するための識別情報である。ファイルモード1155は、ファイルのアクセス権限(例えば、書き込み、読み込み、実行など)を示す情報である。最終更新日時1156は、ファイルを最後に更新した日時である。最終参照日時1157は、ファイルを最後に参照した日時である。
ファイル管理情報115は、ファイルへのアクセスによって更新される。ファイル管理情報115は、前述した以外にも、ファイルの特性を表す情報を含んでもよい。
(ii)ファイルサーバ構成情報(図11)
図11は、ファイルサーバ100の構成を管理するためのファイルサーバ構成情報114の構成例を示す図である。
図11は、ファイルサーバ100の構成を管理するためのファイルサーバ構成情報114の構成例を示す図である。
ファイルサーバ構成情報114は、論理ボリュームID1141と、仮想ボリュームID1142と、を対応付けて管理する。
論理ボリュームID1141は、ファイルサーバ100の論理ボリュームを一意に識別するための識別情報である。仮想ボリュームID1142は、論理ボリュームに対応する、ストレージ装置300の仮想ボリューム一意に識別するための識別情報である。
後述するファイルを再配置する制御には、少なくとも二つの論理ボリュームを使用する。
(iii) ポリシー設定情報(図12)
図12は、ファイル再配置制御に使用するポリシーを管理するためのポリシー設定情報113の構成例を示す図である。
図12は、ファイル再配置制御に使用するポリシーを管理するためのポリシー設定情報113の構成例を示す図である。
ポリシー設定情報113は、ポリシーID1131と、検索条件1132と、現在の設定1133と、変更不要チェック1134と、再配置先1135と、再配置条件1136と、を対応付けて管理する。
ポリシーID1131は、ポリシーを一意に識別するための識別情報である。検索条件1132は、ポリシーが適用されるべきファイル条件である。検索条件1132は、ファイル名を指定する方法だけでなく、ファイルのメタデータ(例えば、作成者、作成日時)を条件としてもよい。現在の設定1133は、ポリシーごとの再配置されるべきファイルの設定を示す情報であり、例えば、ファイルに任せる(ファイル再配置を実行する)、ブロックに任せる(ファイル再配置を実行せず、論理ボリュームを固定する)などの設定がある。
変更不要チェック1134は、問題のあるポリシーとしてポリシー管理画面(図25参照)に表示するかを制御するためのフラグであり、ポリシー管理画面からユーザが入力する。すなわち、変更不要チェック1134がfalseに設定されていれば、問題のあるポリシーとしてポリシー管理画面に表示されないので、ファイルの配置先は変更されない。再配置先1135は、再配置条件を満たした場合にファイルの再配置先となる論理ボリュームの識別情報である。再配置条件1136は、ファイルの再配置を行う設定をした場合、ファイル再配置制御プログラム112が、再配置を行う条件であり、再配置先ごと設定される。すなわち、検索条件1132に合致するファイルが再配置条件1136を満たしている場合、当該ファイルを再配置先1135に配置する。
ポリシー設定情報113の各項目は、予め固定値として設定してもよく、管理サーバから任意の値を設定してもよい。例えば、再配置条件には、デフォルト値としてI/Oアクセスが1回でもあった場合に高性能な論理ボリュームに配置し、I/Oアクセスが14日間無い場合に低性能な論理ボリュームに配置するという設定をすることができる。また、ファイル管理情報115に格納されている情報を使用して、再配置条件を作成してもよい。
<ファイルサーバによる処理>
図13は、ファイル再配置制御処理のフローチャートである。再配置制御処理は、ファイルサーバ100のファイル再配置制御プログラム112が実行する。
図13は、ファイル再配置制御処理のフローチャートである。再配置制御処理は、ファイルサーバ100のファイル再配置制御プログラム112が実行する。
まず、ファイルサーバ100は、ポリシー設定情報113から全てのポリシーを取得する。そして、取得した各ポリシーについてステップS112からS119の処理を繰り返し行う(S111)。
外ループ内では、取得した各ポリシーの検索条件を使用してファイルシステム121を検索し、ポリシーが適用されるべきファイルの一覧を取得する(S112)。そして、取得した一覧に含まれる各ファイルについてステップS114からS119の処理を繰り返し行う(S113)。
内ループ内では、各ファイルの再配置先をポリシー設定情報113から取得する(S114)。ステップS114の処理の詳細は、図14を用いて後述する。さらに、各ファイルの現在の配置をファイルシステム構成情報(図示省略)から取得する。そして、現在の配置と再配置先とを比較し(S115)、現在の配置と再配置先とが同じ階層である場合、ファイルの再配置は不要なので、ファイル再配置処理を終了する。一方、現在の配置と再配置先とが異なる階層である場合、ステップS116からの再配置を実行する。
その後、再配置先に空き領域があるかを判定する(S116)。判定の結果、再配置先に空き領域がある場合、空き領域にファイルを移行する(S117)。
一方、配置先に空き領域がない場合、再配置先に入れ替え可能な領域があるかを判定する(S118)。判定の結果、下位階層に配置してもよいファイルが再配置先に格納されている場合、再配置先に入れ替え可能な領域があると判定し、再配置先から追い出すことができるファイルを下位階層に格納し、空き領域を作る(S119)。一方、入れ替え可能な領域がない場合、このファイルは再配置できないので、ファイル再配置処理を終了する。なお、入れ替え可能な領域がない場合、再配置先に最も近い性能を有する他の階層を探し、探された他の階層にファイルを移行してもよい。
図14は、ファイルの再配置先を取得する処理のフローチャートであり、ステップS114の処理の詳細を示す。
まず、ファイルサーバ100は、対象ポリシーの再配置条件1136と再配置先1135との組を、ポリシー設定情報113から取得する。そして、取得した各組についてステップS123からS126の処理を繰り返し行う(S122)。
ループ内では全ての組について、対象ファイルが再配置条件を満たしているかを判定する(S123)。
対象ファイルが再配置条件を満たしている場合、再配置先を対象ファイルの配置先とする(S125)。一方、対象ファイルがいずれの再配置条件も満たさない場合、対象ファイルの配置先は現在の配置と同じとする(S126)。
ファイルサーバ100の外部から階層再配置は隠ぺいされる。例えば、階層再配置が実行された後も、ファイルの使用者はファイルの配置先を気にすることなく、再配置前と同じファイルにアクセスすることができる。
次に、管理サーバ200の構成について説明する。
<管理サーバの論理構成>
まず、図4を用いて、管理サーバ200のメモリ202及び補助記憶装置203の論理構成の例を説明する。
まず、図4を用いて、管理サーバ200のメモリ202及び補助記憶装置203の論理構成の例を説明する。
前述したように、メモリ202は、問題のあるポリシー検索プログラム211と、ページアクセスの偏り取得プログラム212と、問題のあるポリシー管理情報213と、ページアクセスの偏り(ファイル別)情報214と、特徴量と閾値情報215と、仮想ボリューム管理情報(管理用)216と、を格納する。また、補助記憶装置203は、ページアクセスの偏り(ポリシー別)時系列情報221と、ページアクセスの偏り(ファイル別)時系列情報222と、を格納する。
(i) 問題のあるポリシー管理情報
図15は、ユーザに問題のあるポリシーを提示するために用いられる、問題のあるポリシー管理情報213の構成例を示す図である。
図15は、ユーザに問題のあるポリシーを提示するために用いられる、問題のあるポリシー管理情報213の構成例を示す図である。
問題のあるポリシー管理情報213は、ポリシーID2131と、推奨設定2132と、現在の設定2133と、変更不要チェック2134と、を対応付けて管理する。
ポリシーID2131は、ポリシーを一意に識別するための識別情報である。推奨設定2132は、管理サーバが推奨する設定を示す情報である。現在の設定2133は、ポリシーの現在の設定を示す情報である。変更不要チェック2134は、ユーザが変更不要の入力を行ったかどうかを示す情報である。
(ii)ページアクセスの偏り(ファイル別)情報
図16は、ページアクセスの偏り(ファイル別)情報214の構成例を示す図である。
図16は、ページアクセスの偏り(ファイル別)情報214の構成例を示す図である。
ページアクセスの偏り(ファイル別)情報214は、ファイルID2141と、ページアクセスの偏り2142と、を対応付けて管理する。
ファイルID2141は、ファイルを一意に識別するための識別情報である。ページアクセスの偏り2142は、ページアクセスの偏り取得プログラム212が取得した、ファイル内でページアクセスが偏っているかを示す値である。
(iii) 特徴量と閾値情報
図17は、問題のあるポリシー検索プログラム211が推奨設定を取得するために用いられる、特徴量と閾値情報215の構成例を示す図である。
図17は、問題のあるポリシー検索プログラム211が推奨設定を取得するために用いられる、特徴量と閾値情報215の構成例を示す図である。
特徴量と閾値情報215は、特徴量ID2151と、閾値2152と、閾値以上の時の推奨設定2153と、閾値未満の時の推奨設定2154と、を対応付けて管理する。
特徴量ID2151は、特徴量を一意に識別するための識別情報である。特徴量は、例えば、ページアクセスの偏りと、ホットスポットの変化と、がある。これらの以外にも、ファイルの特徴を表す値を特徴量としてもよい。閾値2152は、推奨設定2153と推奨設定2154とを切り替えるための閾値である。閾値以上の時の推奨設定2153は、特徴量が閾値以上である場合に推奨される設定である。閾値未満の時の推奨設定2154は、特徴量が閾値未満である場合に推奨される設定である。
(iv)ページアクセスの偏り(ポリシー別)時系列情報
図18は、ユーザに問題のあるポリシーを提示するために用いられる、ページアクセスの偏り(ポリシー別)時系列情報221の構成例を示す図である。
図18は、ユーザに問題のあるポリシーを提示するために用いられる、ページアクセスの偏り(ポリシー別)時系列情報221の構成例を示す図である。
ページアクセスの偏り(ポリシー別)時系列情報221は、日時2211と、ポリシーID2212と、ページアクセスの偏り2213と、を対応付けて管理する。
日時2211は、ページアクセスの偏りを取得した日時である。ポリシーID2212は、ポリシーを一意に識別するための識別情報である。ページアクセスの偏り2213は、ページアクセスの偏り取得プログラム212が取得した、ファイル内でページアクセスが偏っているかを示す値である。
(v) ページアクセスの偏り(ファイル別)時系列情報
図19は、ユーザに問題のあるポリシーを提示するために用いられる、ページアクセスの偏り(ファイル別)時系列情報222の構成例を示す図である。
図19は、ユーザに問題のあるポリシーを提示するために用いられる、ページアクセスの偏り(ファイル別)時系列情報222の構成例を示す図である。
ページアクセスの偏り(ファイル別)時系列情報222は、日時2221と、ファイルID2222と、ページアクセスの偏り2223と、を対応付けて管理する。
日時2221は、ページアクセスの偏りを取得した日時である。ファイルID2222は、ファイルを一意に識別するための識別情報である。ページアクセスの偏り2223は、ページアクセスの偏り取得プログラム212が取得した、ファイル内でページアクセスが偏っているかを示す値である。
(vi)仮想ボリューム管理情報(管理用)
図20は、管理サーバ200が仮想ボリュームを管理するための仮想ボリューム管理情報(管理用)216の構成例を示す図である。
図20は、管理サーバ200が仮想ボリュームを管理するための仮想ボリューム管理情報(管理用)216の構成例を示す図である。
仮想ボリューム管理情報(管理用)216は、仮想ボリュームID2161と、ページID2162と、仮想領域ID2163と、LBA範囲2164と、実領域ID2165と、アクセス数2166と、監視期間2167と、再配置先判定結果2168と、を対応付けて管理する。
ページID2162は、ページ(実領域)を一意に識別するための識別情報である。ページID2162以外の項目である、仮想ボリュームID2161と、仮想領域ID2163と、LBA範囲2164と、実領域ID2165と、アクセス数2166と、監視期間2167と、再配置先判定結果2168とは、各々、仮想ボリューム管理情報315の仮想ボリュームID3151と、仮想領域ID3152と、LBA範囲3153と、実領域ID3154と、アクセス数3155と、監視期間3156と、再配置先判定結果3157と、同じである。
管理サーバ200は、繰り返し(例えば、1分に1回などの所定の時間間隔)、ファイルサーバ100のから実領域IDとVSEGとの対応関係を取得し、ストレージ装置300から仮想ボリューム管理情報315を取得する。管理サーバ200は、取得結果を仮想ボリューム管理情報(管理用)216に格納する。
<管理サーバによる処理>
図21は、問題のあるポリシー検索処理のフローチャートである。問題のあるポリシー検索処理は、問題のあるポリシー検索プログラム211が繰り返し(例えば、所定の時間間隔で)実行する。
図21は、問題のあるポリシー検索処理のフローチャートである。問題のあるポリシー検索処理は、問題のあるポリシー検索プログラム211が繰り返し(例えば、所定の時間間隔で)実行する。
まず、管理サーバ200は、ファイルサーバ100のポリシー設定情報113に保持されている全てのポリシーを取得する(S131)。そして、取得したポリシーについてステップS133からS143の処理を繰り返し行う(S132)。
ループ内では、取得したポリシーのページアクセスの偏りの平均値を取得する(S133)。ページアクセスの偏りの取得は、ページアクセスの偏り取得プログラム212が実行する処理で、図22を用いて詳述する。
その後、閾値2152と、閾値以上の時の推奨設定2153と、閾値未満の時の推奨設定2154とを、特徴量と閾値情報215から取得する(S134)。そして、ステップS133取得した平均値と、ステップS134で取得した閾値とを比較し(S135)、平均値が閾値以上である場合、閾値以上の時の推奨設定を採用する(S137)。一方、平均値が閾値より小さい場合、閾値未満の時の推奨設定を採用する(S138)。
その後、ポリシーの現在の設定をポリシー設定情報113から取得し(S139)、採用された推奨設定とを比較する(S140)。比較の結果、現在の設定と推奨設定とが同じである場合、現在のポリシーには問題がないので(S142)、次のポリシーを処理する。なお、現在のポリシーがポリシー管理情報213に記録されていれば、ポリシー管理情報213から削除するとよい。一方、現在の設定と推奨設定とが異なる場合、現在のポリシーには問題があるので、問題のあるポリシー管理情報213に記録する(S143)。このとき、変更不要チェック2134にfalseを格納する。
なお、問題のあるポリシー管理情報213に記録されているレコードは、ユーザがポリシーを変更したタイミングで削除してもよい。ステップS142で問題のあるポリシー管理情報213に記録されているレコードを削除する場合、次に実行される検索処理でポリシーに問題がないと判定されると、問題のあるポリシー管理情報213からレコードが削除されることになる。
図22は、ページアクセスの偏り取得処理のフローチャートであり、ステップS133の処理の詳細を示す。ページアクセスの偏り取得処理は、ページアクセスの偏り取得プログラム212が実行する。
まず、管理サーバ200は、ファイルサーバ100から、対象ポリシーが適用されるべきファイルの一覧を取得する(S151)。そして、取得した一覧に含まれる全てのファイルについてステップS153からS156の処理を繰り返し行う(S152)。
ループ内では、対象ファイルの特徴量を取得する(S153)。第1実施例において、ファイルの特徴量はページアクセスの偏りである。特徴量を取得する処理の詳細は、図23を用いて後述する。そして、取得したページアクセスの偏りをページアクセスの偏り(ファイル別)時系列情報222に格納する(S154)。
全ファイルのページアクセスの偏りを取得した後、対象ポリシーが適用されるべき全てのファイルのページアクセスの偏りの平均値を計算し(S155)、計算された平均値をページアクセスの偏り(ポリシー別)時系列情報221に格納する(S156)。
ここで、ステップS155におけるページアクセスの偏りの平均値の計算方法の例について説明する。管理サーバは、総和を表す変数(例えば、sum)を0に初期化する。次に、対象ポリシーが適用されるべき全てのファイルのページアクセスの偏り2223をページアクセスの偏り(ファイル別)時系列情報222から取得し、変数sumに加算する。全ファイルについて処理が終了した後、変数sumをファイル数で除算して、平均値を計算する。
図23は、ファイルのページアクセスの偏りを取得する処理のフローチャートであり、ステップS153の処理の詳細を示す。ファイルのページアクセスの偏り取得処理は、ページアクセスの偏り取得プログラム212が実行する。
まず、管理サーバ200は、ファイルが使用しているページ(実領域)の一覧をファイルサーバ100から取得する。そして、取得した一覧に含まれる全てのページについてステップS162の処理を繰り返し行う(S161)。ループ内では、各ページのアクセス数を仮想ボリューム管理情報(管理用)216から取得する(S162)。
全てのページのアクセス数を取得した後、ファイルが使用しているページのアクセス数の総和Sを計算する(S163)。ファイルのアクセス数及びページのアクセス数の総和Sから、ページアクセスの偏りを計算する(S164)。ページアクセスの偏りを計算する処理の詳細は、図24を用いて後述する。計算したページアクセスの偏りを、ページアクセスの偏り(ファイル別)情報214に格納する(S165)。
図24は、アクセス数とアクセス数の総和Sからページアクセスの偏りを計算する処理のフローチャートであり、ステップS164の処理の詳細を示す。ページアクセスの偏りは、以下の式で計算する。
ページアクセスの偏り=(ファイルのページ数N-アクセス数がS’以上となるページ数の最小値count)/ファイルのページ数N
ページアクセスの偏り=(ファイルのページ数N-アクセス数がS’以上となるページ数の最小値count)/ファイルのページ数N
まず、管理サーバ200は、アクセス数の総和Sに1より小さい定数Kを乗じて、変数S’=S×Kを計算する(S171)。また、対象ファイルのページのアクセス数を、アクセス数の降順にソートし(S172)、最小のページ数をカウントするための変数countを0に初期化する(S173)。そして、アクセス数の多い順にステップS175からS177の処理を繰り返し行う(S174)。
ループ内では、変数countに1を加算し(S175)、各ページのアクセス数を仮想ボリューム管理情報(管理用)216から取得し、S’から取得したアクセスを減算し(S176)、変数S’が0以下になった場合、ループを抜ける(S177)。
ループが終了した後、アクセス数の数(すなわち、ページ数)Nを取得し(S178)、ページアクセスの偏りを計算する(S179)。
以上の処理によって、定数Kの割合のアクセス数があるページの数N(すなわち、ページアクセスの偏り)を求めることができる。
図25は、問題のあるポリシーの一覧をユーザに提示する画面の例を示す図である。
問題のあるポリシー一覧画面600は、問題のあるポリシー一覧610を表示する領域と、ユーザが選択したポリシーの情報の詳細を表示する領域620とを含む。問題のあるポリシー一覧610には、問題のあるポリシー管理情報213から取得した内容を表示する。但し、変更不要チェック2134が、falseであるポリシーのみを表示し、trueであるポリシーは表示しない。問題のあるポリシー一覧610において、ユーザが変更要否614のチェックボックスを設定した場合、問題のあるポリシー管理情報213の当該ポリシーの変更不要チェック2134にtrueを格納し、問題のあるポリシー一覧610から削除する。
ユーザが問題のあるポリシー一覧610からポリシーを一つ選択すると、管理サーバ200は、ページアクセスの偏り(ポリシー別)時系列情報221から取得した時系列情報を画面に表示する(621)。図25は、動画ファイルポリシーが選択された状態を示す。
さらに、ユーザが時系列情報のある時点を選択すると(622)、管理サーバ200は、ページアクセスの偏り(ファイル別)時系列情報222から取得した、選択された時点での各ファイルのページアクセスの偏りを画面に表示する(623)。各ファイルのページアクセスの偏り画面623において、ファイルの位置にマウスカーソルを合わせると、当該ファイルのファイル名及びページアクセスの偏りの値を表示する(624)。
また、ファイルに任せる設定の場合、ポリシーの詳細を表示してもよい。この場合、管理サーバ200がポリシーの詳細情報を保持するか、管理サーバ200がファイルサーバ100のポリシー設定情報113からポリシーの情報を取得して表示することができる。
第1実施例において、ファイルを下位Tierに格納すると、当該ファイルに適用されるポリシーを満たさない場合、当該ファイルの全データを上位Tierに格納するポリシーを推奨してもよい。また、ファイルを下位Tierに格納しても、当該ファイルに適用されるポリシーを満たす場合、当該ファイルのデータを下位Tierに格納するポリシーを推奨してもよい。さらに、上位Tierでなければ性能が不足する場合、ブロック再配置を止め、ファイルを構成する全ブロックを上位Tierに配置するポリシーを推奨してもよい。このようにすると、ファイルに適用されるポリシーに過不足がないTierを選択することができる。
また、ページアクセスの偏りが平均値から所定の範囲に含まれるファイルや、当該範囲に含まれないファイルを選択し、選択されたファイルに新しいポリシーを推奨してもよい。
また、ファイルを上位Tierに格納するポリシー及び下位Tierに格納するポリシーの両方を表示してもよい。上位Tierに関するポリシー及び下位Tierに関するポリシーの両方を表示することによって、管理者に多くのポリシーの選択肢を提供することができる。
以上に説明したように、第1実施例によれば、ファイルを構成するデータが格納されるページへのアクセス頻度(単位時間当たりのI/O回数)を取得し、ファイルに適用されるポリシーと、ファイルを構成するデータの一部へのアクセス頻度の偏りとを比較した結果、ファイルに適用されるポリシーを変更する必要がある場合、変更後のポリシーを出力する。このため、管理者は、ファイル数が多いため確認が困難であったポリシーの問題及び問題の原因を容易に発見することができる。また、ポリシーを修正することによって、ストレージ装置の利用効率を向上することができる。さらに、ファイルアクセスの偏りによって、ファイル毎の再配置及びページ毎の再配置のいずれが適切かを、管理者が判断することができる。
また、ファイル単位でページへのアクセス頻度を取得するので、ファイル毎にアクセス頻度の偏りを計算することができる。
また、取得したページ毎のアクセス頻度が、当該ファイルの全ページのアクセス回数に対して所定の割合以上となるページ数の最小値を求め、前記求められたページ数の最小値を全ページ数で除した値をアクセス頻度の偏りとして計算するので、簡単な計算でアクセス頻度の偏りを計算することができる。
<実施例2>
第2実施例では、第1実施例の問題のあるポリシー検索処理(図21)において、ページアクセスの偏りではなく、他の特徴量(例えば、ホットスポットの変化)を使用する。ホットスポットとは、アクセスが集中するページ(実領域)である。すなわち、第2実施例では、ホットスポットの変化を評価して、又は、ページアクセスの偏りとホットスポットの変化とを評価して、ユーザが適切なポリシーを設定できるようにしてもよい。複数の特徴量を用いることによって、ユーザが複数の情報を評価して、ポリシーを設定することができる。
第2実施例では、第1実施例の問題のあるポリシー検索処理(図21)において、ページアクセスの偏りではなく、他の特徴量(例えば、ホットスポットの変化)を使用する。ホットスポットとは、アクセスが集中するページ(実領域)である。すなわち、第2実施例では、ホットスポットの変化を評価して、又は、ページアクセスの偏りとホットスポットの変化とを評価して、ユーザが適切なポリシーを設定できるようにしてもよい。複数の特徴量を用いることによって、ユーザが複数の情報を評価して、ポリシーを設定することができる。
第2実施例は、第1実施例の変形例であるため、第1実施例と異なる構成及び処理のみを説明し、第1実施例と同じ構成及び処理の説明は省略する。
第2実施例では、第1実施例におけるページアクセスの偏りを取得する処理(図22)において、ページアクセスの偏りだけでなく、ホットスポットの変化も特徴量として取得する。
図26は、ホットスポットを管理するためのホットスポット情報217の構成例を示す図である。ホットスポット情報217は、管理サーバ200のメモリ202に格納される。
ホットスポット情報217は、ファイルID2171と、ページID2172と、アクセス数2173と、を対応付けて管理する。
ファイルID2171は、ファイルを一意に識別するための識別情報である。ページID2172は、アクセスが集中しているページ(実領域)を一意に識別するための識別情報である。アクセス数2173は、当該ページのアクセス数である。
図27は、ホットスポットの変化を取得する処理のフローチャートである。ホットスポットの変化は、以下の式で計算する。
ホットスポットの変化=1-(以前のホットスポットのページと現在のホットスポットのページのうち一致しているページの数/以前のホットスポットのページ数)
ホットスポットの変化=1-(以前のホットスポットのページと現在のホットスポットのページのうち一致しているページの数/以前のホットスポットのページ数)
まず、管理サーバ200は、アクセス数の総和Sに1より小さい定数Kを乗じて、変数S’=S×Kを計算する(S181)。また、対象ファイルのページのアクセス数を、アクセス数の降順にソートし(S182)、ホットスポットの変化を集計するためのページ集合Pを空集合に初期化する(S183)。そして、アクセス数の多い順にステップS185からS187の処理を繰り返し行う(S184)。
ループ内では、対象ページをページ集合Pに追加し(S185)、各ページのアクセス数を仮想ボリューム管理情報(管理用)216から取得し、S’から取得したアクセスを減算し(S186)、変数S’が0以下になった場合、ループを抜ける(S187)。
ループが終了した後、以前のホットスポットP’をホットスポット情報217から取得し(S188)、ホットスポットの変化率を計算する(S189)。ホットスポットの変化率を1-(|P∧P’|/|P’|)で計算する。但し、|P|はPのページ数である。
その後、計算されたページ集合Pでホットスポット情報217を更新する(S190)。
以上に説明したように、第2実施例によれば、ホットスポットの変化を評価することによって、多様なポリシーを推奨することができる。具体的には、ホットスポットの変化率が所定の閾値より大きい場合、ブロック単位の再配置を行わず、対象ファイルを上位Tierに配置するポリシーを推奨するとよい。ホットスポットの変化率が所定の閾値より大きい場合は、ファイルの複数の箇所が頻繁にアクセスされている。このため、ブロック単位の再配置を行わないことによって、ファイルのアクセス性能をより向上することができる。
<実施例3>
第3実施例では、第1実施例における問題のあるポリシー検索処理において、特徴量として、ページアクセスの偏りではなく、ユーザが入力する値(例えば、IOPSの最低保証値)を使用する。すなわち、第3実施例では、ユーザが入力する値を使用する。このため、例えば、ページアクセスの偏りに加えて、IOPSの最低保証値を使用することによって、管理サーバ200が、仮想領域に上位Tierを優先的に割り当てる必要があるのか、下位Tierを割り当てればよいのかを判断することができる。これによって、ユーザの意思を問題のあるポリシー検索に反映することができる。
第3実施例では、第1実施例における問題のあるポリシー検索処理において、特徴量として、ページアクセスの偏りではなく、ユーザが入力する値(例えば、IOPSの最低保証値)を使用する。すなわち、第3実施例では、ユーザが入力する値を使用する。このため、例えば、ページアクセスの偏りに加えて、IOPSの最低保証値を使用することによって、管理サーバ200が、仮想領域に上位Tierを優先的に割り当てる必要があるのか、下位Tierを割り当てればよいのかを判断することができる。これによって、ユーザの意思を問題のあるポリシー検索に反映することができる。
第3実施例は、第1実施例の変形例であるため、第1実施例と異なる構成及び処理のみを説明し、第1実施例と同じ構成及び処理の説明は省略する。
図28は、本実施例におけるIOPSの最低保証の値をユーザが入力するための画面の例を示す図である。
ユーザは、IOPSの最低保証を入力することで、対象ポリシーのIOPSの最低保証の値を更新することができる。また、対象ポリシーの特徴量の時系列情報を確認することができる。
IOPSの最低保証値が、下位TierのIOPSより大きい場合、問題のあるポリシー検索処理において、上位Tierを使用する推奨ポリシーを出力する。
第3実施例において、ファイルサーバ100が管理するファイルのIOPSの最低保証値とファイルのIOPSとを比較した結果、当該ファイルに適用されるポリシーを変更する必要がある場合、推奨するポリシーを出力してもよい。このようにすると、IOPSを満たすポリシーを推奨することができる。
以上に説明したように、第3実施例によれば、IOPSの最低保証を使用することによって、仮想領域にどのTierを割り当てればよいかを考慮したポリシーを推奨することができる。例えば、ファイルのIOPSが所定の閾値より小さい場合、当該ファイルを下位Tierに格納するポリシーを推奨することができる。このため、IOPSが小さいファイルが上位Tierに占有することを防止することができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を有するものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
Claims (12)
- 管理サーバであって、
メモリと、
前記メモリを参照するプロセッサと、
ストレージ装置又はファイルサーバと通信するためのネットワークインターフェースと、を有し、
前記ストレージ装置は、所定の容量のページに区分され、前記ページにデータを格納する記憶デバイスを有し、
前記ファイルサーバは、前記ストレージ装置に格納されるデータをファイル単位で管理し、
前記プロセッサは、
前記ファイルを構成するデータが格納されるページへの単位時間当たりのI/O回数を取得し、
前記ファイルに適用されるポリシーと、当該ファイルを構成するデータの一部へのI/Oの偏りとを比較した結果、当該ファイルに適用されるポリシーを変更する必要がある場合、変更後のポリシーを出力することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記ファイル単位でページへの単位時間当たりのI/O回数を取得することを特徴とする管理サーバ。 - 請求項2に記載の管理サーバであって、
前記取得したページ毎の単位時間当たりのI/O回数の合計値が、当該ファイルの全ページの単位時間当たりのI/O回数に対して所定の割合以上となるページの組み合わせのうち最小のページ数を求め、
前記求められたページ数の最小値を全ページ数で除した値をI/Oの偏りとして計算することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記ファイルサーバが管理するファイルの単位時間当たりのI/O回数の管理指標を受け付け、
前記ファイルの単位時間当たりのI/O回数を取得し、
前記受け付けた管理指標と、前記ファイルの単位時間当たりのI/O回数とを比較した結果、当該ファイルに適用されるポリシーを変更する必要がある場合、変更後の推奨ポリシーを出力することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記ストレージ装置は、第1記憶デバイスと、前記第1記憶デバイスよりI/O性能が低い第2記憶デバイスとを有し、
前記管理サーバは、
前記ファイルに適用されるポリシーを受け付け、
前記ファイルを構成するデータを前記第2記憶デバイスに格納すると、当該ファイルに適用されるポリシーを満たさない場合、当該ファイルを構成するデータを前記第1記憶デバイスに格納するポリシーを出力し、
前記ファイルを構成するデータを前記第2記憶デバイスに格納すると、当該ファイルに適用されるポリシーを満たす場合、当該ファイルを構成するデータを前記第2記憶デバイスに格納するポリシーを出力することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記ストレージ装置は、第1記憶デバイスと、前記第1記憶デバイスよりI/O性能が低い第2記憶デバイスとを有し、
前記管理サーバは、
前記ファイルに適用されるポリシーを受け付け、
前記ファイルを構成するデータを前記第2記憶デバイスに格納すると、当該ファイルに適用されるポリシーを満たさない場合、前記ファイルを構成するデータをページ毎に前記第1記憶デバイスに格納するポリシーではなく、当該ファイルの全てのデータを前記第1記憶デバイスに格納するポリシーを出力することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記ストレージ装置は、第1記憶デバイスと、前記第1記憶デバイスよりI/O性能が低い第2記憶デバイスとを有し、
前記管理サーバは、前記ファイルを構成するデータを前記第1記憶デバイスに格納するポリシーと、当該ファイルを構成するデータを前記第2記憶デバイスに格納するポリシーとの両方を出力することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記ストレージ装置は、第1記憶デバイスと、前記第1記憶デバイスよりI/O性能が低い第2記憶デバイスとを有し、
前記管理サーバは、
前記ファイルの単位時間当たりのI/O回数を取得し、
前記ファイルのI/O回数が所定の閾値より小さい場合、当該ファイルを前記第2記憶デバイスに格納するするポリシーを出力することを特徴とする管理サーバ。 - 請求項1に記載の管理サーバであって、
前記ファイルのホットスポットの情報を取得し、
当該ファイルのホットスポットの変化率が所定の閾値より大きい場合、ページ単位の再配置を行わないポリシーを出力することを特徴とする管理サーバ。 - 所定の容量のページに区分され、前記ページにデータを格納する記憶デバイスを有するストレージ装置と、
前記ストレージ装置に格納されるデータをファイル単位で管理するファイルサーバと、
前記ストレージ装置及び前記ファイルサーバに接続される管理システムと、を有するストレージシステムであって、
前記管理システムは、
少なくとも一つのメモリと、前記メモリを参照する少なくとも一つのプロセッサと、少なくとも一つのネットワークインターフェースと、を有し、
前記ファイルを構成するデータが格納されるページへの単位時間当たりのI/O回数を取得し、
前記ファイルに適用されるポリシーと、当該ファイルを構成するデータの一部へのI/Oの偏りとを比較した結果、当該ファイルに適用されるポリシーを変更する必要がある場合、変更後のポリシーを出力することを特徴とするストレージシステム。 - 請求項10に記載のストレージシステムであって、
前記管理システムは、前記ファイル単位でページへの単位時間当たりのI/O回数を取得することを特徴とするストレージシステム。 - 請求項11に記載のストレージシステムであって、
前記管理システムは、
前記取得したページ毎の単位時間当たりのI/O回数が、当該ファイルの全ページの単位時間当たりのI/O回数に対して所定の割合以上となるページ数の最小値を求め、
前記求められたページ数の最小値を全ページ数で除した値をI/Oの偏りとして計算することを特徴とするストレージシステム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/120,836 US20160364400A1 (en) | 2014-06-13 | 2014-06-13 | Management server which outputs file relocation policy, and storage system |
| PCT/JP2014/065760 WO2015189988A1 (ja) | 2014-06-13 | 2014-06-13 | ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2014/065760 WO2015189988A1 (ja) | 2014-06-13 | 2014-06-13 | ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015189988A1 true WO2015189988A1 (ja) | 2015-12-17 |
Family
ID=54833116
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2014/065760 Ceased WO2015189988A1 (ja) | 2014-06-13 | 2014-06-13 | ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20160364400A1 (ja) |
| WO (1) | WO2015189988A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017174324A (ja) * | 2016-03-25 | 2017-09-28 | 日本電気株式会社 | 情報処理装置、情報処理方法及びプログラム |
| CN110244906A (zh) * | 2018-03-08 | 2019-09-17 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7429214B2 (ja) * | 2021-10-07 | 2024-02-07 | 株式会社日立製作所 | ストレージシステム及びストレージシステムにおけるデータ複製方法 |
| CN116701304B (zh) * | 2023-07-06 | 2023-11-03 | 北京应天海乐科技发展有限公司 | 用于自助设备的文件管理方法、装置、设备及存储介质 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003256247A (ja) * | 2002-02-28 | 2003-09-10 | Hitachi Ltd | 記憶システム |
| JP2009043016A (ja) * | 2007-08-08 | 2009-02-26 | Hitachi Ltd | ストレージシステム及びストレージシステムのアクセス均等化方法 |
| WO2011117925A1 (ja) * | 2010-03-25 | 2011-09-29 | 株式会社日立製作所 | ストレージ装置及びその制御方法 |
| JP2012027934A (ja) * | 2011-09-20 | 2012-02-09 | Fujitsu Ltd | ストレージシステム |
| WO2012066671A1 (ja) * | 2010-11-18 | 2012-05-24 | 株式会社日立製作所 | 計算機システムの管理装置及び管理方法 |
| WO2013094041A1 (ja) * | 2011-12-21 | 2013-06-27 | 株式会社日立製作所 | 計算機システム、及び管理システム |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8352429B1 (en) * | 2009-08-31 | 2013-01-08 | Symantec Corporation | Systems and methods for managing portions of files in multi-tier storage systems |
-
2014
- 2014-06-13 WO PCT/JP2014/065760 patent/WO2015189988A1/ja not_active Ceased
- 2014-06-13 US US15/120,836 patent/US20160364400A1/en not_active Abandoned
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003256247A (ja) * | 2002-02-28 | 2003-09-10 | Hitachi Ltd | 記憶システム |
| JP2009043016A (ja) * | 2007-08-08 | 2009-02-26 | Hitachi Ltd | ストレージシステム及びストレージシステムのアクセス均等化方法 |
| WO2011117925A1 (ja) * | 2010-03-25 | 2011-09-29 | 株式会社日立製作所 | ストレージ装置及びその制御方法 |
| WO2012066671A1 (ja) * | 2010-11-18 | 2012-05-24 | 株式会社日立製作所 | 計算機システムの管理装置及び管理方法 |
| JP2012027934A (ja) * | 2011-09-20 | 2012-02-09 | Fujitsu Ltd | ストレージシステム |
| WO2013094041A1 (ja) * | 2011-12-21 | 2013-06-27 | 株式会社日立製作所 | 計算機システム、及び管理システム |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017174324A (ja) * | 2016-03-25 | 2017-09-28 | 日本電気株式会社 | 情報処理装置、情報処理方法及びプログラム |
| CN110244906A (zh) * | 2018-03-08 | 2019-09-17 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
| CN110244906B (zh) * | 2018-03-08 | 2022-12-02 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20160364400A1 (en) | 2016-12-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5502232B2 (ja) | ストレージシステム、及びその制御方法 | |
| JP5608016B2 (ja) | オブジェクト単位階層の管理方法及び装置 | |
| JP5314772B2 (ja) | 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法 | |
| JP5439581B2 (ja) | ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法 | |
| US9477431B1 (en) | Managing storage space of storage tiers | |
| JP5981563B2 (ja) | 情報記憶システム及び情報記憶システムの制御方法 | |
| US8706961B2 (en) | Storage apparatus and data management method | |
| JP4235220B2 (ja) | 計算機システムおよびデータ移行方法 | |
| US9052823B2 (en) | Storage system and data management method with application specific storage tiers | |
| JP5185445B2 (ja) | ストレージシステム及びストレージシステムにおける使用容量管理方法 | |
| JP5685676B2 (ja) | 計算機システム及びデータ管理方法 | |
| JP5986319B2 (ja) | ストレージ管理システム | |
| JP5706531B2 (ja) | 計算機システム、及び情報管理方法 | |
| JP5668151B2 (ja) | 計算機システムの管理装置及び管理方法 | |
| JP4733461B2 (ja) | 計算機システム、管理計算機及び論理記憶領域の管理方法 | |
| CN105074675B (zh) | 具有层级化块存储装置的计算机系统、存储控制器及介质 | |
| JP2009238114A (ja) | ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム | |
| WO2013164878A1 (ja) | 計算機システムの管理装置および管理方法 | |
| US20140025916A1 (en) | Storage system and storage control method | |
| US9798465B1 (en) | Interactive tiering preferences map | |
| US20180341423A1 (en) | Storage control device and information processing system | |
| WO2015189988A1 (ja) | ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム | |
| JPWO2017208450A1 (ja) | ストレージシステムの管理装置 | |
| CN105164629B (zh) | 计算机系统及其层级存储的控制方法 | |
| US20120254583A1 (en) | Storage control system providing virtual logical volumes complying with thin provisioning |
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: 14894381 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15120836 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14894381 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: JP |