U.S. patent application number 11/178373 was filed with the patent office on 2005-11-03 for storage unit, installation method thereof and installation program therefore.
Invention is credited to Eguchi, Yoshiaki, Ohno, Hiroshi, Satoyama, Ai, Yamamoto, Yasutomo.
Application Number | 20050246491 11/178373 |
Document ID | / |
Family ID | 32588549 |
Filed Date | 2005-11-03 |
United States Patent
Application |
20050246491 |
Kind Code |
A1 |
Yamamoto, Yasutomo ; et
al. |
November 3, 2005 |
Storage unit, installation method thereof and installation program
therefore
Abstract
A new storage unit is installed such that installation costs are
suppressed and functions of the new storage unit can be utilized
sufficiently. An access right is changed such that the new storage
unit (second storage unit) can access an existing first storage
unit (S502). A logical device relating to a storage device of the
first storage unit is assigned to a logical device of the second
storage unit (S503). Path definition and device recognition in a
host computer are performed such that the host computer can access
the assigned logical device of the second storage unit (S504, 505).
Input-output setting of the host computer is changed such that
processing of an input-output from the host computer to the device
of the first storage unit is requested to the second storage unit
(S506).
Inventors: |
Yamamoto, Yasutomo;
(Sagamihara, JP) ; Eguchi, Yoshiaki; (Machida,
JP) ; Satoyama, Ai; (Sagamihara, JP) ; Ohno,
Hiroshi; (Odawara, JP) |
Correspondence
Address: |
MATTINGLY, STANGER, MALUR & BRUNDIDGE, P.C.
1800 DIAGONAL ROAD
SUITE 370
ALEXANDRIA
VA
22314
US
|
Family ID: |
32588549 |
Appl. No.: |
11/178373 |
Filed: |
July 12, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11178373 |
Jul 12, 2005 |
|
|
|
10636758 |
Aug 8, 2003 |
|
|
|
Current U.S.
Class: |
711/114 ;
711/170 |
Current CPC
Class: |
G06F 3/067 20130101;
G06F 3/0607 20130101; G06F 3/0604 20130101; G06F 3/0631 20130101;
G06F 3/0632 20130101; G06F 3/0647 20130101; G06F 3/0637
20130101 |
Class at
Publication: |
711/114 ;
711/170 |
International
Class: |
G06F 012/00 |
Foreign Application Data
Date |
Code |
Application Number |
Jan 16, 2003 |
JP |
2003-008821 |
Claims
1. (canceled)
2. A method in a system which includes a computer, a first storage
system coupled to the computer, and a virtualization device coupled
to the computer and the first storage system which executes an
Input/Output (I/O) operation in accordance with a first I/O request
received at the virtualization device for a logical volume in the
virtualization device, said method comprising: receiving, at the
virtualization device, configuration information of a first volume
in the first storage system from the first storage system;
assigning the logical volume in the virtualization device to the
first volume in the first storage system by using the configuration
information received at the virtualization device; making an access
path from the computer to the first volume in the first storage
system via the virtualization device; correlating, if data stored
in the first volume in the first storage system are to be moved to
another storage device, the logical volume in the virtualization
device with a second volume in the another storage device; and
moving the data from the first volume in the first storage system
to the second volume in the another storage device.
3. A method according to claim 2, further comprising: in making the
access path, making a second access path from the virtualization
device to the first storage system included in the access path so
as to permit the virtualization device to access the first volume
in the first storage system via the second access path; and
sending, from the virtualization device, a second I/O request
corresponding to the first I/O request sent from the computer to
the first volume in the first storage system via the second access
path.
4. A method according to claim 2, further comprising: executing the
I/O operation by the first storage system after making the access
path.
5. A method in a system which includes a computer, a first storage
system coupled to the computer, and a virtualization device coupled
to the computer and the first storage system, said method
comprising: providing a plurality of logical devices in the
virtualization device, each of the logical devices being a
virtualized volume; selecting a first logical device among the
plurality of logical devices; receiving, at the virtualization
device, configuration information of a first volume in the first
storage system from the first storage system; setting the
configuration information of the first volume in the first storage
system to the first logical device in the virtualization device;
making an access path from the computer to the first volume in the
first storage system via the virtualization device; executing an
Input/Output (I/O) operation corresponding to a first I/O request
received at the virtualization device for the first logical device
in the virtualization device; correlating, if data stored in the
first volume in the first storage system are to be moved to another
storage device, the first logical device in the virtualization
device with a second volume in the another storage device; and
moving the data from the first volume in the first storage system
to the second volume in the another storage device.
6. A method in a system which includes a computer, a first storage
system coupled to the computer, a second storage system and a
virtualization device coupled to the computer, the first storage
system and the second storage system, said method comprising:
providing a plurality of logical device numbers in the
virtualization device, each of the logical device numbers
representing a virtualized volume in the virtualization device;
selecting a first logical device number among the plurality of
logical device numbers; receiving, at the virtualization device,
configuration information of a first volume in the first storage
system from the first storage system; setting a first logical
device number in the virtualization device to the configuration
information received at the virtualization device; making an access
path from the computer to the first volume in the first storage
system via the virtualization device; executing an Input/Output
(I/O) operation corresponding to a first I/O request received at
the virtualization device including the first logical device
number; correlating, if data stored in the first volume in the
first storage system are to be moved to the second storage system,
the first logical device number in the virtualization device with a
second volume in the second storage system; and moving the data
from the first volume in the first storage system to the second
volume in the second storage system.
7. A method in a system which includes a computer, a first storage
system coupled to the computer, and a virtualization device coupled
to the computer and a first storage system, the first storage
system which executes an Input/Output (I/O) operation in accordance
with a first I/O request received at the virtualization device
including a first logical device number in the virtualization
device, said method comprising: receiving, at the virtualization
device, configuration information of a first volume in the first
storage system from the first storage system; setting the
configuration information of the first volume in the first storage
system to the logical device number in the virtualization device;
making an access path from the computer to the first volume in the
first storage system via the virtualization device; correlating, if
data stored in the first volume in the first storage system are to
be moved to another storage device, the logical volume number in
the virtualization device with a second volume in the another
storage device; and moving the data from the first volume in the
first storage system to the second volume in the another storage
device.
8. A method in a system which includes a computer, a first storage
system coupled to the computer, a second storage system, and a
virtualization device coupled to the computer, the first storage
system and the second storage system, the first storage system
which executes an Input/Output (I/O) operation in accordance with a
first I/O request received at the virtualization device for a
logical volume in the virtualization device, said method
comprising: receiving, at the virtualization device, configuration
information of a first volume in the first storage system from the
first storage system; assigning the logical volume in the
virtualization device to the first volume in the first storage
system by using the configuration information received at the
virtualization device; making an access path from the computer to
the first volume in the first storage system via the virtualization
device; correlating, if data stored in the first volume in the
first storage system are to be moved to the second storage system,
the logical volume in the virtualization device with a second
volume in the second storage system; and moving the data from the
first volume in the first storage system to the second volume in
the second storage system.
9. A method according to claim 5, further comprising: in making the
access path, making a second access path from the virtualization
device to the first storage system so as to permit the
virtualization device to access to the first volume in the first
storage system via the second access path; and sending, from the
virtualization device, a second I/O request corresponding to the
first I/O request sent from the computer to the first volume in the
first storage system via the second access path.
10. A method according to claim 6, further comprising: in making
the access path, making a second access path from the
virtualization device to the first storage system so as to permit
the virtualization device to access to the first volume in the
first storage system via the second access path; and sending, from
the virtualization device, a second I/O request corresponding to
the first I/O request sent from the computer to the first volume in
the first storage system via the second access path.
11. A method according to claim 7, further comprising: in making
the access path, making a second access path from the
virtualization device to the first storage system so as to permit
the virtualization device to access to the first volume in the
first storage system via the second access path; and sending, from
the virtualization device, a second I/O request corresponding to
the first I/O request sent from the computer to the first volume in
the first storage system via the second access path.
12. A method according to claim 8, further comprising: in making
the access path, making a second access path from the
virtualization device to the first storage system so as to permit
the virtualization device to access to the first volume in the
first storage system via the second access path; and sending, from
the virtualization device, a second I/O request corresponding to
the first I/O request sent from the computer to the first volume in
the first storage system via the second access path.
Description
[0001] The present application is a continuation of application
Ser. No. 10/636,758, filed Aug. 8, 2003, the contents of which are
incorporated herein by reference.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention relates to a storage unit that is
installed newly into a computer system comprising a first storage
unit and a host computer accessing the first storage unit, and an
installation method thereof and an installation program
therefor.
[0004] 2. Related Art Statement
[0005] Recently, an amount of data treated by a computer is
increasing by leaps, and accordingly storage capacity of a storage
unit for storing data is increasing. As a result, costs of storage
management in system management increase, and reduction of
management costs becomes an important problem from the viewpoint of
system operation.
[0006] When a new storage unit is installed into an existing
computer system that comprises a host computer and a storage unit,
two modes can be considered as a mode of installation, namely, a
mode in which the old storage unit is used as ever, and the new
storage unit is used together with the old storage unit, and a mode
in which all the data on the old storage unit are migrated onto the
new storage unit.
[0007] For example, as to the latter mode of installation, Japanese
Patent Publication No. 10-508967 discloses a technique of migrating
data of an old storage unit onto a new storage unit. According to
the technique disclosed in the above document, data of a first
device in the old storage unit are migrated onto a second device
assigned to the new storage unit. Then, a host computer's access
destination is changed from the existing first device to the new
second device. An input-output request from the host computer to
the existing first device is received by the new storage unit. With
respect to a read request, a part whose migration is finished is
read from the new second device, while a part that has not been
migrated yet is read from the existing first device. Further, with
respect to a write request, dual writing is performed toward both
the first and second devices.
[0008] As described above, when a new storage unit is installed, it
is possible to migrate data of a first device within an old storage
unit to a second device within a new storage unit, without stopping
input/output from/to a host computer.
[0009] However, in the case of the former mode of installation,
where the new storage unit and the old storage unit are used side
by side, there is a problem that, although generally the new
storage unit has high function, high performance and high
reliability in comparison with the old storage unit, it is
impossible for data stored in the old storage unit to enjoy the
merits of the new storage unit.
[0010] Further, in the case of the latter mode of installation,
where all the data of the old storage unit are migrated onto the
new storage unit, it is possible to enjoy the merits of the new
storage unit by migrating the data stored in the old storage unit.
However, there is a problem that, to migrate all the data of the
old storage unit onto the new storage unit, the new storage unit
must have more storage capacity than the old storage unit, and
thus, the system installation cost is raised up.
[0011] Thus, as a compromise between them, it is possible to
consider the following operation. Namely, the number of disk units
mounted on a new storage unit is restrained to decrease initial
investment, and the minimum data are migrated from an old storage
unit to start system operation. At a stage in which a disk unit is
added to the new storage unit, data is migrated from the old
storage unit by an amount that the added disk unit allows. However,
even by this compromise, data that can not be migrated because of
storage capacity can not enjoy the merits of the new storage unit,
similarly to the case where two storage units are used side by
side.
SUMMARY OF THE INVENTION
[0012] An object of the present invention is to provide such a
storage unit, an installation method thereof and an installation
program therefor that can enjoy merits such as high function, high
performance and high reliability of a new storage unit at the time
of installation of the new storage unit, suppressing cost
increase.
[0013] To attain the above object, the present invention follows
the below-described procedures to install a new storage unit
(referred to as a second storage unit) into a computer system
comprising a host computer and an existing first storage unit,
wherein the host computer and the first storage unit are connected
through a first network such as SAN, LAN, or the like.
[0014] First, the new second storage unit is connected to the first
network. Then, zoning setting of a switch existing in the first
network and access right setting of the first storage unit are
changed such that the second storage unit can access a storage
device in the first storage unit. Next, a logical device
(hereinafter, referred to as a first logical device) relating to
the storage device of the first storage unit is assigned to a
logical device (hereinafter, referred to as a second logical
device) of the second storage unit. Namely; the first logical
device of the first storage unit is associated with the second
logical device of the second storage unit. Next, with respect to
the second logical device, path definition and device recognition
in the host computer are performed such that the host computer can
recognize the second logical device of the second storage unit and
can access the second logical device of the second storage
unit.
[0015] Next, input-output setting of the host computer is changed
such that processing of an input-output from the host computer to
the storage device of the first storage unit is requested to the
second storage unit. Here, the substance of the second logical
device is the storage device in the first storage unit, and a
storage device storing the data of the second logical device is not
held in the second storage unit.
[0016] Favorably, the zoning setting of the switch existing in the
first network and the access right setting of the first storage
unit are changed such that direct access from the host computer to
the storage device of the first storage unit is inhibited.
[0017] In the above-described state, when the second storage unit
receives a read request from the host computer to the second
logical device, then, the second storage unit converts the read
request into a read request to the first logical device, and sends
the converted request to the first storage unit. Receiving an
input-output processing completion report from the first storage
unit, the second storage unit sends the host computer a completion
report relating to the input-output request to the second logical
device.
[0018] Thus, in the above-described state, the second storage unit
can process an input-output request to the storage device in the
first storage unit. Accordingly, merits of the new storage unit,
such as high performance, high reliability and high function, can
be applied to the device in the existing first storage unit. For
example, to the first logical device of the first storage unit, the
second storage unit can apply a replicating function such as data
replication and copy to a remote place, or access right control for
each device.
[0019] Here, apparently the second logical device of the second
storage unit is assigned to the first logical device of the first
storage unit, and the host computer recognizes the first logical
device of the first storage unit as the second logical device of
the second storage unit. In this state, a physical device that
becomes the substance of the second logical device is allocated
from an unused storage space in the second storage unit, and a part
or all of the data of the storage devices of the first storage unit
are migrated. In the course of data migration, when a read request
from the host computer to the second logical device relates to data
that have not been migrated from the first logical device, then,
this read request is sent to the first storage unit, as a read
request to the first logical device. On the other hand, when this
read request relates to data that have been migrated already, this
read request is processed in the second storage unit, as a read
request to the above-mentioned physical device as the subject of
the second logical device. Further, with respect to a write request
in the course of data migration, dual writing is performed toward
the first logical device of the first storage unit and toward the
physical device of the second storage unit. When the data migration
from the first storage unit is finished, then setting is changed
such that the physical device of the second storage unit is seen as
the second logical device.
[0020] Thereafter, each time when a new storage device is added to
the second storage unit, data of the first storage unit are
migrated stepwise.
[0021] When the second storage unit is installed according to the
above-described method, then, also with respect to data that are
actually stored in the existing first storage unit, the host
computer access the new second storage unit. Thus, merits of the
new second storage unit, such as high performance, high functions,
and high reliability of the second storage unit, can be enjoyed
even when data actually stored in the existing first storage unit
are accessed. In other words, the merits of the newly-installed
storage unit can be applied to all the data including the data in
the existing first storage unit. In addition, the existing storage
unit and the new storage unit are used jointly, and storage
capacity of the new storage unit can be smaller, and installation
costs can be the smallest.
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] FIG. 1 is a block diagram showing a computer system as an
embodiment of the present invention;
[0023] FIG. 2 is a diagram showing an example configuration of a
logical device management information table in an embodiment of the
present invention;
[0024] FIG. 3 is a diagram showing an example configuration of a
RAID management information table in an embodiment of the present
invention;
[0025] FIG. 4 is a diagram showing an example configuration of an
external device management information table in an embodiment of
the present invention;
[0026] FIG. 5 is a flowchart showing a procedure of installing a
new storage unit in an embodiment of the present invention;
[0027] FIG. 6 is a flowchart showing a migration procedure at the
time of migrating data from an existing first storage unit to a new
second storage unit in an embodiment of the present invention;
[0028] FIG. 7 is a flowchart showing a procedure of processing an
input-output request from a host to a new second storage unit in an
embodiment of the present invention;
[0029] FIG. 8 is a flowchart showing a processing procedure at the
time of adding a disk unit to a new second storage unit in an
embodiment of the present invention; and
[0030] FIG. 9 is a diagram showing an example configuration of a
logical device access statistical information table in an
embodiment of the present invention.
BEST MODE OF PRACTICING THE INVENTION
[0031] Now, one embodiment of a computer system according to the
present invention will be described.
[0032] As shown in FIG. 1, a computer system of the present
invention comprises a host computer 11, a fibre channel switch 18;
two storage units 12a and 12b (referred to as a storage unit 12, by
a general term) and a management server 13. The host computer 11 is
connected with the two storage units 12a and 12b through the fibre
channel switch 18 and cables. Further, the host computer 11, the
two storage units 12a and 12b and the fibre channel switch 18 are
connected to the management server 13 through an IP network
142.
[0033] The host computer 11 comprises a CPU, a memory, and the
like, and performs predetermined functions when the CPU reads and
executes an operating system (hereinafter, referred to as OS) and
application programs stored in the memory.
[0034] Among the two storage units 12a and 12b, a first storage
unit 12b is an existing storage unit, and a second storage unit 12a
is a newly installed storage unit. The first storage unit 12b
comprises a disk unit 121, a disk controller 122, a port 123 for
connecting with the host computer 11, and a network interface 125
for connecting with the IP network 142. Here, the first storage
unit 12b may comprise a plurality of disk units and a plurality of
ports. Further, the second storage unit 12a comprises a plurality
of disk units 121, a disk controller 122, a port 123a for
connecting with the host computer 11 and a plurality of ports 123b
for connecting with the other storage units (referred to as a port
123, by a general term), and a network interface 125 for connecting
with the IP network 142.
[0035] In a storage unit 12 of the present embodiment, a disk unit
or units 121 as hardware are defined collectively as one or a
plurality of physical devices, and one logical device (i.e., one
device from a logical viewpoint) is assigned to one physical
device. Of course, it is possible to present an individual disk
unit 121 as one physical device and one logical device, to the host
computer 11.
[0036] As a port 123 of a storage unit 12 in the present
embodiment, it is assumed to use the fibre channel interface whose
upper protocol is SCSI (Small Computer System Interface). However,
another network interface for storage connection, such as IP
network interface whose upper protocol is SCSI, may be used.
[0037] A disk controller 122 of a storage unit 12 comprises a
processor, a cache memory 124 and a control memory, and communicate
with the management server 13 through the network interface 125 and
controls the disk unit 121. The processor controls access from the
host computer 11 and controls the disk unit 121, based on various
kinds of information stored in the control memory. In particular,
in the case where a plurality of disk units 121 (not a single disk
unit 121) such as ones in a disk array are presented as one or
plurality of logical devices to the host computer 11, the processor
performs processing and management relating to the disk units
121.
[0038] The control memory stores programs executed by the processor
and various kinds of management information. As one of the programs
executed by the processor, there may be a disk controller program.
This disk controller program includes an installation program for
installing the second storage unit 12a into a computer system. This
installation program and the disk controller program including it
are executed by the processor to function as a storage installation
controller 129 and the disk controller, respectively. Further, as
the various kinds of management information stored or to be stored
in the control memory, there may be logical device management
information 126 for management of the logical devices of the second
storage unit 12a; RAID (Redundant Array of Independent Disk)
management information 127 for management of physical devices
consisting of the plurality of disk units 121 of the second storage
unit 12a, and external device management information 128 for
management of correspondence between the logical devices of the
second storage unit 12a and the logical devices of the first
storage unit 12b.
[0039] To enhance speed of processing an access from the host
computer 11, the cache memory 124 stores data that are frequently
read, or temporally stores write data from the host computer
11.
[0040] The host computer 11 is connected with the fibre channel
switch 18 through an interface (I/F) 112, and also with the
management server through a network interface 113. On the host
computer 11, software (program) called a device link manager
(hereinafter, referred to as DLM) 111 operates. The DLM 111 manages
correspondence between the logical devices (recognized through the
interface 112) of the storage unit 12 and device files as device
management units of the OS. Usually, when a logical device is
connected with a plurality of interfaces 112 and a plurality of
ports 123, the host computer 11 recognizes that logical device as a
plurality of devices having different addresses, and different
device files are defined, respectively. A plurality of device files
corresponding to one logical device are managed as a group by the
DLM 11, and a virtual device file as a representative of the group
is provided to upper levels, so that alternate paths and load
distribution can be realized. Further, in the present embodiment,
the DLM 111 also adds/deletes a new device file to/from a specific
device file group and changes a main path within a device file
group, according to an instruction from a storage manager 131
located in the management server 13.
[0041] The management server 13 performs operation, maintenance and
management of the whole computer system. The management server 13
comprises a network interface 133, and connects with the host
computer 11, the two storage units 12a and 12b, and the fibre
channel switch 18, through the IP network 142. The management
server 13 collects configuration information, resource utilization
factors, performance monitoring information from various units 11,
12 and 18, presents them to a storage administrator, and sends
operation/maintenance instructions to those units. The mentioned
processing is performed by the storage manager 131 operating on the
management server 13.
[0042] Similarly to the disk controller 122, also the storage
manager 131 comprises a processor and a memory. The memory stores a
storage manager program executed by the processor. This storage
manager program includes an installation program for installing a
new storage unit. This installation program and the storage manager
program including it are executed by the processor to function as
an installation controller 134 and the storage manager 131,
respectively. When a new storage unit is installed, this
installation program is installed onto the existing management
server 13, except the case where a new management server
incorporated with the installation program is employed.
[0043] The fibre channel switch 18 comprises a plurality of ports
181. Each port 181 is connected with the interface 112 of the host
computer 11 or a port 123 of the storage unit 12a or 12b, so that
each of those devices can communicate with another device. The
fibre channel switch 18 comprises a network interface 182, and is
connected with the IP network 142 also. Due to this arrangement,
from the physical viewpoint, any host computer 11 can access all
the storage units 12a and 12b connected to the fibre channel switch
18. Further, the fibre channel switch 18 has a function called
zoning, i.e., a function of limiting communication from a specific
port to another specific port. This function is used, for example,
when access to a specific port 123 of a specific storage 12 is
limited to a specific host 11. As a method of controlling
combinations of a sending port and a receiving port, may be
mentioned a method in which an identifier assigned to a port 181 of
the fibre channel switch is used, and a method in which WWN (World
Wide Name) held by the interface 112 of each host computer 11 and a
port 123 of a storage unit 12, for example.
[0044] Next, there will be described the logical device management
information 126, the RAID management information 127 and the
external device management information 128 stored or to be stored
in the control memory of the disk controller 122 of the second
storage unit 12a.
[0045] FIG. 2 is a diagram showing an example configuration of a
logical device management information 126 for management of the
logical devices within the second storage unit 12a.
[0046] Each record of the logical device management information 126
includes a logical device number 21, a size 22, a corresponding
physical/external device number 23, a device state 24, a port ID
/target ID/LUN (Logical Unit number) 25, a connected host name 26,
a migrating physical/external device number 27, a data migration
progress pointer 28, and a data migration processing flag 29.
[0047] The size 22 stores capacity of the logical device, i.e., the
logical device specified by the logical device number 21. The
corresponding physical/external device number 23 stores a physical
device number of the physical device corresponding to the logical
device, in the second storage unit 12a, or stores an external
device number, i.e., a logical device of the first storage unit 12b
corresponding to the logical device. In the case where the
corresponding physical/external device number 23 is not assigned
with a device number, an invalid value is set in that entry. This
device number becomes an entry number in the RAID management
information 127 or the external device management information 128.
The device state 24 is set with information indicating a state of
the logical device. The device state can be "online", "offline",
"non-installed", "fault offline" or "data migration in progress".
The state "online" means that the logical device is operating
normally, and can be accessed from an upper host. The state
"offline" means that the logical device is defined and is operating
normally, but, can not be accessed from an upper host. This state
corresponds to a case where the device was used before by an upper
host, but now is not used by the upper host since the device is not
required. Here, the phrase "the logical device is defined" means
that correspondence with a physical device or an external device is
set, or, in detail, the physical/external device number 23 is set.
The state "non-installed" means that the logical device is not
defined and can not be accessed from an upper host. The state
"fault offline" means that a fault occurs in the logical device and
an upper host can not access that logical device. Further, the
state "data migration in progress" means that data migration from
or to an external device is in course of processing.
[0048] For the sake of simplicity, it is assumed in the present
embodiment that, at the time of shipping of the product, available
logical devices were assigned in advance to physical devices
prepared on a disk unit 121. Accordingly, an initial value of the
device state 24 is "offline" with respect to the available logical
devices, and "non-installed" with respect to the other.
[0049] The port number of the entry 25 is set with information
indicating which port the logical device is connected with, among
the plurality of ports 123. As the port number, a number uniquely
assigned to each port 123 within the storage unit 12 is used.
Further, the target ID and LUN are identifiers for identifying the
logical device. Here, when the host computer 11 accesses the device
on SCSI, the target ID and LUN are used as a SCSI-ID and LUN,
respectively. The connected host name 26 is information used only
by the storage units 12a and 12b connected to the fibre channel
switch 18, and shows a host name for identifying a host computer 11
that is permitted to access the logical device. As the host name,
it is sufficient to use a name that can uniquely identify a host
computer 11 or its interface 112, such as a WWN (World Wide Name)
given to the interface 112 of a host computer 11. In addition, the
control memory of the storage 12a or 12b holds management
information on an attribute of a WWN and the like of each port
123.
[0050] When the device state 24 is "data migration in progress",
the migrating physical/external device number 27 holds a
physical/external device number of a migration destination of the
physical/external device to which the logical device is assigned.
The data migration progress pointer 28 is information indicating
the first address of a migration source area for which migration
processing is unfinished, and is updated as the data migration
progresses. The data migration processing flag 29 has an initial
value "Off". When the flag 29 is set to "On", it indicates that the
physical/external device to which the logical device is assigned is
under data migration processing. Only in the case where the data
migration processing flag is "On", the migrating physical/external
device number 27 and the data migration progress pointer 28 become
effective.
[0051] FIG. 3 is a diagram showing an example configuration of the
RAID management information 127 for management of the physical
devices within the storage unit 12a.
[0052] Each record of the RAID management information 127 includes
a physical device number 31, a size 32, a corresponding logical
device number 33, a device state 34, a RAID configuration 35, a
stripe size 36, a disk number list 37, start offset in disk 38, and
size in disk 39.
[0053] The size 32 stores capacity of the physical device, i.e.,
the physical device specified by the physical device number 31. The
corresponding logical device number 33 stores a logical device
number of the logical device corresponding to the physical device,
within the second storage unit 12a. In the case where the physical
device is not assigned with a logical device, this entry is set
with an invalid value. The device state 34 is set with information
indicating a state of the physical device. The device state can be
"online", "offline", "non-installed" or "fault offline". The state
"online" means that the physical device is operating normally, and
is assigned to a logical device. The state "offline" means that the
physical device is defined and is operating normally, but is not
assigned to a logical device. Here, the phrase "the physical device
is defined" means that correspondence with the disk unit 121 is
set, or, in detail, the below-mentioned disk number list 37 and the
start offset in disk 38 are set. The state "non-installed" means
that the physical device is not defined on the disk unit 121. The
state "fault offline" means that a fault occurs in the physical
device, and the physical device can not be assigned to a logical
device.
[0054] For the sake of simplicity, it is assume in the present
embodiment that physical devices were prepared in advance on the
disk unit 121 at the time of shipping of the product. Accordingly,
an initial value of the device state 34 is "offline" with respect
to the available physical devices, and "non-installed" with respect
to the other.
[0055] The RAID configuration 35 holds information on a RAID
configuration, such as a RAID level and the numbers of data disks
and parity disks, of the disk unit 121 to which the physical device
is assigned. Similarly, the stripe size 36 holds data partition
unit (stripe) length in the RAID. The disk number list 37 holds a
number or numbers of one or plurality of disk units 121
constituting the RAID to which the physical device is assigned.
These numbers are unique values given to disk units 121 for
identifying those disk units 121 within the storage unit 12. The
start offset in disk 38 and the size in disk 39 are information
indicating an area to which data of the physical device are
assigned in each disk unit 121. In the present embodiment, for the
sake of simplicity, the respective offsets and sizes in the disk
units 121 constituting the RAID are unified.
[0056] Each entry of the above-described RAID management
information 127 is set with a value, at the time of shipping the
second storage unit 12a.
[0057] FIG. 4 is a diagram showing an example configuration of the
external device management information 128 of the second storage
unit 12a that manages the logical devices of the first storage unit
12b as an external device.
[0058] Each record of the external device management information
includes an external device number 41, a size 42, a corresponding
logical device number 43, a device state 44, a storage
identification information 45, a device number in storage 46, an
initiator port number list 47, and a target port ID/target ID/LUN
list 48.
[0059] The external device number 41 holds a value assigned to a
logical device of the first storage unit 12b, and this value is
unique in the second storage unit 12a. The size 42 stores capacity
of the external device, i.e., the external device specified by the
external device number 41. When the external device corresponds to
a logical device in the second storage unit 12a, the corresponding
logical device number 43 stores a logical device number of that
logical device. When the external device is not assigned to a
logical device, this entry is set with an invalid value. The device
state 44 is set with information indicating a state of the external
device. The device state 44 is "online", "offline", "non-installed"
or "fault offline". The meaning of each state is same as the device
state 34 in the RAID management information. In the initial state
of the second storage unit 12a, another storage unit is not
connected, and the initial value of the device state 44 is
"non-installed".
[0060] The storage identification information 45 holds
identification information of the first storage unit 12b that
carries the external device. As the storage identification
information, may be considered, for example, a combination of
vendor identification information on a vendor of the storage unit
12b and a manufacturer's serial number assigned uniquely by the
vendor. The device number in storage 46 holds a logical device
number (in the first storage unit 12b) corresponding to the
external device. The initiator port number list 47 holds a list of
port numbers of ports 123b (of the second storage unit 12a) that
can access the external device. When, with respect to the external
device, LUN is defined for one or more ports 123 of the first
storage unit 12b, the target port ID/target ID/LUN list 48 holds
port IDs of those ports and one or plurality of target IDs/LUNs
assigned to the external device.
[0061] Next, operation of the storage administrator and the
computer system following installation of the second storage unit
12a in the present embodiment will be described according to the
flowchart shown in FIG. 5.
[0062] First, the storage administrator connects the second storage
unit 12a to the fibre channel switch 18 (Step 501). In the present
embodiment, the port 123a is connected to a port 181 of the fibre
channel switch 18, for access from the host computer 11. And, the
port 123b is connected to a port 181 of the fibre channel switch
18, for access to other storage units including the first storage
unit 12b. When the second storage unit 12a is activated, the fibre
channel switch 18 detects the established links with the ports 123a
and 123b of the second storage units 12a. Thereafter, on occurrence
of a login from each port 123a or 123b to the switch 18, a login to
the interface or the port of the host computer 11 or the second
storage unit 12a is executed according to the fibre channel
standard. At that time, the second storage unit 12a holds
information such as the WWN or ID of the host computer 11 or the
like to which the port 123a or 123b has logged in. Receiving a
state change notification from the switch 18, the installation
controller 134 of the storage manager 131 acquires network topology
information from the switch 18 again, to detect new registration of
the second storage unit 12a.
[0063] Processing on and after the step 502 is performed mainly by
the installation controller 134 of the storage manager 131 that
receives an instruction from the storage administrator to start
installation of the second storage unit 12a, and by the
installation controller 129 of the second storage unit 12a. In the
step 502, the installation controller 134 of the storage manager
131 changes zoning setting of the switch 18, and changes device
access right setting of the first storage unit 12b such that the
second storage unit 12a can access the devices of the first storage
unit 12b.
[0064] In the step 503, the storage manager 131 assigns the logical
devices of the first storage unit 12b to the logical device of the
second storage unit 12a. In detail, first, the storage manager 131
sends the second storage unit 12a the port ID list of the first
storage unit 12b as the object of migration to the second storage
unit 12a. From the port 123b, the installation controller 129 of
the second storage unit 12a sends a SCSI "Inquiry" command that
designates a specific LUN for a port 123 (of the first storage unit
12b) existing in the received list, with respect to all such LUNs.
On the other hand, the processor of the first storage unit 12b
responds normally to "Inquiry" commands relating to LUNs that are
actually set to the port IDs of the first storage unit 12b. Based
on this response, the installation controller 129 of the second
storage unit 12a specifies the logical devices (of the first
storage unit 12b) that can be accessed and migrated to the second
storage unit 12a. And, the installation controller 129 generates an
external device list (from the viewpoint of the second storage unit
12a) of those logical devices. To judge whether migration is
possible or not, the installation controller 129 utilizes
information such as names, types and capacities of devices
connected to the second storage unit 12a. The information such as
the names, types and capacities of the devices is acquired from
returned information of the response to the above-mentioned
"Inquiry" command and returned information of a response to "Read
Capacity" command that is sent after the "Inquiry" command. With
respect to logical devices (of the first storage unit 12b) whose
migration has been judged to be possible, the installation
controller 129 registers those logical devices as external devices
of the second storage unit 12a into the external device management
information 128. In detail, the installation controller 129 finds
an external device whose device state 44 is "non-installed", and
sets information 42.about.48 into the entries concerned of that
external device. Now, the device state 44 is changed to
"offline".
[0065] The installation controller 129 of the second storage unit
12a notifies the storage manager 131 of the above-mentioned
external device list with respect to the designated port. And, the
installation controller 134 of the storage manager 131 instructs
the second storage unit 12a to assign the logical devices of the
first storage unit 12b. Receiving this instruction, the
installation controller 129 of the second storage unit 12a assigns
an external device a, i.e., a logical device of the first storage
unit 12b, to a non-installed logical device a of the second storage
unit 12a. In detail, the installation controller 129 of the second
storage unit 12a sets the device number 41 of the external device a
to which the logical device of the first storage unit 12b
corresponds, into the corresponding physical/external device number
23 of the logical device management information 126 relating to the
logical device a. Then, the installation controller 129 of the
second storage unit 12a changes the device state 24 of the logical
device management information 126 from "non-installed" to
"offline". In addition, the corresponding logical device number 43
of the external device management information 128 is set to the
device number 21 of the logical device a, and the device state 44
is changed to "online".
[0066] Successively, in the step 504, the installation controller
134 of the storage manager 131 instructs the second storage unit
12a to define a LUN to the port 123a such that the host computer 11
can access the logical device a assigned to the second storage unit
12a. Receiving this instruction, the installation controller 129 of
the second storage unit 12a defines a LUN relating to the
above-assigned logical device a, i.e., defines a device path to the
port 123a of the second storage unit 12a. Then, the port
number/target ID/LUN 25 and the host name 26 of the logical device
management information 126 are set.
[0067] When the logical device of the first storage unit 12b is
assigned as the logical device of the second storage unit 12a, and
also the LUN is defined, then, the installation controller 134 of
the storage manager 131 instructs the DLM 111 of the host computer
11 to recognize the devices again. Receiving this instruction, the
DLM 111 of the host computer generates a device file relating to
the newly-assigned logical device. For example, in the case of the
UNIX (a registered trademark) operating system of Hewlett-Packard
Ltd., an "IOSCAN" command is used to recognize a new logical device
and to generate a device file. When the logical device of the
storage unit 12 corresponding to the newly-generated device file is
same as one corresponding to a previously-generated device file,
then, the DLM 111 detect it and manages these device file as a same
group. To judge the sameness, it is considered to use the
above-mentioned "Inquiry" command or the like to acquire the device
number in the storage 12, for example. However, in the case where a
logical device b in the first storage unit 12b corresponds to a
logical device a in the second storage unit 12a, the DLM 111 sees
these logical devices a and b as logical devices of the different
storage units 12a and 12b, they are not managed in a same
group.
[0068] Next, the installation controller 134 of the storage manager
131 instructs the DLM 111 of the host computer 11 to change the
access destination. Receiving this instruction, the DLM 111 changes
access to the device in the first storage 12b to access to the
device in the second storage unit 12a (Step 506). In detail, first,
the installation controller 134 of the storage manager 131 sends
device correspondence information of the first storage unit 12b and
the second storage unit 12a to the DLM 111. The device
correspondence information is information of the assignment of the
logical devices of the second storage unit 12b. The DLM 111 of the
host computer 11 assigns a virtual device file that is assigned to
a device file group relating to a logical device b in the first
storage unit 12b to a device file group relating to a logical
device a in the second storage unit 12a. As a result, software
operating on the host computer 11 can access the logical device a
in the second storage unit 12a according to a same procedure of
accessing the logical device b in the first storage unit 12b.
[0069] Next, in the step 507, the installation controller 134 of
the storage manager 131 makes the switch 18 change the zoning
setting and makes the first storage unit 12b change setting of the
device access right, to inhibit the host computer 11 from directly
accessing the devices of the first storage unit 12b.
[0070] Next, referring to the flowchart shown in FIG. 6, there will
be described processing of migrating data stored in the devices in
the first storage unit 12b to an empty device in the second storage
unit 12a, after installation of the second storage unit 12a into
the computer system.
[0071] First, the installation controller 134 of the storage
manager 131 instructs the second storage unit 12a to migrate data.
In the step 601, the installation controller 129 of the second
storage unit 12a checks the device state 34 of the RAID management
information 127, to search for a physical device a in the "offline"
state, i.e., in an empty state. When a physical device in the
"offline" state is found, then, the size 32 is referred to in order
to obtain the capacity of the empty device. Next, in the step 602,
the installation controller 129 searches for such an external
device (hereinafter, referred to as the migration object device)
that the device state 44 of the external device management
information 128 is "online" and the size 42 of the external device
management information 128 can be accommodated by the capacity of
the physical device a.
[0072] When the empty physical device a as the migration
destination and the migration object device are determined, then,
in the step 603, the installation controller 129 assigns an empty
physical device to the logical device a of the second storage unit
12a (Step 603). In detail, the installation controller 129
registers the number of the logical device a into the corresponding
logical device number 33 of the RAID management information 127
corresponding to the physical device a, and changes the device
state 34 from "offline" to "online". Further, after initializing
the data migration progress pointer 28 of the logical device
management information 126 corresponding to the logical device a,
the device state 24 is set to "data migration in progress", the
data migration processing flag 29 is set to "On", and the migrating
physical/external device number 27 is set to the device number of
the physical device a.
[0073] When the device assignment is finished, then, in the step
604, the installation controller 129 of the second storage unit 12a
performs processing of data migration from the migration object
device to the physical device a. In detail, from the top of the
migration object device, data are read to the cache memory 124, and
then, the data are written onto the physical device a. This
operation is repeated to the end of the migration object device. In
the course of this operation, each time when writing onto the
physical device a is finished, the first address of the next
migration object area is set into the data migration progress
pointer 28.
[0074] When migration of all the data is finished, then, in the
step 605, the installation controller 129 sets the corresponding
physical/external device number 23 of the logical device management
information 126 with the physical device number of the physical
device a, and the device state 24 is changed from "data migration
in progress" to "online", the data migration flag 29 is set to
"Off", and the migrating physical/external device number 27 is set
to the invalid value. Further, the corresponding logical device
number 43 of the external device management information 128
corresponding to the migration object device is set to the invalid
value, and the device state 44 is set to "offline".
[0075] Next, referring to the flowchart shown in FIG. 7, there will
be described operation of the second storage unit 12a in response
to an input-output request from the host computer 11.
[0076] When the installation controller 129 of the second storage
unit 12a receives an input-output request from the host computer 11
(Step 701), the installation controller 129 judges whether the
request is read or write (Step 702). In the case where the request
is read, it is checked whether processing object data are held in
the cache memory 124 (hit) (Step 703). When the processing object
data are not held in the cache memory 124, data staging to the
cache memory 124 is performed. At that time, it is judged whether
the data migration is in progress, based on the device state 24 of
the logical device in the logical device management information
126. When the data migration is in progress, then, it is judged
whether a processing object address of the logical device as the
processing object is in a migrated data area, based on the data
migration progress pointer 28 relating to the logical device in the
logical device management information 126 (Step 704). In the case
where the data migration is in progress and data of the processing
object area has been migrated already, then, read processing is
performed for reading from the migration destination device
indicated by the migrating physical/external device number 27 (Step
706). In the other case, read processing is performed for reading
from the migration object device indicated by the corresponding
physical/external device number 23 (Step 705).
[0077] In the read processing in the step 705, the installation
controller 129 converts the read request from the host computer 11
into a read request to the migration object device indicated by the
corresponding physical/external device number 23, and sends the
converted request to the first storage unit 12b. Receiving this
read request, the first storage unit 12b performs read processing
toward the disk unit 121 corresponding to the above-mentioned
migration object device, and sends read contents to the second
storage unit 12a. Further, in the read processing in the step 706,
the read processing is performed toward the migration object device
indicated by the migrating physical/external device number 27.
[0078] When, after execution of the read processing (Step 705 or
706), the data staging to the cache memory 124 is finished, then,
the object data held in the cache memory 124 is transferred to the
host computer 11 (Step 707). And, the disk controller 122 of the
second storage unit 12a sends a completion report to the host
computer 11 (Step 708).
[0079] When it is judged in the step 703 that cache hit occurs,
then, the object data held in the cache memory 124 are immediately
transferred to the host computer 11 (Step 707).
[0080] When the data transfer to the host computer 11 is finished,
the disk controller 122 of the second storage unit 12a sends a
processing completion report to the host computer 11 (Step
708).
[0081] When it is judged in the step 702 that the input-output
request from the host computer 11 is write, then, the disk
controller 122 of the second storage unit 12a assigns a write data
storage area to the cache memory 124, transfers write data from the
host computer 11 to the cache memory 124, and sends a completion
report to the host computer 11 (Steps 709-711). Thereafter,
destaging of the write data is performed.
[0082] In the course of the destaging, it is judged whether the
logical device is under data migration, based on the device state
24 of the logical device management information 126 (Step 712).
When the logical device is under data migration, then, write
processing of the above-mentioned data is performed toward both the
migration source (migration object) device and the migration
destination device (Step 713). On the other hand, when the logical
device is not under data migration, write processing of the
above-mentioned data is performed toward the device indicated by
the corresponding physical/external device number 23 (Step
714).
[0083] Next, referring to the flowchart shown in FIG. 8, there will
be described data migration processing in the case where a disk
unit 121 is added to the second storage unit 12a.
[0084] First, when the storage administrator adds a disk unit 121
to the second storage unit 12a, and the installation controller 129
of the second storage unit 12a detects this addition (Step 801),
then, the installation controller 129 defines a new empty device,
i.e., a physical device of an "offline" state (Step 802). At that
time, the entries 32-39 of the RAID management information 127 are
updated.
[0085] Thereafter, data migration of an external device whose data
are not migrated yet is performed toward the newly-assigned empty
device (Steps 803-806). These processes (Steps 803-806) are similar
to the steps 602-605 of FIG. 6, and not described here again.
[0086] Hereinabove, an embodiment of the present invention has been
described. However, the present invention is not limited to the
above-described embodiment, and can be modified variously within
the scope of the present invention.
[0087] For example, in the processing of installing the second
storage unit 12a to the computer system, which has been described
referring to FIG. 5, the port ID list of the first storage unit 12b
as the migration object is sent from the storage manager 131 to the
second storage unit 12a, in the step 503. However, instead of the
port ID list, information that can specify the first storage unit
12b (for example, identification information list for identifying
the unit name obtainable by an "Inquiry" command) may be sent.
Identification information of the mentioned list is information
required by the storage manager 131 to manage the first storage
unit 12b, and although basically held inside the storage manager
131, may be obtained by sending an "Inquiry" command to the first
storage unit 12b at the time of sending the list. In that case, the
second storage unit 12a sends an "Inquiry" command to all the
storage node ports that can be reached from the port 123b, and
compares the above-mentioned identification information list with
unit identification information among information obtained from the
first storage unit 12b, so that only coincident ports become
migration objects. Further, it is possible that the second storage
unit 12a does not receive an instruction from the storage manager
131 and all the storage node ports reachable from the port 123b
become migration objects.
[0088] Further, in the step 503 during installation processing of
the second storage unit 12a, the storage manager 131 is notified of
the list of the external devices detected by the second storage
unit 12a, and only the external devices designated by the storage
manager become the migration objects. However, it is possible that
the second storage unit 12a does not notify the storage manager 131
of the detected external device list, and all the devices shown in
the external device list become migration objects.
[0089] Further, in the step 503, the second storage unit 12a
selects and assigns the non-installed logical device to the
external device designated by the storage manager 131. However, the
storage manager 131 may determine a non-installed logical device as
an object of assignment and indicate the determined logical device
to the second storage unit 12a. In that case, the storage manager
131 must obtain information such as the logical device number 21
and the device state 24 out of the logical device management
information 126 shown in FIG. 2, to determine migration objects
based on the obtained information.
[0090] Further, as described referring to the flowchart of FIG. 6,
in the step 601 during the migration processing from an external
device, i.e., a logical device of the first storage unit 12b, which
is assigned to a logical device of the second storage unit 12a, to
an empty physical device of the second storage unit 12a, the second
storage unit 12a performs data migration from the external device
to all the empty physical devices as the migration destination.
However, it is possible to limit migration destination physical
devices, based on control information that can be used to judge
whether a physical device can be a migration object. In detail, a
data migration target availability flag is provided to each record
of the RAID management information shown in FIG. 3. This flag is
set with a flag value indicating whether each physical device can
become a data migration destination at the time of initialization
or addition of a physical device. Based on this information, the
second storage unit 12a specifies a physical device that can be a
migration destination. Here, the mentioned flag value is set by the
storage administrator using a configuration management terminal
(not shown in FIG. 1) of the second storage unit 12a, or using an
input-output unit such as a keyboard and/or a mouse provided to the
storage manager 131. For example, it is possible to employ an
arrangement in which a flag value is automatically set to
"unavailable as migration target" as a basic set value given at the
time of installation of a physical device, and the storage
administrator changes the flag value relating to a specific
physical device to "available as migration target". Or, it is
possible to employ an arrangement in which, as the basic set value,
the value "available as migration target" is set automatically, and
the storage administrator changes the flag value relating to a
specific physical device to "unavailable as migration target".
[0091] Further, it is possible that, with respect to a data
migration instruction of the storage manager 131, the storage
manager 131 holds physical device information such as the physical
device number 31, the size 32 and the device state 34 out of the
RAID management information 127 shown in FIG. 3, and specifies an
empty physical device as the data migration destination, to the
second storage unit 12a. In that case, in the data migration
processing (shown in FIG. 6) of the second storage unit 12a, it is
necessary to add a step in which it is checked whether the
specified physical device is empty and the data migration request
is rejected when the specified physical device is not empty.
[0092] Further, in the processing of the step 602 shown in FIG. 6,
when the second storage unit 12a determines the migration object
external device, the external device is determined by checking only
whether it can be accommodated by the size of the empty physical
device selected in the step 601. However, the migration object may
be determined based on other information of the external device.
For example, it is possible that a data migration object
possibility flag is provided to each record of the external device
management information 128 shown in FIG. 4, and it is judged
whether the external device can be an object of migration. In that
case, when the external device management information 128 on an
external device is registered in the step 503, the above-mentioned
flag is initialized to have a value indicating possibility or
impossibility of migration, and thereafter, the storage
administrator changes the flag value. When the storage
administrator changes the flag value, a configuration management
terminal (not shown in FIG. 1) of the second storage unit 12a, or
an input-output unit such as a keyboard and/or a mouse provided to
the storage manager 131 may be used. Further, instead of the
above-mentioned data migration object possibility flag, data
migration object priority information may be provided. In that
case, the second storage unit 12a determines the migration object
external device, referring to the migration object priority
information set by the storage administrator.
[0093] Further, as a standard for determining a migration object
external device, host access statistical information to the
external device may be used, for example. In detail, the second
storage unit 12a acquires access statistical information for each
logical device. FIG. 9 shows an example of the statistical
information. In each record of the access statistical information,
an access frequency 91 indicates the number of accesses per time
unit to the logical device, and a read frequency 92 indicates the
number of reads per time unit from the logical device. A write
frequency can be calculated from the access frequency 91 and the
read frequency 92. A read cache hit rate 93 and a write cache hit
rate 94 are hit rates in the cache memory 124 of the second storage
unit 12a at the time of read access and at the time of write
access, respectively. By combining these information items, it is
possible to calculate an access frequency of each logical device to
the corresponding external device (device of the first storage unit
12b). Here, as a data migration object, it is possible to select
such an external device that has a higher access frequency and can
be accommodated by the size of an empty device, based on
thus-obtained access frequency for each external device.
[0094] Further, in the data migration processing shown in FIG. 6,
the storage manager instructs the second storage unit 12a to
perform data migration. However, the second storage unit 12a may
automatically perform the data migration processing, as an
extension of the processing of associating an external device,
i.e., a logical device of the first storage unit 12b, with a
logical device of the second storage unit 12a. Namely, out of the
various functions of the installation controller 134 of the storage
manager 131, the functions relating to the data migration
processing shown in FIG. 6 may be mounted on the second storage
unit 12a.
* * * * *