仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

Linux・Windows・ESXiからVMFSデータストアにアクセスする3つの方法

本記事では、ESXiホストのVMFSデータストアに格納されたデータ(仮想マシンの構成ファイル、データファイル、スナップショットなど)に、Linux・Windows・ESXiからアクセスする3つの方法を紹介します。この記事は、VMware ESXiハイパーバイザーを搭載した唯一の稼働サーバーが突然停止したという、実際の顧客事例に基づいています。

ESXiホストがクラッシュしても、サーバーのローカルディスクがまだ正常に動作していれば、VMFSデータストアから仮想マシンのファイル(データディスクと構成ファイルの両方)をコピーし、別のサーバー(VMware WorkstationやHyper-V上でも可)で仮想マシンを起動できます。しかし、ここで問題になるのは、一般的なOS(WindowsやLinux)にはVMFSドライバーが標準で搭載されていないため、VMFSファイルシステムのパーティションを認識できないという点です。本記事では、VMFSファイルシステムでフォーマットされたディスク上の仮想マシンファイルにアクセスする方法を解説します。

今回のケースでは、VMware仮想マシンのバックアップが設定されておらず、ESXiホストの起動トラブルを診断・解決する時間もありませんでした。そこで、重要な仮想マシンのファイルをVMFSストレージから手動でコピーし、緊急導入した別のESXiホスト上で起動するという対応が取られました。

それでは、VMFSデータストア上のデータにアクセスする3つのシナリオを順番に見ていきましょう。

Linux(Ubuntu)でVMFSファイルシステムをマウントする方法

Ubuntuがインストールされたコンピューターであれば、VMFSファイルシステムのパーティションをマウントできます(この場合、Ubuntu Live CDは使用できません)。

まず、VMFSファイルシステムを含む物理ディスクを、Ubuntuが動作するコンピューター(サーバー)に接続します。VMFSボリューム上のデータにアクセスするには、サードパーティ製のvmfs-toolsパッケージをインストールする必要があります。このパッケージを使うと、ESXi以外のホストからでもVMFSにアクセスできるようになります。ただし、読み取り専用モードでのアクセスに限定される点に注意してください。また、vmfs-toolsの開発者はVMFS 5.0までのバージョンのみを公式にサポートしていると発表しており、VMFS 6(vSphere 6.0/6.5)のパーティションに接続できるかどうかは保証されていません。

以下のコマンドでパッケージをインストールします。

# apt-get install vmfs-tools

注意: Ubuntuの標準リポジトリで入手できるのはvmfs-tools 0.2.1のみで、このバージョンはVMFS v3にしか対応していません。VMFS 5のデータストアをマウントしたい場合は、vmfs-tools 0.2.5以上をダウンロードしてインストールしてください。

  1. https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb – 64ビットシステム用パッケージ
  2. https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_i386.deb – 32ビットシステム用パッケージ

該当するパッケージを次のようにダウンロードします。

# wget https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb

そして、ダウンロードしたパッケージをインストールします。

# dpkg -i vmfs-tools_0.2.5-1_amd64.deb

依存パッケージをまとめてインストールする場合は、次のコマンドを使用します。

# apt-get install vmfs-tools

パッケージのインストールが完了したら、VMFSパーティションをマウントするためのマウントポイントを作成します。

# mkdir /mnt/vmfs

次に、ディスク上のパーティション構成を確認します。ESXiはインストール時に、仮想マシンファイル用のパーティション(VMFSパーティション)のほかに、複数のサービス用パーティションを作成します。

ESXiのバージョンが4以前の場合、またはVMFSストレージがVMFS 3からVMFS 5にアップグレードされており、そのサイズが2TB以下の場合は、fdiskコマンドでディスクとパーティションの一覧を表示できます。

# fdisk -l

この出力例では、VMFSパーティションは/dev/sdb3(ラベル「VMware VMFS」)であることがわかります。

重要: ESXi 5以降では、GPTパーティションテーブルを使用するVMFS v5が採用されています。GUIDパーティションテーブル(GPT)により、2TBを超える大容量ストレージの作成や、物理互換モードでのRDMドライブの接続が可能になります。そのため、ESXi 5以降のパーティションテーブルを確認するには、fdiskの代わりにpartedコマンドを使用する必要があります。

# parted -l

あとは、VMFSストレージのパーティションをマウントするだけです。

# vmfs-fuse /dev/sdb3 /mnt/vmfs

マウントしたパーティションの内容を一覧表示してみましょう。

# ls -all /mnt/vmfs

これで、読み取り専用モードでアクセス可能なVMFSストレージ上のすべての仮想マシンファイルが表示されます。必要な仮想マシンのディレクトリや個別のファイルを別のドライブにコピーし、別のESXiホストで起動することができます。

WindowsからVMFSボリュームにアクセスする方法

WindowsからVMFSボリュームに接続して仮想マシンファイルにアクセスするには、Java製の専用ドライバーOpen Source VMFS Driverが必要です。このドライバーはJava 6以降を必要とし、VMFSボリュームを読み取り専用モードでマウントできます。

