1. Field of the Invention
This invention relates to mapping storage environments and more particularly relates to mapping virtualized instances of storage environment elements.
2. Description of the Related Art
Data processing systems often employ a storage environment to store data. The storage environment may store and retrieve data for a plurality of data processing devices such as servers, mainframe computers, media delivery systems, communication systems, and the like. The storage environment may comprise one or more storage controller. Each storage controller may manage one or more storage devices or disks such as hard disk drives, optical storage drives, solid-state memory storage devices, and the like.
A data processing device such as a server may store data by communicating the data to the storage controller. The storage controller may write the data to a disk. Similarly, the data processing device may retrieve data by requesting the data from the storage controller. The storage controller may then read the data from the disk and communicate the data to the data processing device. In a certain embodiment, the disk comprises the storage controller.
Each disk may be divided into one or more logical partitions. In addition, one or more logical partitions from one or more disks may be logically aggregated to form a logical volume. A logical volume may appear to a data processing device as a single disk.
A storage environment may employ a storage virtualizing system (“SVS”) as an intermediary between the data processing device and the storage controller. The SVS may be a storage area network (“SAN”) volume controller or the like. In one embodiment, the SVS creates a virtual disk from one or many logical volumes of a storage controller. A data processing device may communicate with the virtual disk as though the virtual disk was a logical volume.
The SVS communicates requests to write data to the virtual disk and receive data from the virtual disk to the storage controller. The storage controller completes the write of data to a disk of the logical volume or completes retrieving data from the logical volume's disk. Thus the SVS appears as a storage controller to the data processing device, although data is stored on a disk of a storage controller, with the storage controller functioning as a back end device for the SVS.
The SVS may further comprise a managed disk. The managed disk may communicate with a storage controller logical volume. Data written to the SVS managed disk is communicated and written to the storage controller logical volume. In addition, data read from the SVS managed disk is retrieved from the storage controller logical volume and then communicated from the SVS. A data processing device may communicate with the SVS as though the SVS is a storage controller. In addition, the SVS creates virtual disks from the managed disks as though the managed disk is a disk.
A data processing system may store data through the SVS on one or more storage controllers, or may store data directly to one or more storage controllers. In addition, the data processing system may be unable to distinguish between storage environment elements such as logical volumes and disks, and virtualized instances of the storage environment elements, such as virtual disks and managed disks respectively. Hereinafter, storage environment elements such as logical volumes, virtual disks, disks, and managed disks are referred to as defined storage units (“DSU”).
Data processing systems often employ a storage monitoring application to report information about the storage environment. These applications may in-turn employ tools such as the IBM common information model/object manager (“CIM/OM”) to gather information about specific elements in the storage environment. For example, a CIM/OM may gather information on may gather information regarding the storage capacity of Storage Virtualizing Systems and Storage Subsystems. Storage monitoring applications obtain this information from the CIM/OM and then display reports showing the storage environment.
Unfortunately, in gathering information on the storage environment, the storage monitoring application may double count some storage environment DSUs. For example, a storage monitoring application may obtain information regarding a virtual disk of an SVS by collecting information regarding the SVS from the CIM/OM, and may also obtain information regarding the logical volumes of the storage controller associated with that virtual disk that are mapped to the SVS virtual disk. Then the storage monitoring application may generate an inaccurate report with the logical volume's storage status reported on as both that of the logical volume and as that of the virtual disk.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that maps DSUs to virtual DSUs in a storage environment. Beneficially, such an apparatus, system, and method would eliminate the double counting of storage environment DSUs and virtualized instances of the storage environment DSUs.
The present invention has been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available storage environment mapping methods. Accordingly, the present invention has been developed to provide an apparatus, system, and method for mapping a storage environment that overcome many or all of the above-discussed shortcomings in the art.
The apparatus to map a storage environment is provided with a logic unit containing a plurality of modules configured to functionally execute the necessary steps of identifying a first controller DSU, testing for a second controller DSU, and flagging the first controller DSU if there is a second controller DSU corresponding to the first controller DSU. These modules in the described embodiments include an identification module, a test module, and a flag module.
The identification module identifies a first controller DSU. In one embodiment, the first controller DSU is a logical volume and the first controller is configured as a storage controller. In an alternate embodiment, the first controller DSU is a managed disk and the first controller is a SVS backend controller.
The test module tests for a second controller DSU corresponding to the first controller DSU. For example, the test module may test for the existence of a logical volume assigned to a SVS node host bus adapter (“HBA”) world wide port name (“WWPN”). In an alternate example, the test module tests for existence of a storage controller WWPN corresponding to the SVS backend controller WWPN. As used herein, the term corresponding refers to elements associated by communication.
The flag module flags the first controller DSU if there is a second controller DSU corresponding to the first controller DSU. For example, the flag module may flag the logical volume if there exists a logical volume assigned to the SVS node HBA WWPN. In an alternate example, the flag module may flag a managed disk of the SVS backend controller if there exists a storage controller WWPN that corresponds to the SVS backend controller's WWPN. The apparatus maps the DSUs of a storage environment to corresponding virtualized DSUs.
A system of the present invention is also presented to map a storage environment. The system may be embodied in a data processing system. In particular, the system, in one embodiment, includes a storage environment and a data processing device. The storage environment includes a plurality of controllers. In one embodiment, the storage environment includes at least one storage controller and at least one SVS. The data processing device includes an identification module, a test module, and a flag module. In one embodiment, the data processing device further includes a monitor module and a report module.
The storage environment stores and retrieves data for the data processing system. In one embodiment, the SVS virtualizes the data storage functions of one or more storage controllers. For example, the SVS may virtualize a storage controller logical volume, making the logical volume available to the data processing system as a virtual disk. The virtual disk may be indistinguishable from a logical volume to the data processing system.
The identification module identifies a first controller DSU. The test module tests for a second controller DSU corresponding to the first controller DSU. The flag module flags the first controller DSU if there is a second controller DSU corresponding to the first controller DSU. Each flagged DSU has a corresponding DSU instance within the storage environment.
In one embodiment, the monitor module monitors the status of storage environment DSUs including unflagged DSUs while ignoring flagged DSUs. In addition, the report module may report the status of the storage environment DSUs including the unflagged DSUs while ignoring the flagged DSUs. The system supports the gathering and reporting of storage environment information by co-relating a DSU that is an instance of another DSU.
A method of the present invention is also presented for mapping a storage environment. The method in the disclosed embodiments substantially includes the steps necessary to carry out the functions presented above with respect to the operation of the described apparatus and system. In one embodiment, the method includes identifying a first controller DSU, testing for a second controller DSU, and flagging the first controller DSU if there is a second controller DSU corresponding to the first controller DSU.
An identification module identifies a first controller DSU. In addition, a test module tests for a second controller DSU corresponding to the first controller DSU. In one embodiment, the second controller DSU is a virtualized instance of the first controller DSU. In an alternate embodiment, the first controller DSU is a virtualized instance of the second controller DSU.
A flag module flags the first controller DSU if there is a second controller DSU corresponding to the first controller DSU. In one embodiment, a monitor module monitors the status of each unflagged DSU in the storage environment. In addition, a report module may report the status of each unflagged DSU. The method flags DSUs with corresponding DSUs, allowing the monitoring and reporting of DSU information without double counting of DSUs and DSU information.
Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment of the invention. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, discussion of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment.
Furthermore, the described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the invention may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention.
The embodiment of the present invention maps a DSU instance to a virtualized instance of the DSU, flagging one DSU instance. In addition, the embodiment of the present invention may support the monitoring and reporting of information for unflagged DSUs to prevent the double counting of DSU information. These features and advantages of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
In order that the advantages of the invention will be readily understood, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments that are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:
Many of the functional units described in this specification have been labeled as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like.
Modules may also be implemented in software for execution by various types of processors. An identified module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions, which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module.
Indeed, a module of executable code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network.
Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
Reference to a signal-bearing medium may take any form capable of generating a signal, causing a signal to be generated, or causing execution of a program of machine-readable instructions on a digital processing apparatus. A signal bearing medium may be embodied by a transmission line, a compact disk, digital-video disk, a magnetic tape, a Bernoulli drive, a magnetic disk, a punch card, flash memory, integrated circuits, or other digital processing apparatus memory device.
Furthermore, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
In one embodiment, the storage controllers 115 and SVSs 120 comprise a storage environment 125. The storage environment 125 stores and retrieves data for the data processing system 100. The DPD 105 executes one or more software processes. In addition, the DPD 105 may store data to and retrieve data from the storage environment 125.
The DPD 105 may communicate with the storage environment 125 through the communication module 110. The communication module 110 may be a router, a network interface, a storage manager, one or more Internet ports, or the like. The communication module 110 transfers communications between the DPD 105 and the storage environment 125.
The storage controller 115 stores and retrieves data within the storage environment 125. For example, the DPD 105 may write data to a first storage controller 115a and read data from a second storage controller 115b as is well known to those skilled in the art. Each storage controller 115 may comprise one or more disks.
In one embodiment, the SVS 120 virtualizes the data storage functions of one or more storage controllers 115. For example, a first SVS 120a may virtualize a first storage controller 115a logical volume, making the logical volume available to the data processing system 100 as a virtual disk. The virtual disk may be indistinguishable from the logical volume to the data processing system 100. In one embodiment, the first DPD 105 may request to read data from a virtual disk of the first SVS 120a. The second communication module 110b may transmit the request to the first SVS 120a. The first SVS 120a may retrieve the requested data from a logical volume of the first storage controller 115a corresponding to the virtual disk of the first SVS 120a. In an alternate example, the first SVS 120a may virtualize one or more logical volumes as a managed disk.
A DPD 105 such as the second DPD 105b may query the first SVS 120a for the capacity of the virtual disk through the first communication module 110a. The first SVS 120a queries a storage controller 115 comprising the logical volume such as the first storage controller 115 about the logical volume capacity, and reports the capacity as received from the first storage controller 115a to the second DPD 105b. The logical volume, virtual disk, disk, and managed disk of the storage environment 125 comprise DSU. In an alternate embodiment, a DPD 105 such as the second DPD 105b may query a proxy server of the SVS 120 or storage controller 115 for the capacity of the DSU. In a certain embodiment the proxy server may comprise a CIM/IOM.
Unfortunately, if the second DPD 105b also queried the first storage controller 115a for the capacity of the logical volume, the first storage controller 115a would respond again with the capacity of the logical volume. Thus a storage monitoring application software process executing on the DPD 105 may double count information from DSU such as the first storage controller 115a logical volume and the first SVS 120a virtual disk.
The embodiment of the present invention maps the storage environment 125, identifying and flagging DSU instances with corresponding DSU instances. In addition, the embodiment of the present invention may support monitoring and reporting on only unflagged DSU instances, preventing the double counting of DSU information.
Although for simplicity each logical volume 215 is depicted comprising an entire disk 210, each disk 210 may be partitioned into one or more logical partitions and each logical volume 215 may comprise one or more logical partitions from one or more disks 210. In addition, although the storage controller 115 is depicted with four SC ports 205, four disks 210, and three logical volumes 215, the storage controller 115 may employ any number of SC ports 205, disks 210, and logical volumes 215.
In one embodiment, the SC port 205 is configured as a Fibre Channel port. In an alternate embodiment, the SC port 205 is configured as a small computer system interface (“SCSI”) port, a token ring port, or the like. A DPD 105 or a SVS 120 such as the DPD 105 and SVS 120 of
A DPD 105 such as the DPD 105 of
Data written to the virtual disk 305 is communicated from the backend controller 310 through a node. The node comprises an HBA, and the HBA is assigned a WWPN. The data is communicated from the node through the SVS port 320 and the SC port 205 of
Similarly, data read from the virtual disk 305 is retrieved from the logical volume 215 through the SC port 205 and the SVS port 320 to the backend controller 310. The data may further be communicated from the backend controller 310 to the DPD 105. The virtual disk 305 appears to the DPD 105 as a logical volume 215.
In one embodiment, the managed disk 315 is a logical volume 215. The DPD 105 may write data to and read data from the managed disk 315. The managed disk 315 does not store data. Instead, a write to the managed disk 315 is communicated from the backend controller 310 through the SVS port 320 and SC port 205 to the logical volume 215 of the storage controller 215. Similarly, a request to read data from the managed disk 315 is communicated through the SVS port 320 and SC port 205 to the logical volume 215. The logical volume 215 communicates the data through the SC port 205 and SVS port 320 to the backend controller 310, and the backend controller 310 may communicate the retrieved data.
The identification module 405 identifies a first controller DSU. In one embodiment, the first controller DSU is a logical volume 215 and the first controller is configured as a storage controller 115. In an alternate embodiment, the first controller DSU is a managed disk 315 and the first controller is a backend controller 310.
The test module 410 tests for a second controller DSU corresponding to the first controller DSU. For example, the test module 410 may test for the existence of a logical volume 215 assigned to a SVS 120 node HBA WWPN. In an alternate example, the test module 410 tests for existence of a storage controller 115 WWPN corresponding to the backend controller 310 WWPN.
The flag module 415 flags the first controller DSU if there is a second controller DSU corresponding to the first controller DSU. For example, the flag module 415 may flag the logical volume 215 if there exists a logical volume 215 assigned to the SVS 120 node HBA WWPN. In an alternate example, the flag module 415 may flag a managed disk 315 of the backend controller 310 if there exists a storage controller 115 WWPN that corresponds to the backend controller's 310 WWPN.
In an alternate embodiment, the identification module 405 identifies a query to a first controller DSU. The identification module 405 may be comprised by the first controller. The test module 410 may test for the existence of a second controller DSU corresponding to the first controller DSU. The flag module 415 flags the first controller DSU if there is a second controller DSU corresponding to the first controller DSU. In one embodiment, the first controller does not respond to the query if the first controller DSU is flagged.
In one embodiment, the collection module 430 is configured to collect a plurality of logical volume assignments to WWPN for each of the storage controller 115 logical volumes 215. The collection module 430 may poll each logical volume 215 for the logical volume's 215 WWPN assignment. Alternatively, the collection module 430 may consult a configuration file for the WWPN assignment of each logical volume 215.
In one embodiment, the monitor module 420 monitors the status of unflagged DSUs in the storage environment 125 while ignoring flagged DSUs. For example, if the first logical volume 215a of
The report module 425 may report the status of the unflagged DSUs in the storage environment 125 while ignoring the flagged DSUs. For example, if the first managed disk 315a of
The processor module 505, cache module 510, memory module 515, north bridge module 520, south bridge module 525, graphics module 530, display module 535, BIOS module 540, network module 545, PCI module 560, and storage module 565, referred to herein as components, may be fabricated of semiconductor gates on one or more semiconductor substrates. Each semiconductor substrate may be packaged in one or more semiconductor devices mounted on circuit cards. Connections between the components may be through semiconductor metal layers, substrate to substrate wiring, or circuit card traces or wires connecting the semiconductor devices.
The memory module 515 stores software instructions and data. The processor module 505 executes the software instructions and manipulates the data as is well know to those skilled in the art. In one embodiment, the test module 410, flag module 415, monitor module 420, report module 425, and collection module 430 of
The schematic flow chart diagrams that follow are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types may be employed in the flow chart diagrams, they are understood not to limit the scope of the corresponding method. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
The method 600 begins and an identification module 405 identifies 605 a first controller DSU. In one embodiment, the first controller DSU is a logical volume 215 and the first controller is a storage controller 115. In an alternate embodiment, the first controller DSU is a disk 210 and the first controller is a storage controller 115.
A test module 410 tests 610 for a second controller DSU corresponding to the first controller DSU. In one embodiment, the second controller DSU is a virtualized instance of the first controller DSU. For example, if the first controller is the storage controller 115 and the first controller DSU is the logical volume 215, the second controller may be a SVS 120 and the second controller DSU may be a virtual disk 305. In an alternate embodiment, the first controller DSU is a virtualized instance of the second controller DSU. For example, if the first controller is the backend controller 310 and the first controller DSU is the managed disk 315, the second controller may be the storage controller 115 and the second controller DSU may also be configured as the storage controller 115.
If the test module 410 determines 610 that there exists a second controller DSU corresponding to the first controller DSU, a flag module 415 flags 615 the first controller DSU and the method 600 terminates. Flagging 615 the first controller DSU indicates that there is another instance of the first controller DSU, or several instances that make up the first controller DSU, that maybe monitored and reported on. Therefore, the first controller DSU may be ignored during monitoring or reporting operations when monitoring and reporting on the storage environment 125 as the first controller DSU information is acquired from the corresponding second controller DSU.
If the test module 410 determines 610 that there is no second controller DSU corresponding to the first controller DSU, the method 600 terminates without flagging the first controller DSU. Not flagging the first controller DSU indicates that there is no other instance of the first controller DSU. Therefore the first controller DSU should be monitored and reported on when monitoring and reporting on the storage environment 125. The method 600 flags the first controller DSU that is an instance of the second controller DSU, allowing only a single instance to be monitored and reported on.
The method 700 begins and an identification module 405 identifies 705 a logical volume 215 of a storage controller 115. In one embodiment, the identification module 405 identifies 705 the logical volume 215 by querying the storage controller 115 for all logical volumes 215 managed by the storage controller 115 and by selecting a logical volume 215 from the plurality of logical volumes 215. The selected logical volume 215 may be previously unselected by the identification module 405.
A test module 410 tests 710 if there exists a logical volume 215 assigned to a SVS 120 node HBA WWPN. If a logical volume 215 is assigned to the SVS 120 node HBA WWPN, a flag module 415 flags 715 the logical volume 215 and the test module 410 determines 720 if all storage controller 115 logical volumes 215 have been tested. In one embodiment, the flag module 415 flags 715 the logical volume 215 as virtualized. If there is no logical volume 215 assigned to the SVS 120 node HBA WWPN, the test module 410 determines 720 if all storage controller 115 logical volumes 215 have been tested. In one embodiment, the test module 410 determines 720 if all logical volumes 215 of a plurality of storage controllers 115 have been tested.
If the test module 410 determines 720 that not all storage controller 115 logical volumes 215 have been tested, the method 700 loops to the identification module 405 identifying 705 a logical volume 215. If the test module 410 determines 720 that all storage controller 115 logical volumes 215 have been tested, a monitor module 420 may monitor 725 all virtual disks 305 and unflagged logical volumes 215 in a storage environment 125. For example, the monitor module 420 may gather information on the virtual disks 305 and unflagged logical volumes 215.
In one embodiment, a report module 425 reports 730 the status of the virtual disks 305 and unflagged logical volumes 215 in the storage environment 125, while not reporting the status of the flagged logical volumes 215, and the method 700 terminates. By not reporting the status of the flagged logical volumes 215, the report module 425 avoids double reporting the status of both the flagged logical volume 215 and the virtual disk 305 that corresponds to the flagged logical volume 215.
The method 800 begins and in one embodiment, a collection module 430 collects 805 the WWPN for one or more storage controllers 115. In a certain embodiment, the collection module 430 queries the storage controller 115 for the WWPN, and the storage controller 115 communicates the WWPN to the collection module 430.
An identification module 405 identifies 810 a backend controller 310 of a SVS 120. In one embodiment, the identification module 405 identifies 810 the backend controller 310 by querying the SVS 120 for all backend controllers 310 comprised by the SVS 120 and by selecting a backend controller 310 from the plurality of backend controllers 310. In an alternate embodiment, the SVS 120 has a known number of backend modules 310 and the identification module 405 identifies 810 and selects each backend module 310 in turn. The selected backend controller 310 may be previously unselected by the identification module 405.
A test module 410 tests 815 if there exists a storage controller 115 WWPN that corresponds to the backend controller 310 WWPN. If there exists a storage controller 115 WWPN from the collected 805 WWPN that corresponds to the backend controller 310 WWPN, a flag module 415 flags 820 a managed disk 315. The managed disk 315 is controlled by the backend controller 310 and communicates with a storage controller 115 using the backend controller 310 port, which has a unique WWPN. In one embodiment, the flag module 415 flags 820 the managed disk 315 as known.
If there is no a storage controller 115 WWPN from the collected 805 WWPN that corresponds to the backend controller 310 WWPN, the test module 410 determines 825 if all backend controllers 310 have been tested. In one embodiment, the test module 410 determines 825 if all backend controllers 310 of a plurality of SVS 120 have been tested.
If the test module 410 determines 825 that not all backend controllers 310 have been tested, the method 800 loops to the identification module 405 identifying 810 a backend controller 310. If the test module 410 determines 825 that all backend controllers 310 have been tested, a monitor module 420 may monitor 830 all disks 210 and unflagged managed disks 315 in a storage environment 125. For example, the monitor module 420 may gather information on the disks 210 and unflagged managed disks 315.
In one embodiment, a report module 425 reports 835 the status of the disks 210 and unflagged managed disks 315 in the storage environment 125, while not reporting the status of the flagged managed disks 315, and the method 800 terminates. By not reporting the status of the flagged managed disk 315, the report module 425 avoids double reporting the status of both the flagged managed disk 315 and the disk 210 that corresponds to the managed disk 315.
The method 900 begins and in one embodiment, a collection module 430 collects 905 logical volume 215 assignments to WWPN for one or more logical volumes 215 of one or more storage controllers 115. In a certain embodiment, the collection module 430 queries the storage controller 115 for the WWPN assignment of each logical volume 215, and the storage controller 115 communicates the assignments to the collection module 430.
An identification module 405 identifies 910 the SVS port 320 for a managed disk 315. In one embodiment, the identification module 405 queries the SVS 120 to identify each SVS 120 managed disk 315, selects a managed disk 315, and queries the SVS 120 for the managed disk's 315 SVS port 320 WWPN. The selected managed disk 315 SVS port 320 may be previously unselected by the identification module 405.
A test module 410 tests 915 whether there exists a SVS port 320 WWPN assigned to a storage controller 115 logical volume 215. If there exists a SVS port 320 WWPN assigned to the storage controller 115 logical volume 215, a flag module 415 flags 920 the managed disk 315. In one embodiment, the flag module 415 flags 820 the managed disk 315 as known.
If there is no a SVS port 320 WWPN assigned to the storage controller 115 logical volume 215, the test module 410 determines 925 if all managed disks 315 have been tested. In one embodiment, the test module 410 determines 925 if all managed disks 315 of a plurality of SVS 120 have been tested.
If the test module 410 determines 925 that not all managed disks 315 have been tested, the method 900 loops to the identification module 405 identifying 910 a SVS port 320. If the test module 410 determines 925 that all managed disks 315 have been tested, a monitor module 420 may monitor 930 all disks 210 and unflagged managed disks 315 in the storage environment 125.
In one embodiment, a report module 425 reports 930 the status of the disks 210 and unflagged managed disks 315 in the storage environment 125, while not reporting the status of the flagged managed disks 315, and the method 900 terminates.
A SVS 120 virtualizes the logical volume 215 as a managed disk 315. The SVS 120 presents a set of managed disks 315 as a virtual disk 305. The virtual disk 305 communicates with the logical volume 215 through a SVS port 320 and a SC port 205 such as the SVS port 320 of
Thus the managed disk 315 virtualizes the logical volume 215. If the managed disk 315 is flagged 820, 920, such as by method 800 or method 900 of
The embodiment of the present invention maps a DSU instance to a virtualized instance of the DSU, flagging one DSU instance. In addition, the embodiment of the present invention may support the monitoring and reporting of information for unflagged DSUs to prevent the double counting of DSU information.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.