Windows system >> Windowsの知識 >  >> コンピュータソフトウェアのチュートリアル >> システムツール >> VMwareスナップショットのトラブルシューティング方法

VMwareスナップショットのトラブルシューティング方法

  

仮想化管理者は、VMware ESXのスナップショットを使用して以前の状態に戻り、仮想マシンの問題点を見つけることができます。このシリーズの最初の部分では、VMwareスナップショットの使用方法について説明しました。後半では、ディスク容量を無駄にすることなくスナップショットを削除する方法について説明しました。しかし、スナップショットが失敗した場合はどうすればいいですか?この記事では、TechTarget Chinaの特別な仮想化専門家Eric Siebertが、ESXでスナップショットを使用する際の潜在的な問題について説明します。

スナップショットがある仮想マシンの場所を特定する

どの仮想マシンにスナップショットがあるのか​​を見つけようとするのは困難です。 VMware Infrastructure ClientまたはVirtualCenterでスナップショットを集中的に検索する方法はないため、削除する必要がある古いスナップショットについてESXサーバを定期的に確認する必要があります。いくつかの方法があります。

方法1 - サーバーコンソールのFindコマンドを使用します。

1.サーバーコンソールにログインします。

2. /vmfs /volumes /ディレクトリを変更します。

3. find -iname "* -delta.vmdk" -mtime + 7 -lsと入力して7日以内に変更されていないスナップショットファイルを見つけるか、またはfind -iname "* -delta.vmdk"と入力します。すべてのスナップショットファイル

方法2 - SnapalertというDominic Riveraの無料のスクリプトを使用します。このスクリプトはVI Perlツールキットを使用してVirtualCenterと直接通信し、各ホストにコンポーネントをインストールする必要がないことを保証します(ESXiの場合も同様)。スクリプトで電子メールレポートを生成するように選択することもできます。

方法3 - Xtravirtの無料ツールSnaphunterを使用して、複数のESX Serverから仮想マシンのスナップショットステータスを報告したり、電子メールでレポートを送信したりできます。

方法4 - VirtualCenter SQLデータベースをクエリします。 VirtualCenterは、VPX_SNAPSHOTテーブル内の各ホスト上のすべてのスナップショットを追跡します。私はかつてスナップショットを実行している仮想マシンのリストを表示するためにこのテーブルを必要とするVBSスクリプトを書きました。この方法はいいです。ただし、データベーステーブルに依存しています。データベーステーブルは、VirtualCenterの将来のバージョンで変更される可能性があります。

正しく削除されていないスナップショットの処理

場合によっては、スナップショットが正しく削除されずに仮想マシン内でアクティブなスナップショットのままになることがあります。これは、VMware Consolidated Backupを使用しているとき、またはSnapshot Managerを介してスナップショットを削除したときに発生します。ほとんどの場合、スナップショットはスナップショットマネージャには表示されません。スナップショットがまだ存在するという指示は、仮想マシンディレクトリのデルタファイルに表示されます。

スナップショットマネージャにない実行中のスナップショットがある場合は、1つまたは2つの方法で削除しようとすることができます。最初の方法は、VI Clientを使用して新しいスナップショットを作成してから、スナップショットマネージャからすべてのスナップショットを削除することです。または、ESXサービスコンソールにログインして仮想マシンディレクトリに移動し、vmware-cmd createnapshotと入力して新しいスナップショットを作成します。作成を待ち、「vmware-cmd removenapshots」と入力します。終了したら、デルタファイルが削除されたかどうかを確認します。削除されていれば、削除は正常に完了しています。

デルタファイルが削除されていない場合は、仮想マシンのvmxファイルを確認し、この仮想マシンに設定されている仮想ディスクが1つだけで、SCSIで始まる行を見つけた場合、通常scsi0:0です。 .fileNameは、仮想マシンで作成された元のディスクファイル名を使用する必要があります。通常は、仮想マシン名と同じです。その場合、仮想マシンはスナップショットファイルを使用しません。ファイル名に-00000#がある場合は、スナップショットファイルが現在使用されていることを意味します。

次の例は、これを明確に示しています。

スナップショットのないVM:scsi0:0.present = "true" scsi0:0.fileName = "myvmname.vmdk"スナップショットのあるVM: Scsi0:0.present = "true" scsi0:0.fileName = "myvmname-000001.vmdk"。

上記の操作が失敗した場合は、仮想マシンをコピーするか、仮想マシンディスクファイルをコピーするかを選択できます。 VMware Converterを使用して既存の仮想マシンのコピーを作成し、作成が完了したら古い仮想マシンをシャットダウンして削除できます。

もう1つの方法は、仮想マシンをシャットダウンし、サーバーコンソールにログインし、仮想マシンディレクトリに切り替え、vmkfstoolsを使用してスナップショットファイルをリソースディスクとして指定することによって仮想マシンディスクファイルをコピーすることです。 000001.vmdk myvmnamenew.vmdk "、この設定が完了したら、(削除ではなく)ハードドライブを取り外し、新しく作成したディスクファイルに新しいハードドライブとブラウザを追加してください。仮想マシンを起動すると、古いディスクとデルタファイルを削除する前にすべてが正常に機能しています。


デフォルトでは、スナップショットは各仮想マシンのホームディレクトリに書き込まれます。仮想マシンに属するボリューム上のスペースを占有せずにその場所を変更する必要がある場合があります。各仮想マシンのスナップショットに新しいディレクトリを指定することができます。これを行うと、スナップショットファイルとvswpファイルがこのディレクトリに書き込まれます。

ただし、仮想マシンが共有ストレージ上にある場合、ローカルストレージをアドレスとして指定すると、VMotion /HA /DRSなどの機能を使用できなくなります。方法を変更する手順は、次のとおりです。

01.仮想マシンをシャットダウンし、サーバーコンソールにログインします。

02. NanoまたはViを使用して仮想マシンのVMXファイルを編集します。

3.次のステートメントを使用して新しい行を追加します。workingDir = "/vmfs /volumes /SnapVolume /Snapshots /"。

4. vswpファイルを仮想マシンディレクトリに保持する場合は、VMXファイルにsched.swap.dir = "/vmfs /volumes /VM-Volume1 /MyVM /"を追加します。この手順はオプションです。さらに、既存の "sched.swap.derivedName"パラメータは、仮想マシンによって生成され、仮想マシンがパワーオンされるたびに設定ファイルに書き込まれるため、更新する必要はありません。

5.仮想マシンを起動すると、vswp、vmsn、およびsnapshot(delta-vmdk)ファイルがこのディレクトリにあります。

スナップショットでのVMotionの使用

スナップショットを実行している仮想マシンをあるホストから別のホストに移動しようとすると、次の警告が表示されます。スナップショットに戻るとエラー(警告)になる可能性があります。この警告は、仮想マシン内のファイルのデフォルトの場所(上記のスナップショットファイルやvswpファイルなど)を変更した場合に発生します。移行が完了すると仮想マシンがクラッシュします。これは、宛先ホストがリソースホスト上のファイル内のストレージにアクセスできない場合に発生する可能性があります。

そのため、仮想マシンが共有ストレージ上にあり、構成されている場合、スナップショットファイルはローカルストレージ上にあり、仮想マシンを別のホストに移動すると問題が発生します。すべての仮想マシンのファイルが共有ストレージ上にあり、すべてのESXホスト上でアクセス可能であれば、仮想マシンは機能しています。仮想マシンを移動する前に、すべてのスナップショットをコミットすることをお勧めします。あなたがしない場合でも、あなたは働くことができます。

Copyright © Windowsの知識 All Rights Reserved