Open Source VMFS Driverはこちらからダウンロードできます:https://code.google.com/archive/p/vmfs/。なお、このプロジェクトは2010年以降更新されておらず、サイトで入手できる最新版はVMFS Driver r95で、VMFS 3(ESXi 5より前)にしか対応していません。

注意: より新しいバージョンのVMFSに接続しようとすると、「No VMware File System detected」というエラーメッセージが表示されます。

  • Open Source VMFS Driver(fvmfs_r95_dist.zip)をダウンロードし、任意のディレクトリ(例:C:\vmfs)に展開します。
  • Javaアプリケーションfvmfs.jarの動作は、次のようにして確認できます。
cd \vmfs
java -jar fvmfs.jar
  • 次に、Windowsマシンに接続されているVMFSストレージを含むHDDのディスク番号を特定します。ディスク番号は、ディスクの管理コンソールまたはdiskpartで確認できます(この例では、接続されたディスクのインデックスは1=Disk1です。fvmfsドライバーでは、このディスクは\\.\PhysicalDrive1という名前になります)。
  • このディスクの情報を取得してみます。
java -jar fvmfs.jar \\.\PhysicalDrive1 info
  • WebDAV経由でこのディスクを共有します。
java -jar fvmfs.jar \\.\PhysicalDrive1 webdav
  • WebClientサービスが起動していることを確認します。無効になっている場合は起動してください。
  • 共有ディスクをマウントします。
net use * https://localhost:50080/vmfs
  • 読み取り可能なVMFSデータストアを含む新しいディスクがシステムに表示されます。
  • VMFSストレージ上のファイルを操作している間は、コンソールウィンドウを閉じないでください。

既存のVMFSデータストアを新しいESXiホストにマウントする方法

前述の2つの方法で使用するLinux・Windows向けのサードパーティ製VMFSドライバーは、いずれもVMFS 6.0には対応していません。そのため、障害が発生したサーバーのVMFSパーティション上のデータにアクセスする最も汎用的な方法は、そのディスクを新しいESXiサーバーに接続することです(新しいホストへのESXiのインストールは1時間以内に完了します)。これが最も簡単な方法です。この方法なら、物理ハードディスクだけでなく、ストレージ装置のLUN(FCまたはiSCSI経由)も再接続できます。

新しいESXiホストが接続されたVMFSデータストアを正しく認識すれば、そのファイルにアクセスできるようになります。

既存のVMFSストレージをフォーマットせずに新しいESXiホストに接続するには、以下の手順に従ってください。

  1. vSphere Web Clientを使用して新しいESXiサーバーに接続します。
  2. ドライブを新しいサーバーに接続し、ストレージの再スキャン(Storage rescan)を実行します。
  3. 構成(Configure)データストア(Datastores)セクションに移動し、新しいデータストアの作成(Create a new datastore)を選択します。
  4. ストレージタイプとして「ディスク」または「LUN」を選択します。
  5. 利用可能なデバイスの一覧から、VMFSストレージを含む接続済みドライブ(LUN)を選択します。
  6. 接続モードを選択します。既存の署名を保持する(Keep the existing signature)を選択してください。
  7. 「完了(Finish)」ボタンをクリックします。
  8. ホストのストレージセクションに移動し、接続したストレージを選択します。データストアブラウザ(Datastore browser)ボタンをクリックすると、内容を表示できます。
  9. 必要なvmxファイルを見つけてホストに登録すれば、重要な仮想マシンをすぐに起動できます。
  1. 遠隔地からPCにアクセスする方法を徹底解説!Windows・Mac・スマホ対応ガイド

    遠隔地にあるPCにアクセスすることは、もはや高度な技術知識が必要な難しい作業ではありません。最初に必要な設定を一度行ってしまえば、あとは数回のクリックだけで簡単に接続できるようになります。本記事では、さまざまな環境から遠隔地のコンピューターにアクセスする方法を網羅的に解説します。 遠隔地からPCにアクセスするメリットとは? リモートアクセスが一部の人だけが使う特別な機能ではなく、多くの人にとって必要不可欠なものになった理由はいくつかあります。主なメリットを挙げてみましょう。 デスクトップPC(オフィスや自宅のもの)をどこへでも持ち運ぶことはできません。 オフィスのPCを自宅から、自宅のPC

  2. Windows 11/10で詳細ブートオプション(高度なスタートアップ)にアクセスする5つの方法

    Windows 11やWindows 10のPCが正常に起動しない、アップグレード後にシステムが頻繁にクラッシュするといったトラブルに直面していませんか?ご安心ください。この記事では、詳細ブートオプション(高度なスタートアップ)にアクセスするさまざまな方法を紹介します。セーフモードでの起動、UEFI設定の変更、スタートアップ修復の実行、システムの復元やシステム回復イメージの利用などを行い、PCを再び正常な状態に戻しましょう。 Windows 11のブートオプションメニューとは Windows 11および10には、旧称「詳細ブートオプション(Advanced Boot Options)」として知