Sun Cluster Konzepthandbuch für Solaris OS

Failfast-Mechanismus für den Fehlerschutz

Der Mechanismus, durch den das Cluster-Framework sicherstellt, dass ein ausgefallener Knoten nicht neu booten und auf gemeinsam genutzten Speicher schreiben kann, wird als Failfast bezeichnet.

Knoten, die Cluster-Mitglieder sind, aktivieren kontinuierlich ein spezifisches ioctl, MHIOCENFAILFAST, für die Platten, auf die sie zugreifen. Hierzu gehören auch die Quorum-Platten. Dieses ioctl ist eine Direktive für den Plattentreiber. Das ioctl gibt einem Knoten die Möglichkeit, selbst in Panik zu geraten, wenn er durch eine Reservierung eines anderen Knotens nicht auf die Platte zugreifen kann.

Das ioctl MHIOCENFAILFAST veranlasst den Treiber, die Fehlerrückgabe jedes Lese- und Schreibvorgangs, den ein Knoten an die Platte ausgibt, auf den Fehlercode Reservation_Conflict zu überprüfen. Das ioctl gibt im Hintergrund regelmäßig einen Testvorgang an die Platte aus, um sie auf die Meldung Reservation_Conflict zu überprüfen. Sowohl der Vordergrund- als auch der Hintergrund-Flussaufzeichnungspfad geraten in Panik, wenn Reservation_Conflict zurückgegeben wird.

Bei SCSI-2-Platten sind die Reservierungen nicht dauerhaft – sie werden beim erneuten Booten von Knoten gelöscht. Bei SCSI-3-Platten mit PGR (Persistent Group Reservation) werden die Reservierungsinformationen auf der Platte gespeichert und bleiben auch nach dem Booten von Knoten erhalten. Der Failfast-Mechanismus funktioniert stets auf dieselbe Weise, ob Sie nun SCSI-2- oder SCSI-3-Platten verwenden.

Wenn ein Knoten die Konnektivität mit anderen Knoten im Cluster verliert und nicht zu einer Partition gehört, die ein Quorum erzielen kann, wird er erzwungenermaßen von einem anderen Knoten aus dem Cluster entfernt. Ein anderer Knoten, der Teil der Partition ist, die ein Quorum erzielen kann, belegt die gemeinsam genutzten Platten mit Reservierungen. Wenn der Knoten, der über kein Quorum verfügt, versucht, auf die gemeinsam genutzten Platten zuzugreifen, wird ein Reservierungskonflikt gemeldet und der Knoten gerät, bewirkt durch den Failfast-Mechanismus, in Panik.

Nach der Panik kann der Knoten neu booten und versuchen, dem Cluster wieder beizutreten oder in Clustern aus SPARC-basierten Systemen an der OpenBootTM PROM (OBP)-Eingabeaufforderung bleiben. Welche Aktion eingeleitet wird, bestimmt die Einstellung des auto-boot?-Parameters. Sie können den Parameter auto-boot? mit eeprom(1M) an der OpenBoot PROM-Eingabeaufforderung ok in einem SPARC-basierten Cluster einstellen. Alternativ dazu können Sie diesen Parameter auch mit dem SCSI-Dienstprogramm einstellen, das Sie nach dem Booten des BIOS in einem x86-basierten Cluster ausführen können.