WO2013118243A1 - 計算機システムおよびデータ入出力方法 - Google Patents
計算機システムおよびデータ入出力方法 Download PDFInfo
- Publication number
- WO2013118243A1 WO2013118243A1 PCT/JP2012/052619 JP2012052619W WO2013118243A1 WO 2013118243 A1 WO2013118243 A1 WO 2013118243A1 JP 2012052619 W JP2012052619 W JP 2012052619W WO 2013118243 A1 WO2013118243 A1 WO 2013118243A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- core
- path
- responsible
- request
- port
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Definitions
- the present invention relates to I / O (Input / Output) from a server to an LU (Logical Unit) in a storage device.
- I / O Input / Output
- LU Logical Unit
- a computer system includes a storage device having an LU and a server connected to the storage device.
- the server transmits an I / O request for inputting / outputting data to / from the LU of the storage apparatus.
- the storage apparatus receives the I / O request, and inputs / outputs data according to the I / O request to the LU specified by the I / O request.
- An LU is a logical storage device and is sometimes called a logical volume.
- the LU may be a virtual LU or a real LU.
- the virtual LU may be, for example, an LU that conforms to Thin Provisioning, or an LU that conforms to a storage virtualization technology (an LU in which storage resources of a storage device external to the storage device are virtualized).
- the real LU is an LU based on a physical storage device (hereinafter, PDEV).
- PDEV physical storage device
- one or more real LUs are formed based on a RAID (Redundant Array of Independent (or Inexpensive) Disks) group composed of a plurality of PDEVs.
- RAID Redundant Array of Independent (or Inexpensive) Disks
- a technique in which a plurality of paths from a server to an LU are prepared, and a network load and a port load in a storage apparatus are distributed by controlling a path selected from the plurality of paths.
- the path selected from a plurality of paths is switched by, for example, a round robin method. For this reason, in the storage apparatus in which the processor (or processor core) in charge of the LU is determined, the processor (or processor core) that has received the I / O request via the path selected by the server, and the I / O There may be a case where the processor (or processor core) in charge of the LU specified by the O request is different. In this case, a so-called cross call occurs.
- “cross call” means that an I / O request is exchanged between processors (or between processor cores), that is, the I / O request from the processor (or processor core) that has accepted the I / O request.
- the I / O request is transferred to the processor (or processor core) in charge of the LU specified in. If the cross call occurs, the performance of both processors (or processor cores) that exchange I / O requests may be degraded.
- the storage device has a plurality of ports capable of communicating with the server, a plurality of processor cores, and a plurality of LUs. For each port, a port responsible core that is a processor core that receives an I / O request received by the port is determined, and for each LU, an LU responsible core that is a processor core responsible for I / O is determined. The LU responsible core may change dynamically.
- the server periodically acquires the identification information of the LU responsible core from the storage device. When the server transmits an I / O request, the LU core and the port core are the same from a plurality of paths to the I / O destination LU that is the LU specified in the transmission target I / O request. A non-cross call path that is a path that is a processor core is selected, and a transmission target I / O request is transmitted through the selected path.
- FIG. 1 is a diagram illustrating an overview of a controller included in the storage apparatus according to the embodiment.
- FIG. 2 is a diagram for explaining an example of I / O processing to an LU.
- FIG. 3 is a diagram illustrating an example of a core cross call.
- FIG. 4 is a diagram illustrating an example of a CPU cross call.
- FIG. 5 is a diagram for explaining an example of a cross call.
- FIG. 6 is a first diagram for explaining the outline of the computer system according to the embodiment.
- FIG. 7 is a second diagram for explaining the outline of the computer system according to the embodiment.
- FIG. 8 is a third diagram for explaining the outline of the computer system according to the embodiment.
- FIG. 9 is a fourth diagram illustrating the outline of the computer system according to the embodiment.
- FIG. 1 is a diagram illustrating an overview of a controller included in the storage apparatus according to the embodiment.
- FIG. 2 is a diagram for explaining an example of I / O processing to an LU.
- FIG. 10 is a fifth diagram illustrating the outline of the computer system according to the embodiment.
- FIG. 11 is a sixth diagram illustrating the outline of the computer system according to the embodiment.
- FIG. 12 is a configuration diagram of a computer system according to the embodiment.
- FIG. 13 is a diagram illustrating an example of a path table of the server 1 according to the embodiment.
- FIG. 14 is a diagram illustrating an example of a path table of the server 2 according to the embodiment.
- FIG. 15 is a diagram illustrating an example of a path table of the server 3 according to the embodiment.
- FIG. 16 is a diagram illustrating an example of an owner path table of the server 1 according to the embodiment.
- FIG. 17 is a diagram illustrating an example of an owner path table of the server 2 according to the embodiment.
- FIG. 18 is a diagram illustrating an example of an owner path table of the server 3 according to the embodiment.
- FIG. 19 is a diagram illustrating an example of an owner table according to the embodiment.
- FIG. 20 is a diagram illustrating an example of a cross call table according to the embodiment.
- FIG. 21 is a flowchart of path selection processing according to the embodiment.
- FIG. 22 is a flowchart of owner path table update processing according to the embodiment.
- aaa table various types of information may be described using the expression “aaa table”, but the various types of information may be expressed using a data structure other than the table. In order to show that it does not depend on the data structure, the “aaa table” can be called “aaa information”.
- program may be used as the subject, but the program is executed by a processor (typically a CPU (Central Processing Unit)) to perform processing determined by the memory and communication port.
- a processor typically a CPU (Central Processing Unit)
- the description may be made with the processor as the subject.
- the processing disclosed with the program as the subject may be processing performed by a computer such as a server or a storage device, or an information processing device. Further, part or all of the program may be realized by dedicated hardware.
- Various programs may be installed in each computer by a program distribution server or a computer-readable storage medium.
- FIG. 1 is a diagram for explaining the outline of the controller of the storage apparatus.
- the storage device includes one or more controllers 210.
- the controller 210 includes a CPU 212 having a plurality of (for example, two) CPU cores (hereinafter, cores) 212X and 212Y. Further, the controller 210 has a plurality of (for example, eight) communication ports (hereinafter referred to as ports) 211 for mediating communication with devices such as servers.
- the core 212X also referred to as Core-X
- Core-Y Core-Y
- Is in charge Is in charge.
- FIG. 2 is a diagram for explaining an example of I / O for an LU.
- FIG. 2 shows LU6 as an example of LU220.
- the core in charge of the I / O processing for the LU 6 is the Core-X (core 212AX) of the 0-system controller 210A.
- the core in charge is determined for each port 211.
- the core 212AX in charge of the port A receives the I / O request (FIG. 2 (2)).
- the core 212AX in charge of the LU 6 has received the I / O request, no cross call occurs. That is, the core 212AX does not need to execute I / O to the LU 6 according to the I / O request and transfer the I / O request to another core (FIG. 2 (3)).
- FIG. 3 is a diagram for explaining an example of a core cross call.
- Core cross call is a cross call between cores.
- the core in charge of the LU 6 is the Core-X (core 212AX) of the 0-system controller 210A.
- the core 212AY in charge of the port E receives the I / O request (FIG. 3 (2)).
- the core in charge of the LU 6 is not the core 212AY that has received the I / O request but the other core 212AX.
- a core cross call occurs in one CPU 212. That is, an I / O request is passed from the core 212AY to the core 212AX (FIG. 3 (3)).
- the core 212AX that has received the I / O request executes I / O to the LU 6 ((4) in the figure).
- a core cross call occurs, a load for sending and receiving an I / O request is applied to both cores 212AX and 212AY.
- the core cross call has a lower load on the CPU than the CPU cross call described later.
- FIG. 4 is a diagram illustrating an example of a CPU cross call.
- CPU cross call is a cross call between CPUs.
- a CPU cross call may occur in the same controller, or a CPU cross call may occur between controllers.
- cross call means both a core cross call and a CPU cross call.
- FIG. 4 there are two storage devices, a 0-system controller 210A and a 1-system controller 210B.
- the core in charge of LU6 is the Core-X (core 212AX) of the 0-system controller 210A and is in charge of LU7.
- the core to be operated is the Core-Y (core 212BY) of the 1-system controller 210B.
- the core 212AY in charge of the port F receives the I / O request (FIG. 4 (2)).
- the core in charge of LU7 is not the core 212AY that has received the I / O request, but the core 212BY of the 1-system controller 210B. For this reason, a CPU cross call occurs. That is, the I / O request is transferred from the CPU having the core 212AY to the core 212BY of another CPU ((3) in FIG. 4).
- the core 212BY that has received the I / O request executes I / O to the LU 7 (FIG. 4 (4)).
- the core 212BX in charge of the port A receives the I / O request (FIG. 4 (FIG. 4). 6)).
- the core in charge of LU6 is not the core 212BX that received the I / O request, but the core 212AX of the 0-system controller 210A. For this reason, a CPU cross call occurs. That is, the I / O request is transferred from the CPU having the core 212BX to the CPU having another core 212AX (FIG. 4 (7)).
- the core 212AX that has received the I / O request executes I / O to the LU 6 (FIG. 4 (8)).
- FIG. 5 is a diagram for explaining an example of a cross call.
- the server 1000 is connected to a plurality of (for example, two) switches 150A and 150B (FC-SW1, FC-SW2) via, for example, an optical fiber cable, and the two switches 150A and 150B are connected to the storage apparatus 200, for example, an optical fiber. Connected via cable.
- FC-SW1, FC-SW2 switches 150A and 150B
- the paths to the LU 6 include, for example, a path via the HBA1, FC-SW1 of the server 1000, the port D of the 0-system controller 210A, and an HBA2, FC- of the server 1000.
- SW2 and a path via port A of the 1-system controller 210B are prepared.
- the CPU of the server 1000 executes an application program (hereinafter, application 111) and a multipath management program 1010.
- the application 111 issues an I / O request specifying LU6.
- the multipath management program 1010 selects a path through which an I / O request issued from the application 111 (an I / O request specifying LU6) is passed from a plurality of paths to the same LU6.
- the multipath management program 1010 selects one path from a plurality of paths in a round robin method, and transmits an I / O request issued from the application 111 using the selected path. For this reason, the I / O request specifying the LU 6 can reach the storage apparatus 200 from either of the two paths to the LU 6.
- the core in charge of the LU 6 is the Core-X (core 212AX) of the 0-system controller 210A.
- the I / O request issued from the application 111 is transmitted to the multipath management program 1010 (FIG. 5 (1)), and the multipath management program 1010 determines the path through which the I / O request passes. Selected.
- the multipath management program 1010 receives the I / O request.
- HBA1 FIG. 5 (2)
- FC-SW 1 FIG. 5 (3)
- FC-SW 1 FIG. 5 (4)
- the core 212AX in charge of the port D receives the I / O request (FIG. 5 (5)).
- the core in charge of the LU 6 is the core 212AX that has received the I / O request, no cross-call occurs, and the core 212AX performs I / O on the LU 6 (FIG. 5 (6)).
- the multipath management program 1010 When the path passing through the port A of the HBA 2, FC-SW 2 and 1-system controller 210B is selected as the path through which the I / O request specifying the LU 6 passes, the multipath management program 1010 The O request is passed to the HBA 2 (FIG. 5 (11)). The I / O request transferred to the HBA 2 is transmitted from the HBA 2 to the FC-SW 2 (FIG. 5 (12)), and is transmitted from the FC-SW 2 to the port A of the 1-system controller 210B (FIG. 5 (13)).
- the core 212BX in charge of the port A receives the I / O request (FIG. 5 (14)).
- the core in charge of the LU 6 is not the core 212BX that received the I / O request but the core 212AX.
- a CPU cross call occurs. That is, the I / O request is transferred from the CPU of the core 212BX to the CPU of the core 212AX (FIG. 5 (15)).
- the core 212AX that has received the I / O request executes I / O to the LU 6 (FIG. 5 (16)).
- FIG. 6 is a first diagram for explaining the outline of the computer system according to the embodiment.
- a path P1 that goes through port D of server 100 HBA1, FC-SW1, 0 system controller 210A, and a path that goes through port A of server HBA2, FC-SW2, 1 system controller 210B P2 is prepared.
- the multipath management program 112 acquires information indicating which LU is responsible for which controller and core from the storage apparatus 200 and stores the information in a storage resource (for example, memory) in the server 100. Based on this information, the multipath management program 112 does not generate a cross call even if an I / O request passes through a plurality of paths to the LU specified by the I / O request from the application 111. Select a path (hereinafter, non-cross call path). In the example shown in the figure, when an I / O request specifying LU 6 is transmitted, the multipath management program 112 selects a non-cross call path.
- the non-cross call path of the LU 6 is the path P1 that passes through the port D that is handled by the core 212AX that is in charge of the LU 6, out of the paths P1 and P2 to the LU 6. That is, the non-cross call path P1 is a path in which the core receiving the I / O request received by the port D through which the path P1 passes and the core in charge of the LU 6 are the same. Thereby, the occurrence of a cross call can be avoided.
- FIG. 7 is a second diagram for explaining the outline of the computer system according to the embodiment.
- the multipath management program 112 may change a non-cross call path selected from a plurality of non-cross call paths according to a predetermined method such as a round robin method.
- FIG. 8 is a third diagram for explaining the outline of the computer system according to the embodiment.
- FIG. 9 is a fourth diagram illustrating the outline of the computer system according to the embodiment.
- FIG. 10 is a fifth diagram illustrating the outline of the computer system according to the embodiment.
- FIG. 11 is a sixth diagram illustrating the outline of the computer system according to the embodiment.
- the multipath management program 112 transmits an I / O request using the path P5
- a path for example, path P6 for transmitting an I / O request to the 1-system controller 210B is selected.
- the core for example, the core 212BX
- the core 212BX of the 1-system controller 210B replaces the core of the 0-system controller 210A.
- the load of each controller is monitored by the load monitoring device 230 as shown in FIG.
- the LU 6 charge is returned to the core 212AX.
- an I / O request is transmitted from the server 100 via the path P7. Therefore, the core 212BX of the 1-system controller 210B receives the I / O request, and the CPU cross call ( The I / O request is transferred from the core 212BX to the core 212AX in charge of LU6.
- the server 100 acquires information indicating which core is in charge of I / O for which LU (hereinafter, in-charge core identification information). For this reason, the server 100 acquires information (controller number and core number) specifying the changed core in charge of the LU 6.
- the multipath management program 112 uses a non-pass as a path for transmitting the I / O request specifying the LU 6.
- the cross call path P8 is selected, and the I / O request is transmitted to the core 212AX in charge of the LU 6. Thereby, a cross call is avoided.
- FIG. 12 is a configuration diagram of a computer system according to the embodiment.
- the computer system includes one or more servers 100, one or more storage apparatuses 200, and one or more servers 100 and a plurality of switches 150 (150A, 150B) connecting the one or more storage apparatuses 200.
- the server 100 and the switch 150 are connected by, for example, an optical fiber cable.
- the switch 150 and the storage device 200 are connected by, for example, an optical fiber cable.
- the switch 150 is, for example, a switch that mutually connects devices (server 100, storage device 200, etc.) that support Fiber Channel.
- the switches 150A and 150B are connected to a plurality of servers 100, respectively.
- the switch 150A is connected to a plurality of ports 211A of the 0-system controller 210A of the storage apparatus 200.
- the switch 150B is connected to a plurality of ports 211B of the 1-system controller 210B of the storage apparatus 200.
- the server 100 includes a communication interface device, a storage device, and a control device connected to them.
- the communication interface device is, for example, an HBA (Host Bus Adapter) 130.
- HBA Hyper Bus Adapter
- the storage device is, for example, the memory 110.
- the control device is, for example, the CPU 120.
- the memory 110 stores an application 111, a multipath management program 112, a path table 113, and an owner path table 114.
- the application 111 is a program for executing a predetermined business process, and is an I / O request for data related to the business process, and is performed by mounting the LU 220 (strictly, for example, the LU 220 of the storage apparatus 200). Issue an I / O request to the recognized logical storage device.
- the multipath management program 112 has a function of selecting one path from a plurality of paths to an LU specified by an I / O request from the application 111, and when a failure of a path to be selected is detected, the path is A function of selecting another path and transmitting an I / O request through the path, a function of appropriately changing a path selected from a plurality of paths, a function of blocking an arbitrary path, and the like are realized.
- the path table 113 has information regarding the path to the LU 220.
- the owner path table 114 includes information for specifying a controller and a core in charge of the LU 220 (in-charge core specifying information).
- CPU 120 executes various processes by executing a program stored in memory 110. At that time, the tables 113 and 114 are referred to as appropriate.
- the HBA 130 is a fiber channel compatible adapter, and mediates communication with external devices (such as the storage device 200).
- external devices such as the storage device 200.
- HBA1 and HBA2 may be used.
- HBA1 is connected to the switch 150A
- HBA2 is connected to the switch 150B.
- the storage apparatus 200 includes a plurality of controllers 210 (0-system controller 210A, 1-system controller 210B), a plurality of LUs 220, a load monitoring device 230, a shared memory device 240, and a plurality of PDEVs.
- the storage area based on the plurality of PDEVs may be any real LU of the plurality of LUs 220, or may be a storage area assigned to a virtual LU of the plurality of LUs 220.
- the shared memory device 240 stores an owner table 241, a cross call table 242, and a load monitoring control program 243.
- the owner table 241 is a table for managing the cores in charge of I / O processing for the LU 220.
- the cross call table 242 has information regarding the generated cross call.
- the load monitoring control program 243 is a program for executing load monitoring processing regularly or irregularly.
- the load monitoring process includes, for example, specifying the load (for example, usage rate) of each controller 210, changing the core in charge of the LU 220 according to the specified load, and the owner table according to the change of the core in charge of the LU 220. Updating 241 may be included.
- the load monitoring control program 243 determines which LU 220 is responsible for which core so that the usage rate of each core is balanced.
- the load monitoring device 230 has a CPU 231. Note that the CPU 212 of the controller 210 may be used in place of the CPU 231 (that is, the CPU 231 is not provided, and at least one CPU 212 may execute load monitoring processing in addition to I / O for the LU).
- the CPU 231 executes the load monitoring process by executing the load monitoring control program 243 stored in the shared memory device 240.
- the LU 220 may be a virtual LU or a real LU.
- the real LU may be an LU based on a RAID group configured by a plurality of PDEVs.
- LU0 LU0
- LU1 LU1
- LU2 LU2
- LU220 provided to SV1 (server 1).
- the LU 220 provided to the SV 2 (server 2) includes LU 10 (LDEV0020), LU11 (LDEV0021), and LU12 (LDEV0022).
- the LU 220 provided to the SV 3 (server 3) includes an LU 20 (LDEV 0030), an LU 21 (LDEV 0031), and an LU 22 (LDEV 0032).
- “LDEV” is a logical storage device and is substantially the same as LU. Specifically, in this embodiment, the storage apparatus has an LU number, which is identification information designated from the server, and an LDEV number, which is identification information used inside the storage apparatus, for the LU.
- the 0-system controller 210A has a plurality of (for example, eight from A to H) ports 211A and a CPU 212A. Since the 1-system controller 210B has the same configuration as the 0-system controller 210A, the description thereof is omitted here.
- the port 211A is a port corresponding to the fiber channel (CHA port), and mediates communication with other devices.
- CH fiber channel
- a plurality of ports are distinguished and described, they may be expressed as ports A, B,.
- the CPU 212A has a plurality of cores 212AX and cores 212AY.
- the cores 212AX and 212AY may be referred to as “Core-X” and “Core-Y”, respectively.
- the core 212AX and the core 212AY can operate independently, and execute, for example, communication processing using the port 211A and I / O to the LU 220.
- the responsible port and the responsible LU are determined for each core.
- a port handling core that is a core that receives an I / O request received by the port is defined for each port
- an LU handling core that is a core that executes I / O for the LU for each LU. Is determined.
- the port responsible core for ports A to D is the core 212AX
- the port responsible core for ports E to H is the core 212AY.
- Each core 212AX, 212AY is communicably connected to the PDEV, and at the time of I / O to the LU, a physical storage area (storage area in the PDEV) corresponding to the LU area (area in the LU) of the I / O destination Send an I / O request to a PDEV with
- the LU responsible core of the LU 220 executes I / O on the I / O destination LU 220.
- the LU responsible core can be changed by the control of the load monitoring device 230.
- FIG. 13 is a diagram illustrating an example of a path table of the server 1 according to the embodiment.
- FIG. 14 is a diagram illustrating an example of a path table of the server 2 according to the embodiment.
- FIG. 15 is a diagram illustrating an example of a path table of the server 3 according to the embodiment.
- the configuration of the path tables of the server 1, the server 2, and the server 3 is the same, and the information stored in the path table is information corresponding to each server.
- the path table 113 includes the following information for each path: (*) A path ID 113a that is an ID for uniquely identifying a path; (*) Vendor name 113b representing the vendor name of the storage apparatus 200 having the port through which the path passes, (*) Product name 113c indicating the product name of the storage apparatus 200 having the port through which the path passes, (*) Serial number 113d representing the product number of the storage apparatus 200 having the port through which the path passes, (*) LU number 113e, which is the LU number of the LU 220 connected to the path, (*) LDEV number 113f, which is the LDEV number of the LU 220 connected to the path, (*) Path status 113g indicating the status of the path, (*) CHA port 113h which is the number of the port through which the path passes, (*) Accepted controller number 113i, which is the number of the controller having the core in charge of the port through which the path passes, and (*) Port responsible core number 113J,
- an OS (Operating System) (not shown) of the server 100 transmits an LU list information acquisition request from the HBA 130 to each port of the storage apparatus 200.
- a response including LU list information is sent from the storage apparatus 200 to the server 100.
- the LU list information includes information related to the LU associated with the port that has received the acquisition request (information including vendor name, product name, product number, LU number, LDEV number, etc.).
- the multipath management program 112 transmits an inquiry request (for example, an Inquiry command) including the LU number included in the acquired LU list information.
- the identification information of the core in charge of the port that has received the inquiry request (reception controller number and core number in charge of the port), and the identification information of the LU responsible core of the LU identified from the LU number included in the inquiry request; Is sent from the storage apparatus 200 to the server 100.
- the multipath management program 112 stores information included in the LU list information and information included in the response to the inquiry request in the path table 113.
- the multi-path management program 112 selects a cross-call path and passes through the cross-call path when a plurality of paths to the LU specified in the inquiry request include a cross-call path and a non-cross-call path. Get a query request.
- a cross call path is a path where a cross call occurs.
- the cross call path includes a core cross call path in which the LU charge core and the port charge core are different but in the same CPU, and a CPU cross call path in the CPU in which the LU charge core and the port charge core are different.
- the non-cross call path is a path in which the LU handling core and the port handling core are the same.
- the storage device identification information includes a vendor name, a product name, and a manufacturing number.
- the storage apparatus 200 has a vendor name “HIT”, a product name “600F”, and a product number “9300080”.
- path IDs “00001”, “00004”, “00007”, and “00010” as paths to LU0.
- the path “00001” is a path that passes through the port “0A” (port A of the 0-system controller 211A), and the port-in-charge core of the port “0A” is the core 212AX of the 0-system controller 210A.
- the path “00007” is a path that passes through the port “1A” (port A of the 1-system controller 211B), and the port-in-charge core of the port “1A” is the core 212BX of the 1-system controller 210B.
- FIG. 16 is a diagram illustrating an example of an owner path table of the server 1 according to the embodiment.
- FIG. 17 is a diagram illustrating an example of an owner path table of the server 2 according to the embodiment.
- FIG. 18 is a diagram illustrating an example of an owner path table of the server 3 according to the embodiment.
- the configurations of the owner path tables of the server 1, the server 2, and the server 3 are the same, and the information stored in the owner path table is information corresponding to each server.
- the owner path table 114 includes the following information for each path: (*) Vendor name 114a indicating the vendor name of the storage apparatus 200, (*) Product name 114b indicating the product name of the storage apparatus 200, (*) Product number 114c representing the product number of the storage device 200, (*) LDEV number 114d indicating the LDEV number of the LU connected to the path, (*) Controller number 114e indicating the number of the controller (owner controller) having the LU responsible core of the LU to which the path is connected, (*) LU responsible core number 114f indicating the number of the LU responsible core of the LU to which the path is connected, and (*) I / O path control 114g representing information on whether or not execution of path selection by the process after step S2 of the path selection process (see FIG.
- the multipath management program 112 stores the specified setting information in the owner path table 114 as the I / O path control 114g. Store.
- the setting information may be specified for individual LUs or may be specified as common information for a plurality of LUs.
- FIG. 19 is a diagram illustrating an example of an owner table according to the embodiment.
- the owner table 241 includes the following information for each LU: (*) LDEV number 241a indicating the LDEV number of the LU, (*) Controller number 241b indicating the number of the controller having the LU responsible core of the LU, and (*) LU responsible core number 241c representing the LU responsible core number of the LU; Have
- the owner table 241 it can be seen that, for example, the LU “0010” is I / O executed by the core “X” (core 212AX) of the controller “0” (0-system controller 210A).
- FIG. 20 is a diagram illustrating an example of the cross call table according to the embodiment.
- the cross call table 242 stores the following information for each executed cross call: (*) Reception number 242a, which is a number uniquely indicating a cross call, (*) LDEV number 242b indicating the LDEV number of the LU 220 designated by the I / O request in which the cross call has occurred, (*) Accepted controller number 242c, which is the number of the controller that accepted the I / O request in which the cross call occurred, (*) Port responsible core number 242d representing the number of the port responsible core that has accepted the I / O request in which the cross call has occurred.
- a processing controller number 242e indicating the number of a controller having a core that has executed I / O for the LU 220 specified by the I / O request in which the cross call has occurred; and (*) Processing LU charge core number 242f indicating the number of the core that has performed I / O for the LU 220 specified by the I / O request in which the cross call has occurred,
- the cross call table 242 in the cross call “000001”, the I / O destination is LU “0010”, the I / O request is accepted by the core 212BY of the 1-system controller 210B, and the core 212AX of the 0-system controller 210A. It can be seen that I / O has been executed. This also means that the result of I / O by the core 212AX is returned to the core 212BY and transmitted to the source of the I / O request by the core 212BY. That is, the cross call table 242 is used to return a response through the same route as the route through which the I / O request has flowed according to the cross call.
- the port responsible core (for example, any one of 212AX, 212AY, 212BX, and 212BY) receives an I / O request from the responsible port (211A or 211B), it refers to the owner table 241 and refers to the I / O destination LU ( The LU responsible LU of the LU 220 specified by the I / O request (the core of the controller responsible for the I / O for the LU 220) is specified.
- the port responsible core performs I / O on the I / O destination LU 220.
- the port responsible core Add a new record to the cross call table 242.
- (*) Set the number of the controller having the core in charge as the reception controller number 242c in the record.
- the port responsible core number 242d is set as the port responsible core number 242d.
- (*) Set the number of the controller having the identified LU responsible core as the processing controller number 242e in the record.
- the specified LU responsible core number is set as the processing LU responsible core number 242f in the record.
- the core in charge of the LU that has received the I / O request executes I / O according to the I / O request to the I / O destination LU 220.
- the LU responsible core refers to the cross call table 242 and passes the processing result to the port responsible core of the transfer source of the I / O request.
- the core that has received the processing result transmits a response including the processing result to the server 100 that is the transmission source of the I / O request via the port that the core is responsible for (the port that has received the I / O request).
- FIG. 21 is a flowchart of the path selection process according to the embodiment.
- the path selection process is executed when the multipath management program 112 of the server 100 receives an I / O request from the application 111.
- the multipath management program 112 searches the owner path table 114 for a record that matches the LDEV number corresponding to the LU number of the I / O destination LU (the LU specified by the I / O request), and from the record, the controller The number and the LU charge core number are acquired (step S1).
- the processing after step S2 is executed when the value of the I / O path control 114g of the record is valid (ON).
- the multipath management program 112 is, for example, a record in which the path status 113g of the path table 113 is Online, and the I / O The path indicated by the record having the same LDEV number of the O destination LU is selected according to a predetermined rule such as a round robin method.
- step S2 the multipath management program 112 records in the path table 113 a record that satisfies all the following conditions:
- the path status 113g is Online.
- It has a vendor name 113b, a product number 113c, and an LDEV number 113d that match the vendor name, product number, and LDEV number corresponding to the I / O destination LU.
- step S2 If there is a matching record in step S2 (Yes in step S2), the path is a non-cross call path (the LU responsible core of the I / O destination LU and the port responsible core of the port through which the path passes). Is the same path). Therefore, the multipath management program 112 selects the path as a path used when transmitting the I / O request (step S5). Thereafter, the multipath management program 112 transmits an I / O request via the path. As a result, it is possible to avoid the occurrence of a cross call when processing the I / O request.
- step S2 if there is no matching record in step S2 (No in step S2), the multipath management program 112 records in the path table 113 a record that satisfies all the following conditions: (*) The path status 113g is Online. (*) It has a vendor name 113b, a product number 113c, and an LDEV number 113d that match the vendor name, product number, and LDEV number corresponding to the I / O destination LU. (*) Having a controller number 113i that matches the controller number obtained in step S1; It is determined whether or not there is (step S3).
- the path is the core cross call path (the LU responsible core of the I / O destination LU and the port responsible core of the port through which the path passes). Although it is different, it means that those cores are paths in the same CPU). For this reason, the multipath management program 112 selects the path as a path to be used when transmitting the I / O request (step S5). Thereafter, the multipath management program 112 transmits an I / O request via the path. As a result, when an I / O request is transmitted, it is possible to avoid the occurrence of a CPU cross call having a higher load than the core cross call in the storage apparatus 200.
- step S3 if there is no matching record in step S3 (No in step S3), the multipath management program 112 records in the path table 113 a record that satisfies all the following conditions: (*) The path status 113g is Online. (*) It has a vendor name 113b, a product number 113c, and an LDEV number 113d that match the vendor name, product number, and LDEV number corresponding to the I / O destination LU. It is determined whether or not there is (step S4).
- step S4 If there is a matching record in step S4 (Yes in step S4), the multipath management program 112 selects the path to be used when transmitting the I / O request (step S5). Thereafter, the multipath management program 112 transmits an I / O request using the path. Thus, when an I / O request is transmitted, a CPU cross call occurs in the storage apparatus 200.
- step S4 determines the application that is the source of the I / O request. An error is returned to 111 (step S6).
- a non-cross call path is specified and selected with priority, and if there is no non-cross call path, a core cross call path is specified and selected with priority, and a non-cross call path and a core cross call are selected. If there is no path, the CPU core cross-call path is selected.
- FIG. 22 is a flowchart of owner path table update processing according to the embodiment.
- the owner path table update process is executed, for example, when the application 111 is executed.
- the multipath management program 112 pauses the process until a predetermined monitoring time (second time interval) elapses or an end event of the owner path table update process occurs (step S11). If the process end event occurs, it is determined whether or not the monitoring time has elapsed (step S12).
- the monitoring time is determined as follows, for example. That is, for each LU, the storage device 200 determines whether or not it is necessary to change the responsible change processing (the LU responsible core of the LU at the first time interval, and if the result of the determination is affirmative In this case, the monitoring time (second time interval) is longer than the first time interval, for example, an integral multiple of the first time interval.
- the first time interval that is the execution interval of the charge change process may be changed via the input / output console of the storage apparatus 200.
- the first time interval after the change is
- the storage apparatus 200 may notify the server 100, or the server 100 may inquire the storage apparatus 200.
- the multipath management program 112 of the server 100 performs the first time after the change. Interval may change the monitoring time based on (second time interval).
- the multipath management program 112 acquires the owner controller number and the owner LU responsible core number for each LU 220 from the storage apparatus 200 (step S13). For example, the multipath management program 112 may transmit the inquiry command (SCSI request) to the storage apparatus 200 including the LU number of the LU managed by the storage apparatus 200.
- the storage apparatus 200 receives this command, the CPU core that has received the command identifies the LDEV number corresponding to the LU number in the command, and from the owner table 241, the owner controller number and owner LU responsible for the corresponding LU 220. It is only necessary to acquire the core number, register the acquired owner controller number and owner LU core number in the vendor unique field in response to the command, and transmit the response to the multipath management program 112.
- the path selected by the multipath management program 112 as a path through which the inquiry command is routed may be any path through which an I / O request in which an LU corresponding to the LU number in the inquiry command is designated can be routed.
- the CPU cross call path is specified and selected with priority, and if there is no CPU cross call path, the core cross call path is specified and selected with priority. If there is neither a call path nor a core cross call path, a non-cross call path may be selected. In this way, it can be expected that the processing performance of the I / O request specifying the LU 220 corresponding to the LU number in the inquiry command will be reduced.
- the multipath management program 112 stores the acquired owner controller number and owner LU-in-charge core number in the record of the corresponding LU 220 in the owner path table 113 (step S14), and advances the processing to step S11. Thereby, the owner path table 113 can be updated to the latest information.
- the multipath management program 112 determines whether or not it is a processing end event (step S15), and if it is a processing end event (in step S15). In Yes), the multipath table update process ends, but if it is not a process end event (No in Step S15), the process proceeds to Step S11.
- the storage apparatus including a plurality of CPUs having a plurality of cores has been described as an example.
- the present invention is not limited thereto, and for example, a storage apparatus including a plurality of CPUs having one core. It may also be a storage device including one CPU having a plurality of cores.
- the server 100 polls the storage apparatus 200 to acquire information including the numbers of the LU responsible core and the controller having the LU.
- the device changes the LU responsible core
- the information including the numbers of the LU responsible core after the change and the controller having the LU is sent to the server 100, and the owner is based on the information received by the server 100.
- the path table 114 may be updated.
- the identification information of the LU responsible core (for example, the controller number and the LU responsible core number) is acquired via the path through which the I / O request passes.
- the storage apparatus 200 and the server 100 Is connected to a communication network different from the communication network in which communication according to the fiber channel is performed, and the inquiry command for acquiring the identification information of the LU responsible core and the response (LU responsible) are acquired via another communication network.
- a response including core identification information may be transmitted and received.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
(*)パスを一意に識別するIDであるパスID113a、
(*)パスが経由するポートを有するストレージ装置200のベンダ名を表すベンダ名113b、
(*)パスが経由するポートを有するストレージ装置200の製品名を表す製品名113c、
(*)パスが経由するポートを有するストレージ装置200の製品番号を表す製造番号113d、
(*)パスに繋がるLU220のLU番号であるLU番号113e、
(*)パスに繋がるLU220のLDEV番号であるLDEV番号113f、
(*)パスのステータスを表すパスステータス113g、
(*)パスが経由するポートの番号であるCHAポート113h、
(*)パスが経由するポートのポート担当コアを有するコントローラの番号である受付コントローラ番号113i、及び、
(*)パスが系有するポートのポート担当コアの番号であるポート担当コア番号113J、
を有する。パスステータス113gの値としては、例えば、パスが使用可能であることを示す「Online」と、パスが使用不可であることを示す「Offline」とがある。また、ポート担当コア番号113Jの値としては、例えば、Core-Xを意味する「X」と、Core-Yを意味する「Y」がある。
(*)ストレージ装置200のベンダ名を表すベンダ名114a、
(*)ストレージ装置200の製品名を表す製品名114b、
(*)ストレージ装置200の製品番号を表す製品番号114c、
(*)パスに繋がるLUのLDEV番号を表すLDEV番号114d、
(*)パスが繋がるLUのLU担当コアを有するコントローラ(オーナコントローラ)の番号を表すコントローラ番号114e、
(*)パスが繋がるLUのLU担当コアの番号を表すLU担当コア番号114f、及び、及び、
(*)パス選択処理(図21参照)のステップS2以降の処理によるパス選択の実行を有効とするか、又は無効とするかの情報を表すI/Oパスコントロール114g、
を有する。例えば、サーバ100における入力装置を用いて有効又は無効の設定情報が指定されると、マルチパス管理プログラム112が、当該指定された設定情報を、オーナパステーブル114に、I/Oパスコントロール114gとして格納する。なお、設定情報は、個々のLUについて指定されても良いし、複数のLUについての共通の情報として指定されても良い。
(*)LUのLDEV番号を表すLDEV番号241a、
(*)LUのLU担当コアを有するコントローラの番号を表すコントローラ番号241b、及び、
(*)LUのLU担当コアの番号を表すLU担当コア番号241c、
を有する。
(*)クロスコールを一意に示す番号である受付番号242a、
(*)クロスコールが発生したI/O要求で指定されたLU220のLDEV番号を表すLDEV番号242b、
(*)クロスコールが発生したI/O要求を受け付けたコントローラの番号である受付コントローラ番号242c、
(*)クロスコールが発生したI/O要求を受け付けたポート担当コアの番号を表すポート担当コア番号242d、
(*)クロスコールが発生したI/O要求で指定されたLU220に対するI/Oを実行したコアを有するコントローラの番号を表す処理コントローラ番号242e、及び、
(*)クロスコールが発生したI/O要求で指定されたLU220に対するI/Oを実行したコアの番号を表す処理LU担当コア番号242f、
を有する。
(*)クロスコールテーブル242に新たなレコードを追加する、
(*)当該レコードに、受付コントローラ番号242cとして、当該ポート担当コアを有するコントローラの番号を設定する、
(*)当該レコードに、ポート担当コア番号242dとして、当該ポート担当コアの番号を設定する、
(*)当該レコードに、処理コントローラ番号242eとして、特定されたLU担当コアを有するコントローラの番号を設定する、
(*)当該レコードに、処理LU担当コア番号242fとして、特定されたLU担当コアの番号を設定する、
(*)受け付けたI/O要求を、特定されたLU担当コアに渡す、
を行う。
(*)パスステータス113gがOnlineである、
(*)I/O先LUに対応するベンダ名、製品番号、及びLDEV番号と一致するベンダ名113b、製品番号113c、及びLDEV番号113dを有する、
(*)ステップS1で取得したコントローラ番号及びLU担当コア番号と一致するコントローラ番号113i及びLU担当コア番号113jを有する、
があるか否かを判断する。
(*)パスステータス113gがOnlineである、
(*)I/O先LUに対応するベンダ名、製品番号、及びLDEV番号と一致するベンダ名113b、製品番号113c、及びLDEV番号113dを有する、
(*)ステップS1で取得したコントローラ番号と一致するコントローラ番号113iを有する、
があるか否かを判断する(ステップS3)。
(*)パスステータス113gがOnlineである、
(*)I/O先LUに対応するベンダ名、製品番号、及びLDEV番号と一致するベンダ名113b、製品番号113c、及びLDEV番号113dを有する、
があるか否かを判断する(ステップS4)。
Claims (14)
- ストレージ装置と、
前記ストレージ装置にI/O(Input/Output)要求を送信するサーバと
を有し、
前記ストレージ装置は、前記サーバと通信可能な複数のポートと、複数のプロセッサコアと、複数のLU(Logical Unit)とを有し、
ポート毎に、ポートが受信したI/O要求を受けるプロセッサコアであるポート担当コアが決まっており、LU毎に、I/Oを担当するプロセッサコアであるLU担当コアが決まっており、
前記ストレージ装置は、LU担当コアを変更する必要があるか否かを判断しその判断の結果が肯定的の場合にLU担当コアを変更する処理である担当変更処理を、第1の時間間隔で行うようになっており、
前記サーバは、1以上の通信インタフェースデバイスと、記憶デバイスと、それらに接続された制御デバイスとを有し、
前記記憶デバイスは、通信インタフェースデバイスからLUへのパスに関する情報をパス毎に含んだパス情報と、LU担当コアの識別情報をLU毎に含んだLU担当情報とを記憶し、
前記パス情報は、パスが経由するポートのポート担当コアの識別情報をパス毎に含み、
前記制御デバイスは、第2の時間間隔で、LUのLU担当コアの識別情報の要求である担当通知要求を前記ストレージ装置に送信することにより、LU担当コアの識別情報を前記ストレージ装置から取得し、その識別情報を前記LU担当情報に含め、
前記制御デバイスは、I/O要求を送信する場合に、
(A)前記パス情報と前記LU担当情報を基に、送信対象のI/O要求で指定されたLUであるI/O先LUへの複数のパスから、LU担当コアとポート担当コアとが同一のプロセッサコアであるパスである非クロスコールパスを選択し、
(B)前記(A)で選択したパスを介して前記送信対象のI/O要求を送信する、
計算機システム。 - 前記ストレージ装置は、それぞれが2以上の前記プロセッサコアを含む複数のプロセッサを有し、
前記(A)において、前記制御デバイスは、
(a1)前記I/O先LUへの複数のパスに前記非クロスコールパスが含まれていれば、前記非クロスコールパスを選択し、
(a2)前記I/O先LUへの複数のパスに前記非クロスコールパスが含まれておらず、且つ、LU担当コアとポート担当コアとが同一のプロセッサ内にパスであるコアクロスコールパスが含まれていれば、前記コアクロスコールパスを選択し、
(a3)前記I/O先LUへの複数のパスに前記非クロスコールパス及び前記コアクロスコールパスが含まれていなければ、LU担当コアとポート担当コアとが異なるプロセッサ内にパスであるプロセッサクロスコールパスを選択する、
請求項1記載の計算機システム。 - 前記制御デバイスは、LUに関する情報を取得するための照会要求を前記ストレージ装置に送信するようになっており、前記照会要求を送信する場合、前記照会要求で指定されたLUへのパスに、前記プロセッサクロスコールパスが含まれていれば、そのプロセッサクロスコールパスを選択し、前記プロセッサクロスコールパスが無くても前記コアクロスコールパスが含まれていれば、そのコアクロスコールパスを選択し、選択したパスを介して前記照会要求を送信する、
請求項2記載の計算機システム。 - 前記第2の時間間隔は、前記第1の時間間隔より長い、
請求項3に記載の計算機システム。 - 前記第2の時間間隔は、前記第1の時間間隔の整数倍である、
請求項4に記載の計算機システム。 - 前記第2の時間間隔が変更された場合、前記制御デバイスは、変更後の前記第2の時間間隔を基に、前記第1の時間間隔を変更する、
請求項5に記載の計算機システム。 - 或るLUについての前記担当通知要求は、前記或るLUへのパスのうちの非担当パスを介して送信され、
前記非担当パスは、前記LU担当情報を基に特定される、前記或るLUのLU担当コア、とは異なるプロセッサコア、へのパスである、
請求項6に記載の計算機システム。 - 前記制御デバイスは、LUに関する情報を取得するための照会要求を前記ストレージ装置に送信するようになっており、前記照会要求を送信する場合、前記照会要求で指定されたLUへのパスに、LU担当コアとポート担当コアが異なるパスであるクロスコールパスが含まれていれば、そのクロスコールパスを選択し、選択したパスを介して前記照会要求を送信する、
請求項1記載の計算機システム。 - ストレージ装置にI/O(Input/Output)要求を送信するサーバであって、
1以上の通信インタフェースデバイスと、
記憶デバイスと、
それらに接続された制御デバイスと
を有し、
前記ストレージ装置は、前記サーバと通信可能な複数のポートと、複数のプロセッサコアと、複数のLU(Logical Unit)とを有し、
ポート毎に、ポートが受信したI/O要求を受けるプロセッサコアであるポート担当コアが決まっており、LU毎に、I/Oを担当するプロセッサコアであるLU担当コアが決まっており、
前記ストレージ装置は、LU担当コアを変更する必要があるか否かを判断しその判断の結果が肯定的の場合にLU担当コアを変更する処理である担当変更処理を、第1の時間間隔で行うようになっており、
前記記憶デバイスは、通信インタフェースデバイスからLUへのパスに関する情報をパス毎に含んだパス情報と、LU担当コアの識別情報をLU毎に含んだLU担当情報とを記憶し、
前記パス情報は、パスが経由するポートのポート担当コアの識別情報をパス毎に含み、
前記制御デバイスは、第2の時間間隔で、LUのLU担当コアの識別情報の要求である担当通知要求を前記ストレージ装置に送信することにより、LU担当コアの識別情報を前記ストレージ装置から取得し、その識別情報を前記LU担当情報に含め、
前記制御デバイスは、I/O要求を送信する場合に、
(A)前記パス情報と前記LU担当情報を基に、送信対象のI/O要求で指定されたLUであるI/O先LUへの複数のパスから、LU担当コアとポート担当コアとが同一のプロセッサコアであるパスである非クロスコールパスを選択し、
(B)前記(A)で選択したパスを介して前記送信対象のI/O要求を送信する、
サーバ。 - 前記第2の時間間隔は、前記第1の時間間隔より長い、
請求項9に記載のサーバ。 - 前記第2の時間間隔が変更された場合、前記制御デバイスは、変更後の前記第2の時間間隔を基に、前記第1の時間間隔を変更する、
請求項9に記載のサーバ。 - 或るLUについての前記担当通知要求は、前記或るLUへのパスのうちの非担当パスを介して送信され、
前記非担当パスは、前記LU担当情報を基に特定される、前記或るLUのLU担当コア、とは異なるプロセッサコア、へのパスである、
請求項9に記載のサーバ。 - 前記制御デバイスは、LUに関する情報を取得するための照会要求を前記ストレージ装置に送信するようになっており、前記照会要求を送信する場合、前記照会要求で指定されたLUへのパスに、LU担当コアとポート担当コアが異なるパスであるクロスコールパスが含まれていれば、そのクロスコールパスを選択し、選択したパスを介して前記照会要求を送信する、
請求項9に記載のサーバ。 - ストレージ装置のLU(Logical Unit)にデータを入出力する方法であって、
前記ストレージ装置は、前記サーバと通信可能な複数のポートと、複数のプロセッサコアと、複数のLUとを有し、
ポート毎に、ポートが受信したI/O(Input/Output)要求をサーバから受けるプロセッサコアであるポート担当コアが決まっており、LU毎に、I/Oを担当するプロセッサコアであるLU担当コアが決まっており、
前記ストレージ装置は、LU担当コアを変更する必要があるか否かを判断しその判断の結果が肯定的の場合にLU担当コアを変更する処理である担当変更処理を、第1の時間間隔で行うようになっており、
前記サーバは、第2の時間間隔で、LUのLU担当コアの識別情報の要求である担当通知要求を前記ストレージ装置に送信することにより、LU担当コアの識別情報を前記ストレージ装置から取得し、その識別情報を、LU担当コアの識別情報をLU毎に含んだLU担当情報に含め、
前記サーバは、I/O要求を送信する場合に、
(A)前記LU担当情報と、パスが経由するポートのポート担当コアの識別情報を含みパスに関する情報をパス毎に含んだパス情報とを基に、送信対象のI/O要求で指定されたLUであるI/O先LUへの複数のパスから、LU担当コアとポート担当コアとが同一のプロセッサコアであるパスである非クロスコールパスを選択し、
(B)前記(A)で選択したパスを介して前記送信対象のI/O要求を送信する、
入出力方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12867916.4A EP2735973A4 (en) | 2012-02-06 | 2012-02-06 | COMPUTER SYSTEM AND DATA INPUT / OUTPUT METHOD |
US13/574,929 US9323468B2 (en) | 2012-02-06 | 2012-02-06 | Computer system and data input/output method |
CN201280045889.4A CN103814365B (zh) | 2012-02-06 | 2012-02-06 | 计算机系统及数据输入输出方法 |
PCT/JP2012/052619 WO2013118243A1 (ja) | 2012-02-06 | 2012-02-06 | 計算機システムおよびデータ入出力方法 |
JP2013557267A JP5764678B2 (ja) | 2012-02-06 | 2012-02-06 | 計算機システムおよびデータ入出力方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/052619 WO2013118243A1 (ja) | 2012-02-06 | 2012-02-06 | 計算機システムおよびデータ入出力方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013118243A1 true WO2013118243A1 (ja) | 2013-08-15 |
Family
ID=48947048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/052619 WO2013118243A1 (ja) | 2012-02-06 | 2012-02-06 | 計算機システムおよびデータ入出力方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9323468B2 (ja) |
EP (1) | EP2735973A4 (ja) |
JP (1) | JP5764678B2 (ja) |
CN (1) | CN103814365B (ja) |
WO (1) | WO2013118243A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977781B1 (en) | 2013-11-07 | 2015-03-10 | Hitachi, Ltd. | Computer system |
JP2015179448A (ja) * | 2014-03-19 | 2015-10-08 | 日本電気株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、情報処理システム、ストレージ、ストレージ制御方法、及び、ストレージ制御プログラム |
JP2023128349A (ja) * | 2022-03-03 | 2023-09-14 | Necプラットフォームズ株式会社 | ストレージシステム、サーバ、パス切替方法、およびプログラム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10019175B2 (en) | 2016-08-31 | 2018-07-10 | International Business Machines Corporation | Managing program access to data storage resources |
KR102538222B1 (ko) | 2018-06-26 | 2023-06-01 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템, 그리고 스토리지 장치를 액세스하는 방법 |
WO2020113875A1 (zh) * | 2018-12-07 | 2020-06-11 | 华为技术有限公司 | 一种控制设备的切换方法、控制设备、及存储系统 |
CN111290702B (zh) * | 2018-12-07 | 2022-04-05 | 华为技术有限公司 | 一种控制设备的切换方法、控制设备、及存储系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001167040A (ja) * | 1999-12-14 | 2001-06-22 | Hitachi Ltd | 記憶サブシステム及び記憶制御装置 |
JP2006079355A (ja) * | 2004-09-09 | 2006-03-23 | Hitachi Ltd | ストレージネットワーク管理サーバ、ストレージネットワーク管理方法、ストレージネットワーク管理用プログラムおよびストレージネットワーク管理システム |
JP2008299434A (ja) * | 2007-05-29 | 2008-12-11 | Hitachi Ltd | 記憶制御装置及びその制御方法 |
JP2009009194A (ja) * | 2007-06-26 | 2009-01-15 | Hitachi Ltd | 消費電力を削減する機能を備えたストレージシステム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954881B1 (en) * | 2000-10-13 | 2005-10-11 | International Business Machines Corporation | Method and apparatus for providing multi-path I/O in non-concurrent clustering environment using SCSI-3 persistent reserve |
US6675268B1 (en) * | 2000-12-11 | 2004-01-06 | Lsi Logic Corporation | Method and apparatus for handling transfers of data volumes between controllers in a storage environment having multiple paths to the data volumes |
JP4452064B2 (ja) | 2003-11-18 | 2010-04-21 | 株式会社日立製作所 | 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム |
CN1622542A (zh) * | 2003-11-24 | 2005-06-01 | 顺德市顺达电脑厂有限公司 | 具有服务品质管理之储存系统与其操作方法 |
JP2008134775A (ja) * | 2006-11-28 | 2008-06-12 | Hitachi Ltd | 記憶サブシステム及びこれを利用したリモートコピーシステム |
JP5106913B2 (ja) | 2007-04-23 | 2012-12-26 | 株式会社日立製作所 | ストレージシステム、ストレージシステム管理方法、及び計算機システム |
JP5490093B2 (ja) * | 2008-10-10 | 2014-05-14 | 株式会社日立製作所 | ストレージシステムおよびその制御方法 |
JP2010108300A (ja) | 2008-10-30 | 2010-05-13 | Hitachi Ltd | 情報処理システム、及び情報処理システムにおけるi/oのパスへの割り当て方法 |
-
2012
- 2012-02-06 WO PCT/JP2012/052619 patent/WO2013118243A1/ja active Application Filing
- 2012-02-06 JP JP2013557267A patent/JP5764678B2/ja active Active
- 2012-02-06 US US13/574,929 patent/US9323468B2/en active Active
- 2012-02-06 EP EP12867916.4A patent/EP2735973A4/en not_active Ceased
- 2012-02-06 CN CN201280045889.4A patent/CN103814365B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001167040A (ja) * | 1999-12-14 | 2001-06-22 | Hitachi Ltd | 記憶サブシステム及び記憶制御装置 |
JP2006079355A (ja) * | 2004-09-09 | 2006-03-23 | Hitachi Ltd | ストレージネットワーク管理サーバ、ストレージネットワーク管理方法、ストレージネットワーク管理用プログラムおよびストレージネットワーク管理システム |
JP2008299434A (ja) * | 2007-05-29 | 2008-12-11 | Hitachi Ltd | 記憶制御装置及びその制御方法 |
JP2009009194A (ja) * | 2007-06-26 | 2009-01-15 | Hitachi Ltd | 消費電力を削減する機能を備えたストレージシステム |
Non-Patent Citations (1)
Title |
---|
See also references of EP2735973A4 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977781B1 (en) | 2013-11-07 | 2015-03-10 | Hitachi, Ltd. | Computer system |
WO2015068239A1 (ja) * | 2013-11-07 | 2015-05-14 | 株式会社日立製作所 | 計算機システムおよびデータ制御方法 |
GB2535558A (en) * | 2013-11-07 | 2016-08-24 | Hitachi Ltd | Computer system and data control method |
JP6074056B2 (ja) * | 2013-11-07 | 2017-02-01 | 株式会社日立製作所 | 計算機システムおよびデータ制御方法 |
US10162567B2 (en) | 2013-11-07 | 2018-12-25 | Hitachi, Ltd. | Computer system |
JP2015179448A (ja) * | 2014-03-19 | 2015-10-08 | 日本電気株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、情報処理システム、ストレージ、ストレージ制御方法、及び、ストレージ制御プログラム |
JP2023128349A (ja) * | 2022-03-03 | 2023-09-14 | Necプラットフォームズ株式会社 | ストレージシステム、サーバ、パス切替方法、およびプログラム |
JP7409700B2 (ja) | 2022-03-03 | 2024-01-09 | Necプラットフォームズ株式会社 | ストレージシステム、サーバ、パス切替方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US9323468B2 (en) | 2016-04-26 |
EP2735973A4 (en) | 2015-03-11 |
JP5764678B2 (ja) | 2015-08-19 |
US20140359212A1 (en) | 2014-12-04 |
JPWO2013118243A1 (ja) | 2015-05-11 |
EP2735973A1 (en) | 2014-05-28 |
CN103814365A (zh) | 2014-05-21 |
CN103814365B (zh) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5764678B2 (ja) | 計算機システムおよびデータ入出力方法 | |
US8909980B1 (en) | Coordinating processing for request redirection | |
US9417978B2 (en) | Management system for managing computer system, method for managing computer system, and storage medium | |
US8626967B1 (en) | Virtualization of a storage processor for port failover | |
US8949656B1 (en) | Port matching for data storage system port failover | |
EP1764678B1 (en) | Control method of device in storage system for virtualization | |
JP5489601B2 (ja) | 物理及び仮想マルチパス入出力を動的に管理する方法、装置、システム、及びプログラム | |
US8751741B2 (en) | Methods and structure for implementing logical device consistency in a clustered storage system | |
US8244924B2 (en) | Discovery and configuration of device configurations | |
US8904050B1 (en) | Techniques for automated data storage system port initialization | |
US20140351545A1 (en) | Storage management method and storage system in virtual volume having data arranged astride storage device | |
WO2014167716A1 (ja) | 計算機システムの管理システム及び管理方法 | |
WO2015025358A1 (ja) | ストレージシステム及びストレージシステムの制御方法 | |
WO2013157072A1 (ja) | 計算機システム、リソース管理方法及び管理計算機 | |
JP2007148812A (ja) | ストレージシステム及びその負荷分散方法 | |
US8788750B2 (en) | Managing resources in cluster storage systems | |
JP2008269469A (ja) | ストレージシステム及びその管理方法 | |
US10459768B2 (en) | Computer system, management system, and resource management method | |
US9400761B2 (en) | Management method for computer system, computer system, and non-transitory computer-readable storage medium | |
US10013216B2 (en) | Storage system | |
US20100235549A1 (en) | Computer and input/output control method | |
US11755438B2 (en) | Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device | |
JP6516875B2 (ja) | 統合プラットフォーム、サーバ、及び、フェイルオーバ方法 | |
JP7316322B2 (ja) | 管理システム、データリバランス管理方法、及びデータリバランス管理プログラム | |
US9785520B2 (en) | Computer system, storage apparatus and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 13574929 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12867916 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013557267 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012867916 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |