The present invention relates to a computer system.
When an IT system is constructed, the configuration of hardware and the scale of the system are generally estimated in designing the system and a budget is secured. System engineers and others who have the know-how of system construction estimate the scale based upon performance requirements, the specifications of the hardware and results of utilizing benchmark tools and sizing tools.
However, as a period from a few months to a few years is required between the system design and the initiation of the service, estimate data at the time of the system design is not necessarily a suitable value in real operation. When conditions required for the system are not met, it is conceivable that an additional budget and others due to the addition of short resources and a replacement for high throughput of hardware are required, the availability of resources is low and cost effectiveness is low when a higher estimate is made in anticipation of the increase of workloads.
Concerning technique for determining the size of a unit, PTL1 for example discloses technique of a sizing device of a computer system for determining the size of each unit in a computer system for a test so that balance in performance among each unit calculated by performance balance evaluation means is in a predetermined range, acquiring a sizing factor for fitting the size of a reference unit in the computer system for a test to size required for a corresponding unit in the design object computer system and determining the size of each unit that configures the design object computer system by multiplying the size of each unit in the computer system the balance in performance of which is corrected by the sizing factor.
In addition, in NPL1, a service level in consideration of a characteristic of a work load of an application is set, hardware is classified according to the service level, and the classification of the hardware is reported in a catalog. For example, for parallel processing such as High Performance Computing (HPC) and service in which low latency is regarded as important, hardware having high throughput is selected and for the backup and the archive of a file, low-cost hardware that can process big data but low throughput is selected. A user can specify hardware by selecting the hardware according to such classification from the catalog and can purchase it.
According to the technique disclosed in PTL1, the size of each unit can be determined. However, when real environment of the existing system is utilized for a test, an effect upon the performance of the existing system by executing a test application is concerned. Further, since real environment of an existing system is not inherited in a pure computer system for a test, system performance in real operation in which the real environment is inherited may be different.
In addition, according to the technique disclosed in NPL1, the hardware can be specified and can be purchased, but it is difficult to set the service level. Even if a benchmark tool and a sizing tool are used for setting the service level, these tools are simulators and may be different from system performance in real operation.
Further, since the sizing of an conventional IT system has been done by mere calculation in system design in which a budget is appropriated in terms of financial management, the sizing has an old supposed value especially in a large scale system in which a period till the initiation of service is long, and the possibility that resizing is required when the service is initiated is considered. During the operation of service, it is considered that many scenes where resizing is required such as the increase of workloads, the addition of an application, the upgrade of service and hardware resources and replacement occur. Since the real system exists in the operation of service, sizing in the real system is possible. However, it is difficult to ordinarily secure environment for resizing.
Then, the present invention has it for its object to provide a method of performing the sizing of hardware in an application system that meets a performance requirement and supporting the selection of a system configuration according to the performance requirement of the application system in a life cycle of the application service from the installation to the disposal.
A computer system according to the present invention is based upon a computer system connected to a client, and has a characteristic that the client has a system configuration provided with a first storage unit that stores data and a first computer, the computer system has a second storage unit that stores data, a second computer that processes data stored in the second storage and a management server, the management server acquires an identifier of an application processed in the first computer, data utilized for executing the application and stored in the first storage unit and the information of the system configuration of the client from the client, the management server composes the system configuration in the second storage unit and the second computer based upon the information of the acquired system configuration, the management server operates the application specified in the identifier by the composed system configuration using the acquired data, and the management server outputs a result of the operation to the client.
Further, the present invention also provides a processing method in the computer system.
According to the present invention, since the evaluation is that of real workloads by the real system, a high precision test result can be provided. Further, since resources for resizing are not required in plenty of resizing in the operation of service, the concentration of resources on the proper business of a user can be supported.
This embodiment produces the operational environment of an application system for a user in a computer system of a data center (DC), performs a performance test of the application system, outputs data related to a system configuration plan that meets a performance requirement, and provides support in selecting the configuration of hardware.
Especially, as application execution environment of a user is reproduced by using a virtual disk image which is the environment of a virtual machine itself for a package of the environment when the virtual machine is included in the user execution environment 26 and using a physical memory image and a physical disk image for a package of the environment when no virtual machine is included and a test is performed in the real device in the DC 10, sizing data closer to user environment can be acquired. As a result, a hardware purchase plan just enough for a required condition for the installation and the enhancement of a system can be made, and a cost for installation can be reduced. For example, for a hardware maker, since it is facilitated to concretely explain merits when hardware manufactured by another maker is replaced by installing the DC 10 and providing sizing data including hardware manufactured by the maker itself and an exact system configuration for new installation and expansion can be also proposed, reliability is acquired and it contributes to lasting business.
The resource manager 160 includes three programs of an NW manager 161, a storage manager 162 and a server manager 163. The server manager 163 manages the server 12 and a virtual server, that is, a virtual machine (hereinafter called VM) 217 when the VM 217 shown in
The virtual disk is a type that a file or files is/are stored in a volume (recognized as a physical disk drive for the server) mounted in the server. The server recognizes the volume as a physical disk drive. In the virtual disk, a file which can be generated in fixed capacity and variable capacity is included.
When the virtual disk is configured according to a file format, the virtual disk management table may further also hold a so-called path showing a location in directory structure. The disk drive in the server is further divided into one or more logical volumes (or partitions) and a file system may be configured. Further, a connecting location of the disk drive is represented in the combination of LUN determined by the program that manages the OS and the VM and identification numbers of a target and a SCSI bus according to a standard of a small computer system interface (SCSI). A port name (WWN) used for connecting to a network such as the SAN 15 that connects the server 12 and the storage 13 is also managed.
The storage manager 162 manages the storage 13. For example, the storage manager 162 acquires the configuration information of the storage 13 by communicating with a storage controller 220 of the storage 13 and can change its configuration.
The servers 12-1, - - - , 12-n respectively execute the OS 215, the virtualizing program 216 and one or more VMs 217-1, - - - , 217-n respectively stored in the memory 211 in a CPU 210.
The virtualizing program 216 realizes a function for logically dividing one hardware into one or more virtual areas. An application program is operated in the VM 217 in the virtual hardware area divided by the virtualizing program 216. To operate the application program, a suitable OS may also be operated inside the VM 217. In the terms of abstracting hardware, functions of the OS 215 and the virtualizing program 216 are similar and the virtualizing program 216 may also be mounted in the physical server as a part of the OS 215.
The application may also be operated in the VM 217 and may also be directly executed in the physical server 12. When the application is directly executed in the physical server 12, the virtualizing program 216 and the VM 217 are not required.
The storage 13 provides a storage area called a volume 229 that stores a virtual disk image 228 and configured every logical unit to equipment (for example, the server 12-1) connected to it. The storage 13 is provided with a storage controller 220 that collectively controls each component of a storage device 226 such as hard disk drive (HDD). When plural access paths to the storage controller 220 exist, for example, when a multi-path or a link aggregation is installed to enhance reliability and performance, plural ports are used.
The storage controller 220 receives and transmits data which processing by a program in the server 12 requires via Ethernet or the HBA 224 which is an interface of the FC for example. The storage controller 220 provides a storage area to the server according to the SCSI. The storage controller 220 is provided with a serial advanced technology attachment (SATA) for connecting to an HDD and a solid state drive (SSD) for example which are a physical storage device or serial attached SCSI (SAS) 225 and a network interface 227 for connecting to the sizing server 11 provided with the resource manager 160 and others.
In the storage controller 220, a process for generating and deleting a volume and changing the configuration for providing a storage area of the physical storage device with which the storage 13 is provided to the physical server as a volume is packaged. The configuration of each volume is managed in a volume definition table and the volume definition table includes items of a device identifier for uniquely identifying a volume in the device and the system, a volume type representing an attribute, a source device representing a relating volume when the corresponding volume is related to another volume, a host allocation flag showing whether connection to the physical server exists or not and a status showing the current condition of the volume and others.
As described above, each area of the physical storage device is managed as a volume. Access from the physical server to the volume is executed by specifying a number (a segment number) in the volume and data can be read and written by specifying a logical block addressing (LBA) area in a real physical disk drive and accessing to the area. The volume and (a network port of) the physical server are related via a logical access path.
The request table 171 holds ID 601 of the user that issues the sizing request, a request number 602 described later, an application name 603 of a sizing object, a situation 604 showing a trigger at which sizing is performed (for example, new installation, scale-out and scale-up according to the increase of workloads), a name 605 of a virtual disk image in which environment where the application of the sizing object is operated is packaged, a condition required for performance (for example, the maximum number of users who concurrently accessed: 300 persons and storage access performance: 100K input output per second (IOPS), performance 606 showing that latency is within 1 second, an upper limit 607 showing a constraint (for example, an upper limit of a hardware (H/W) cost) when sizing has the constraint, existing environment 608 showing environment where the current user site 20 is operated (for example, application servers: 2, DB servers: 2 and a reporting server: 1), an existing H/W profile 609 which is a profile (for example, a type of the server manufactured by X Corp.: xxxx and the storage manufactured by Y Corp.: yyyy) of hardware utilized in the current environment in which the user site 20 is operated, a test pattern list number 610 of a test pattern which the user wants to try, a test result 611 which is a result of a test specified according to the test pattern list number 610, the information of the VM when virtual environment is utilized in the active environment of the current user, for example, ID 612 of the VM and a specification 613 showing the number of logical cores and the capacity of a memory respectively allocated to the VM and others. Essential information when the test environment is composed in this table is the application name 603, the virtual disk image name 605, the performance 606, the existing environment 608 and the existing H/W profile 609.
Since it is considered that a difference is made in input information included in the sizing request depending upon a skill set such technical knowledge related to an IT system and IT service of a user, that is, all the items of the request table 171 cannot be entered because the knowledge is short, only an application is specified by the user and the rest may also be left to the side of the DC.
For example, “$1402” in “Path $1402/Al.vhdx” shown in
When information packaged as a virtual disk image includes only data or when the scale of a system to be evaluated is large and only a part is packaged, a script template that the corresponding application held in the DC 10 is selected from the service list 175 based upon the application name 603 included in the sizing request after the VM is activated and the connection to the network is completed and is installed in the activated VM is generated.
When information packaged as a virtual disk image is information of the whole system, a script template that system backup and system cloning are performed is generated.
As the script template is different depending upon contents included in the virtual disk image, input parameters are different depending upon the virtual disk image transmitted from the user. The virtual disk image may also be regenerated by enclosing a booted image file including an installer and executing the booted image file for example.
To compose test environment in the test execution environment 16 in the DC 10 using the test configuration calculated in step 1503, an available time zone of resources in the test execution environment 16 is scheduled based upon the request table 171, the DC resource management table 172, the DC schedule table 173, the test pattern table 174 and the service list 175 in step 1504. For example, as existing active environment is included in a virtual disk image when a user “A Corp” requests a test under the existing active environment including two AP servers and two DB servers in a case that two AP servers are increased in a test pattern #1:1 and in a case that two DB servers are increased in a test pattern #1:2, it is scheduled that the test pattern #1:1 will be performed at 13:50 on Jun. 21, 2013 (13/06/21) using Host#02, Host#03, Host#05 and Host#06 and the test pattern #1:2 will be performed at 0:30 on Jun. 22, 2013 (13/06/22) using the same Host#02, Host#03, Host#05 and Host#06 after the test pattern #1:1 is finished.
In step 1505, the environmental composition of the test is started at test start time according to the DC schedule table 173. Steps 1506 to 1512 are processed by the execution of the object script 803. In step 1506, the location information of a volume that stores the test environment placement destination server 12 allocated in step 1504 and a virtual disk image is acquired. In this case, when plural test patterns for the object volume exist and the current execution of this script is not the last test for the corresponding volume, the replication of the object volume is generated and the location information of the generated replication is passed to step 1507.
In step 1507, the object volume acquired in step 1506 is mounted in the allocated server. In step 1508, the VM 217 is generated in the allocated server 12 and in step 1509, virtual NW allocated to the generated VM 217 is set. Further, log information extracted by the application log manager 501 is set so that the operation of the application can be reproduced based upon the log information in the VM. In this case, as setting for the number of the servers is entered in a script when the information of plural servers is included in a virtual disk image for example, step 1508 and step 1509 are repeated according to the script.
In step 1510, the application is executed, in step 1511, the activity ratio of a CPU in the VM that executes the application, the activity ratio of the memory, a network bandwidth, delay time since one transaction is input to the application until the transaction is output and others are acquired at a fixed interval according to time elapse, a result of the executed test is temporarily stored, and its storage location is stored. At this time, in the request table 171, the test result 611, the request number 602, the user ID 601 and the test pattern 610 are linked. In the test execution of the application, when a load test tool for example is included in a virtual disk image, the corresponding load test tool has only to be executed and a benchmark tool held in the DC 10 and others may also be utilized. When no log information is extracted by the application log manager 501, the load test tool, the benchmark tool and others can be utilized and even if log information is extracted, the load test tool, the benchmark tool and others can be utilized when operation different from the log information is required.
In step 1512, when the mounted volume is a replication, the object replication volume is deleted. When the execution of the script 803 is finished (step 1513), a test report is generated in step 1514, and when all tests for the object volume are finished, the object volume is deleted (step 1515).
When the connection request from the client 21 is a report acquisition request (step 1609), an object report is acquired from the report list 178 based upon the request number 602 included in the report acquisition request and a display screen is transmitted to the client 21 or a report is transmitted to the client using a file transfer protocol (FTP), a mail and others (step 1610). Until END is input, the processing is returned to step 1602 to check whether another sizing request is made or not.
For example, a user “A Corp” requests a test when two AP servers are increased in existing active environment in which two AP servers and two DB servers are included and a test pattern is “#1:1” and Host#02, Host#03, Host#05 and Host#06 are used for the server 12 for executing the test based upon the DC schedule table 173. The test configuration (topology) is determined based upon each server 12 for executing the test, an NW interface address and a HBA address with which each server is respectively provided and an allocation destination path of a volume including a disk image. When no peripheral system (for example, an application which shares DB with a test object application) is included in the virtual disk image except the test object application, a tool equivalent to the corresponding peripheral system is acquired from the service list 175 which the DC 10 holds (step 1707).
Information generated and acquired in steps 1705 to 1707 is input to a script template as input parameters (step 1708) and the script is generated (step 1709). When a test pattern to be processed exists at time when this process is called (step 1710), a series of processing from step 1704 to step 1709 is executed. When no virtual disk image is included in the sizing request in step 1703 and user data is included in a received volume, a test object application is acquired from the service list 175, a system configuration in an application execution case of the test object is acquired from the case list 176, and the system configuration is input to a script pattern. When no user data is also included in the received volume, the application execution case of the test object is acquired from the case list 176 and processing for generating a report to the user is executed.
To manage the virtual disk image and allocate a virtual disk used by VM in calculating the configuration, the virtual disk management table managed by the server manager 163 can be utilized.
In this case, the connecting location 2004 of the disk drive is represented in the combination of the OS or LUN determined by the virtualizing program and identification numbers of a target and the SCSI bus according to the SCSI standard. The unique device number 2005 is allocated to the disk drive using a device identifier which the server can acquire from the storage device for example by the OS or the virtualizing program. A port name (WWN) used for connecting to the SAN 15 that connects the server 12 and the storage 13 is held in a field of the connection destination port name 2006 and when multiple passes or a link aggregation are/is installed, plural port names may also be in the field 2006 or the field is divided into plural records and the plural port names may also be held there. The configuration information of these can be all acquired from the OS in the server or the virtualizing program so that access to the virtual disk is enabled in the execution of the test.
Further, when hardware in user's existing environment included in a sizing request is old, performance in its specifications is lower than performance in those of hardware in the test execution environment 16 and the user's existing environment cannot be reproduced, simulation is enabled by comparing the type of the hardware in the test execution environment 16, for example, the server 12 with the type of the server 22 in the user environment, logically dividing the CPU core 101 and the memory 100 and approximating the specifications of the test execution environment to those of the hardware in the user's existing environment.
Since the performance and others of the server 12 in the test execution environment 16 are adjusted as described above and the configuration is calculated, server performance information managed by the server manager 163 can be utilized.
In the performance information of the VM, for example, the number of logical CPU cores 613 allocated corresponding to the VM ID 612 for identifying the VM in the server, average activity ratio 2108 of a logical CPU, the memory capacity 613, an NW bandwidth 2109, an NW average transmission rate 2110, a disk I/O bandwidth 2111, disk average I/O volume 2112 and disk activity ratio 2113 are held together with a status of the VM (for example, normally active or halt) 2107. In the performance information of the VM, if necessary, another parameter which can be acquired by the server manager 163 may also be held.
In step 1802, the user ID 601 and the request number 602 are acquired based upon the test result the report of which is acquired and are set as an identifier of one report. A result for one pattern which is the temporary test result information 611 acquired in step 1801 is extracted (step 1803). The system configuration is acquired from the acquired temporary test result information, is set in the report format or the XML format (step 1804), and the required condition is similarly acquired and set (step 1805). In step 1806, when the temporary test result information includes table data, for example, a CPU load and memory activity ratio in certain elapse of time, a graph is generated based upon the table data in step 1807, in step 1808, the generated graph is set in the report format or the XML format, and the graph is recorded as a report file in step 1809. When the test pattern 610 still remains unprocessed in the request number 602 (step 1810), a series of processing from step 1803 to step 1809 is executed.
Request data is input according to input parameters on the other client screen (step 1904). When a test pattern exists (step 1905), the test pattern is specified (step 1906). When data input is completed (step 1907), a volume including the sizing request and the selected or generated virtual disk image is transmitted to the sizing server 11 (step 1908), connection with the sizing server 11 is disconnected (step 1909).
When operation by the user is a report request (step 1910), a report acquisition request including the user identifier 601 and the sizing request identifier 602 is transmitted to the sizing server 11 according to an example of a client screen shown in
An input field 2206 is a field for inputting whether this sizing request is for installing a new application or not, whether this sizing request is for the expansion of a scale or not or whether this sizing request is for the addition of an application or not and the like, and input may also be selected from a pull-down menu. An input field 2207 is a field for inputting information to be acquired by sizing and a required condition and for example, when the required condition is performance, the supposed number of users 2208, allowable delay time 2209 of time for processing one transaction, data size 2210 used by the application and others are input. Input fields 2211 to 2219 are fields for inputting in relation to existing system environment currently made active by the user. In the input fields 2211 to 2214, a general configuration is automatically displayed by the application input in the input field 2205. For example, in the case of an ERP system, an AP server, a DB server, a document server and others are displayed.
In each input field 2212 to 2214, the number of respective servers is input. Each input field 2215 to 2217 shows a field for inputting profile information of the hardware input in the input fields 2212 to 2214. The input field 2215 is a field for inputting a type of the hardware and a general configuration may also be selected from a pull-down menu by the application input in the input field 2205. The information input in the input field 2215 or selected is displayed in the display field 2217 by pressing the ADD button 2216. The input field 2218 shows a field for inputting software profile information. The input field 2218 is a field for inputting software, for example, an OS, a virtualizing program and others and they may also be selected from a pull-down menu. Input or selected information may also be listed as shown in the display field 2217 by pressing the ADD button 2219.
An input field 2220 shows a field for inputting a test pattern. In the input field 2220, a test pattern for sizing such as sizing information when two AP servers are added is required to be acquired, the ERP system having a necessary system configuration at the minimum is composed at a fixed budget and an application is added in existing environment is input. Selection from a pull-down menu and text input are also possible. When text input is allowed, the sizing server 11 may also be provided with means for analyzing acquired text data in a step for acquiring a test pattern and for comparing and matching the text data with fixed data. The input in the input field 2220 can be settled by pressing an ADD button 2221. An input field 2222 is a field for selecting a virtual disk image including existing environment of the application of the sizing object and a file of an object displayed in a link with a function for displaying a list of files stored in a file system by pressing a REFER button 2223 can be selected.
An input field 2224 is an input field for notifying whether or not the virtual disk image selected in the input field 2222 includes not only the application of the sizing object but a peripheral related system. For example, when the performance of the whole system is evaluated, volume size is enormous in the whole system and possibility that transmission is impossible occurs. In this case, when a sizing request that no peripheral related system is included is made, the sizing server 11 selects an application and a benchmark tool respectively held in the DC 10 for a CRM application and can simulate the behavior of the peripheral related system. Input in an input field 2224 can be settled by pressing an ADD button 2225.
As described above, as the test can be executed in the sizing service DC with the execution environment of the user site copied as it is, a high-precision test close to the actual environment of the user site can be executed. Further, as the test can be performed in the sizing service DC, resources in the user site are not required to be used for the test.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2013/076995 | 10/3/2013 | WO | 00 |