ESXiホストがクラッシュしたのに、VMFSストレージ上のデータはそのまま残っていて、同じホストを再起動しなくてもそれらのVMファイルにアクセスしたい、という状況に遭遇したことはありませんか? ちょっとイライラしますよね? 問題は、WindowsやLinuxがVMware独自のファイルシステムであるVMFSをネイティブにサポートしていないことが原因であることが多いです。そのため、ESXiがクラッシュしてもLUNやディスクがそのまま残っているという状況に陥った場合、VMware環境外でVMFSをマウントする方法が必要になります。
この記事では、Linux、Windows、または他のVMwareホストからVMFSデータストアにアクセスできるようにする実用的な方法をいくつか紹介します。正直なところ、最も簡単な方法は、使い慣れているツールと環境によって異なります。ホストがダウンした場合、新規にインストールしたESXiにディスクを接続するのが最適な場合もありますが、ハードウェアにアクセスできない場合は、他の方法も役立ちます。
Linux (Ubuntu) で VMFS ファイル システムをマウントする方法
Linux、特にUbuntuシステムでVMFSデータを取得しようとする場合、適切なサポートツールをインストールすることが鍵となります。VMwareは、ESXiのバージョンに応じて、VMFSバージョン3、5、6、そして場合によってはそれ以上のバージョンを使用します。LinuxはVMFSを標準ではサポートしていないため、vmfs-toolsやvmfs6-toolsなどのサードパーティ製ツールが必要です。
なぜわざわざ?これらのツールを使えば、VMFSデータストアを読み取り専用モードでマウントできます。すべてが完璧というわけではありません。サポートされていないバージョンが表示されたり、エラーが発生したりすることもありますが、アクセスを完全に失うよりはましです。また、ある環境では問題なく動作しましたが、別の環境ではそれほどうまくいかなかったかもしれません。それでも、試してみる価値はあります。
まず、ディスクのVMFSバージョンを確認します。クライアントはESXi 7.1ホストを使用していたため、VMFS6のサポートが必要でした。以下のものをインストールする必要がありますvmfs6-tools。
# apt-get -y install vmfs6-tools
たとえば、古い VMFS (5 や 3 など) を扱っている場合は、vmfs-tools代わりに以下をインストールします。
# apt-get install vmfs-tools
これは重要です。信じられないかもしれませんが、Linuxにはこのサポートが組み込まれておらず、これらのパッケージを通じて入手する必要があるからです。その後、データストアをマウントするディレクトリを作成します。
# mkdir /mnt/vmfs
次に、ディスクとパーティションを特定します。ここが少し面倒な部分です。fdisk -lディスクの一覧を表示するには、次のコマンドを実行します。
# fdisk -l
sdb1パーティションを持つ/dev/sdbのようなディスクを探してください。おそらくそれが VMFS です。ディスク全体が表示されない場合、特に大容量ディスク(2TB 以上)の場合は、 fdisk ではなくparted -lを使用してください。parted -l の方が GPT ディスクをより適切に処理します。
これをマウントするには、次のコマンドを実行します。
# sudo vmfs6-fuse /dev/sdb1 /mnt/vmfs
すべてがうまくいけば、VMFS6パーティションがマウントされたというメッセージが表示されます。そこから、/mnt/vmfsにあるVMファイルにアクセスできるようになります。設定によっては、 や のようなエラーが表示される場合がありますVMFS Unsupported version 5。Unable to open filesystemその場合は、 ( vmfs6-toolsvmfs-toolsだけでなく)インストールすることで問題が解決する可能性があります。以下のコマンドでインストールできます。
# apt-get install vmfs-tools
そして次のようにマウントします:
# vmfs-fuse /dev/sdb1 /mnt/vmfs
この方法は少し乱暴ですが、特に VMware を経由せずにデータストアから VM ファイルをコピーする場合に、すばやくアクセスするために役立ちます。
新しい VMware ESXi ホストに VMFS パーティションをマウントする
もっと簡単な方法は? ディスクまたはLUNを新しいESXiマシンに接続するだけです。まるで新しいホストを素早くインストールするようなものです。驚くほど簡単です。ディスクを接続し、ストレージの再スキャンを実行するだけで、データストアがまだそのままであれば、ESXiは通常、それほど手間をかけずに認識します。
やり方は次のとおりです:
- vSphere Web Client経由で新しい ESXi にログインします。
- ディスクまたはLUNをホストに直接接続します(ファイバーチャネルまたはiSCSI経由)。iSCSI LUNの場合は、再スキャンの前に接続と認証を行ってください。
- [ストレージ] > [ストレージの再スキャン]に移動します。
- 「デバイス」タブに切り替え、新しいディスクを見つけて、VMFSとしてマークされているかどうかを確認します。データストアが削除または破損している場合は、復元が必要になる可能性があります(そのためのガイドがあります)。
- ホスト上でSSHを開き(SSHが有効になっている場合)、次のコマンドを実行します
vmkfstools -V。これにより、利用可能なVMFSパーティションが表示されます。 - 表示されている場合は、GUIからデータストアをマウントできます。右クリックして「マウント」を選択するだけです。
- 次に、データストア ブラウザから VMFS データストアにアクセスし、必要に応じてファイルをコピーしたり、VMX ファイルを登録したりします。
このアプローチは*通常*最もクリーンです。奇妙なマウントトリックは不要で、VMwareが得意とする処理を実行するだけです。以前のESXiバージョンでは、データストアの追加時に適切なオプションを使用することで、GUIから直接簡単にマウントできた場合があることに注意してください。
WindowsからVMFSデータストアにアクセスする
WindowsからVMFSを覗き見しようとしていますか?それは全く別の話です。昔ながらの方法は、オープンソースVMFSドライバーと呼ばれるJavaベースのドライバーを使うことです。これは扱いにくく、時代遅れで、VMFS3しかサポートしていませんが、特定のシナリオでは役立つことがあります。
やるべきことは次のとおりです:
- https://code.google.com/archive/p/vmfs/からドライバーをダウンロードします。
- C:\vmfsのような場所に抽出します。
- jar ファイルをコマンドとして実行します:
java -jar fvmfs.jar。 - ディスクの管理またはを使用して、接続されている VMFS ディスクのディスク番号を識別します
diskpart。 - 情報を取得:
java -jar fvmfs.jar \\.\PhysicalDrive1 info - WebDAV 経由でディスクを共有してみます:
java -jar fvmfs.jar \\.\PhysicalDrive1 webdav。 - WebClientサービスが実行されていることを確認してください。実行されていない場合は、「サービス」から起動してください。
- WebDAV 共有をマップします:
net use * http://localhost:50080/vmfs。 - これで、Windowsエクスプローラーに新しい読み取り専用のVMFSディスクが表示されます。そこからVMファイルにアクセスしてください。ただし、読み取り専用であることにご注意ください。
ええ、ちょっと時代遅れで、最新のVMFSバージョンをサポートしていません。これは、VMwareから直接データにアクセスできない場合の最終手段です。通常は、ディスクを別のESXiホストに接続するか、Linuxツールを使用する方がよいでしょうが、緊急時にはこれで済むこともあります。
もちろん、これらの方法はすべて、お使いの環境、ハードウェア、VMFSのバージョンによって異なります。すべての方法が常に機能するとは限りませんが、少なくとも諦めるのではなく、選択肢が広がります。