Apparatus and method for rebuilding a logical device in a cluster computer system
First Claim
1. In a cluster computer system having first and second nodes with respective first and second bus controllers a method for rebuilding a logical I/O device depending from a multi-logical-device having a third controller, said method comprising:
- communicatively coupling said first and second nodes and said logical I/O device by means of a bus and said first, second and third controllers;
receiving on said first controller a request to rebuild said logical I/O device;
determining, in response to said request to rebuild, whether a rebuild of a logical I/O device is already in progress, and aborting said method for rebuilding when a rebuild is already in progress;
setting a state variable to indicate that a rebuild is in progress;
determining whether said first controller receiving said request to rebuild is a master controller, and when said first controller is not said master controller, communicating from said first controller to said master controller a first rebuild request for said logical I/O device; and
rebuilding said logical I/O device by means of said master controller, in response to said communication of said rebuild request, said rebuilding comprising;
determining which of said first and second controllers is a reserving controller reserving said logical I/O device; and
when said reserving controller is not said master controller, communicating from said master controller to said reserving controller a second rebuild request for said logical I/O device.
2 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and methods for rebuilding logical I/O devices in a cluster computer system. The apparatus include controllers programmed to cooperate towards this end. The apparatus has first and second nodes with respective bus controllers communicatively coupled to each other and to the logical I/O device by means of a bus. The first controller receives a request to rebuild the logical I/O device and, in response, conditionally communicates a rebuild request for the logical I/O device over the bus to the second controller. (The logical I/O device can be a logical device depending from a multi-logical-device, third controller.) Before conditionally communicating, the apparatus determines whether a rebuild of a logical I/O device is already in progress and, when a rebuild is already in progress, aborts the new request to rebuild. When an rebuild is not already in progress, the apparatus then sets a state variable to indicate that a rebuild is now in progress. The apparatus determines whether the first controller receiving the rebuild request is a master controller, and when it is not, communicates from the first, receiving controller to the master controller a rebuild request for the logical I/O device. The master controller directs the rebuilding of the logical I/O device, including determining within which controller the logical I/O device is reserved, and when the reserving controller is not the master controller, communicating from the master controller to the reserving controller a rebuild request for the logical I/O device. The reserving controller rebuilds the logical I/O device.
36 Citations
3 Claims
-
1. In a cluster computer system having first and second nodes with respective first and second bus controllers a method for rebuilding a logical I/O device depending from a multi-logical-device having a third controller, said method comprising:
-
communicatively coupling said first and second nodes and said logical I/O device by means of a bus and said first, second and third controllers;
receiving on said first controller a request to rebuild said logical I/O device;
determining, in response to said request to rebuild, whether a rebuild of a logical I/O device is already in progress, and aborting said method for rebuilding when a rebuild is already in progress;
setting a state variable to indicate that a rebuild is in progress;
determining whether said first controller receiving said request to rebuild is a master controller, and when said first controller is not said master controller, communicating from said first controller to said master controller a first rebuild request for said logical I/O device; and
rebuilding said logical I/O device by means of said master controller, in response to said communication of said rebuild request, said rebuilding comprising;
determining which of said first and second controllers is a reserving controller reserving said logical I/O device; and
when said reserving controller is not said master controller, communicating from said master controller to said reserving controller a second rebuild request for said logical I/O device.
-
-
2. A computer-readable medium for data storage wherein is located a computer program for causing a first node in a computer system, having a first controller, to rebuild a logical I/O device in said computer system by:
-
receiving on said first controller a request to rebuild said logical I/O device;
determining, in response to said request to rebuild, whether a rebuild of a logical I/O device is already in progress, and aborting said request to rebuild when a rebuild is ready in progress;
setting a state variable to indicate that a rebuild is in progress;
determining whether said first controller receiving said request to rebuild is a master controller, and when said first controller is not said master controller, communicating from said first controller to said master controller a rebuild request for said logical I/O device; and
rebuilding said logical I/O device by means of said master controller, in response to communication of said rebuild request, said rebuilding comprising;
determining which of said first and said master controller is a reserving controller reserving said logical I/O device; and
when said reserving controller is not said master controller, communicating from said master controller to said reserving controller a rebuild request for said logical I/O device. - View Dependent Claims (3)
a CPU, coupled to said computer-readable medium, for executing said computer program in said computer-readable medium;
a logical I/O device; and
a bus communicatively coupling said first node and said logical I/O device by means of said first controller.
-
Specification