如何在 Linux 叢集中實作 SBD STONITH

Summary: 本文的目的是解釋基於存儲的死亡 (SBD) STONITH 是如何工作的,以及如何在多路徑環境中實現它。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

石碑:“朝頭部射擊另一個節點”或“向頭部射擊有問題的節點”

STONITH:“向其他成員或機器的頭部射擊”STONITH

是一種在計算機集群中擊劍的技術。遮罩是隔離故障節點,使其不會導致計算機群集中斷。

在 SBD STONITH 中,Linux 群集中的節點使用檢測信號機制使彼此保持更新。如果群集中的節點出現問題,則會將該節點的毒丸寫入共用存儲設備。節點必須吃掉(接受)毒丸並自行終止。之後,可以安全地將文件系統資源故障轉移到 Linux 群集中的另一個節點。

在 DELL 環境中,所有磁碟都是多重路徑的。這包括 SBD STONITH 裝置。因此,在創建 SBD STONITH 設備時,必須調整 SBD 使用的超時,因為以下內容可能會導致延遲;多路徑 I/O (MPIO) 路徑中斷偵測、PowerPath 路徑中斷偵測或 NMP 路徑路徑中斷偵測。如果您有多個設備,則單個設備的暫時超時不會對 SBD 產生負面影響。但是,如果它們都通過相同的FC交換機,則必須執行此操作。監視程式逾時是偵測路徑故障並切換到其他路徑所需的時間。之後 msgwait 超時,假定消息已傳遞到節點。對於多路徑,這應該是多路徑檢測路徑故障並切換到下一個路徑所需的時間,加上兩個環路訪問 SBD 設備之間的時間(兩個環路之間的預設間隔為 1 秒)。

監視程式逾時必須短於 msgwait 逾時 - 該值的一半是不錯的值。

預設值 msgwait 逾時為 10 秒。如果 msgwait 未調整逾時,這個時間太短,在存取 SBD 裝置時,無法為路徑上發生問題的主機提供時間,以偵測路徑損壞並容錯移轉至另一條路徑。如果主機無法以足夠快的速度更新監視程式計時器, 則會向主機寫入毒丸。這會導致主機在可以再次訪問 SBD 設備時自殺, 這不是 STONITH 機制的目的。

您可以通過添加以下內容來設定這些值 -4 msgwait -1 watchdogtimeout 到創建命令。
以下是使用 NMP 的 ESX 環境的範例:
/usr/sbin/sbd -d /dev/sbd -4 40 -1 20 create
以下是使用 PowerPath 或 MPIO 的 Linux 環境範例 (在 devloss tmo 設為 30):
/usr/sbin/sbd -d /dev/sbd -4 72 -1 36 create
(所有超時均以秒為單位。

Additional Information

此問題可能會導致容錯移轉的嚴重延遲。如需 SBD STONITH 的詳細資訊,請查看 SUSE 儲存保護和 SBD外部連結

Affected Products

PowerPath/VE for VMware

Products

PowerPath/VE for VMware
Article Properties
Article Number: 000022740
Article Type: How To
Last Modified: 22 Aug 2024
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.