PowerFlex:故障的磁碟,裝置 ID 錯誤
Summary: 在其他 SDS 節點上使用 ScaleIO 系統磁碟時,顯示為故障。
Symptoms
案例
當客戶對兩個或多個 SDS 節點使用相同的磁碟機櫃時,必須為每個磁碟及其所屬的節點設定離線/線上。
有時客戶可能會弄錯,並在兩個 SDS 節點上連線相同的磁碟,然後我們看到一個磁碟發生故障。
可能的錯誤:
- 客戶在兩個 SDS 節點上連線相同的磁碟,然後我們看到一個磁碟發生故障。
- 客戶交換磁碟,表示每個磁碟都在錯誤的節點上上線,在這種情況下,我們會看到兩個故障的磁碟機,一個在每個 SDS 節點上。
症狀
SDS 節點找到錯誤的磁碟裝置 ID,且 SDS 程序將磁碟設為「故障」狀態。
在 mosConf 零件 SDS 程序移至實體裝置探索後啟動 SDS 程序時,當磁碟不是用於 scaleio 用途 (例如系統作業系統磁碟或可用磁碟) 時,將會顯示「無效的裝置標頭簽名」錯誤 (輸出中的第一行)。當 ScaleIO 使用磁碟時,會找到一個裝置,旁邊會顯示裝置 ID。
在下面的第一個輸出(來自伺服器 1 的 trc 檔)中,我們可以看到找到了 12 個設備,但仔細觀察,我們可以看到兩個設備不同 (L,M) - 設備 ID 中的第 12 個字元是 3,而不是所有其他設備 ID 的 0。
在以下第二個輸出 (來自伺服器 2 的 trc 檔案) 中,找到 12 個磁碟,但又有兩個磁碟不同 (K,L) - 裝置 ID 的第 12 個字元是 0,而不是像所有其他裝置 ID 一樣是 3。
探索過程 SDS 過程移動到將設備添加回 SDS 時,當 SDS 找不到磁碟 rc 結果將為NOT_FOUND(來自伺服器 1 的 trc 檔),正如我們在下面的示例中看到的那樣,在每個 SDS 上,我們都有設備 ID 不屬於其 SDS 的磁碟,SDS 會將這些磁碟顯示為“失敗”,因為它們處於NOT_FOUND(來自伺服器 1 的 trc 檔)。
來自伺服器 1 的 TRC 檔案
30/04 09:48:16.328000 000000A170629EA0:phyDev_ReadDevId:02679: Invalid device header signature : path=C, devVersion=2807280628052804, sigStart=2803280228012800, sigEnd=283b283a28392838
30/04 09:48:16.328000 000000A170629EA0:phyDevMap_ReloadSpecific:00128: Failed to read DeviceId of C. rc=351
30/04 09:48:16.329000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device F ,a2901dcd00000000
30/04 09:48:16.330000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device G ,a2901dce00000001
30/04 09:48:16.331000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device H ,a2901dcf00000002
30/04 09:48:16.332000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device I ,a2901dd000000003
30/04 09:48:16.333000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device J ,a2901dd100000004
30/04 09:48:16.333000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device K ,a29044bf00000005
30/04 09:48:16.337000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device L ,a29044c400030006
30/04 09:48:16.342000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device M ,a29044c000030005
30/04 09:48:16.343000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device N ,a29044cb00000008
30/04 09:48:16.344000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device O ,a2906bcf00000009
30/04 09:48:16.345000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device P ,a2906bd30000000a
30/04 09:48:16.345000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device Q ,fbd792df0000000b
...
30/04 09:48:16.345000 000000A1730BCEA0:contCmd_AddDev:01204: DevId a2901dce00000001 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A173086EA0:contCmd_AddDev:01204: DevId a29044c700000007 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A173098EA0:contCmd_AddDev:01204: DevId a2906bd30000000a - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730E0EA0:contCmd_AddDev:01204: DevId fbd792e50000000c - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730B3EA0:contCmd_AddDev:01204: DevId a2901dcf00000002 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A17310DEA0:contCmd_AddDev:01204: DevId a2901dcd00000000 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A173062EA0:contCmd_AddDev:01204: DevId a29044cb00000008 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730C5EA0:contCmd_AddDev:01204: DevId a2901dd100000004 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730E0EA0:contCmd_AddDev:01391: DevId fbd792e50000000c - Done rc = NOT_FOUND
30/04 09:48:16.348000 000000A1730A1EA0:contCmd_AddDev:01204: DevId fbd792ee0000000e - Start rc = SUCCESS
30/04 09:48:16.348000 000000A1730A1EA0:contCmd_AddDev:01391: DevId fbd792ee0000000e - Done rc = NOT_FOUND
30/04 09:48:16.349000 000000A1730F2EA0:contCmd_AddDev:01204: DevId fbd792e90000000d - Start rc = SUCCESS
30/04 09:48:16.349000 000000A17306BEA0:contCmd_AddDev:01204: DevId a2901dd000000003 - Start rc = SUCCESS
30/04 09:48:16.349000 000000A17307DEA0:contCmd_AddDev:01204: DevId a2906bcf00000009 - Start rc = SUCCESS
30/04 09:48:16.349000 000000A173074EA0:contCmd_AddDev:01204: DevId a29044bf00000005 - Start rc = SUCCESS
30/04 09:48:16.349000 000000A173086EA0:contCmd_AddDev:01391: DevId a29044c700000007 - Done rc = NOT_FOUND
30/04 09:48:16.349000 000000A1730F2EA0:contCmd_AddDev:01391: DevId fbd792e90000000d - Done rc = NOT_FOUND
30/04 09:48:16.351000 000000A1730FBEA0:contCmd_AddDev:01204: DevId fbd792ef0000000f - Start rc = SUCCESS
30/04 09:48:16.352000 000000A1730FBEA0:contCmd_AddDev:01391: DevId fbd792ef0000000f - Done rc = NOT_FOUND
30/04 09:48:16.352000 000000A173104EA0:contCmd_AddDev:01391: DevId a29044c300000006 - Done rc = NOT_FOUND
來自伺服器 2 的 TRC 檔案
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device F ,a2901dc800030000
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device G ,a2901dc900030001
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device H ,a2901dca00030002
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device I ,a2901dcb00030003
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device J ,a2901dcc00030004
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device K ,a29044c300000006
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device L ,a29044c700000007
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device M ,a29044c800030007
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device N ,a29044cc00030008
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device O ,a2906bd000030009
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device P ,a2906bd40003000a
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device Q ,fbda92e00003000b
SDS 裝置 ID 說明
每個 SDS 裝置的報頭都儲存在第 64磅。
標頭具有以下結構:
64 位元簽章
64 位裝置版本
64 位元 SDS ID
64 位 SDS 裝置 ID ß 您要尋找的內容。
SDS 裝置 ID 又稱為 TgtDevId,包含下列項目:
唯一 ID 32 位元
TGT 索引 16 位元
裝置索引 16 位元
例如:ID 為 2df4737600000002 的 SDS 將有兩個設備具有以下 ID:7fff29ea00020000、7fff29eb00020001
無論如何,如果屬於 SDS x 的設備被交換到 SDS y,那麼在將設備重新連接到 SDS y 時,它會通過檢查保存在標頭上的 SDS ID 發現它屬於不同的 SDS。
如果您搜尋「錯誤的裝置」,也許可以在 SDS 記錄中看到它
影響
系統重建和重新平衡,因為磁碟處於故障狀態。
Cause
磁碟裝置 ID 屬於另一個 SDS 節點,因此 ScaleIO 永遠不會使用它。
Resolution
將磁碟新增至正確的 SDS 節點。
受影響的版本
所有 PowerFlex 版本
已修正問題的版本
按設計工作。