WO2012063311A1 - 計算機の制御方法、計算機システム及び記憶媒体 - Google Patents
計算機の制御方法、計算機システム及び記憶媒体 Download PDFInfo
- Publication number
- WO2012063311A1 WO2012063311A1 PCT/JP2010/069857 JP2010069857W WO2012063311A1 WO 2012063311 A1 WO2012063311 A1 WO 2012063311A1 JP 2010069857 W JP2010069857 W JP 2010069857W WO 2012063311 A1 WO2012063311 A1 WO 2012063311A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- computer
- disk volume
- data
- disk
- bad block
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0712—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
Definitions
- the present invention relates to a technique for operating a disk volume replica on a computer, and more particularly to a technique for operating a disk volume replica on a virtual machine.
- P2V uses image conversion software such as VMware (registered trademark), vCenter, Converter, etc., and is used to operate the disk image format of the system that includes the OS and applications running on the physical server on the virtual server. This is realized by converting to a format for the conversion unit.
- VMware registered trademark
- vCenter vCenter
- Converter etc.
- the conventional P2V technology has the following problems.
- a format error is converted from a disk image of a physical server to a disk image of a virtual server, if a read error occurs in a specific physical block, the conversion of the format process cannot be completed and P2V may fail.
- an object of the present invention is to complete the replication of the disk image even if an error occurs when reading the disk volume.
- the present invention includes a computer including a processor and a memory, a management computer connected to the computer and including a processor and a memory, a first disk volume connected to the management computer, the management computer, and the computer.
- a computer control method for providing a second disk volume, writing a copy of the first disk volume to the second disk volume, and allowing the computer to access the second disk volume comprising: A first step in which the computer reads the data of the first disk volume; and a second step of determining whether an error has occurred when the management computer reads the data of the first disk volume.
- a fifth step in which the management computer allocates the second disk volume to the computer a sixth step in which the management computer transmits the bad block management information to the computer,
- the seventh step in which the computer receives the bad block management information, and when the computer accesses the second disk volume, the access position is determined by referring to the received bad block management information.
- the second disk volume is The process of writing a copy of one disk volume can be continued. Then, the second disk volume can notify the computer using the second disk volume of the error by managing the block in which the error has occurred with the bad block management information.
- FIG. 5 is a block diagram illustrating an example of a management server when the virtual disk 501 is restored with dump data according to the embodiment of this invention.
- FIG. 1 is a block diagram showing an example of the configuration of a computer system according to an embodiment of the present invention.
- a physical server 110-1 a physical server 110-2 that provides virtual servers 109-1 to 109-n, and a management server 101 that manages the physical servers 110-1 and 110-2 are connected via a network 108.
- the physical servers 110-1 and 110-2 and the management server 101 are connected to a storage apparatus 115 having a plurality of disk volumes 116p, 116d, and 116v via a network (not shown) (for example, SAN: Storage Area Network).
- a network not shown
- SAN Storage Area Network
- the physical server 110-1 and 110-2 are generically indicated by reference numeral 110
- the virtual servers 109-1 to 109-n are generically indicated by reference numeral 109
- the physical server 110-1 is connected to a disk volume 116p storing a business system including an OS 210 and an application (not shown), and loads the OS 210 and an application (not shown) into a memory for execution.
- the OS 210 includes a dump information acquisition unit 114 that dumps the contents of the memory of the physical server 110-1.
- the physical server 110-1 is also connected to the disk volume 116d, and writes the dump data (memory dump) 401 acquired by the dump information acquisition unit 114 to the disk volume 116d.
- the physical server 110-1 uses the disk volume 116p as a boot disk.
- the physical server 110-2 executes the virtualization unit 111 and provides a plurality of virtual servers 109-1 to 109-n.
- the physical server 110-2 is connected to the disk volume 116v that stores the virtual disk 501-0, and the virtualization unit 111 reads the virtual disk 501-0 and provides the virtual server 109-1.
- the virtualization unit 111 can be configured by a virtual machine monitor (VMM) or a hypervisor that generates a virtual server 109 by virtualizing physical computer resources (hereinafter, physical resources) of the physical server 110-2. .
- the physical server 110 that provides the virtual server 109 includes a plurality of physical servers 110-2 to 110-i as shown in FIG. In each physical server 110, the virtualization unit 111 is operating, and the virtual server 109 is executed on each virtualization unit 111. Note that reference numeral 501 is used as a generic name of the virtual disk 501-0.
- the management server 101 includes a virtualization unit 111 of a plurality of physical servers 110, a virtualization management unit 102 that manages the virtual server 109 executed on the virtualization unit 111, and a disk volume 116p used by the physical server 110-1.
- the P2V execution management unit 103 converts the virtual unit 111 to a virtual disk that can be used in block units, and various tables.
- the virtualization management unit 102 includes a physical server management table 104 that manages physical resources of a plurality of physical servers 110, a virtual server 109 generated by the virtualization unit 111 on each physical server 110, a virtual server management table 105, The virtual disk management table 107 that manages the virtual disk 501 assigned to the server 109 is used. These tables are set by a manager or the like from a management terminal (not shown).
- the P2V execution management unit 103 When converting the disk volume 116 of the physical server 110 to the virtual disk 501, the P2V execution management unit 103 records a defective block management table 106 that records an error occurrence location (bad block) of the disk volume 116p, and a virtual disk management table 107. Is used.
- the bad block management table 106 is generated by the P2V execution management unit 103.
- the virtualization management unit 102 holds the correspondence between the virtual disk 501 and the virtual server 109, and the P2V execution management unit 103 determines whether there is an error for each virtual disk 501 and the conversion source of the virtual disk 501.
- the relationship of the physical server 110 is maintained.
- FIG. 2 is a block diagram showing a detailed configuration of the management server 101.
- the management server 101 includes a processor 202 that performs arithmetic processing, a memory 201 that stores data and programs, a network interface 203 that communicates with the network 108, and a disk interface 204 that accesses the storage device 115.
- the management server 101 includes an input device and an output device (not shown).
- the input device is composed of, for example, a mouse and a keyboard.
- the output device is composed of a display device, for example.
- the memory 201 stores the above-described virtualization management unit 102, P2V execution management unit 103, and various tables.
- the virtualization management unit 102 and the P2V execution management unit 103 are programs executed by the processor 202.
- the virtualization management unit 102 and the P2V execution management unit 103 are stored in a storage device 115 as a storage medium, and are read into the memory 201 by the processor 202 and executed.
- the virtualization management unit 102 stores a physical server management table 104, a virtual server management table 105, and a virtual disk management table 107 on the memory 201.
- the P2V execution management unit 103 stores the bad block management table 106 in the memory 201.
- the virtualization management unit 102 manages the virtual server 109 by controlling the virtualization unit 111 of the plurality of physical servers 110.
- the virtualization management unit 102 receives an administrator command from an input device (not shown), and commands the virtualization unit 111 of the physical server 110 to generate, move, and delete the virtual server 109.
- the processing for the virtualization management unit 102 to operate the virtual server 109 can be the same as a known or known VMM or hypervisor, and will not be described in detail here.
- the management server 101 also has a storage control unit (not shown) that allocates the plurality of disk volumes 116 of the storage device 115 to the physical server 110.
- the function of the storage control unit may be included in the virtualization management unit 102.
- the virtualization management unit 102 of the present invention uses a block of the disk volume 116p in which an error has occurred when converting the disk volume 116p of the physical server 110-1 to the virtual disk 501-0. Further, a bad block notification control unit 205 that notifies the conversion unit 111 is further provided.
- the block of the disk volume 116 indicates a unit by which the OS 210 of the physical server 110-1 accesses the disk volume 116p, and is represented by, for example, LBA (Logical Block Addressing).
- the P2V execution management unit 103 assigns the disk volume 116p or physical disk of the physical server 110-1 designated by the administrator or the like from the input device of the management server 101 to the virtual disk 501-0 that can be handled by the virtualization unit 111.
- the data is converted and stored in the disk volume 116v of the storage device 115.
- the P2V execution management unit 103 copies the data of the disk volume (or physical disk) from the storage device 115 and generates a conversion source disk image, and the virtualization unit 111 handles the copied disk image.
- the disk volume 116p is read by acquiring dump data of the memory of the image conversion control unit 206 and the physical server 110-1 that converts to a virtual disk image that can be stored in the storage device 115 as the virtual disk 501 And a data repair control unit 207 that repairs a block in which an error (for example, a read error) has occurred from memory dump data.
- the disk copy control unit 208 If an error occurs when the disk copy control unit 208 reads the disk volume 116p of the physical server 110-1, the disk copy control unit 208 stores the block number where the error occurred in the bad block management table 106, and the error occurs. Skip the block that has been read.
- the image conversion control unit 206 acquires the block number of the disk volume 116p of the physical server 110-1 in which an error has occurred from the bad block management table 106, and the disk image of the physical server 110-1 is a virtual disk that is a virtual disk image.
- the block number on the virtual disk 501-0 corresponding to the block number in which an error has occurred is stored in the bad block management table 106.
- the converted virtual disk 501-0 can notify the error even in the virtualized environment by managing the block in which the error has occurred during the conversion by the bad block management table 106.
- the OS 210 can provide the business without any problem. Therefore, the block can be obtained even on the virtual server 109 by making P2V successful. There is also a high possibility that no data will be accessed.
- the P2V is made successful so that the OS 210 and applications of the physical server 110-1 are transferred to the virtual server 109. Can be migrated.
- the data repair control unit 207 acquires the block number where the error of the disk volume 116p of the physical server 110-1 stored in the bad block management table 106 occurs, and stores it in the dump data of the memory of the physical server 110-1. When the data of this block number exists, the corresponding block number of the virtual disk 501-0 is updated with the dump data and repaired. The data repair control unit 207 deletes the entry in the bad block management table 106 that has been successfully repaired.
- the block number of the virtual disk 501-0 that could not be repaired by the data repair control unit 207 is notified to the virtualization unit 111 by the bad block notification control unit 205 of the virtualization management unit 102.
- the virtualization unit 111 notifies the virtual server 109 that the block is an error. That is, when the virtualization management unit 102 instructs the virtualization unit 111 of the physical server 110-2 to generate the virtual server 109-1, the bad block notification control unit 205 configures the virtual server 109-1 that configures the virtual server 109-1. If the disk 501-0 contains a block in which an error has occurred, information on the bad block management table 106 is notified.
- the disk copy control unit 208 and the image conversion control unit 206 of the P2V execution management unit 103 read the conversion source disk volume 116p or the physical disk in units of blocks, and block the virtual disk image (virtual disk 501-0). Convert to The virtual disk image can be configured, for example, as a file in which the contents of blocks on the disk volume 116p are associated with block position information (block numbers).
- the image conversion control unit 206 of the P2V execution management unit 103 converts the conversion source block read by the disk copy control unit 208 into a virtual disk image block that can be used by the virtualization unit 111 of the physical server 110-2.
- the virtual disk 501 is stored in the storage device 115 as a single block.
- a known or well-known technique such as Patent Document 1 described in the above-described conventional example may be used.
- FIG. 10 is a diagram illustrating an example of the physical server management table 104 in which the virtualization management unit 102 manages the physical resources of the physical server 110.
- the physical server management table 104 includes a physical server 1001 that stores the identifier of the physical server 110, a volume size 1002 that stores the capacity of the disk volume connected to the physical server 110, and a memory that stores the memory capacity of the physical server 110.
- One record is composed of the size 1003 and the volume identifier 1004 for storing the identifier of the disk volume assigned to the physical server 110.
- the number of cores of the processor, the operating frequency, and the like may be included.
- Each item of the physical server management table 104 can be set by an administrator or the like from an input device (not shown) of the management server 101.
- FIG. 9 is a diagram illustrating an example of the virtual server management table 105 in which the virtualization management unit 102 manages the virtual server 109.
- the virtual server management table 105 executes a virtual server identifier 901 that stores the identifier of the virtual server 109, a virtualization unit identifier 902 that stores an identifier of the virtualization unit 111 that provides the virtual server, and the virtualization unit.
- One record is composed of a physical server identifier 903 that stores the identifier of the physical server 110.
- the physical server identifier 903 corresponds to the physical server 1001 in the physical server management table 104.
- the virtualization unit identifier 902 and the virtual server identifier 901 can be set by an administrator or the like from an input device (not shown) of the management server 101.
- FIG. 8 is a diagram showing an example of the virtual disk management table 107 for managing the conversion-source physical server 110 and the converted virtual disk 501.
- the virtual disk management table 107 includes a virtual disk identifier 801 that stores the identifier of the virtual disk 501, a virtual server identifier 803 that stores the identifier of the virtual server 109 to which the virtual disk is allocated, and the conversion source of the virtual disk 501.
- One record is composed of a physical server identifier 803 that stores the identifier of the physical server 110-1 and a bad block detection 804 that indicates whether or not an error has occurred during the conversion of the virtual disk 501.
- the P2V execution management unit 103 After the conversion source disk volume 116p is converted to the virtual disk 501-0, the P2V execution management unit 103 generates a new record.
- the P2V execution management unit 103 stores the identifier of the physical server 110 that used the conversion source disk volume 116p in the physical server identifier 803, and uses the identifier of the virtual disk given from the virtualization management unit 102 as described later. If a bad block occurs when storing in the virtual disk identifier 801 and converting to the virtual disk 501-0, “YES” of the bad block detection 804 is stored, and “NO” is stored if there is no bad block. .
- the virtualization management unit 102 uses the virtual disk 501-0 of the virtual disk identifier 801, the virtual server identifier is assigned and stored in the virtual server identifier 802 of the virtual disk management table 107.
- the virtual disk management table 107 holds the relationship between the physical server 110 that used the conversion source disk volume 116 of the virtual disk 501 and the identifier of the virtual disk 501, and whether or not an error has occurred during the conversion. Further, the virtual disk management table 107 manages the relationship between the virtual disk identifier 801 and the virtual server by the virtual server identifier 802 when the virtualization management unit 102 assigns the virtual disk 501 to the virtualization unit 111.
- FIG. 7 is a diagram illustrating an example of the bad block management table 106 in which the P2V execution management unit 103 manages the relationship between the virtual disk 501 and the bad block of the conversion source disk volume 116.
- One record is composed of the bad block number 704.
- Information is stored in the physical server 701 and the physical disk bad block number 702 by the disk copy control unit 208 that reads the conversion source disk volume 116p. Information is written into the virtual disk identifier 703 and the virtual disk bad block number 704 by the image conversion control unit 206 that converts the conversion source disk image into a virtual disk image.
- FIG. 3 is a block diagram illustrating an example of the physical server 110 (110-2 to 110-i) that executes the virtualization unit 111 and the virtual server 109. Since the plurality of physical servers 110-2 to 110-i have the same configuration, the physical server 110-2 will be described.
- the physical server 110-2 includes a processor 202 that performs arithmetic processing, a memory 201 that stores data and programs, a network interface 203 that communicates with the network 108, and a disk interface 204 that accesses the storage device 115.
- the memory 201 stores the above-described virtualization unit 111 and the virtual servers 109-1 and 109-2 generated by the virtualization unit 111.
- the virtualization unit 111 is a program executed by the processor 202.
- the virtualization unit 111 is stored in a storage device 115 as a storage medium, and is read into the memory 201 by the processor 202 and then executed.
- the virtual servers 109-1 and 109-2 are virtual resources provided by the virtualization unit 111, and an OS and applications included in the virtual disk 501 are executed by the processor 202 on the virtual server 109. As shown in FIG. 8, the virtual server 109-1 (virt1) is activated by the virtual disk vdik0, and the virtual server 109-2 (virt2) is activated by the virtual disk vdik1.
- the virtualization unit 111 accesses the error emulation control unit 112 that notifies the virtual server 109 of a bad block and the virtual server 109
- a virtual disk I / O control unit 113 that monitors the virtual disk 501 and a bad block management table 301 that manages bad blocks of the virtual disk 501 are provided.
- FIG. 18 is a diagram illustrating an example of the bad block management table 301 managed by the virtualization unit 111.
- the bad block management table 301 includes a virtual server identifier 601 that stores the identifier of the virtual server generated by the virtualization unit 111, a virtual disk identifier 602 that stores the identifier of the virtual disk 501 that started the virtual server 109, and a virtual disk 501.
- One record is configured from the virtual disk bad block management 603 for storing the position of the bad block included in the virtual disk.
- the bad block management table 301 is a table notified to the virtualization unit 111 by the bad block notification control unit 205 of the virtualization management unit 102.
- the virtual disk I / O control unit 113 refers to the bad block management table 301 and blocks the currently accessed virtual disk.
- the error emulation control unit 112 is notified of the bad block number and the virtual server identifier 601.
- the error emulation control unit 112 notifies the virtual server 109 corresponding to the received virtual server identifier 601 that an error (I / O error) has occurred in the block of the virtual disk 501 that is currently accessed.
- the error emulation control unit 112 notifies the virtual server 109 of the bad block number 603.
- FIG. 4 is a block diagram showing an example of the physical server 110-1 that uses the conversion source disk volume 116p.
- the physical server 110-1 is configured in the same manner as the physical servers 110-2 to 110-i in FIG.
- the physical server 110-1 includes a processor 202 that performs arithmetic processing, a memory 201 that stores data and programs, a network interface 203 that communicates with the network 108, and a disk interface 204 that accesses the storage device 115.
- the disk interface 204 accesses the disk volume 116p and the disk volume 116d of the storage device 115.
- the above-described OS 210 is stored in the memory 201.
- the OS 210 is a program executed by the processor 202.
- the OS 210 is stored in the disk volume 116p of the storage apparatus 115 as a storage medium, and is executed after being read into the memory 201 by the processor 202.
- the OS 210 has a dump information acquisition unit 114 that writes the contents of the memory 201 to the disk volume 116d of the storage apparatus 115.
- the dump information acquisition unit 114 acquires the contents of the memory 201 when receiving a command from the OS 210 or when a predetermined error (for example, a system error) occurs in the OS 211, and the disk volume 116 d as the dump data 401. Write to.
- the disk to which the dump data 401 is written may be a disk volume 116p used by the OS 210.
- an application (not shown) is executed on the OS 210 to provide a predetermined service.
- the application is stored in the same disk volume 116p as that of the OS 210.
- the physical server 110-1 uses the disk volume 116p as a system volume (boot disk).
- FIG. 5 is a block diagram showing an example in which the virtual server 109 migrated from the physical server 110-1 with P2V accesses with a disk volume.
- the virtualization unit 111 (hyper1) of the physical server 110-2 (phy2) accepts an instruction from the virtualization management unit 102 of the management server 101, and the virtual disk 501-0 (vdisk0) of the disk volume 116v.
- the virtual server 109-1 (virt1) is generated and the virtual server 109-2 (virt2) is generated with the virtual disk 501-1 (vdisk1).
- the virtual server 109 is generated by the virtualization unit 111 by allocating a virtual resource obtained by virtualizing the physical resource of the physical server 110-2 to the virtual server and starting the OS 210v of the virtual disk 501-0 on the virtual resource. Service provision is started by the application included in the virtual disk 501-0.
- the block number of the currently accessed virtual disk 501-0 is a bad block. It is determined whether or not the management table 301 exists. When the block number of the virtual disk 501-0 to be accessed matches the virtual disk bad block number 603 in the bad block management table 301, the error emulation control unit 112 is notified of the bad block number and the virtual server identifier 601.
- the error emulation control unit 112 generates an error in the bad block number 603 of the virtual disk 501-0 currently accessed to the OS 210v of the virtual server 109-1 corresponding to the virtual server identifier 601 notified from the error emulation control unit 112. Notify you.
- the virtual disk I / O control unit 113 accesses the virtual disk 501-0 of the disk volume 116v and displays the access result. Responds to the virtual server 109-1.
- the position of the converted bad block is registered in the bad block management table 301.
- the virtual disk I / O control unit 113 and the error emulation control unit 112 of the virtualization unit 111 notify the OS 210v of the virtual server 109-1 of the bad block number 603.
- the OS 210 of the physical server 110-1 shifts to the virtual environment and is executed as the OS 210v by the virtual server 109-1, but when the bad block of the disk volume 116p is read by the virtual server 109, it is the same as before the virtualization.
- the error emulation control unit 112 can notify the OS 210v of an error and prevent the OS 210v from reading illegal data.
- FIG. 6 is a block diagram showing an example of repairing a bad block from the dump data 401 in the memory of the physical server 110-1 after conversion to the virtual disk 501-0 with P2V.
- the P2V execution management unit 103 acquires the dump data 401 of the memory 201 of the physical server 110-1 before copying the disk volume 116p of the physical server 110-1.
- the acquired dump data 401 is stored in a predetermined disk volume 116d.
- the P2V execution management unit 103 manages, in the bad block management table 106, a block in which an error has occurred when copying the disk volume 116p of the physical server 110-1. Then, the image conversion control unit 206 converts the block (bad block) in which an error has occurred to the virtual disk 501-0.
- the image conversion control unit 206 stores predetermined data such as null or dummy data in the corresponding block of the virtual disk 501 corresponding to the defective block.
- the data repair control unit 207 of the P2V execution management unit 103 acquires the virtual disk bad block number 704 from the bad block management table 106 for the virtual disk 501 that has been converted.
- the data repair control unit 207 searches for the acquired bad block number 704 in the dump data 401 of the memory 201.
- the data repair control unit 207 writes the data corresponding to the bad block number 702 in the dump data 401 to the virtual disk 501-0 and repairs it. .
- the data repair control unit 207 can acquire the dump data 401 in the memory 201 before reading the disk volume 116p, and can repair a bad block from the dump data 401 after conversion to the virtual disk 501. .
- FIG. 11 is a flowchart showing an outline of the processing performed by the P2V execution management unit 103 to read the conversion source disk volume 116 in units of blocks and convert the blocks into virtual disk image blocks. This process is executed by the management server 101 when a conversion source disk volume 116p and a storage destination disk volume 116v designated by an administrator or the like are received from an input device (not shown) of the management server 101.
- the management server 101 generates a virtual disk 501-0 by converting the disk volume 116p of the physical server 110-1 into a virtual disk image, and the physical server 110-2 (phy2) is created using the virtual disk 501-0.
- the administrator assigns a disk volume 116v for storing the converted virtual disk 501-0 to the virtual server 109-1 on the physical server 110-2 from an input device (not shown) of the management server 101. .
- step 1101 the virtualization management unit 102 of the management server 101 activates the P2V execution management unit 103. Then, the P2V execution management unit 103 refers to the physical server management table 104 from the identifier of the conversion source disk volume 116p received from an input device (not shown), and adds the physical server 110-1 using the disk volume 116p to the network 108. Select from.
- the virtualization management unit 102 determines the identifier (vdisk0) of the converted virtual disk 501 and notifies the P2V execution management unit 103 of it.
- the identifier of the virtual disk 501 is a unique virtual disk identifier within the computer system. Note that the virtualization management unit 102 may accept a value specified by an administrator or the like for the virtual disk identifier.
- step 1102 the data restoration control unit 207 of the P2V execution management unit 103 notifies the selected physical server 110-1 of an instruction to acquire the dump data 401 of the memory 201 and store it in the disk volume 116d.
- the disk volume 116d that stores the dump data 401 is set in advance.
- the OS 210 of the physical server 110-1 receives the command from the data restoration control unit 207 and activates the dump information acquisition unit 114.
- the dump information acquisition unit 114 acquires a dump of the memory 201 and stores the dump data 401 in the designated disk volume 116d.
- the OS 210 notifies the management server 101 of the completion of the dump.
- step 1103 when the P2V execution management unit 103 receives the completion of the dump from the physical server 110-1, the P2V execution management unit 103 activates the disk copy control unit 208, and copies the disk volume 116p used by the physical server 110-1. Directs conversion to a virtual disk image.
- the disk copy control unit 208 reads the designated disk volume 116p in block units, converts it into virtual disk image blocks in the image conversion control unit 206, and sets the virtual disk 501-0 to the predetermined disk volume 116v as a block unit. Store with. Details of the disk copy control unit 208 and the image conversion control unit 206 will be described in detail with reference to FIGS.
- the disk copy control unit 208 uses the identifier (phy1) of the physical server 110-1 and the block number in which the error has occurred in the physical of the bad block management table 106.
- the server identifier 701 and the physical disk bad block number 702 are stored.
- the image conversion control unit 206 converts the block read by the disk copy control unit 208 into a block of the virtual disk 501-0. At this time, if the block number read from the disk volume 116p matches the physical disk bad block number 702 with reference to the bad block management table 106, the image conversion control unit 206 stores the virtual disk image in which the block is stored. Are stored in the virtual disk bad block number 704 of the bad block management table 106, and the identifier of the virtual disk 501-0 to be converted is stored in the virtual disk identifier 703 (step 1104). Then, since the block read by the disk copy control unit 208 is a bad block, the image conversion control unit 206 writes the above-described dummy data in the corresponding block of the virtual disk 501-0. Note that the processing of steps 1103 and 1104 is repeatedly performed during the period of processing for converting the disk volume 116p into a virtual disk image.
- the disk copy control unit 208 When the disk copy control unit 208 has read all the blocks of the conversion source disk volume 116p, the disk copy control unit 208 notifies the P2V execution management unit 103 that the conversion from the disk volume 116p to the virtual disk 501-0 has been completed.
- the P2V execution management unit 103 searches the bad block management table 106 using the identifier of the virtual disk 501-0 given from the virtualization management unit 102, and a bad block is found during the conversion. It is determined whether it has occurred (step 1105).
- step 1106 If a defective block has occurred, the process proceeds to step 1106, and if there is no defective block, the process proceeds to step 1107.
- step 1106 the P2V execution management unit 103 activates the data repair control unit 207 and repairs the defective block of the virtual disk 501-0 from the dump data 401 of the memory 201 of the physical server 110-1 as described above.
- the data repair control unit 207 deletes the corresponding record in the bad block management table 106 when the bad block of the virtual disk 501-0 is successfully repaired.
- the processing of the data restoration control unit 207 will be described in detail with reference to FIG.
- the data restoration control unit 207 notifies the P2V execution management unit 103 when the processing is completed.
- step 1107 the P2V execution management unit 103 sets the virtual disk management table 107.
- the P2V execution management unit 103 adds a new record to the virtual disk management table 107, stores the virtual disk identifier assigned from the virtualization management unit 102 in the virtual disk identifier 801, and converts the virtual disk 501-0 conversion source
- the identifier of the physical server 110-1 that has used the disk volume 116p is stored in the physical server identifier 803.
- the P2V execution management unit 103 searches the bad block management table 106 using the virtual disk identifier given from the virtualization management unit 102, and if the virtual disk 501-0 includes a bad block, the virtual disk management table 103 “YES” is stored in the bad block detection 804 of 107, and “NO” is stored if no bad block is included.
- the virtual server identifier 802 in the virtual disk management table 107 is assigned by the virtualization management unit 102 when the virtual disk 801-0 is used by the virtual server 109, so immediately after the virtual disk 501-0 is generated. Then, the value of the virtual server identifier 802 is blank.
- step 1108 the P2V execution management unit 103 notifies the virtualization management unit 102 that the conversion of the virtual disk 501-0 from the disk volume 116p has been completed, and the process ends.
- the P2V execution management unit 103 converts the disk volume 116p to the virtual disk 501-0 in units of blocks, and blocks in which an error has occurred when reading the disk volume 116p are managed by the bad block management table 106, and the virtual Dummy data is written to the disk 501-0.
- the data repair control unit 207 repairs the bad block management table 106 from the dump data 401.
- the virtual disk management table 107 is updated, and the virtual disk 501-0 is added to the table 107 as a new virtual disk image.
- FIG. 12 is a flowchart showing an example of processing performed by the disk copy control unit 208. This processing is the processing of steps 1103 and 1104 in FIG.
- step 1201 the disk copy control unit 208 reads the first block from the disk volume 116p received by the P2V execution management unit 103.
- step 1202 it is determined whether an error has occurred, in other words, whether reading has failed. If reading of the block fails, the process proceeds to step 1203. If successful, the process proceeds to step 1204.
- step 1203 the disk copy control unit 208 adds a new record to the bad block management table 106, writes the number of the block that failed to be read into the physical disk bad block number 702, and is currently reading the disk volume 116p. Is written in the physical server identifier 701.
- Step 1204 the disk copy control unit 208 notifies the image conversion control unit 206 of the read block data, the block number, and the identifier of the physical server 110, and requests conversion to a virtual disk image.
- the image conversion control unit 206 converts the requested block into a virtual disk image.
- step 1205 the disk copy control unit 208 determines whether or not the currently read block is the last block. If it is not the last block, the process proceeds to step 1206 and the disk copy control unit 208 reads the next last block. Then, the processing in steps 1202 to 1205 is repeated. On the other hand, if the currently read block is the last block, the P2V execution management unit 103 is notified that the conversion to the virtual disk image has been completed, and the process ends.
- FIG. 13 is a flowchart showing an example of the conversion process from the disk volume 116p to the virtual disk image performed in step 1204 of FIG.
- step 1301 the image conversion control unit 206 determines whether the block number received from the disk copy control unit 208 and the identifier of the physical server 110 exist in the bad block management table 106. If the received block number and the identifier of the physical server 110 exist in the bad block management table 106, the image conversion control unit 206 makes a determination after determining that it is a bad block in which an error has occurred during reading, and proceeds to step 1304. On the other hand, if the received block number and the identifier of the physical server 110 do not exist in the bad block management table 106, the image conversion control unit 206 determines that the block has been read normally, and proceeds to step 1302.
- step 1302 the image conversion control unit 206 converts the block data received from the disk copy control unit 208 into a virtual disk image. That is, the block of the disk volume 116p is converted into the format of the virtual disk 501-0.
- step 1303 the converted virtual disk image block is written to the virtual disk 501-0 of the disk volume 116v, and the processing of the image conversion control unit 206 is terminated.
- step 1304 which proceeds when it is determined in step 1301 that a bad block exists, the image conversion control unit 206 writes the virtual disk bad block number 704 and the virtual disk identifier 703 in the bad block management table 106.
- the image conversion control unit 206 assigns the virtual disk identifier assigned by the virtualization management unit 102 to the record of the bad block management table 106 in which the bad block number of the disk volume 116p matches the identifier of the physical server 110, and the virtual disk identifier 703. To store. Then, the image conversion control unit 206 assumes that the virtual disk bad block number 704 of the record has converted the data of the bad block number received from the disk copy control unit 208 into a virtual disk image. Stores the block number on ⁇ 0. Then, the image conversion control unit 206 writes the dummy data as described above into the block of the virtual disk 501-0 corresponding to the defective block, and ends the process.
- the disk copy control unit 208 reads from the first block to the last block of the conversion source disk volume 116p in units of blocks, and the image conversion control unit 206 converts them into virtual disk images. If an error occurs when reading a block of the disk volume 116p, the disk copy control unit 208 adds the block number and the identifier of the physical server 110 to the bad block management table 106, and the image conversion control unit 206 determines the virtual disk identifier and virtual Write the block number of disk 501-0. The image conversion control unit 206 writes predetermined dummy data in the virtual disk 501-0 instead of the defective block data, and continues the conversion to the virtual disk 501-0.
- the P2V execution management unit 103 tries to repair the bad block from the dump data 401 by the data repair control unit 207.
- FIG. 14 is a flowchart illustrating an example of processing performed by the data repair control unit 207. This process is a process performed in step 11066 of FIG.
- step 1401 the data repair control unit 207 acquires all physical disk bad block numbers 702 corresponding to the disk volume 116p converted to the current virtual disk 501-0. If a plurality of errors have occurred when the disk volume 116p is read, there are a plurality of records in the bad block management table 106 that include the identifier of the physical server 110 using the disk volume 116p in the physical server identifier 701. The data repair control unit 207 acquires all physical disk bad block numbers 702.
- step 1402 the data restoration control unit 207 acquires the dump data 401 of the memory 201 of the physical server 110-1 that is the conversion source of the virtual disk 501-0 from the disk volume 116d. Then, the data repair control unit 207 searches the dump data 401 using the conversion source defective block number 702 acquired in step 1401. This search is performed for all physical disk bad block numbers 702 acquired in step 1401.
- step 1403 the data repair control unit 207 determines whether there is data that matches the bad block number 702 in the dump data 401. If data matching the bad block number 702 is included in the dump data 401, the process proceeds to step 1404. On the other hand, if the data matching the bad block number 702 is not included in the dump data 401, the data restoration control unit 207 cannot be executed, and the process ends.
- step 1404 the data repair control unit 207 copies data matching the bad block number 702 from the dump data 401.
- step 1405 the data restoration control unit 207 instructs the image conversion control unit 206 to convert the copied data into a virtual disk image format. Then, the data restoration control unit 207 acquires the block converted into the virtual disk image from the image conversion control unit 206.
- the data repair control unit 207 refers to the bad block management table 106, acquires the virtual disk bad block number 704 corresponding to the bad block number 702, and writes it to the block of the virtual disk 501-0 indicated by the virtual disk bad block number 704. .
- step 1406 the data repair control unit 207 deletes and updates the record of the bad block management table 106 that has successfully repaired the virtual disk 501-0 with the bad block number 704 from the dump data 401.
- the data repair control unit 207 searches the bad block management table 106 for the identifier of the physical server 110-1 currently focused on.
- the data repair control unit 207 searches for the identifier of the physical server 110-1 currently focused on from the physical server identifier 803 of the virtual disk management table 107, and sets the bad block detection 804 of the corresponding record to “NO”. Update.
- FIG. 15 is a flowchart illustrating an example of processing performed by the virtualization management unit 102. This flowchart is executed when the virtualization management unit 102 receives a notification from the P2V execution management unit 103 that the conversion of the virtual disk 501-0 is completed. As described in the explanation of FIG. 11, the virtualization management unit 102 receives the virtual resource assigned to the virtual server 109-1 by the virtualization unit 111 of the physical server 110-2 and the identifier of the virtual server. An example is shown in which the virtual server 109-1 is activated with the virtual disk 501-0.
- step 1501 the virtualization management unit 102 receives a notification of conversion completion of the virtual server 109-1 from the P2V execution management unit 103.
- step 1502 the virtualization management unit 102 searches the bad block management table 106 using the converted identifier of the virtual disk 501-0 and acquires the corresponding record. Then, the virtualization management unit 102 notifies the record acquired in Step 1502 to the virtualization unit 111 of the physical server 110-2 that executes the virtual server 109-1 with the virtual disk 501-0. At this time, the virtualization management unit 102 also notifies the virtual server identifier and the virtual resource assigned to the virtual server 109-1.
- the virtualization management unit 102 sets the value notified to the virtualization unit 111 in the virtual server identifier 802 of the virtual disk management table 107 corresponding to the identifier of the virtual disk 501-0.
- the virtualization unit 111 of the physical server 110-2 allocates a virtual resource to the virtual server 109-1, and converts the disk volume 116p of the physical server 110-1 to the virtual server 109- using the virtual disk 501-0. 1 is activated.
- FIG. 16 is a flowchart illustrating an example of processing performed by the virtual disk I / O control unit 113 of the virtualization unit 111 that provides the virtual server 109-1.
- the virtualization unit 111 of the physical server 110-2 receives a part of the bad block management table 106 from the virtualization management unit 102 of the management server 101, the virtualization unit 111 of FIG.
- the bad block management table 301 shown is generated or updated.
- the virtualization unit 111 allocates the disk volume 116v to the virtual server 109-1, starts the OS 210v with the virtual disk 501-0, and operates the virtual server 109-1.
- Step 1601 the virtual disk I / O control unit 113 receives an access (I / O request) from the virtual server 109-1 to the virtual disk 501-0.
- step 1602 the virtual disk I / O control unit 113 acquires the virtual disk bad block number 603 of the virtual disk 501-0 assigned to the virtual server 109-1 from the bad block management table 301.
- step 1603 the virtual disk I / O control unit 113 searches the virtual disk bad block number 603 acquired in step 1602 with the block number of the I / O request received in step 1601.
- step 1604 the virtual disk I / O control unit 113 determines whether or not the virtual disk bad block number 603 is included in the I / O request block. If a defective block is included, the process proceeds to step 1605. If a defective block is not included, the process proceeds to step 1606.
- step 1605 the virtual disk I / O control unit 113 notifies the error emulation control unit 112 that a bad block in the virtual disk 501-0 has been accessed.
- step 1606 the virtual disk I / O control unit 113 executes access to the virtual disk 501-0 and returns an access result to the virtual server 109-1.
- FIG. 17 is a flowchart showing an example of processing performed by the error emulation control unit 112. This process is executed when the error emulation control unit 112 receives a notification indicating that the virtual disk I / O control unit 113 is accessing a bad block.
- step 1701 the error emulation control unit 112 notifies the virtual server 109-1 that issued the I / O request that an I / O error has occurred in the requested block.
- the OS 210v of the virtual server 109-1 receives the notification from the error emulation control unit 112 and executes predetermined error processing.
- the error emulation control unit 112 If there is a defective block in which an error has occurred when converting the disk volume 116p of the physical server 110-1 by the above processing, the error emulation control unit 112 notifies the access result to the virtual server 109-1. As a result, the virtual server 109-1 can be restricted from directly accessing the bad block of the virtual disk 501-0.
- the disk copy control unit 208 reads from the first block to the last block of the conversion source disk volume 116p in block units, and the image conversion control unit 206 converts the block into a virtual disk image, and the virtual disk 501-0. Is generated. If an error occurs when the disk copy control unit 208 reads a block of the disk volume 116p, the image conversion control unit 206 transfers dummy data, blanks, etc. to the virtual disk 501-0 instead of converting the block to a virtual disk image. To continue generating the virtual disk 501-0.
- the conversion process of the conversion source disk volume to a virtual disk image is performed. Can continue.
- the environment of the physical server 110-1 operating on the conversion source disk volume 116p can be migrated to the environment of the virtual server 109-1.
- the data repair control unit 207 can repair the bad block from the dump data 401, it is possible to ensure the stability of the virtual server 109-1.
- the virtualization unit 111 a copy of the bad block management table 106 is acquired from the management server 101, and the virtual disk I / O control unit 113 monitors the I / O access of the virtual server 109-1, and the virtual disk 501- When the 0 bad block is accessed, the error emulation control unit 112 notifies the virtual server 109-1 of the error without actually accessing the virtual disk 501-0. As a result, the virtual server 109-1 can be prevented from reading illegal data from a bad block, and the stability of the virtual environment can be ensured.
- the management server 101 reads the conversion source disk volume 116p and writes dummy data to the conversion destination virtual disk 501 when an error occurs.
- the defective block is not repaired, it is not necessary to write the dump data 401 of the virtual disk 501, and the virtual disk defective block number may be recorded in the defective block management table 106. That is, the management server 101 skips the bad block of the conversion source disk volume, determines the block number on the virtual disk 501 corresponding to the bad block number, and stores it in the bad block management table 106.
- the management server 101 does not write a bad block on the virtual disk 501.
- the virtual server 109 using the virtual disk 501 is monitored for an I / O request by the virtual disk I / O control unit 113 of the virtualization unit 111.
- the virtual server 109 issues an I / O request for accessing a bad block, an error occurs from the virtual disk I / O control unit 113 via the error emulation 112.
- the error emulation control unit 112 reads a bad block, so it is not necessary that a bad block is actually generated on the virtual disk 501. .
- the management server 101 sets the virtual disk 501 to the virtual disk 501.
- Block 3 ' is written after block 1' converted to an image.
- the P2V execution management unit 103 of the management server 101 sets block 3 ′ as the next write position of block 1 ′ of the virtual disk 501, and sets the bad block. Ignore and continue to generate the virtual disk 501.
- the disk volume 116p in the storage device 115 is used as the conversion source.
- the conversion source disk volume 116 may be a physical disk, a logical disk, or a partition.
- the virtual disk 501-0 is generated using the disk volume 116p as the conversion source.
- the conversion destination may be a disk image, and is not limited to the virtual disk image.
- the present invention can be applied when copying the contents of the first disk volume to the second disk volume. It can. That is, when an error occurs when the first disk volume is read, the bad block information is stored in the bad block management table 106 of the management server 101, and dummy data is stored in the corresponding block of the second disk volume. The predetermined data such as are stored. Alternatively, the corresponding block of the second disk volume is blank.
- the management server 101 allocates the second disk volume to the server, and the bad block information of the second disk volume is obtained from the bad block management table 106 and the OS of the server. Or notify the virtualization department.
- the OS or virtualization unit of the server accesses the bad block when accessing the second disk volume, it can generate an error without actually accessing the bad block of the second disk volume.
- the server may be a physical server and is not limited to a virtual server.
- a PCI express switch is installed between the second disk volume and the server, the management server 101 notifies the PCI express switch of a copy of the bad block management table 106, and the switch monitors the I / O access of the server. Also good.
- the PCI express switch can notify the server of the occurrence of an error.
- the first computer uses the first disk volume
- the management server 101 creates a second disk volume by duplicating the first disk volume
- the second computer accesses the second disk volume.
- the present invention can be applied.
- the management server 101 records the block in which an error has occurred when replicating the first disk volume in the bad block management table 106 to generate a second disk volume. After connecting the second disk volume to the second computer, the management server 101 notifies the second computer of the bad block management table 106.
- the OS or the virtualization unit refers to the bad block management table 106 and monitors access to a bad block on the second disk volume. When the second computer accesses the bad block of the second disk volume, the OS or the virtualization unit can generate an I / O error without actually accessing the bad block of the second disk volume. .
- the conversion source (copy source) disk volume and the conversion destination (copy destination) disk volume are stored in the same storage device 115. However, they are stored in different storage devices. May be.
- the conversion source disk volume is read in block units and written to the conversion destination disk volume in block units.
- a copy of the conversion source disk volume is generated, You may make it write in the disk volume of a conversion destination.
- a storage device composed of a nonvolatile semiconductor can be used in addition to a hard disk drive, or a storage device including both a hard disk drive and a nonvolatile semiconductor can be used. .
- the present invention can be applied to a computer system that replicates a disk volume and uses the replicated disk volume.
- the present invention includes a virtualization unit for replicating a disk image or converting a physical disk to a virtual disk. It is suitable for a virtual computer system to be performed.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
管理計算機が、第1のディスクボリュームのデータを読み込み、第1のディスクボリュームのデータを読み込んだときにエラーが発生したか否かを判定し、前記判定でエラーが発生していないときには読み込んだデータを第2のディスクボリュームに書き込んで複製を生成し、前記判定でエラーが発生したときには前記読み込んだデータの位置を不良ブロック管理情報に書き込み、第2のディスクボリュームを計算機に割り当てて、不良ブロック管理情報を前記計算機へ送信し、前記計算機が、前記第2のディスクボリュームへアクセスするときに、受信した不良ブロック管理情報を参照して、前記アクセスする位置が前記不良ブロック管理情報に一致したときにエラーを発生する。
Description
本発明は、ディスクボリュームの複製を計算機で運用する技術に関し、特にディスクボリュームの複製を仮想計算機で運用する技術に関する。
近年、仮想化技術の普及により、業務システムを物理サーバから仮想サーバへ移行する要求が高まっている。物理サーバから仮想サーバへ移行することによって、新規にハードウェアを購入する必要がなくなり、OS(Operating System)の再インストールが不要になるなどの利便性を向上させることができる。特に、古い業務システムをそのままの状態で物理サーバから仮想サーバへ移行することができるP2V(Physical To Virtual)の技術は、特許文献1等で知られている。P2Vの技術を用いることで、物理サーバのディスクイメージ(物理ディスクのイメージ)を仮想サーバのディスクイメージ(仮想ディスクのイメージ)に変換することができる。このP2Vの技術によれば、仮想サーバへ移行する際に、物理ディスクの複製を仮想サーバのディスクイメージに変換することで、業務アプリケーションの変更やOSの再インストールが不要になるため、物理サーバから仮想サーバへの移行作業に伴う労力を大幅に軽減でき、また、移行に伴うリスクも軽減できる。
一般的にP2VはVMware(登録商標) vCenter Converter等のイメージ変換ソフトウェアを利用し、物理サーバで稼動していたOSやアプリケーションを含むシステムのディスクイメージのフォーマットを、仮想サーバ上で稼動させるための仮想化部用のフォーマットに変換することで実現する。
しかしながら、上記従来のP2Vの技術においては次のような問題があった。物理サーバのディスクイメージから仮想サーバのディスクイメージへフォーマットを変換する際に、特定の物理ブロックで読み込みエラーが発生すると、フォーマット処理の変換を完了できずにP2Vが失敗してしまう場合があった。
物理サーバのディスクイメージから仮想サーバへのディスクイメージへのフォーマット変換では、物理サーバのディスクイメージをコピーするために、イメージが格納されている物理ディスクの先頭ブロックから終了ブロックまで読込む処理を行う。このため、物理サーバで稼動していた時には全くアクセスされていなかった物理ディスクの不良ブロックが、フォーマット変換の際に初めてアクセスされてエラーに遭遇し、フォーマット変換が中断するということがあった。
そこで本発明は、ディスクボリュームの読み込み時にエラーが発生してもディスクイメージの複製を完了させることを目的とする。
本発明は、プロセッサとメモリを備えた計算機と、前記計算機と接続してプロセッサとメモリを備えた管理計算機と、前記管理計算機と接続した第1のディスクボリュームと、前記管理計算機及び前記計算機と接続した第2のディスクボリュームを備えて、前記第1のディスクボリュームの複製を前記第2のディスクボリュームに書き込んで、前記計算機が第2のディスクボリュームにアクセスする計算機の制御方法であって、前記管理計算機が、前記第1のディスクボリュームのデータを読み込む第1のステップと、前記管理計算機が、前記第1のディスクボリュームのデータを読み込んだときに、エラーが発生したか否かを判定する第2のステップと、前記管理計算機が、前記判定でエラーが発生していないときには、前記読み込んだデータを前記第2のディスクボリュームに書き込んで複製を生成する第3のステップと、前記管理計算機が、前記判定でエラーが発生したときには、前記読み込んだデータの位置を不良ブロック管理情報に書き込む第4のステップと、前記管理計算機が、前記第2のディスクボリュームを前記計算機に割り当てる第5のステップと、前記管理計算機が、前記不良ブロック管理情報を前記計算機へ送信する第6のステップと、前記計算機が、前記不良ブロック管理情報を受信する第7のステップと、前記計算機が、前記第2のディスクボリュームへアクセスするときに、前記受信した不良ブロック管理情報を参照して、前記アクセスする位置が前記不良ブロック管理情報に一致したときにエラーを発生する第8のステップと、を含む。
本発明によれば、第1のディスクボリュームの特定のブロックのみにI/Oエラーが発生したり、未使用ブロックでI/Oエラーが発生した場合であっても、第2のディスクボリュームに第1のディスクボリュームの複製を書き込む処理を続行することができる。そして、第2のディスクボリュームは、不良ブロック管理情報でエラーが発生したブロックを管理することで、第2のディスクボリュームを利用する計算機にエラーを通知することができる。
以下、本発明の一実施形態について添付図面を用いて説明する。
図1は本発明の実施形態における計算機システムの構成の一例を示すブロック図である。計算機システムは、物理サーバ110-1と、仮想サーバ109-1~109-nを提供する物理サーバ110-2と、物理サーバ110-1、110-2を管理する管理サーバ101がネットワーク108を介して接続される。物理サーバ110-1、110-2及び管理サーバ101は、図示しないネットワーク(例えばSAN:Storage Area Network)を介して複数のディスクボリューム116p、116d、116vを有するストレージ装置115に接続される。なお、以下の説明では、物理サーバ110-1、110-2の総称を符号110で示し、仮想サーバ109-1~109-nの総称を符号109で示し、ディスクボリューム116p、116d、116vの総称を符号116で示す。
物理サーバ110-1は、OS210や図示しないアプリケーションを含む業務システムを格納したディスクボリューム116pに接続され、OS210や図示しないアプリケーションをメモリにロードして実行する。OS210は、物理サーバ110-1のメモリの内容をダンプするダンプ情報取得部114を有する。物理サーバ110-1は、ディスクボリューム116dにも接続されており、ダンプ情報取得部114が取得したダンプデータ(メモリダンプ)401をディスクボリューム116dへ書き込む。物理サーバ110-1は、ディスクボリューム116pをブートディスクとして使用する。
物理サーバ110-2は、仮想化部111を実行して複数の仮想サーバ109-1~109-nを提供する。物理サーバ110-2は、仮想ディスク501-0を格納したディスクボリューム116vが接続されており、仮想化部111が仮想ディスク501-0を読み込んで、仮想サーバ109-1を提供する。なお、仮想化部111は、物理サーバ110-2の物理的な計算機資源(以下、物理リソース)を仮想化して仮想サーバ109を生成するVMM(Virtual Machine Monitor)やハイパーバイザで構成することができる。仮想サーバ109を提供する物理サーバ110は、図3で示すように複数の物理サーバ110-2~110-iで構成される。各物理サーバ110では、仮想化部111が稼動しており、各仮想化部111上で仮想サーバ109が実行される。なお、仮想ディスク501-0の総称は符号501を用いる。
管理サーバ101は、複数の物理サーバ110の仮想化部111及び仮想化部111上で実行される仮想サーバ109を管理する仮想化管理部102と、物理サーバ110-1が使用するディスクボリューム116pをブロック単位で仮想化部111が利用可能な仮想ディスクに変換するP2V実行管理部103と、各種テーブルから構成される。
仮想化管理部102は、複数の物理サーバ110の物理リソースを管理する物理サーバ管理テーブル104と、各物理サーバ110上の仮想化部111が生成する仮想サーバ109を仮想サーバ管理テーブル105と、仮想サーバ109に割り当てる仮想ディスク501を管理する仮想ディスク管理テーブル107を利用する。これらのテーブルは、管理者などが図示しない管理端末などから設定するものである。
P2V実行管理部103は、物理サーバ110のディスクボリューム116を仮想ディスク501に変換する際に、ディスクボリューム116pのエラー発生箇所(不良ブロック)を記録する不良ブロック管理テーブル106と、仮想ディスク管理テーブル107を使用する。不良ブロック管理テーブル106は、P2V実行管理部103が生成する。仮想ディスク管理テーブル107は、仮想化管理部102によって仮想ディスク501と仮想サーバ109の対応関係が保持され、P2V実行管理部103によって各仮想ディスク501毎にエラーの有無と、仮想ディスク501の変換元の物理サーバ110の関係が保持される。
図2は管理サーバ101の詳細な構成を示すブロック図である。管理サーバ101は演算処理を行うプロセッサ202と、データやプログラムを格納するメモリ201と、ネットワーク108と通信を行うネットワークインターフェース203と、ストレージ装置115にアクセスするディスクインターフェース204と、を備える。また、管理サーバ101は、図示しない入力装置及び出力装置を備える。入力装置は、例えば、マウスやキーボードで構成される。出力装置は、例えば、表示装置で構成される。
メモリ201には、上述の仮想化管理部102と、P2V実行管理部103及び各種テーブルが格納される。仮想化管理部102と、P2V実行管理部103はプロセッサ202によって実行されるプログラムである。仮想化管理部102と、P2V実行管理部103は、記憶媒体としてのストレージ装置115に格納され、プロセッサ202によってメモリ201に読み込まれてから実行される。仮想化管理部102は、起動するとメモリ201上に物理サーバ管理テーブル104と、仮想サーバ管理テーブル105と、仮想ディスク管理テーブル107を格納する。P2V実行管理部103は、起動すると不良ブロック管理テーブル106をメモリ201上に格納する。
仮想化管理部102は、複数の物理サーバ110の仮想化部111を制御して仮想サーバ109を管理する。仮想化管理部102は、図示しない入力装置から管理者の指令を受け付けて、物理サーバ110の仮想化部111に対して仮想サーバ109の生成、移動、削除を指令する。仮想化管理部102が仮想サーバ109を操作する処理については、周知または公知のVMMまたはハイパーバイザと同様の処理を用いることができるため、ここでは詳述しない。
また、管理サーバ101は、ストレージ装置115の複数のディスクボリューム116を物理サーバ110に割り当てるストレージ制御部(図示省略)を有する。なお、ストレージ制御部の機能は仮想化管理部102に含めるようにしてもよい。
本発明の仮想化管理部102は、物理サーバ110-1のディスクボリューム116pを仮想ディスク501-0へ変換する際にエラーが発生したディスクボリューム116pのブロックを、仮想ディスク501-0を使用する仮想化部111へ通知する不良ブロック通知制御部205をさらに備える。なお、ディスクボリューム116のブロックは、物理サーバ110-1のOS210がディスクボリューム116pにアクセスする単位を示し、例えば、LBA(Logical Block Addressing)等で表される。
P2V実行管理部103は、管理者などが管理サーバ101の入力装置から指定した物理サーバ110-1のディスクボリューム116pまたは物理ディスクを、仮想化部111で扱うことが可能な仮想ディスク501-0に変換してストレージ装置115のディスクボリューム116vに格納する。
P2V実行管理部103は、ストレージ装置115からディスクボリューム(または物理ディスク)のデータをコピーし、変換元のディスクイメージを生成するディスクコピー制御部208と、コピーしたディスクイメージを仮想化部111が扱うことが可能な仮想ディスクイメージに変換し、仮想ディスク501としてストレージ装置115に格納するイメージ変換制御部206と、物理サーバ110-1のメモリのダンプデータを取得して、ディスクボリューム116pを読み込んだときにエラー(例えば、読み込みエラー)が発生したブロックをメモリのダンプデータから修復するデータ修復制御部207と、を含む。
ディスクコピー制御部208は、物理サーバ110-1のディスクボリューム116pを読み込んだときにエラーが発生した場合には、当該エラーが発生したブロック番号を不良ブロック管理テーブル106に格納し、当該エラーが発生したブロックを読み飛ばす。
イメージ変換制御部206は、エラーが発生した物理サーバ110-1のディスクボリューム116pのブロック番号を不良ブロック管理テーブル106から取得して、物理サーバ110-1のディスクイメージを仮想ディスクイメージである仮想ディスク501-0にブロック単位で変換する際に、エラーが発生したブロック番号に対応する仮想ディスク501-0上のブロック番号を不良ブロック管理テーブル106に格納しておく。
上記処理により、変換元のディスクボリュームの特定のブロックのみにI/Oエラーが発生したり、未使用ブロックでI/Oエラーが発生した場合でも、変換元のディスクボリュームの仮想ディスクイメージへの変換処理を続行することができる。そして、変換後の仮想ディスク501-0は、不良ブロック管理テーブル106で変換時にエラーが発生したブロックを管理することで、仮想化された環境でもエラーを通知することができる。これにより、物理サーバ110-1のディスクボリューム116pが経年劣化により潜在的にエラーがあるものの、OS210は問題なく業務を提供できているため、P2Vを成功させることで、仮想サーバ109上でも当該ブロックのデータへアクセスしない可能性も高い。このため、たとえ仮想ディスクイメージへの変換中(ディスクボリューム116pのイメージコピー中)にエラーが発生したとしてもP2Vは成功させておくことで、物理サーバ110-1のOS210やアプリケーションを仮想サーバ109へ移行させることができる。
さらに、データ修復制御部207は、不良ブロック管理テーブル106に格納された物理サーバ110-1のディスクボリューム116pのエラーが発生したブロック番号を取得し、物理サーバ110-1のメモリのダンプデータに、このブロック番号のデータが存在する場合、仮想ディスク501-0の該当ブロック番号を、ダンプデータで更新して修復を行う。データ修復制御部207は、修復が成功した不良ブロック管理テーブル106のエントリを削除する。
物理サーバ110-1のメモリ上には、OS210及びアプリケーションが稼動していたときに、P2Vの処理でエラーが発生したディスクボリューム116pのブロックを正常に読み込んだときのデータがディスクキャッシュなどに格納されている場合がある。そこで、P2Vの変換前に物理サーバ110-1のメモリのダンプデータ401を取得しておき、仮想ディスク501-0へ変換した後にメモリのダンプデータ401から不良ブロックのデータを再生することで、不良ブロックを修復することが可能となる。これにより、仮想サーバ109へ移行したOS210及びアプリケーションを安定して稼働させることが可能となる。
一方、データ修復制御部207で修復できなかった仮想ディスク501-0のブロック番号は、仮想化管理部102の不良ブロック通知制御部205が仮想化部111へ通知しておく。仮想化部111は、受信した仮想ディスク501-0のブロック番号を仮想サーバ109がアクセスした場合には、当該ブロックはエラーであることを仮想サーバ109に通知する。つまり、不良ブロック通知制御部205は、仮想化管理部102が物理サーバ110-2の仮想化部111に仮想サーバ109-1の生成を指令したときに、当該仮想サーバ109-1を構成する仮想ディスク501-0にエラーが発生したブロックが含まれる場合は、不良ブロック管理テーブル106の情報を通知しておく。
ここで、P2V実行管理部103のディスクコピー制御部208とイメージ変換制御部206は、変換元のディスクボリューム116pまたは物理ディスクを、ブロック単位で読み込んで仮想ディスクイメージ(仮想ディスク501-0)のブロックに変換する。仮想ディスクイメージは、例えば、ディスクボリューム116p上のブロックの内容とブロックの位置情報(ブロック番号)を関連付けたファイルとして構成することができる。
P2V実行管理部103のイメージ変換制御部206は、ディスクコピー制御部208が読み込んだ変換元のブロックを、物理サーバ110-2の仮想化部111で利用可能な仮想ディスクイメージのブロックに変換し、仮想ディスク501としてストレージ装置115にブロック単で格納する。変換元のディスクイメージを仮想ディスクイメージに変換する手法としては、前記従来例に述べた特許文献1等の公知または周知の技術を利用すればよい。
次に、仮想化管理部102及びP2V実行管理部103が利用する各テーブルについて説明する。
図10は、仮想化管理部102が物理サーバ110の物理リソースを管理する物理サーバ管理テーブル104の一例を示す図である。物理サーバ管理テーブル104は、物理サーバ110の識別子を格納する物理サーバ1001と、物理サーバ110に接続されたディスクボリュームの容量を格納するボリュームサイズ1002と、物理サーバ110のメモリの容量を格納するメモリサイズ1003と、物理サーバ110に割り当てられたディスクボリュームの識別子を格納するボリューム識別子1004から一つのレコードが構成される。なお、この他、プロセッサのコア数や動作周波数などを含めてもよい。物理サーバ管理テーブル104の各項目は、管理サーバ101の入力装置(図示省略)から管理者などが設定することができる。
図9は、仮想化管理部102が仮想サーバ109を管理する仮想サーバ管理テーブル105の一例を示す図である。仮想サーバ管理テーブル105は、仮想サーバ109の識別子を格納する仮想サーバ識別子901と、当該仮想サーバを提供する仮想化部111の識別子を格納する仮想化部識別子902と、当該仮想化部を実行する物理サーバ110の識別子を格納する物理サーバ識別子903から一つのレコードが構成される。物理サーバ識別子903は、物理サーバ管理テーブル104の物理サーバ1001に対応する。仮想化部識別子902及び仮想サーバ識別子901は、管理サーバ101の入力装置(図示省略)から管理者などが設定することができる。
図8は、変換元の物理サーバ110と変換後の仮想ディスク501を管理する仮想ディスク管理テーブル107の一例を示す図である。仮想ディスク管理テーブル107は、仮想ディスク501の識別子を格納する仮想ディスク識別子801と、当該仮想ディスクが割り当てられた仮想サーバ109の識別子を格納する仮想サーバ識別子803と、当該仮想ディスク501の変換元の物理サーバ110-1の識別子を格納する物理サーバ識別子803と、当該仮想ディスク501の変換時にエラーが発生したか否かを示す不良ブロック検出804から一つのレコードが構成される。
変換元のディスクボリューム116pを仮想ディスク501-0へ変換した後に、P2V実行管理部103が新たなレコードを生成する。P2V実行管理部103は、変換元のディスクボリューム116pを使用していた物理サーバ110の識別子を物理サーバ識別子803に格納し、後述するように仮想化管理部102から付与された仮想ディスクの識別子を仮想ディスク識別子801に格納し、仮想ディスク501-0へ変換する際に不良ブロックが発生した場合には、不良ブロック検出804の「YES」を格納し、不良ブロックがなければ「NO」を格納する。
仮想化管理部102が当該仮想ディスク識別子801の仮想ディスク501-0を使用するときに、仮想サーバの識別子を付与して仮想ディスク管理テーブル107の仮想サーバ識別子802へ格納する。
仮想ディスク管理テーブル107は、仮想ディスク501の変換元のディスクボリューム116を使用していた物理サーバ110と、仮想ディスク501の識別子の関係と、変換時にエラーが発生したか否かを保持する。さらに、仮想ディスク管理テーブル107は、仮想化管理部102が仮想ディスク501を仮想化部111へ割り当てる際には、仮想ディスク識別子801と仮想サーバの関係を仮想サーバ識別子802によって管理する。
図7は、P2V実行管理部103が仮想ディスク501と変換元のディスクボリューム116の不良ブロックの関係を管理する不良ブロック管理テーブル106の一例を示す図である。
不良ブロック管理テーブル106は、変換元のディスクボリューム116pを使用していた物理サーバ110の識別子を格納する物理サーバ識別子701と、P2V実行管理部103がディスクボリューム116pを読み込んだときにエラーが発生したブロックの位置を格納する物理ディスク不良ブロック番号702と、ディスクボリューム116pを変換した仮想ディスク501の識別子を格納する仮想ディスク識別子703と、当該仮想ディスク501に含まれる不良ブロックの位置を格納する仮想ディスク不良ブロック番号704から一つのレコードが構成される。
物理サーバ701と物理ディスク不良ブロック番号702には、変換元のディスクボリューム116pを読み込むディスクコピー制御部208によって情報が格納される。仮想ディスク識別子703と、仮想ディスク不良ブロック番号704には、変換元のディスクイメージを仮想ディスクイメージに変換するイメージ変換制御部206によって情報が書き込まれる。
図3は、仮想化部111及び仮想サーバ109を実行する物理サーバ110(110-2~110-i)の一例を示すブロック図である。複数の物理サーバ110-2~110-iは、同様の構成であるので物理サーバ110-2について説明する。
物理サーバ110-2は、演算処理を行うプロセッサ202と、データやプログラムを格納するメモリ201と、ネットワーク108と通信を行うネットワークインターフェース203と、ストレージ装置115にアクセスするディスクインターフェース204と、を備える。
メモリ201には、上述の仮想化部111と、仮想化部111が生成した仮想サーバ109-1、109-2が格納される。仮想化部111はプロセッサ202によって実行されるプログラムである。仮想化部111は、記憶媒体としてのストレージ装置115に格納され、プロセッサ202によってメモリ201に読み込まれてから実行される。
仮想サーバ109-1、109-2は、仮想化部111によって提供される仮想リソースで、これら仮想サーバ109上で仮想ディスク501に含まれるOSやアプリケーションがプロセッサ202で実行される。なお、図8で示すように、仮想サーバ109-1(virt1)は仮想ディスクvdik0で起動し、仮想サーバ109-2(virt2)は仮想ディスクvdik1で起動した例を示す。
仮想化部111は、物理サーバ110-2の物理リソースを仮想化して仮想サーバ109を生成する機能に加え、仮想サーバ109に不良ブロックを通知するエラーエミュレーション制御部112と、仮想サーバ109がアクセスする仮想ディスク501を監視する仮想ディスクI/O制御部113と、仮想ディスク501の不良ブロックを管理する不良ブロック管理テーブル301を有する。
図18は、仮想化部111が管理する不良ブロック管理テーブル301の一例を示す図である。不良ブロック管理テーブル301は、仮想化部111が生成した仮想サーバの識別子を格納する仮想サーバ識別子601と、仮想サーバ109を起動した仮想ディスク501の識別子を格納する仮想ディスク識別子602と、仮想ディスク501に含まれる不良ブロックの位置を格納する仮想ディスク不良ブロック管理603から一つのレコードが構成される。不良ブロック管理テーブル301は、仮想化管理部102の不良ブロック通知制御部205が仮想化部111へ通知したテーブルである。
仮想ディスクI/O制御部113は、後述するように、仮想サーバ109からストレージ装置115へのアクセス(読み込みアクセス)があると、不良ブロック管理テーブル301を参照して現在アクセス対象の仮想ディスクのブロック番号が仮想ディスク不良ブロック番号603に一致すると、当該不良ブロック番号と仮想サーバ識別子601をエラーエミュレーション制御部112に通知する。エラーエミュレーション制御部112は、受信した仮想サーバ識別子601に対応する仮想サーバ109に対して現在アクセスした仮想ディスク501のブロックでエラー(I/Oエラー)が発生したことを通知する。このとき、エラーエミュレーション制御部112は不良ブロック番号603を仮想サーバ109に通知する。
図4は、変換元のディスクボリューム116pを使用する物理サーバ110-1の一例を示すブロック図である。
物理サーバ110-1は、図3の物理サーバ110-2~110-iと同様に構成される。物理サーバ110-1は、演算処理を行うプロセッサ202と、データやプログラムを格納するメモリ201と、ネットワーク108と通信を行うネットワークインターフェース203と、ストレージ装置115にアクセスするディスクインターフェース204と、を備える。
ディスクインターフェース204は、ストレージ装置115のディスクボリューム116pとディスクボリューム116dにアクセスする。
メモリ201には、上述のOS210が格納される。OS210はプロセッサ202によって実行されるプログラムである。OS210は、記憶媒体としてのストレージ装置115のディスクボリューム116pに格納され、プロセッサ202によってメモリ201に読み込まれてから実行される。
OS210は、メモリ201の内容をストレージ装置115のディスクボリューム116dへ書き出すダンプ情報取得部114を有する。ダンプ情報取得部114は、OS210からの指令を受けたとき、または、OS211に所定のエラー(例えば、システムエラー)が発生したときにメモリ201の内容を取得して、ダンプデータ401としてディスクボリューム116dに書き込む。なお、ダンプデータ401を書き込むディスクはOS210が利用するディスクボリューム116pであってもよい。
また、OS210上では図示しないアプリケーションが実行され、所定のサービスを提供する。アプリケーションは、OS210と同じディスクボリューム116pに格納される。物理サーバ110-1は、ディスクボリューム116pをシステムボリューム(ブートディスク)として利用する。
図5は、P2Vで物理サーバ110-1から移行した仮想サーバ109がディスクボリュームでアクセスする例を示すブロック図である。
図5において、物理サーバ110-2(phy2)の仮想化部111(hyper1)は、管理サーバ101の仮想化管理部102からの指令を受け付けて、ディスクボリューム116vの仮想ディスク501-0(vdisk0)で仮想サーバ109-1(virt1)を生成し、仮想ディスク501-1(vdisk1)で仮想サーバ109-2(virt2)を生成した例を示す。なお、仮想化部111が行う仮想サーバ109の生成は、物理サーバ110-2の物理リソースを仮想化した仮想リソースを仮想サーバに割り当てて、当該仮想リソース上で仮想ディスク501-0のOS210vを起動し、仮想ディスク501-0に含まれるアプリケーションでサービスの提供を開始するものである。
仮想ディスクI/O制御部113は、仮想サーバ109-1からストレージ装置115の仮想ディスク501-0にアクセス(読み込みアクセス)があると、現在アクセス対象の仮想ディスク501-0のブロック番号が不良ブロック管理テーブル301に存在するか否かを判定する。アクセス対象の仮想ディスク501-0のブロック番号が不良ブロック管理テーブル301の仮想ディスク不良ブロック番号603に一致すると、当該不良ブロック番号と仮想サーバ識別子601をエラーエミュレーション制御部112に通知する。
エラーエミュレーション制御部112は、エラーエミュレーション制御部112から通知された仮想サーバ識別子601に対応する仮想サーバ109-1のOS210vに対して現在アクセスした仮想ディスク501-0の不良ブロック番号603でエラーが発生したことを通知する。
一方、アクセス対象の仮想ディスク501-0のブロック番号が不良ブロック管理テーブル301になければ、仮想ディスクI/O制御部113はディスクボリューム116vの仮想ディスク501-0にアクセスして、アクセスの結果を仮想サーバ109-1へ応答する。
このように、物理サーバ110-1のディスクボリューム116pを仮想ディスク501-0へ変換したときにエラーが発生したブロックについては、変換後の不良ブロックの位置が不良ブロック管理テーブル301に登録される。そして、仮想サーバ109が不良ブロックにアクセスすると、仮想化部111の仮想ディスクI/O制御部113とエラーエミュレーション制御部112により、不良ブロック番号603が仮想サーバ109-1のOS210vに通知する。
物理サーバ110-1のOS210は、仮想化環境へ移行して仮想サーバ109-1でOS210vとして実行されるが、ディスクボリューム116pの不良ブロックを仮想サーバ109で読み込むと、仮想化される以前と同様に、エラーエミュレーション制御部112によりエラーがOS210vへ通知され、OS210vが不正なデータを読み込むのを抑止できる。
図6は、P2Vで仮想ディスク501-0へ変換した後に、物理サーバ110-1のメモリのダンプデータ401から不良ブロックを修復する例を示すブロック図である。
P2V実行管理部103は、物理サーバ110-1のディスクボリューム116pをコピーする前に、物理サーバ110-1のメモリ201のダンプデータ401を取得しておく。なお、取得したダンプデータ401は所定のディスクボリューム116dへ格納しておく。
次に、P2V実行管理部103は、物理サーバ110-1のディスクボリューム116pをコピーする際にエラーが発生したブロックを不良ブロック管理テーブル106で管理する。そして、イメージ変換制御部206はエラーが発生したブロック(不良ブロック)を除いて仮想ディスク501-0へ変換する。なお、イメージ変換制御部206は、不良ブロックに対応する仮想ディスク501の該当ブロックには、nullまたはダミーデータなど所定のデータを格納する。
P2V実行管理部103のデータ修復制御部207は、変換が完了した仮想ディスク501について不良ブロック管理テーブル106から仮想ディスク不良ブロック番号704を取得する。データ修復制御部207は、取得した不良ブロック番号704がメモリ201のダンプデータ401に存在するか検索する。データ修復制御部207は、当該不良ブロック番号702のデータがダンプデータ401に存在した場合には、当該ダンプデータ401のうち不良ブロック番号702に対応するデータを仮想ディスク501-0に書き込んで修復する。
以上により、物理サーバ110-1が長期間にわたって稼動し続けていた場合には、メモリ201上のディスクキャッシュなどにディスクボリューム116pで不良ブロックが発生する以前の当該ブロックのデータを格納していることがある。本発明ではデータ修復制御部207が、ディスクボリューム116pを読み込む以前にメモリ201のダンプデータ401を取得しておき、仮想ディスク501へ変換した後にダンプデータ401から不良ブロックを修復することが可能となる。
<管理サーバの処理>
以下、管理サーバ101で行われる処理の詳細について説明する。
図11は、P2V実行管理部103で行われる変換元のディスクボリューム116をブロック単位で読み込んで仮想ディスクイメージのブロックに変換する処理の概要を示すフローチャートである。この処理は、管理サーバ101の入力装置(図示省略)から管理者などが指定した変換元のディスクボリューム116pと、格納先のディスクボリューム116vを受け付けたときに管理サーバ101で実行される。
なお、以下では、管理サーバ101が、物理サーバ110-1のディスクボリューム116pを仮想ディスクイメージへ変換した仮想ディスク501-0を生成し、この仮想ディスク501-0で物理サーバ110-2(phy2)に仮想サーバ109-1を稼動させて仮想環境へ移行する例を示す。このため、管理者は、管理サーバ101の入力装置(図示省略)から、物理サーバ110-2の仮想化部111が仮想サーバ109-1に割り当てる仮想リソースと、仮想サーバの識別子(virt1)を仮想化管理部102へ入力しておく。なお、管理者は、管理サーバ101の入力装置(図示省略)から、物理サーバ110-2上の仮想サーバ109-1に、変換後の仮想ディスク501-0を格納するディスクボリューム116vを割り当てておく。
ステップ1101では、管理サーバ101の仮想化管理部102が、P2V実行管理部103を起動する。そして、P2V実行管理部103が、図示しない入力装置から受け付けた変換元のディスクボリューム116pの識別子から物理サーバ管理テーブル104を参照して、当該ディスクボリューム116pを使用する物理サーバ110-1をネットワーク108から選択する。
仮想化管理部102は、変換後の仮想ディスク501の識別子(vdisk0)を決定してP2V実行管理部103へ通知する。この仮想ディスク501の識別子は、計算機システム内で一意の仮想ディスクの識別子である。なお、仮想ディスクの識別子は、管理者などが指定した値を仮想化管理部102が受け付けてもよい。
ステップ1102では、P2V実行管理部103のデータ修復制御部207が、選択した物理サーバ110-1に対してメモリ201のダンプデータ401を取得してディスクボリューム116dへ格納する指令を通知する。なお、ダンプデータ401を格納するディスクボリューム116dは予め設定されたものである。
物理サーバ110-1のOS210は、データ修復制御部207からの指令を受信して、ダンプ情報取得部114を起動する。ダンプ情報取得部114は、メモリ201のダンプを取得し、ダンプデータ401を指定されたディスクボリューム116dに格納する。OS210は、ダンプデータ401の格納が終了すると管理サーバ101へダンプの完了を通知する。
ステップ1103では、P2V実行管理部103は物理サーバ110-1からダンプの完了を受信すると、ディスクコピー制御部208を起動して、物理サーバ110-1が使用しているディスクボリューム116pのコピーと、仮想ディスクイメージへの変換を指令する。
ディスクコピー制御部208は、指定されたディスクボリューム116pをブロック単位で読み込んで、イメージ変換制御部206で仮想ディスクイメージのブロックに変換して、所定のディスクボリューム116vに仮想ディスク501-0としてブロック単位で格納する。なお、ディスクコピー制御部208及びイメージ変換制御部206の詳細については、図12、図13で詳述する。
ディスクコピー制御部208は、ディスクボリューム116pのブロックを読み込むときにエラーが発生した場合には、物理サーバ110-1の識別子(phy1)とエラーが発生したブロック番号を、不良ブロック管理テーブル106の物理サーバ識別子701と物理ディスク不良ブロック番号702へ格納する。
イメージ変換制御部206は、ディスクコピー制御部208が読み込んだブロックを仮想ディスク501-0のブロックに変換する。このとき、イメージ変換制御部206は、不良ブロック管理テーブル106を参照して、ディスクボリューム116pから読み込んだブロック番号が物理ディスク不良ブロック番号702に一致した場合には、当該ブロックを格納する仮想ディスクイメージのブロック番号を、不良ブロック管理テーブル106の仮想ディスク不良ブロック番号704に格納し、変換する仮想ディスク501-0の識別子を仮想ディスク識別子703に格納する(ステップ1104)。そして、イメージ変換制御部206は、ディスクコピー制御部208が読み込んだブロックが不良ブロックであるので、仮想ディスク501-0の該当ブロックには上述したダミーデータを書き込む。なお、ステップ1103、1104の処理は、ディスクボリューム116pの読み込みから仮想ディスクイメージに変換する処理の期間中で繰り返して行われる。
ディスクコピー制御部208は、変換元のディスクボリューム116pのブロックを全て読み込むと、ディスクボリューム116pから仮想ディスク501-0への変換が完了したことをP2V実行管理部103に通知する。
仮想ディスク501-0への変換が完了すると、P2V実行管理部103は仮想化管理部102から付与された仮想ディスク501-0の識別子で不良ブロック管理テーブル106を検索し、変換中に不良ブロックが発生したか否かを判定する(ステップ1105)。
不良ブロックが発生した場合にはステップ1106へ進み、不良ブロックがなければステップ1107に進む。
ステップ1106では、P2V実行管理部103がデータ修復制御部207を起動し、物理サーバ110-1のメモリ201のダンプデータ401から仮想ディスク501-0の不良ブロックを上述のように修復する。データ修復制御部207は、仮想ディスク501-0の不良ブロックの修復に成功した場合、不良ブロック管理テーブル106の該当レコードを削除する。データ修復制御部207の処理については、図14で詳述する。データ修復制御部207は、処理が完了するとP2V実行管理部103に通知する。
次に、ステップ1107では、P2V実行管理部103が仮想ディスク管理テーブル107を設定する。
P2V実行管理部103は、仮想ディスク管理テーブル107に新たなレコードを追加し、仮想化管理部102から付与された仮想ディスクの識別子を仮想ディスク識別子801に格納し、仮想ディスク501-0の変換元のディスクボリューム116pを使用していた物理サーバ110-1の識別子を物理サーバ識別子803へ格納する。さらに、P2V実行管理部103は、仮想化管理部102から付与された仮想ディスク識別子で不良ブロック管理テーブル106を検索し、仮想ディスク501-0に不良ブロックが含まれていれば、仮想ディスク管理テーブル107の不良ブロック検出804に「YES」を格納し、不良ブロックが含まれていなければ「NO」を格納する。なお、仮想ディスク管理テーブル107の仮想サーバ識別子802は、当該仮想ディスク801-0を仮想サーバ109で使用するときに仮想化管理部102が識別子を付与するので、仮想ディスク501-0を生成した直後では、仮想サーバ識別子802の値は空欄となる。
ステップ1108では、P2V実行管理部103がディスクボリューム116pから仮想ディスク501-0の変換が完了したことを仮想化管理部102へ通知して処理を終了する。
上記処理によって、P2V実行管理部103がディスクボリューム116pから仮想ディスク501-0へブロック単位で変換し、ディスクボリューム116pを読み込むときにエラーが発生したブロックについては不良ブロック管理テーブル106で管理し、仮想ディスク501-0にはダミーデータを書き込む。そして、変換元のディスクボリューム116pのブロックを全て読み込んで仮想ディスク501-0への変換が完了すると、データ修復制御部207によってダンプデータ401から不良ブロック管理テーブル106の修復を実施する。
データ修復制御部207の処理が完了すると仮想ディスク管理テーブル107が更新され、新たな仮想ディスクイメージとして仮想ディスク501-0が当該テーブル107に加えられる。
図12は、ディスクコピー制御部208で行われる処理の一例を示すフローチャートである。この処理は、図11のステップ1103、1104の処理である。
ステップ1201では、ディスクコピー制御部208はP2V実行管理部103が受け付けたディスクボリューム116pから、先頭のブロックを読み込む。
ステップ1202では、エラーが発生したか否か、換言すれば読み込みに失敗したか否かを判定する。当該ブロックの読み込みに失敗した場合にはステップ1203へ進み、成功した場合にはステップ1204へ進む。
ステップ1203では、ディスクコピー制御部208が、不良ブロック管理テーブル106に新たなレコードを追加し、読み込みに失敗したブロックの番号を物理ディスク不良ブロック番号702に書き込み、現在読み込みを行っているディスクボリューム116pを使用する物理サーバ110の識別子を物理サーバ識別子701に書き込む。
ステップ1204では、ディスクコピー制御部208が、読み込んだブロックのデータと、ブロック番号と物理サーバ110の識別子をイメージ変換制御部206に通知して、仮想ディスクイメージへの変換を要求する。イメージ変換制御部206は、要求されたブロックを仮想ディスクイメージへ変換する。
ステップ1205では、ディスクコピー制御部208が、現在読み込んだブロックが最終ブロックであるか否かを判定する。最終ブロックでない場合には、ステップ1206へ進んでディスクコピー制御部208が次の最終ブロックを読み込む。そして、上記ステップ1202~1205の処理を繰り返す。一方、現在読み込んだブロックが最終ブロックであれば仮想ディスクイメージへの変換が完了したことをP2V実行管理部103に通知して処理を終了する。
次に、図13は、図12のステップ1204で行われるディスクボリューム116pから仮想ディスクイメージへの変換処理の一例を示すフローチャートである。
ステップ1301では、イメージ変換制御部206がディスクコピー制御部208から受け付けたブロック番号と物理サーバ110の識別子が不良ブロック管理テーブル106に存在するか否かを判定する。受け付けたブロック番号と物理サーバ110の識別子が不良ブロック管理テーブル106に存在すれば、イメージ変換制御部206は読み込みの際にエラーが発生した不良ブロックでるあと判定してステップ1304へ進む。一方、受け付けたブロック番号と物理サーバ110の識別子が不良ブロック管理テーブル106に存在しなければ、イメージ変換制御部206は当該ブロックが正常に読み込まれたと判定してステップ1302へ進む。
ステップ1302では、イメージ変換制御部206が、ディスクコピー制御部208から受け付けたブロックのデータを、仮想ディスクイメージへ変換する。つまり、ディスクボリューム116pのブロックを仮想ディスク501-0のフォーマットに変換する。そして、ステップ1303では、変換した仮想ディスクイメージのブロックをディスクボリューム116vの仮想ディスク501-0に書き込んで、イメージ変換制御部206の処理を終了する。
一方、ステップ1301で、不良ブロックが存在すると判定されたときに進むステップ1304では、イメージ変換制御部206が不良ブロック管理テーブル106に仮想ディスク不良ブロック番号704と仮想ディスク識別子703を書き込む。イメージ変換制御部206は、ディスクボリューム116pの不良ブロック番号と物理サーバ110の識別子が一致する不良ブロック管理テーブル106のレコードに、仮想化管理部102より付与された仮想ディスクの識別子を仮想ディスク識別子703に格納する。そして、イメージ変換制御部206は、当該レコードの仮想ディスク不良ブロック番号704には、ディスクコピー制御部208から受け付けた不良ブロック番号のデータを仮想ディスクイメージへ変換したと仮定して場合の仮想ディスク501-0上のブロック番号を格納する。そして、イメージ変換制御部206は、当該不良ブロックに対応する仮想ディスク501-0のブロックには、上述したようなダミーデータを書き込んで処理を終了する。
以上の処理により、ディスクコピー制御部208は変換元のディスクボリューム116pの先頭ブロックから最終ブロックまでをブロック単位で読み込んで、イメージ変換制御部206で仮想ディスクイメージへ変換する。ディスクボリューム116pのブロックを読み込む際にエラーが発生すると、ディスクコピー制御部208がブロック番号及び物理サーバ110の識別子を不良ブロック管理テーブル106に追加し、イメージ変換制御部206が仮想ディスクの識別子と仮想ディスク501-0のブロック番号を書き込む。イメージ変換制御部206は、不良ブロックのデータに代わって、所定のダミーデータを仮想ディスク501-0に書き込んで、仮想ディスク501-0への変換を続行する。
次に、ディスクボリューム116pを仮想ディスクイメージへ変換した仮想ディスク501-0に不良ブロックが含まれる場合は、P2V実行管理部103がデータ修復制御部207でダンプデータ401から不良ブロックの修復を試みる。
図14は、データ修復制御部207で行われる処理の一例を示すフローチャートである。この処理は、図11のステップ11066で行われる処理である。
ステップ1401では、データ修復制御部207が、現在仮想ディスク501-0に変換したディスクボリューム116pに対応する物理ディスク不良ブロック番号702を全て取得する。ディスクボリューム116pを読み込んだとき複数のエラーが発生していれば、不良ブロック管理テーブル106にはディスクボリューム116pを使用している物理サーバ110の識別子を物理サーバ識別子701に含むレコードが複数存在するので、データ修復制御部207は、全ての物理ディスク不良ブロック番号702を取得する。
ステップ1402では、データ修復制御部207は、仮想ディスク501-0の変換元の物理サーバ110-1のメモリ201のダンプデータ401をディスクボリューム116dから取得する。そして、データ修復制御部207は、ステップ1401で取得した変換元の不良ブロック番号702で、ダンプデータ401を検索する。この検索はステップ1401で取得した全ての物理ディスク不良ブロック番号702について実施する。
ステップ1403では、データ修復制御部207が、ダンプデータ401の中に不良ブロック番号702に一致するデータがあったか否かを判定する。不良ブロック番号702に一致するデータがダンプデータ401に含まれていた場合にはステップ1404に進む。一方、不良ブロック番号702に一致するデータがダンプデータ401に含まれていなければ、データ修復制御部207を実行できないので処理終了する。
ステップ1404では、データ修復制御部207が、ダンプデータ401から不良ブロック番号702に一致するデータをコピーする。ステップ1405では、データ修復制御部207がイメージ変換制御部206にコピーしたデータを仮想ディスクイメージのフォーマットに変換するよう指令する。そして、データ修復制御部207はイメージ変換制御部206から仮想ディスクイメージに変換されたブロックを取得する。データ修復制御部207は、不良ブロック管理テーブル106を参照して不良ブロック番号702に対応する仮想ディスク不良ブロック番号704を取得し、仮想ディスク不良ブロック番号704が示す仮想ディスク501-0のブロックに書き込む。
ステップ1406では、データ修復制御部207が、ダンプデータ401から不良ブロック番号704の仮想ディスク501-0を修復に成功した不良ブロック管理テーブル106のレコードを削除して更新する。また、データ修復制御部207は、現在着目している物理サーバ110-1の識別子を不良ブロック管理テーブル106から検索する。そして、当該物理サーバ110の識別子が不良ブロック管理テーブル106の物理サーバ701からなくなれば、変換処理の際に発生した不良ブロックは全てダンプデータ401から修復することができたことになる。このため、データ修復制御部207は、仮想ディスク管理テーブル107の物理サーバ識別子803から現在着目している物理サーバ110-1の識別子を検索し、該当するレコードの不良ブロック検出804を「NO」に更新する。
以上の処理により、仮想ディスクイメージへ変換する際には読み込みの際にエラーが発生した不良ブロックを、ダンプデータ401から修復することで、仮想ディスク501-0に含まれる不良ブロックを低減することができる。
図15は、仮想化管理部102で行われる処理の一例を示すフローチャートである。このフローチャートは、仮想化管理部102がP2V実行管理部103から仮想ディスク501-0の変換が完了した通知を受信したときに実行される。仮想化管理部102は、図11の説明で述べたように、物理サーバ110-2の仮想化部111で仮想サーバ109-1に割り当てる仮想リソースと、仮想サーバの識別子が入力されており、変換された仮想ディスク501-0で仮想サーバ109-1を起動させる例を示す。
ステップ1501で、仮想化管理部102はP2V実行管理部103から仮想サーバ109-1の変換完了の通知を受け付ける。
ステップ1502で、仮想化管理部102は、変換された仮想ディスク501-0の識別子で不良ブロック管理テーブル106を検索し、該当するレコードを取得する。そして、仮想化管理部102は、仮想ディスク501-0で仮想サーバ109-1を実行する物理サーバ110-2の仮想化部111に、ステップ1502で取得したレコードを通知する。このとき、仮想化管理部102は、仮想サーバ109-1に割り当てる仮想サーバ識別子や仮想リソースも通知する。
また、仮想化管理部102は、仮想ディスク501-0の識別子に該当する仮想ディスク管理テーブル107の仮想サーバ識別子802に、仮想化部111へ通知した値を設定する。
上記処理より、物理サーバ110-2の仮想化部111は、仮想サーバ109-1に仮想リソースを割り当てて、物理サーバ110-1のディスクボリューム116pを変換した仮想ディスク501-0で仮想サーバ109-1を起動させる。
図16は、仮想サーバ109-1を提供する仮想化部111の仮想ディスクI/O制御部113で行われる処理の一例を示すフローチャートである。
物理サーバ110-2の仮想化部111は、管理サーバ101の仮想化管理部102から不良ブロック管理テーブル106の一部を受信すると、生成する仮想サーバ109-1の識別子に基づいて、図18で示した不良ブロック管理テーブル301を生成または更新する。そして、仮想化部111は仮想サーバ109-1にディスクボリューム116vを割り当てて、仮想ディスク501-0でOS210vを起動させ、仮想サーバ109-1を稼動させる。
仮想サーバ109-1(virt1)が、ディスクボリューム116vの仮想ディスク501-0へアクセスすると、仮想ディスクI/O制御部113は図16の処理を開始する。
まず、ステップ1601では、仮想ディスクI/O制御部113が仮想サーバ109-1から仮想ディスク501-0へのアクセス(I/O要求)を受け付ける。ステップ1602では、仮想ディスクI/O制御部113は、不良ブロック管理テーブル301から仮想サーバ109-1に割り当てられた仮想ディスク501-0の仮想ディスク不良ブロック番号603を取得する。
ステップ1603では、仮想ディスクI/O制御部113は、上記ステップ1601で受け付けたI/O要求のブロック番号で、ステップ1602で取得した仮想ディスク不良ブロック番号603を検索する。そして、ステップ1604では、仮想ディスクI/O制御部113が、I/O要求のブロックに仮想ディスク不良ブロック番号603が含まれるか否かを判定する。不良ブロックが含まれる場合にはステップ1605へ進み、不良ブロックが含まれない場合には、ステップ1606へ進む。
ステップ1605では、仮想ディスクI/O制御部113が、エラーエミュレーション制御部112に仮想ディスク501-0の不良ブロックにアクセスしたことを通知する。一方、正常なブロックについてはステップ1606で、仮想ディスクI/O制御部113が仮想ディスク501-0へのアクセスを実行し、アクセス結果を仮想サーバ109-1に応答する。
図17は、エラーエミュレーション制御部112で行われる処理の一例を示すフローチャートである。この処理は、エラーエミュレーション制御部112が、仮想ディスクI/O制御部113が、不良ブロックへのアクセスを示す通知を受けたときに実行される。
ステップ1701では、エラーエミュレーション制御部112が、I/O要求を発行した仮想サーバ109-1に対して要求されたブロックでI/Oエラーが発生したことを通知する。仮想サーバ109-1のOS210vは、エラーエミュレーション制御部112からの通知を受信して所定のエラー処理を実行する。
以上の処理により、物理サーバ110-1のディスクボリューム116pを変換する際にエラーが発生した不良ブロックが存在する場合は、エラーエミュレーション制御部112がアクセス結果を仮想サーバ109-1へ通知する。これにより、仮想サーバ109-1が直接仮想ディスク501-0の不良ブロックをアクセスすることを規制することができる。
<まとめ>
本発明によれば、ディスクコピー制御部208は変換元のディスクボリューム116pの先頭ブロックから最終ブロックまでをブロック単位で読み込んで、イメージ変換制御部206で仮想ディスクイメージへ変換し、仮想ディスク501-0を生成する。ディスクコピー制御部208が、ディスクボリューム116pのブロックを読み込む際にエラーが発生すると、イメージ変換制御部206は当該ブロックの仮想ディスクイメージへの変換に代わってダミーデータやブランクなどを仮想ディスク501-0に書き込んで、仮想ディスク501-0の生成を続行する。これにより、変換元のディスクボリュームの特定のブロックのみにI/Oエラーが発生したり、未使用ブロックでI/Oエラーが発生した場合でも、変換元のディスクボリュームの仮想ディスクイメージへの変換処理を続行することができる。変換元のディスクボリューム116pで稼動していた物理サーバ110-1の環境を仮想サーバ109-1の環境へ移行させることができる。
さらに、データ修復制御部207は、ダンプデータ401から不良ブロックを修復することができるので、仮想サーバ109-1の安定性を確保することが可能となる。
また、仮想化部111では、管理サーバ101から不良ブロック管理テーブル106のコピーを取得して仮想ディスクI/O制御部113が仮想サーバ109-1のI/Oアクセスを監視し、仮想ディスク501-0の不良ブロックにアクセスしたときにはエラーエミュレーション制御部112が、実際に仮想ディスク501-0へアクセスすることなく、仮想サーバ109-1にエラーを通知する。これにより、仮想サーバ109-1が不良ブロックから不正なデータを読み込むことを防止して、仮想化環境の安定性を確保することができる。
なお、上記実施形態においては、管理サーバ101が、変換元のディスクボリューム116pを読み込んでエラーが発生したときに、変換先の仮想ディスク501にダミーデータを書き込む例を示したが、ダンプデータ401から不良ブロックの修復を行わないときには、仮想ディスク501のダンプデータ401を書き込む必要はなく、不良ブロック管理テーブル106に仮想ディスク不良ブロック番号を記録すればよい。つまり、管理サーバ101は、変換元のディスクボリュームの不良ブロックを読み飛ばして、当該不良ブロック番号に対応する仮想ディスク501上のブロック番号を決定して不良ブロック管理テーブル106格納する。そして、管理サーバ101は、仮想ディスク501上に不良ブロックを書き込まない。
仮想ディスク501を利用する仮想サーバ109は、仮想化部111の仮想ディスクI/O制御部113でI/O要求を監視される。仮想サーバ109が不良ブロックへアクセスするI/O要求を発行すると、仮想ディスクI/O制御部113からエラーエミュレーション112を経由してエラーが発生する。このため、仮想サーバ109、仮想ディスクI/O制御部113、エラーエミュレーション制御部112の何れも不良ブロックを読み込むことはないので、実際に仮想ディスク501上に不良ブロックが生成されていなくてもよい。例えば、変換元のディスクボリューム116pからブロック1、2、3を読み込んで仮想ディスク501を生成するとき、ディスクボリューム116pのブロック2でエラーが発生した場合、管理サーバ101は、仮想ディスク501に仮想ディスクイメージに変換したブロック1'の次にブロック3'を書き込むことになる。つまり、管理サーバ101のP2V実行管理部103は、ディスクボリューム116pのブロック2でエラーが発生した場合は、仮想ディスク501のブロック1'の次の書き込み位置にブロック3'を設定し、不良ブロックを無視して仮想ディスク501の生成を続行する。
また、上記実施形態では、ストレージ装置115内のディスクボリューム116pを変換元とした例を示したが、変換元のディスクボリューム116は、物理ディスクや論理ディスクあるいはパーティションのいずれでもよい。
また、上記実施形態では、ディスクボリューム116pを変換元として仮想ディスク501-0を生成する例を示したが、変換先がディスクイメージであればよく、仮想ディスクイメージに限定されるものではない。
また、上記実施形態では、ディスクボリューム116pを仮想ディスク501-0へ変換する例を示したが、第1のディスクボリュームの内容を第2のディスクボリュームへ複写するときに本発明を適用することができる。つまり、第1のディスクボリュームを読み込んだときに、エラーが発生した場合には管理サーバ101の不良ブロック管理テーブル106に不良ブロックの情報を格納し、第2のディスクボリュームの該当ブロックにはダミーデータ等の所定のデータを格納する。あるいは、第2のディスクボリュームの該当ブロックをブランクとする。
そして、第2のディスクボリュームを使用する際には、管理サーバ101が第2のディスクボリュームをサーバに割り当てて、当該第2のディスクボリュームの不良ブロックの情報を不良ブロック管理テーブル106からサーバのOSや仮想化部に通知しておく。サーバのOSや仮想化部は、第2のディスクボリュームへアクセスする際に不良ブロックへアクセスしたときには、実際に第2のディスクボリュームの不良ブロックへアクセスすることなくエラーを発生することができる。この場合、サーバとしては物理サーバであってもよく、仮想サーバに限定されるものではない。
また、第2のディスクボリュームとサーバとの間にPCIexpressスイッチを設置し、管理サーバ101が不良ブロック管理テーブル106の複製をPCIexpressスイッチに通知し、当該スイッチがサーバのI/Oアクセスを監視してもよい。サーバが第2のディスクボリュームの不良ブロックにアクセスすると、PCIexpressスイッチがエラーの発生をサーバに通知することができる。
また、第1の計算機が第1のディスクボリュームを使用し、管理サーバ101が第1のディスクボリュームの複製して第2のディスクボリュームを生成し、第2の計算機が第2のディスクボリュームにアクセスする場合にも本発明を適用することができる。
管理サーバ101は第1のディスクボリュームを複製する際にエラーが発生したブロックを不良ブロック管理テーブル106に記録して第2のディスクボリュームを生成する。第2のディスクボリュームを第2の計算機に接続してから、管理サーバ101が不良ブロック管理テーブル106を第2の計算機に通知する。第2の計算機ではOSまたは仮想化部が不良ブロック管理テーブル106を参照して第2のディスクボリューム上の不良ブロックへのアクセスを監視する。そして、第2の計算機が第2のディスクボリュームの不良ブロックへアクセスすると、OSまたは仮想化部は実際に第2のディスクボリュームの不良ブロックへアクセスすることなくI/Oエラーを発生することができる。
また、上記実施形態において、変換元(複写元)のディスクボリュームと変換先(複写先)のディスクボリュームは、同一のストレージ装置115に格納された例を示したが、異なるストレージ装置に格納されていてもよい。
また、上記実施形態においては、ブロック単位で変換元のディスクボリュームを読み込んで、変換先のディスクボリュームにブロック単位で書き込む例を示したが、変換元のディスクボリュームの複製を生成し、この複製から変換先のディスクボリュームに書き込むようにしても良い。
なお、本発明のディスクボリュームとしては、ハードディスクドライブの他に、不揮発性半導体で構成された記憶装置を用いることができ、あるいはハードディスクドライブと不揮発性半導体の双方を備えた記憶装置を用いることができる。
本発明は、ディスクボリュームを複製して、複製されたディスクボリュームを利用する計算機システムに適用することができ、特に、仮想化部を備えてディスクイメージの複製または物理ディスクから仮想ディスクへの変換を行う仮想計算機システムに好適である。
Claims (14)
- プロセッサとメモリを備えた計算機と、
前記計算機と接続してプロセッサとメモリを備えた管理計算機と、
前記管理計算機と接続した第1のディスクボリュームと、
前記管理計算機及び前記計算機と接続した第2のディスクボリュームを備えて、前記第1のディスクボリュームの複製を前記第2のディスクボリュームに書き込んで、前記計算機が第2のディスクボリュームにアクセスする計算機の制御方法であって、
前記管理計算機が、前記第1のディスクボリュームのデータを読み込む第1のステップと、
前記管理計算機が、前記第1のディスクボリュームのデータを読み込んだときに、エラーが発生したか否かを判定する第2のステップと、
前記管理計算機が、前記判定でエラーが発生していないときには、前記読み込んだデータを前記第2のディスクボリュームに書き込んで複製を生成する第3のステップと、
前記管理計算機が、前記判定でエラーが発生したときには、前記読み込んだデータの位置を不良ブロック管理情報に書き込む第4のステップと、
前記管理計算機が、前記第2のディスクボリュームを前記計算機に割り当てる第5のステップと、
前記管理計算機が、前記不良ブロック管理情報を前記計算機へ送信する第6のステップと、
前記計算機が、前記不良ブロック管理情報を受信する第7のステップと、
前記計算機が、前記第2のディスクボリュームへアクセスするときに、前記受信した不良ブロック管理情報を参照して、前記アクセスする位置が前記不良ブロック管理情報に一致したときにエラーを発生する第8のステップと、
を含むことを特徴とする計算機の制御方法。 - 請求項1に記載の計算機の制御方法であって、
前記計算機は、当該計算機の物理資源を仮想化して仮想計算機を稼働させる仮想化部を有し、
前記第5のステップは、前記管理計算機が、前記仮想計算機に前記第2のディスクボリュームを割り当て、
前記第6のステップは、前記管理計算機が、前記不良ブロック管理情報を前記仮想化部へ送信し、
前記第7のステップは、前記仮想化部が、前記不良ブロック管理情報を受信し、
前記第8のステップは、前記仮想計算機が、前記第2のディスクボリュームへアクセスするときに、前記仮想化部が前記受信した不良ブロック管理情報を参照して、前記アクセスする位置が前記不良ブロック管理情報に一致したときにエラーを前記仮想計算機に通知することを特徴とする計算機の制御方法。 - 請求項1に記載の計算機の制御方法であって、
前記第4のステップは、
前記管理計算機が、前記判定でエラーが発生したときには、前記第1のディスクボリュームでエラーが発生した第1の位置と、当該第1の位置に対応する第2のディスクボリュームの位置を第2の位置として決定し、前記不良ブロック管理情報に前記第1の位置と前記第2の位置を関連づけて書き込むことを特徴とする計算機の制御方法。 - 請求項3に記載の計算機の制御方法であって、
プロセッサとメモリを備えて前記第1のディスクボリュームと前記管理計算機と接続した複写元の計算機をさらに有し、
前記第1のステップは、
前記管理計算機が、前記複写元の計算機に前記メモリのダンプを指令してダンプデータを取得してから、前記第1のディスクボリュームのデータを読み込み、
前記第4のステップは、
前記管理計算機が、前記判定でエラーが発生したときには、前記読み込んだデータの位置を不良ブロック管理情報に書き込み、前記読み込んだ位置に対応する前記第2のディスクボリュームの位置に所定のデータを書き込み、
前記計算機の制御方法は、
前記管理計算機が、前記第2のディスクボリュームに第1のディスクボリュームの複製を生成した後に、前記ダンプデータを読み込む第9のステップと、
前記管理計算機が、前記不良ブロック管理情報を参照して前記エラーが発生した前記第1の位置のデータを前記ダンプデータから検索し、前記第1の位置のデータが前記ダンプデータに存在する場合には、当該第1の位置のデータを読み込む第10のステップと、
前記管理計算機が、前記不良ブロック管理情報を参照して前記第1の位置に対応する前記第2のディスクボリュームの第2の位置へ前記ダンプデータから読み込んだ第1のデータを書き込む第11のステップと、
をさらに含むことを特徴とする計算機の制御方法。 - 請求項1に記載の計算機の制御方法であって、
前記第4のステップは、
前記管理計算機が、前記判定でエラーが発生したときには、前記第1のディスクボリュームでエラーが発生した第1の位置と、当該第1の位置に対応する第2のディスクボリュームの位置を第2の位置として決定し、前記第2の位置には次回に第1のディスクボリュームから読み込みが成功したデータを書き込んで複製を続行することを特徴とする計算機の制御方法。 - プロセッサとメモリを備えた計算機と、
前記計算機と接続してプロセッサとメモリを備えた管理計算機と、
前記管理計算機と接続した第1のディスクボリュームと、
前記管理計算機及び前記計算機と接続した第2のディスクボリュームを備えて、前記第1のディスクボリュームの複製を前記第2のディスクボリュームに書き込んで、前記計算機が第2のディスクボリュームにアクセスする計算機システムであって、
前記管理計算機は、
前記第1のディスクボリュームのデータを読み込んで、前記第2のディスクボリュームに前記読み込んだデータを書き込んで複製を生成するコピー制御部と、
前記第2のディスクボリュームを前記計算機に割り当てる管理部と、
を備え、
前記コピー制御部は、
前記第1のディスクボリュームのデータを読み込んだときに、エラーが発生したか否かを判定し、前記判定でエラーが発生していないときには、前記読み込んだデータを前記第2のディスクボリュームに書き込んで複製を生成し、前記判定でエラーが発生したときには、前記読み込んだデータの位置を不良ブロック管理情報に書き込み、
前記管理部は、
前記第2のディスクボリュームを割り当てた前記計算機に、前記不良ブロック管理情報を前記計算機へ送信し、
前記計算機は、
前記不良ブロック管理情報を受信し、前記第2のディスクボリュームへアクセスするときに、前記受信した不良ブロック管理情報を参照して、前記アクセスする位置が前記不良ブロック管理情報に一致したときにエラーを発生するエラーエミュレーション部と、
を有することを特徴とする計算機システム。 - 請求項6に記載の計算機システムであって、
前記計算機は、
当該計算機の物理資源を仮想化して仮想計算機を稼働させる仮想化部を有し、
前記管理部は、
前記仮想計算機に前記第2のディスクボリュームを割り当てて、前記仮想化部に前記不良ブロック管理情報を前記計算機へ送信し、
前記仮想化部は、
前記不良ブロック管理情報を受信して、前記仮想計算機が、前記第2のディスクボリュームへアクセスするときに、前記受信した不良ブロック管理情報を参照して、前記アクセスする位置が前記不良ブロック管理情報に一致したときにはエラーを前記仮想計算機に通知することを特徴とする計算機システム。 - 請求項6に記載の計算機システムであって、
前記コピー制御部は、
前記判定でエラーが発生したときには、前記第1のディスクボリュームでエラーが発生した第1の位置と、当該第1の位置に対応する第2のディスクボリュームの位置を第2の位置として決定し、前記不良ブロック管理情報に前記第1の位置と前記第2の位置を関連づけて書き込むことを特徴とする計算機システム。 - 請求項8に記載の計算機システムであって、
プロセッサとメモリを備えて前記第1のディスクボリュームと前記管理計算機と接続した複写元の計算機をさらに有し、
前記コピー制御部は、
前記複写元の計算機に前記メモリのダンプを指令してダンプデータを取得してから、前記第1のディスクボリュームのデータを読み込み、前記判定でエラーが発生したときには、前記読み込んだデータの位置を不良ブロック管理情報に書き込み、前記読み込んだ位置に対応する前記第2のディスクボリュームの位置に所定のデータを書き込み、
前記管理計算機は、
前記コピー制御部が、前記第2のディスクボリュームに第1のディスクボリュームの複製を生成した後に、前記ダンプデータを読み込んで、前記不良ブロック管理情報を参照し、前記エラーが発生した前記第1の位置のデータを前記ダンプデータから検索し、前記第1の位置のデータが前記ダンプデータに存在する場合には、当該第1の位置のデータを読み込んで、前記不良ブロック管理情報を参照して前記第1の位置に対応する前記第2のディスクボリュームの第2の位置へ前記ダンプデータから読み込んだ第1のデータを書き込むデータ修復部を、
さらに有することを特徴とする計算機システム。 - 請求項8に記載の計算機システムであって、
前記コピー制御部は、
前記判定でエラーが発生したときには、前記第1のディスクボリュームでエラーが発生した第1の位置と、当該第1の位置に対応する第2のディスクボリュームの位置を第2の位置として決定し、前記第2の位置には次回に第1のディスクボリュームから読み込みが成功したデータを書き込んで複製を続行することを特徴とする計算機システム。 - プロセッサとメモリを備えた管理計算機を制御するプログラムを格納した記憶媒体であって、
前記管理計算機と接続した第1のディスクボリュームのデータを読み込む第1の手順と、
前記第1のディスクボリュームのデータを読み込んだときに、エラーが発生したか否かを判定する第2の手順と、
前記判定でエラーが発生していないときには、前記読み込んだデータを前記管理計算機と接続した第2のディスクボリュームに書き込んで複製を生成する第3の手順と、
前記判定でエラーが発生したときには、前記読み込んだデータの位置を不良ブロック管理情報に書き込む第4の手順と、
前記管理計算機と第2のディスクボリュームと接続した計算機に前記第2のディスクボリュームを割り当てる第5の手順と、
前記不良ブロック管理情報を前記計算機へ送信する第6の手順と、
を前記管理計算機に実行させることを特徴とするプログラムを格納した記憶媒体。 - 請求項11に記載のプログラムを格納した記憶媒体であって、
前記第4の手順は、
前記判定でエラーが発生したときには、前記第1のディスクボリュームでエラーが発生した第1の位置と、当該第1の位置に対応する第2のディスクボリュームの位置を第2の位置として決定し、前記不良ブロック管理情報に前記第1の位置と前記第2の位置を関連づけて書き込むことを特徴とするプログラムを格納した記憶媒体。 - 請求項12に記載のプログラムを格納した記憶媒体であって、
前記第1の手順は、
前記管理計算機が、前記第1のディスクボリュームと接続した複写元の計算機からダンプデータを取得した後に、前記第1のディスクボリュームのデータを読み込み、
前記第4の手順は、
前記判定でエラーが発生したときには、前記読み込んだデータの位置を不良ブロック管理情報に書き込み、前記読み込んだ位置に対応する前記第2のディスクボリュームの位置に所定のデータを書き込み、
前記プログラムは、
前記第2のディスクボリュームに第1のディスクボリュームの複製を生成した後に、前記ダンプデータを読み込む第6の手順と、
前記不良ブロック管理情報を参照して前記エラーが発生した前記第1の位置のデータを前記ダンプデータから検索し、前記第1の位置のデータが前記ダンプデータに存在する場合には、当該第1の位置のデータを読み込む第7の手順と、
前記不良ブロック管理情報を参照して前記第1の位置に対応する前記第2のディスクボリュームの第2の位置へ前記ダンプデータから読み込んだ第1のデータを書き込む第8の手順と、
をさらに含むことを特徴とするプログラムを格納した記憶媒体。 - 請求項11に記載のプログラムを格納した記憶媒体であって、
前記第4の手順は、
前記管理計算機が、前記判定でエラーが発生したときには、前記第1のディスクボリュームでエラーが発生した第1の位置と、当該第1の位置に対応する第2のディスクボリュームの位置を第2の位置として決定し、前記第2の位置には次回に第1のディスクボリュームから読み込みが成功したデータを書き込んで複製を続行することを特徴とするプログラムを格納した記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/069857 WO2012063311A1 (ja) | 2010-11-08 | 2010-11-08 | 計算機の制御方法、計算機システム及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/069857 WO2012063311A1 (ja) | 2010-11-08 | 2010-11-08 | 計算機の制御方法、計算機システム及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012063311A1 true WO2012063311A1 (ja) | 2012-05-18 |
Family
ID=46050494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/069857 WO2012063311A1 (ja) | 2010-11-08 | 2010-11-08 | 計算機の制御方法、計算機システム及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012063311A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040022A (ja) * | 1996-07-26 | 1998-02-13 | Nec Corp | 磁気ディスク制御装置 |
JPH1185594A (ja) * | 1997-09-01 | 1999-03-30 | Hitachi Ltd | リモートコピー用情報処理システム |
JP2002182951A (ja) * | 2000-12-18 | 2002-06-28 | Hitachi Ltd | 情報処理装置のメンテナンス方法および情報処理装置 |
JP2009536762A (ja) * | 2006-05-08 | 2009-10-15 | マイクロソフト コーポレーション | マシンから仮想マシンへの変換 |
-
2010
- 2010-11-08 WO PCT/JP2010/069857 patent/WO2012063311A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040022A (ja) * | 1996-07-26 | 1998-02-13 | Nec Corp | 磁気ディスク制御装置 |
JPH1185594A (ja) * | 1997-09-01 | 1999-03-30 | Hitachi Ltd | リモートコピー用情報処理システム |
JP2002182951A (ja) * | 2000-12-18 | 2002-06-28 | Hitachi Ltd | 情報処理装置のメンテナンス方法および情報処理装置 |
JP2009536762A (ja) * | 2006-05-08 | 2009-10-15 | マイクロソフト コーポレーション | マシンから仮想マシンへの変換 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114341792B (zh) | 存储集群之间的数据分区切换 | |
US8413133B2 (en) | Software update management apparatus and software update management method | |
US8122212B2 (en) | Method and apparatus for logical volume management for virtual machine environment | |
US9003149B2 (en) | Transparent file system migration to a new physical location | |
US8635395B2 (en) | Method of suspending and resuming virtual machines | |
US9336132B1 (en) | Method and system for implementing a distributed operations log | |
US10353872B2 (en) | Method and apparatus for conversion of virtual machine formats utilizing deduplication metadata | |
US8024536B2 (en) | Method of constructing replication environment and storage system | |
US8943498B2 (en) | Method and apparatus for swapping virtual machine memory | |
US9183060B2 (en) | Computer product, migration executing apparatus, and migration method | |
EP3502877B1 (en) | Data loading method and apparatus for virtual machines | |
JP2019016135A (ja) | 情報処理システム、情報処理システムの制御プログラム及び情報処理システムの制御方法 | |
US10789007B2 (en) | Information processing system, management device, and control method | |
JP2014044553A (ja) | プログラム、情報処理装置および情報処理システム | |
US10095616B2 (en) | Garbage collection for virtual environments | |
US9524251B2 (en) | Storage system, virtualization control apparatus, information processing apparatus, and method for controlling storage system | |
US11086649B2 (en) | Minimizing downtime of highly available virtual machines | |
US10241818B2 (en) | In-memory virtual desktop system | |
US20220237306A1 (en) | Method and system for limiting data accessibility in composed systems | |
WO2012063311A1 (ja) | 計算機の制御方法、計算機システム及び記憶媒体 | |
EP3647953B1 (en) | System and method for data backup in mixed disk environment | |
US11768612B2 (en) | System and method for distributed deduplication in a composed system | |
JP2021047806A (ja) | 情報処理システム、情報処理装置および情報処理プログラム | |
US11675665B2 (en) | System and method for backup generation using composed systems |
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: 10859553 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10859553 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |