もっと詳しく

ESXiホスト/vSphereに接続されているVMFSデータストアが削除、紛失、または破損した場合の問題を見てみましょう。 これは、たとえば、VMware管理者が誤ってVMFSデータストアを削除した場合や、ストレージ/バックアップデバイスのエラーが原因でVMFSパーティションのあるディスク/LUNが無効化/失われた場合の人為的エラーが原因で発生する可能性があります。 この記事では、VMFSデータストアを使用してディスク上のパーティションテーブルを手動でリカバリする方法を示します。

VMware管理者が誤って選択したとします 消去 それ以外の アンマウント VMFSデータストアを削除しました。

まず第一に、慌てる必要はありません。 vSphereインターフェイスからVMFSデータストアを再作成したり、ディスク(LUN)上の以前のVMFSパーティションのデータを上書きできるその他の操作を行ったりしないでください。

vCenterクライアントインターフェイスを開き、[ストレージ]->[デバイス]に移動し、リストで、以前に接続されたVMFSデータストアのあるディスク/LUNを見つけます。 ディスクへのフルパスを取得します( naa 識別子)。 私のスクリーンショットでは、次のとおりです。

/vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565

vmfsデータストアの取得パス

ターゲットLUNが使用可能なESXiホストでSSHを有効にし、SSHクライアントを使用して接続します(組み込みのWindows SSHクライアントを使用しています)。

パーティションテーブルがデバイスに存在することを確認してください。

partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565
コマンドは、ディスク/LUNにGPTがあることを返しました。

gpt
1305 255 63 20971520

partedUtilgetptblgetパーティションテーブル

次に、ディスク上のVMFSパーティションの最初と最後のブロックを取得する必要があります。

ESXiホストから利用可能なすべてのパーティションの概要を表示し、削除されたVMFSパーティションの最初のブロックを見つけるには、ESXicliで以下のスクリプトを実行します。

offset="128 2048"; for dev in `esxcfg-scsidevs -l | grep "Console Device:" | awk {'print $3'}`; do disk=$dev; echo $disk; partedUtil getptbl $disk; { for i in `echo $offset`; do echo "Checking offset found at $i:"; hexdump -n4 -s $((0x100000+(512*$i))) $disk; hexdump -n4 -s $((0x1300000+(512*$i))) $disk; hexdump -C -n 128 -s $((0x130001d + (512*$i))) $disk; done; } | grep -B 1 -A 5 d00d; echo "---------------------"; done

vmfsパーティション情報を取得する

この例では、削除されたパーティションに関する情報を表示しています(testVMFS)そしてパーティションの最初のブロックの番号を取得しました: 2048

次に、ディスク上のVMFSパーティションの最後のブロックを取得する必要があります。

partedUtil getUsableSectors /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565

vmfsパーティションの最後のブロックを取得する

この例では、 20971486

コマンドが「ディスク上の不明なパーティションテーブル」エラーの場合、GPTパーティションラベルを手動で設定します。

partedUtil mklabel /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt

次に、VMFSパーティションのパーティションテーブルGUIDを取得します。 いつものこと AA31E02A400F11DB9590000C2911D1B8

次のコマンドを使用して、可能なすべてのパーティションテーブルGUIDを表示できます。

partedUtil showGuids

VMFSパーティションGUID

これは、vSANデータストアに別のgptGUIDを使用する必要があることを意味します。

したがって、次の情報が得られます。

  • LUN ID — naa.60003ff44dc75adc87daa4e08f467565
  • スターティングブロック – 2048
  • エンドブロック – 2097148
  • GPTGUID – AA31E02A400F11DB9590000C2911D1B8

次に、取得した情報を使用して、ディスク上にパーティションテーブルを作成します。

partedUtil setptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt "1 2048 20971486 AA31E02A400F11DB9590000C2911D1B8 0"

vmfsドライブにパーティションテーブルを再作成します

ディスク上のパーティションを再度チェックし、VMFSパーティションが表示されていることを確認します。

partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565

vmfsパーティションesxicliを確認してください

次に、VMFSデータストアをマウントする必要があります。

vmkfstools -V
esxcli storage core adapter rescan --all

esxcliストレージコアアダプターの再スキャン

vSphereクライアントに移動し、誤って削除されたVMFSデータストアが表示されることを確認します。 VMware ESXiホストにマウントするか、LinuxまたはWindowsホストからアクセスできます。

vmfsデータストアをesxivSphereクライアントにマウントします

ISOイメージや仮想マシンファイルを含むすべてのファイルは、復元されたVMFSデータストアで利用できます。

vmwarevmfsデータストア上のファイルを参照する

このガイドは、VMware ESXi / vSphere 6.0、6.5、および7.0に関連しています。

The post VMware ESXi/vSphereで削除されたVMFSデータストアをリカバリする appeared first on Gamingsym Japan.