ESXI 5.1を実行していますが、すべての仮想マシンはNAS iSCIデータストアによってマップされています)にあります。
私のルーターが壊れて、明らかにすべてのVMがディスクから切り取られました。
私が理解しているのは、そのようなイベントが発生すると、esxiはvmからのすべてのI/Oを停止し、データストアに再接続しようとすることです。しばらくたってから実行できなくなった場合は、データストアがアンマウントされます。
新しいスイッチを接続してから、esxiを再起動しました。データストアがvCenterのデータセンタービューにオンラインで表示されているのがわかります(ただし、参照すると何も表示されず、新しいフォルダーを作成することさえできません...)。ホストのストレージビューにデータストアが表示されません。新しいデータストアをホストに追加しようとして、iSCSI/LUNを選択しても、何も表示されません。
さらに、NAS(a Synology)で、LUNにアクティブな接続がないことがわかります...
だから大きな問題は:私のデータストアと私のすべてのVMを元に戻す方法は?
SSH /ローカルコンソールを使用してESXに接続し、次のことを試してください。
esxcfg-volume -l
esxcfg-volume -m <datastorename>
1つ目はデータストアとそのステータスをリストし、2つ目はそれをマウントします
状況につながったネットワーク構成にもかかわらず、これは正当な質問のままです:再起動せずにESXiホストがiSCSIストレージを再び表示するための最良の方法は何ですか?
注:ネットワークスタック全体がFUBARであり、ESXiを再起動して元に戻す必要があったため、実際にこれを機能させることができませんでした。私が見つけたものは将来この質問を見つける人たちに役立つかもしれないので、私はこれを答えとして投稿しています。
最も役立つリンクは、 予期しない永続的なデバイスの損失(PDL)後にデータストアを再マウントできない(2014155) というタイトルのこのVMware KB記事です。
「戻らない」はデータ保護を目的とした機能のようです。消失したストレージを使用していたVMはすべて終了しますが、一時的な「永続的な」デバイスの損失があった可能性があります。 消えたストレージを使用していたVMは、シャットダウンする(可能な場合)か、電源を切る(可能性が高い)必要があります。
ESXiサーバーにストレージを再度表示する前に、VMware KBの記事 のプロセスを介して実際にそこにあることを確認してくださいESX/ESXiホストでのiSCSI LUN接続の問題のトラブルシューティング(1003681) ネットワークスタック全体がプロセスでFUBARされていることを発見するだけかもしれません。わかった...
最初のVMware KB記事から:
(注:iSCSIの場合、デバイスは「naa」IDではない可能性があり、代わりに「t10.IET_」のようになります。これらの怪物を手で入力するのではなく、カットアンドペーストすることを強くお勧めします。)
IDを検索するコマンドは、元の記事の真ん中に役に立たない形で埋め込まれていました。ここでは、-d
のesxcli storage core device world list -d <ID>
オプションの適切な引数を見つけるために間違いなく必要になるため、ここに示します。
#esxcfg-scsidevs --uids
これは、次のような「t10」IDを示しています。
【.____。】プライマリUID他UID mpx.vmhba45:C0:T0:[.____] L0 vml.0005000000766d68626135353a313a31 naa.60022190becbe0003b3e818108cdf2d5 vml.0200000000600221c0becce0001b3b918108cdf2c550455e4320c6 [.____。】t10.IET _____ 000100000000000000000000000000000000000000000000 vml.010c000000202020202020202020202020202020202020202020202020202020202020626561663e30436e6e7f726f t10.IET _____ 000100010000000000000000000000000000000000000000 vml.010001000020202020202020202020202020202020202020202020202020202020626561693131464952545541
次のコマンドを実行して、LUNに対してデバイスが開いている世界を確認します。
#
esxcli storage core device world list -d <t10_id>
例えば:
#
esxcli storage core device world list -d t10.IET_____000100010000000000000000000000000000000000000000
次のような出力が表示されます。
デバイスワールドIDオープンカウントワールドネーム-------------------------------------------------- ---------- -------- ---------- ----------t10.IET _____ 000100010000000000000000000000000000000000000000 2060 1 idle0VMFSボリュームがデバイスを間接的に使用している場合、ワールド名には文字列idle0が含まれます。仮想マシンがデバイスをRDMとして使用している場合、仮想マシンのワールドIDが表示されます。他のプロセスがrawデバイスを使用している場合、対応する情報が表示されます。
ノート:
ホストが応答しない場合は、
esxcfg-scsidevs –-list
コマンドを実行して、対応するデータストア名を取得します。 PDL状態のボリュームに登録されているすべての仮想マシンが、これ以上の手順を必要としないことを確認します。その状態の仮想マシンがある場合、操作を再試行またはキャンセルしようとしても、仮想マシンのワールドIDは返されません。ボリュームが再マウントされない限り、再試行操作は成功しないため、[キャンセル]をクリックします。次のコマンドを実行して、ESXi 5.xホストで実行されているすべての仮想マシンを一覧表示し、そのLUNに登録されている仮想マシンを特定します。
#
esxcli vm process list
仮想マシンのワールドIDを強制終了するには、次のコマンドを実行します。
#
esxcli vm process kill --type=force --world-id=World ID
例えば:
#
esxcli vm process kill --type=force --world-id=12131
次のコマンドを使用してストレージを再スキャンします。
#
esxcfg-rescan -u vmhba#
次のコマンドを実行して、デバイスの状態を確認します。
#
esxcli storage core device list -d <t10-id>
問題が解決しない場合は、仮想マシンが登録されているESXi 5.xホストを再起動します。