VMAX、PowerMax: VxVm 8.0以降を実行しているホストを再起動した後、一部のLUNが表示されない
概要: Veritas 8.0以降では、アレイで実行されているマイクロコード レベルをチェックして、サポートされている機能を判断します。同じアレイのデバイスが異なるマイクロコード レベルを報告している場合、Veritasはそれを異常と見なし、デバイスへのパスを構成しません。
現象
UNIXホストがVMAXまたはPowerMaxに接続され、VxVMおよびVxDMP 8.0以降を実行してマルチパスを管理している。再起動後、一部のデバイスはホスト レベルで構成されますが、Veritasレベルでは構成されません
INQで、同じアレイに属するデバイスに対して異なるマイクロコード レベルが表示されます。
# inq ... /dev/rhdisk909 :EMC :SYMMETRIX :5876 :940339c000 : 39.1 /dev/rhdisk3779 :EMC :SYMMETRIX :5978 :9401bab008 : 20.0
問題のデバイスは、無停止移行(NDM)を使用して移行されたアレイに対して表示されています。このような場合、アレイのシリアル番号(94)とLUN ID(339cまたは1bab)は、なりすましIDです。次のコマンドは、デバイスの真のIDを明らかにします。
# inq -native ... /dev/rhdisk909 :EMC :SYMMETRIX :5978 :80005de000 : 39.1 /dev/rhdisk3779 :EMC :SYMMETRIX :5978 :80002bc000 : 20.0
デバイスに対して報告されたさまざまなマイクロコード・レベルは、DEBUGモードのINQで確認されます。
- デバイスhdisk909
<02/17/2024 01:11:37.455866> Leave: xsil_fill_in_inq_info, Return Value: 0 <02/17/2024 01:11:37.455875> device is spoofed <02/17/2024 01:11:37.455884> is_EMC_device=1 symm_model=0x0a00 ucode_level=0x5876 ucode_date=0x08190002 <02/17/2024 01:11:37.455893> symm_dev_num=0x0339c symm_serial#=<00019xxxxx94> <02/17/2024 01:11:37.455902> device_serial_number_ex : 940339c000 <02/17/2024 01:11:37.455911> device_serial_number : 94!|k000
- デバイス hdisk3779
<02/17/2024 01:11:37.469147> Leave: xsil_fill_in_inq_info, Return Value: 0 <02/17/2024 01:11:37.469158> device is spoofed <02/17/2024 01:11:37.469172> is_EMC_device=1 symm_model=0x0900 ucode_level=0x5978 ucode_date=0x07230008 <02/17/2024 01:11:37.469183> symm_dev_num=0x01bab symm_serial#=<00019xxxxx94> <02/17/2024 01:11:37.469194> device_serial_number_ex : 9401bab008 <02/17/2024 01:11:37.469204> device_serial_number : 94BAB008
Veritasの記事「Infoscale 8.0 fromにアップグレードした後、大部分のデバイスがEMC VMAXエンクロージャから見つからない」によると、Veritas 8.0では、同じアレイ(ここではxx94)のデバイスが2つの異なるマイクロコード(上記の例では5876と5978)を報告することをサポートしていません。
原因
デバイスが最初に移行されたときに、ソース アレイのデバイスのIDがマイクロコード レベルとともにターゲット アレイにレプリケートされました。移行後は、次のようになりました。
# inq ... /dev/rhdisk909 :EMC :SYMMETRIX :5876 :940339c000 : 39.1 /dev/rhdisk3779 :EMC :SYMMETRIX :5876 :9401bab008 : 20.0
移行後しばらくして、hdisk3779上のスペースは不要になり、デバイスはストレージ グループから削除され、再利用(削除)されました。前述の例では、「inq native」コマンドの出力にあるように、LUN 1babは実際にはアレイxx80上のLUN 2BCを表しています。
新しい領域がアレイxx80からホストに割り当てられました。LUN ID 2BCが削除されたため、このLUN番号が再利用されました。ただし、このような場合は、スプーフィングされたIDが元に戻され、新しいデバイスが新しいアレイ(80002bc00)のデバイスではなく、古いアレイ(9401b1b008)のデバイスとして表示されます。スプーフィングされたデバイスからのマイクロコード レベルは保持されないため、ターゲット アレイのマイクロコード(この場合は5978)が報告されます。アレイ・タイプも保存されません (前のセクションの DEBUG モードの INQ を参照symm_model 、hdisk909 の場合は 0x0a00、hdisk3779 の場合は 0x0900)。
Veritas 8.0以降では、デバイスに関連づけられたマイクロコード レベルを調べて、アレイで実行されているマイクロコードを特定します。また、Symmetrixモデルも検討しています。その後、Veritasはアレイがサポートできる機能を判断できます。この例では、アレイxxx94について、マイクロコードが5876か5978かをVeritasが判断できません。また、Symmetrixレベルを判別することもできません。その結果、マイクロコード5978が表示されるすべてのデバイスは、Veritasによって構成されていません。
解決方法
これを行わない場合、すべてのデバイスへのアクセスを回復する唯一の解決策は、NDMのソース アレイに対して表示されるすべてのデバイスのスプーフィングされたIDを削除することです。