1. Field of the Invention
The present invention relates to data processing systems, and more particularly to a data processing system, method, and computer program product for maintaining a relational database in a virtualization system of usage information of multiple, different physical devices in a system that implements virtual storage devices.
2. Background of the Invention
In some known data processing systems, a server computer system is coupled directly to its storage devices, such as tape drives and/or disk drives. To perform a backup operation to a tape drive, for example, the server computer system commands the tape library to mount a specific physical tape cartridge into a specific physical tape drive. The application running on the server can then directly access the physical tape drive. Any warning or errors encountered can be managed by the server through the application. It is possible for this error information to be used by the application to perform preventative maintenance on the physical storage devices. The problem with this environment is that the storage administration resides on the server. The server has access to only its own storage devices. These storage devices cannot be shared with other servers.
Storage virtualization has been used to overcome the limitations that arise when a server is coupled directly to its storage devices. In a system that implements storage virtualization, the server computer systems are isolated from the physical storage devices by a virtual representation of the storage system. The storage system is a pool of physical storage devices, such as disk drives and tape drives. This approach permits the sharing of the physical storage devices among the server computer systems. Each server has access to one or more virtual storage devices. These virtual storage devices are logical devices maintained by the virtual interface. The virtual interface maps the virtual storage devices to physical devices. When an application running on one of the servers wants to access data on ore of its virtual interfaces, the server identifies the virtual interface. For example, when a server wants to perform a backup, the application commands the tape library to mount a physical tape cartridge into a virtual tape drive. The virtual interface then intercepts the command, modifies the request to translate this virtual tape drive to a physical tape drive, and creates a mapping from this physical device to the virtual interface.
Storage virtualization hides warnings and errors from the server, however. The server knows about only the virtual interface. Usage information about the physical device is not available to the server. Although, the virtual interface logs some limited information about what occurs with the physical storage devices, the log is a continuous event log that combines very minimal information about events that occurred in the physical devices. The log is a single, sequential string of events occurring in various physical devices kept in the log in the sequential order in which the events occurred. Events are placed in the log in the order in which they occur without regard to where the event occurred. Thus, an event occurring in a first storage device may be logged followed by an event occurring in a second storage device followed by an event occurring back in the first storage device. It does not maintain a separate log for each device. Further, information about which physical device was used and the history of usage is not recorded. This log is not available to the servers. They may not access it.
The StorageNet 6000, available from Storage Technology Corporation, is an example of a system that implements a virtual interface. The SN6000 presents a virtualization system for tape drives. The system presents virtual tape drives to servers, and dynamically maps these virtual interfaces to the physical tape drives as needed. When errors occur in the system, it is very difficult for the server to determine where the error occurred since it does not have information about which physical device was being used. When an error occurs, a host attributes the error to the virtual interface that the host is coupled to, and not the physical device.
Therefore, a need exists for a method, system, and product for maintaining a relational database within the virtual interface of information about usage of physical storage devices in a system that implements virtual storage devices.