章 4. 隔離

「隔離(fencing)」代表將節點由叢集的共享儲存裝置中移除。隔離會切斷所有來自共享儲存裝置的 I/O,以確保資料的完整性。叢集基礎結構會透過隔離系統程式(fenced)來進行這項工作。
當 CMAN 發現一組節點失效時,CMAN 會與其它叢集基礎結構的元件進行通訊,告知該節點已失效。當通知了 fenced 時,fenced 會將失效的節點隔離。其它叢集基礎結構的元件會決定該進行哪些動作 — 亦即會進行任何復原動作。舉例來說,DLM 與 GFS2 收到節點失效的通知時,會暫時停止活動,直到 fenced 完成隔離失效節點為止。確認失效節點已經隔離後,DLM 與 GFS2 就會開始進行復原。DLM 會解除對於失效節點的鎖定;GFS2 會復原失效節點的日誌檔。
隔離程式會從配置檔案來決定要採取何種隔離措施。配置檔案中有兩個主要因素決定隔離的措施:隔離代理程式和隔離裝置。隔離程式會調用叢集配置檔案中所指定的代理程式。接著,代理程式便會透過隔離裝置將節點隔離。當隔離完成後,隔離程式便會通知叢集管理員。
High Availability 外掛程式提供了多項隔離措施:
  • 電源隔離 — 一項透過電源控制器,以將無法運作之節點關機的隔離措施。
  • 儲存裝置隔離 — 這項隔離措施會停用將儲存裝置連至一個無法操作之節點的光纖頻道連接埠。
  • 其它隔離措施 — 其它停止 I/O 或關閉失效節點的方法,包括 IBM Bladecenter、PAP、DRAC/MC、HP ILO、IPMI、IBM RSA II 等等。
圖形 4.1, “電源隔離範例”〉顯示了電源隔離的範例。在範例中,節點 A 中的隔離程式會造成電源控制器將節點 D 關閉。〈圖形 4.2, “儲存裝置隔離範例”〉顯示了隔離儲存裝置的範例。在範例中,節點 A 的隔離程式會使光纖頻道切換器將節點 D 的連接埠停用,並切斷節點 D 與儲存裝置之間的連線。
電源隔離範例

圖形 4.1. 電源隔離範例

儲存裝置隔離範例

圖形 4.2. 儲存裝置隔離範例

指定一項隔離的措施,其中包含了編輯叢集配置檔案,以指定隔離措施的名稱、隔離代理程式、以及叢集中每個裝置的隔離裝置。
隔離措施的指定取決於結點是否使用雙電源供給以及是否擁有多重儲存裝置路徑。若節點擁有雙電源補給,則該節點的隔離措施便必須指定至少兩個隔離裝置 — 一個電源供給一個隔離裝置(請參閱〈圖形 4.3, “以雙電源供給(Dual Power Supplies)來隔離節點”〉)。相似地,若節點有多個能連至光纖頻道儲存裝置的路徑,則該節點的隔離措施便必須為各個連至光纖頻道儲存裝置的路徑指定一個隔離裝置。比方說,若一個節點有兩個能連至光纖頻道儲存裝置的路徑,隔離措施便應指定兩個隔離裝置 — 各個連至光纖頻道儲存裝置的路徑各一個(請參閱〈圖形 4.4, “以雙光纖頻道連線(Dual Fibre Channel)來隔離節點”〉)。
以雙電源供給(Dual Power Supplies)來隔離節點

圖形 4.3. 以雙電源供給(Dual Power Supplies)來隔離節點

以雙光纖頻道連線(Dual Fibre Channel)來隔離節點

圖形 4.4. 以雙光纖頻道連線(Dual Fibre Channel)來隔離節點

一個節點可以設定一或多個隔離措施。當僅為一個節點使用單一隔離措施時,它將會是隔離該節點的唯一措施。當您為一個節點使用多個隔離措施時,這些措施會根據叢集配置檔案中的設定,按順序串聯在一起。如果一個節點失效,它會使用配置檔案中的第一個隔離措施。如果第一個措施不成功,便會使用配置檔案中的第二個措施。如果所有措施皆不成功,那麼系統便會返回重新嘗試所指定的第一個隔離措施,並按照叢集配置檔案中所指定的順序嘗試所有隔離措施,直到節點被隔離為止。
欲取得更多有關於配置隔離裝置上的詳細資訊,請參閱《叢集管理》指南中的相應章節。