PowerFlex:間違ったデバイスIDで障害が発生したディスク
Summary: 別のSDSノードで使用されている場合、ScaleIOシステム ディスクに障害が発生したと表示されます。
Symptoms
シナリオ
お客様が2つ以上のSDSノードで同じディスク エンクロージャを使用している場合は、各ディスクとそれが属するノードに対してオフライン/オンライン構成を行う必要があります。
お客様が誤って両方のSDSノードで同じディスクをオンラインにすると、1台のディスクに障害が発生していることがあります。
考えられる間違い:
- お客様が両方のSDSノードで同じディスクをオンラインにしたところ、1つのディスクに障害が発生しました。
- お客様がディスクをスワップすると、各ディスクが間違ったノードでオンラインになります。この場合、各SDSノードに2台の障害が発生したドライブが1台ずつ表示されます。
現象
SDSノードによって間違ったディスク デバイスIDが見つかり、SDSプロセスによってディスクがFAILED状態に設定されました。
mosConfパートSDSプロセスが物理デバイス検出に移行した後にSDSプロセスを開始すると、ディスクがscaleioを使用できない場合(システムOSディスクや空きディスクなど)、「Invalid device header signature」エラーが表示されます(出力の最初の行)。ディスクがScaleIOによって使用されている場合、デバイスが検出され、その横にデバイスIDが表示されます。
次の最初の出力(サーバー1のtrcファイル)では、12個のデバイスが検出されたことがわかりますが、よく見ると、2つのデバイスが異なっていることがわかります(L、M):デバイスIDの12番目の文字は3であり、他のすべてのデバイスIDのように0ではありません。
次の2番目の出力(サーバー2のtrcファイル)では、12個のディスクが検出され、ここでも2台のディスクが異なっています(K,L)。デバイスIDの12番目の文字は0であり、他のすべてのデバイスIDのように3ではありません。
検出プロセスの後、SDSプロセスはデバイスをSDSに戻すことに移ります。SDSがディスクを見つけられない場合、rcの結果はNOT_FOUND(サーバー1のtrcファイル)になります。次の例に示すように、各SDSには、SDSに属していないデバイスIDを持つディスクがあり、SDSはそれらのディスクがNOT_FOUND(サーバー1のtrcファイル)であるため、FAILEDと表示します。
サーバー 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番目のLBにヘッダーが保存されています。
ヘッダーの構造は次のとおりです。
64ビット署名
64ビット デバイス バージョン
64ビットSDS ID
64ビットSDSデバイスID - お探しのもの。
SDSデバイスIDはTgtDevIdとも呼ばれ、次の要素で構成されています。
一意の ID 32 ビット
TGT インデックス 16 ビット
デバイス インデックス16ビット
たとえば、ID 2df4737600000002のSDSには、次のIDを持つ2つのデバイスがあります。7fff29ea00020000、7fff29eb00020001
いずれにせよ、SDS xに属するデバイスがSDS yにスワップされた場合、デバイスをSDS yに再接続すると、ヘッダーに保存されているSDS IDを確認することで、別のSDSに属していることが分かります。
「間違ったデバイス」を検索すると、SDSログで確認できる可能性があります
問題
ディスクがFAILED状態であるため、システムを再構築および再バランシングします。
Cause
ディスク デバイスIDは別のSDSノードに属しているため、ScaleIOでは使用されません。
Resolution
正しいSDSノードにディスクを追加する。
問題が発生するバージョン
すべてのPowerFlexバージョン
修正バージョン
設計どおりに機能します。