NDB Cluster 內部機制  /  NDB Cluster 啟動階段  /  NDB_STTOR 階段 3

5.10 NDB_STTOR 階段 3

DBLQH 區塊在此處啟動日誌檔案的檢查。然後它使用 READ_NODESREQ 信號獲取資料節點的狀態。除非正在執行初始啟動或初始節點重新啟動,否則日誌檔案的檢查會與許多其他啟動階段並行處理。對於初始啟動,日誌檔案必須初始化;這可能是一個漫長的過程,並且應附加一些進度狀態。

注意

從這一點開始,有兩條並行路徑,一條繼續重新啟動,另一條讀取並確定重做日誌檔案的狀態。

DBDICT 區塊使用 READ_NODESREQ 信號請求有關叢集資料節點的資訊。DBACC 如果這不是系統重新啟動,則會重設系統重新啟動旗標;這僅用於驗證在系統重新啟動期間是否沒有從 DBTUX 接收到任何請求。DBTC 藉由 READ_NODESREQ 信號請求有關所有節點的資訊。

DBDIH 設定內部主要狀態,並進行其他僅限於初始啟動的準備工作。在初始啟動的情況下,非主要節點會執行一些初始任務,主要節點會在所有非主要節點都報告其任務已完成後執行一次。(此延遲實際上是不必要的,因為在初始化主要節點時沒有理由等待。)

對於節點重新啟動和初始節點重新啟動,此階段不再執行任何工作。對於初始啟動,當所有節點都建立初始重新啟動資訊並初始化系統檔案時,會完成工作。

對於系統重新啟動,大部分工作都在此執行,由主要節點中從 NDBCNTR 發送到 DBDIHNDB_STARTREQ 信號啟動。當系統重新啟動中的所有節點都到達重新啟動中的這一點時,會傳送此信號。我們可以將此標記為我們系統重新啟動的第一個同步點,指定為 WAITPOINT_4_1

有關階段 4 的系統重新啟動版本的描述,請參閱第 5.21 節,「階段 4 中的系統重新啟動處理」

在完成 NDB_STARTREQ 信號的執行後,主要節點會向所有節點發送一個包含 WAITPOINT_4_2CNTR_WAITREP 信號。這將結束 NDB_STTOR 階段 3 以及 ( STTOR) 階段 4。