Sun Cluster 3.0 U1 概念

用於故障隔離之 Failfast 機制

叢集框架用來確保故障的節點無法重新啟動,並開始寫入至共用儲存體的機制稱為 failfast

叢集成員的節點對於它們有存取權的磁碟,包括法定數目的磁碟,會連續啟用特定的 ioctl,也就是 MHIOCENFAILFAST。此 ioctl 為磁碟驅動程式的指示詞,會讓節點在無法存取已被保留為其它節點之用的磁碟時,有能力自我混亂。

MHIOCENFAILFAST ioctl 會使驅動程式檢查錯誤,而該錯誤是節點為 Reservation_Conflict 錯誤碼讀寫至磁碟所傳回的錯誤。ioctl 會在背景中定期地對磁碟發出測試作業,以檢查 Reservation_Conflict。如果傳回 Reservation_Conflict 時,前景與背景的控制流程路徑都會混亂。

對於 SCSI-2 磁碟而言,保留並不持久,它們並不能在節點重新啟動時存活。對於具有 Persistent Group Reservation (PGR) 的 SCSI-3 磁碟而言,保留資訊是儲存在磁碟上,並且在節點重新啟動後仍會保留。不管您是否有 SCSI-2 磁碟或 SCSI-3 磁碟,failfast 機制的運作都一樣。

如果節點在叢集中失去與其他節點的連接,並且也不是可達法定容量的分割區,它會被其他節點強制從叢集中移除。。另一可達法定容量之分割區部分的節點,在共用磁碟上放置了保留,且當沒有法定容量的節點嘗試存取共用磁碟時,它會收到保留衝突並且由於 failfast 機制而混亂。

混亂過後,節點可能重新啟動並嘗試重新連接叢集,或停留於 OpenBoot PROM (OBP) 提示處。所採取的行動取決於 OBP 中 auto-boot?參數的設定。