警告:この記事のセクションおよび手順を順序どおりに実行してください。それぞれの手順が仮想マシンに影響を与える可能性があるため、セクションや手順を省略しないでください。 vSphere Client/vSphere Web Client を使用した仮想マシンのパワーオフ
クライアントを使用して仮想マシンの安全なパワーオフを試みます。
- vSphere Client または vSphere Web Client を VMware vCenter Server または VirtualCenter Server に接続します。
- 仮想マシンを右クリックし、[パワーオフ] をクリックします。「別のタスクがすでに進行中です」と表示されて電源操作が失敗する場合は、タスクが完了するまで待機するか、「Powering off a virtual machine fails with the error: Cannot power Off: Another task is already in progress (1027040)」または「vCenter operation times out with the error: Operation failed since another task is in progress (1004790)」を参照してください。
- 仮想マシンがまだ実行中の場合は、ホストから同じ操作を直接実行してみます。
- 仮想マシンを実行している ESXi ホストに vSphere Client または VMware Host Client を直接接続します。
- 仮想マシンを右クリックし、[パワーオフ] を選択します。
注:vSphere 6.5 から、仮想マシンの暗号化を有効にして、仮想マシンとそのファイルを保護することができます。
暗号化が仮想マシン上で有効になっている場合は、一連の暗号化処理の権限が必要です。それがないと、仮想マシンをパワーオフできません。
クライアントを使用して仮想マシンを正常にパワーオフできない場合は、いずれかのコマンドライン オプションを使用します。
vSphere Command-Line Interface ツールのインストール
vSphere Command-Line Interface (vCLI) は、この記事のいくつかの手順で使用します。続行する前に、このインターフェイスがインストールされていることを確認してください。 注:リモート コマンドライン インターフェイスは、ESXi 4.x、ESXi 5.x、および ESXi 6.0 用の vSphere Management Assistant (vMA) からもアクセスできます。このツールを使用する場合は、『vSphere Command-Line Interface Installation and Reference Guide』の「vMA のインストールと vMA からのコマンドの実行」を参照してください。 仮想マシンの場所の特定
仮想マシンを実行しているホストを特定します。この情報は、VI Client の仮想マシンの [サマリ] タブで確認できます。以降のコマンドは、仮想マシンが実行されている ESXi ホスト上で実行されるか、リモートで参照されます。 ESXi esxcli コマンドを使用して仮想マシンをパワーオフする
esxcli
コマンドは、ESXi 5.x 以降で実行されている仮想マシンをローカルあるいはリモートでパワーオフするために使用できます。詳細については、『vSphere Command-Line Interface Reference』の「esxcli vm コマンド」セクションを参照してください。
- ESXi Shell、vSphere Management Assistant (vMA) 、または vSphere Command-Line Interface (vCLI) がインストールされている場所で、
esxcli
ツールを使用できるコンソール セッションを開きます。 - 次のコマンドを実行して、ワールド ID、UUID、表示名、
.vmx
構成ファイルへのパスで識別される、実行中の仮想マシンのリストを取得します。
esxcli vm process list
- 次のコマンドを実行して、リストから仮想マシンをパワーオフします。
esxcli vm process kill --type= [soft,hard,force] --world-id= WorldNumber
注:
- 3 つのパワーオフ方法があります。ソフトが最も安全なパワーオフ方法です。ハードは即時シャットダウンを実行します。強制は、最後の手段として使用してください。
- 別のパワーオフ コマンド構文は、次のとおりです:esxcli vm process kill -t [soft,hard,force] -w WorldNumber
- 手順 2 を繰り返し、仮想マシンが実行されていないことを確認します。
ESXi 4.1 の場合:
- 次のコマンドを実行して、ワールド ID、UUID、表示名、.vmx 構成ファイルへのパスで識別される、実行中の仮想マシンのリストを取得します。
esxcli vms vm list
- 次のコマンドを実行して、リストから仮想マシンをパワーオフします。
esxcli vms vm kill --type= [soft,hard,force] --world-id= WorldNumber
ESXi コマンドライン ユーティリティ vim-cmd を使用して仮想マシンをパワーオフする
- ESXi コンソールで Tech Support モードにして、root としてログインします。詳細については、「Tech Support Mode for Emergency Support (1003677)」を参照してください。
- 次のコマンドを実行して、VMID、表示名、
.vmx
構成ファイルへのパスで識別される、登録されたすべての仮想マシンのリストを取得します。
vim-cmd vmsvc/getallvms
- 次のコマンドを実行して、仮想マシンの現在の状態を取得します。
vim-cmd vmsvc/power.getstate VMID
- 手順 2 で取得した VMID を使用して仮想マシンをシャットダウンし、次のコマンドを実行します。
vim-cmd vmsvc/power.shutdown VMID
注:仮想マシンがシャットダウンに失敗した場合は、次のコマンドを実行します。
vim-cmd vmsvc/power.off VMID
ESXi へ仮想マシンをパワーオフする信号を送信する
仮想マシンは、プロセスに信号を送信することでコマンドラインから停止できます。
警告:この手順は、ESXi ホストにとって危険な場合があります。適切なプロセス ID(PID)を特定せず、誤ったプロセスを強制終了すると、予期せぬ結果となる場合があります。これらの手順を実行したあとでも問題が解決されない場合は、VMware テクニカル サポートにサポート リクエストを提出し、このナレッジ ベースの記事 ID(1014165)を問題の説明の中に記入してください。詳細については、「
How to Submit a Support Request」を参照してください。
ESXi 3.5 以降では、kill
コマンドを使用して実行中の仮想マシン プロセスに信号を送信し、そのプロセスを停止することができます。
- ESXi コンソールで Tech Support モードにして、root としてログインします。詳細については、「Tech Support Mode for Emergency Support (1003677)」を参照してください。
- 次のコマンドを実行して、仮想マシン プロセスが ESXi ホスト上で実行しているかどうかを特定します。
ps | grep vmx
出力は次のようになります。
7662 7662 vmx /bin/vmx
7667 7662 vmx /bin/vmx
7668 7662 mks:VirtualMachineName /bin/vmx
7669 7662 vcpu-0:VirtualMachineName /bin/vmx
vmx
プロセスごとに 1 つずつ、いくつかの行が返されます。ターゲット仮想マシンの親 vmx
プロセスを特定します。最初の列には PID が含まれており、2 つめの列には親 PID が含まれています。親プロセスのみを終了するようにしてください。各プロセスの親プロセス ID(PID)は、2 列目に一覧表示されており、この例では太字で示されています。次の手順のためにこの数字をメモしておきます。
注意:修正を試みる仮想マシンのみに特有の行を特定していることを確認してください。問題となっている仮想マシン以外の仮想マシンでこのプロセスを続行すると、他の仮想マシンのダウンタイムの原因となります。
vmx
プロセスがリストに表示されている場合は、次のコマンドを実行してプロセスを終了します。
kill ProcessID
- 30 秒待機してから手順 2 を繰り返し、プロセスを再度確認します。
- プロセスが終了していない場合は、次のコマンドを実行します。
kill -9 ProcessID
- 30 秒待機し、プロセスを再度確認します。
ESXi 4.x 以降では、esxtop
で k
コマンドを使用して実行中の仮想マシン プロセスに信号を送信し、そのプロセスを停止することができます。
- ESXi コンソールで Tech Support モードにして、root としてログインします。詳細については、「Tech Support Mode for Emergency Support (1003677)」を参照してください。
- 次のコマンドを実行して、
esxtop
ユーティリティを実行します。
esxtop
- C キーを押して CPU リソース使用率画面に切り替えます。
- Shift + V キーを押して、ビューを仮想マシンに限定します。これにより、手順 7 でリーダー ワールド ID が見つけやすくなります。
- F キーを押してフィールドのリストを表示します。
- c を押してリーダー ワールド ID の列を追加します。
- 名前とリーダー ワールド ID (
LWID
) でターゲット仮想マシンを特定します。 - k を押します。
World to kill
プロンプトで、手順 6 のリーダー ワールド ID を入力し、Enter キーを押します。 - 30 秒待機し、プロセスがリストされていないことを確認します。
注:上記の手順を実行しても問題が解決されず、ESX\ESXi ホストが応答する場合は、再起動して仮想マシンをパワーオフ状態にする必要がある可能性があります。