Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Hyper-V:VMの自動起動と起動順序の構成

Hyper-Vでは、ホストOSを起動または再起動するときに、仮想マシンの自動起動およびシャットダウンオプションを構成できます。この記事では、Hyper-Vホストの電源がオンまたは正常にシャットダウンされたときに仮想マシンで実行するアクションを構成する方法と、仮想マシンの起動順序を設定する方法を示します。

Hyper-V仮想マシンの自動起動およびシャットダウンアクションを構成する

デフォルトでは、Hyper-Vホストは、再起動時に登録済みの仮想マシンの状態を保存します。これは、再起動前にVMが実行されていた場合、Hyper-VがVMを自動的に起動することを意味します。自動起動設定は、VMごとに個別に構成されます。

Hyper-Vコンソールを実行し、任意のVMのプロパティを開いて、[設定]->自動開始アクションに移動します 。仮想マシンの自動起動を管理するための3つのオプションが利用可能です:

  • 何もありません –ホストが起動すると、仮想マシンは自動的に起動しません(ホストが再起動する前の状態に関係なく)
  • サービスが停止したときに実行されていた場合は自動的に開始します – VMは、ホストのシャットダウン/再起動前に実行されていた場合にのみ自動的に起動します
  • この仮想マシンは常に自動的に起動します – Hyper-Vホストの起動時に、常にこの仮想マシンを起動します。

最後のオプションでもう1つのパラメータを使用できます–起動遅延 。ここでは、仮想マシンの起動遅延時間を秒単位で指定できます。遅延を使用すると、仮想マシンの起動順序を管理し(たとえば、SQL ServerでVMを起動する前にドメインコントローラーを起動する)、複数のVMを順番に起動することによるディスクストレージの負荷を軽減できます。

Hyper-V:VMの自動起動と起動順序の構成

Windows Admin Center(WAC)に、Hyper-V仮想マシンの自動起動を管理するオプションがまだないのは興味深いことです。

また、自動停止アクション セクションでは、ホストがシャットダウンまたは再起動された場合の仮想マシンの処理方法を設定できます。

この設定は、緊急事態(予期しない停電、BSOD)とは異なり、仮想マシンが正常にシャットダウンする時間があるときにHyper-Vホストが正しく再起動することを意味します。
  • 仮想マシンの状態を保存する –仮想マシンの完全な状態(メモリを含む)が保存されます。次回の起動時に、仮想マシンはこの時点から再開します。 VMメモリ(* .BINファイル)を保持するには、ディスクに追加の空き領域が必要であることに注意してください。ゲストOSは再起動されません;
  • 仮想マシンをオフにします – Hyper-Vホストがシャットダウンされると、仮想マシンも停止します(物理コンピューターがシャットダウンされるのと同じ方法で)。 VMの状態は保存されず、ゲストOSは完全なブートサイクルで起動されます。このモードでは、VMで実行されているアプリで一貫性のないデータを取得するリスクがあります。
  • ゲストオペレーティングシステムをシャットダウンします –ゲストOSは、Hyper-V統合サービスを使用してシャットダウンされます(正常なシャットダウン)。 VMで実行されているすべてのアプリが停止し、一貫性のないデータを取得するリスクは非常に低くなります。

Hyper-V:VMの自動起動と起動順序の構成

PowerShellを使用して、Hyper-V仮想マシンの自動起動と自動シャットダウンの設定を表示および変更できます。

すべてのVMの現在の起動設定とシャットダウン設定を表示します:

Get-VM –VMname * | Select-Object VMname,AutomaticStartAction,AutomaticStartDelay,AutomaticStopAction

Hyper-V:VMの自動起動と起動順序の構成

AutomaticStartAction を使用して、VMの自動起動設定を変更できます オプション。可能な値はNothingです。 、StartIfRunningStart

Get-VM –VMname lon-win10| Set-VM –AutomaticStartAction Start

PowerShellを使用して、GUIのない​​無料のWindowsHyper-VServerホストで仮想マシン設定を構成できます。

1つを除くすべてのVMの起動遅延を設定するには(たとえば、FSMOの役割を持つドメインコントローラー):

Get-VM –VMname * | Where-object –FilterScript {$_.vmname –notlike “lon-dc*”} | Set-VM –AutomaticStartDelay 90

AutomaticStopActionの使用 オプションで、VMシャットダウン設定を設定できます(SaveTurnOffShutDown

Hyper-V仮想マシンの起動(起動)順序

スタンドアロンのHyper-Vホストを起動する場合、管理者はそのホスト上の仮想マシンの起動順序を管理する必要があります。たとえば、Exchange VMは、ドメインコントローラーが使用可能になった後でのみ起動し、アプリサーバーはデータベースサーバーの後で起動する必要があります。 Hyper-Vには、開始遅延オプション(AutomaticStartDelay)を除いて、仮想マシンの起動順序を管理するための組み込みツールはありません。 。

最も単純なケースでは、VMの起動遅延を設定することで、VMの起動順序を構成できます。

Get-VM –VMname lon-dc01| Set-VM –AutomaticStartDelay 0
Get-VM –VMname lon-exch1,lon-db01 | Set-VM –AutomaticStartDelay 90
Get-VM –VMname lon-rds01,lon-app01 | Set-VM –AutomaticStartDelay 180

もう1つの方法は、PowerShell起動スクリプトを使用してVMを順番に起動することです。スクリプトでは、次のVMを開始する前に遅延を設定し、VM内のアプリケーションまたはサービスの可用性について追加のチェックを実行できます(アプリまたはサービスが開始されていることを確認するため)。より便利にするために、タグを使用して複数のVMをグループに参加させることができます。たとえば、VMに次のタグを設定しました。

set-vm lon-dc01,lon-dc02 -Notes "Boot order 1"
set-vm lon-exch1, lon-db01 -Notes "Boot order 2"
set-vm lon-rds01,lon-app01 -Notes "Boot order 3"

Hyper-V:VMの自動起動と起動順序の構成

次のPowerShellスクリプトは、特定の順序で仮想マシンを起動し、PowerShellコマンドレットTest-NetConnectionを使用してVM内の一部のサービス(TCPポート)の追加の可用性チェックを実行します。

$VMtoStart = Get-VM | where notes -contains 'Boot order 1'
foreach ($cn in $VMtoStart)
{Start-VM $cn.name -asjob}
While (!(Test-NetConnection lon-dc01 -Port 445 -WarningAction SilentlyContinue).tcpTestSucceeded ){
Start-Sleep 30
}
$VMtoStart = Get-VM | where notes -contains 'Boot order 2'
foreach ($cn in $VMtoStart)
{Start-VM $cn.name -asjob}
While ((Test-NetConnection lon-exch1 -Port 25 -WarningAction SilentlyContinue).tcpTestSucceeded ){
Start-Sleep 30
}
$VMtoStart = Get-VM | where notes -contains 'Boot order 3'
foreach ($cn in $VMtoStart)
{Start-VM $cn.name -asjob}

次に、PowerShellスクリプトを追加して、タスクスケジューラを使用して自動起動または実行します(このスクリプトを使用して起動するすべてのVMの自動起動を無効にすることを忘れないでください)。 Windowsでは、PowerShellスクリプトの実行がデフォルトで制限されていることに注意してください。必要に応じて、PS1スクリプトに署名するか、PowerShellスクリプトの実行ポリシーを変更します。


  1. Hyper-V2019での仮想マシンのエクスポートとインポート

    2019年8月に、Hyper-V 2019のインストール、仮想マシンの構成と展開の手順を説明する4つの記事を書きました。これらの記事を見逃した場合は、以下のリンクで読むことができます: パート1:Hyper-V 2019サーバーコアのインストール方法パート2:Hyper-V 2019コアサーバー–初期構成パート3:Hyper-V 2019コアリモート管理パート4: Hyper-V2019で最初の仮想マシンを作成する この記事では、仮想マシンをあるHyper-V2019サーバーから別のHyper-V2019サーバーにエクスポートおよびインポートする方法について説明します。仮想マシン、構成ファ

  2. Windows 10 と Windows 11 をデュアル ブートする方法

    デュアル ブート システムの本質は、デバイス上の現在の OS を必ずしもアンインストールすることなく、ユーザーが Windows 10 PC に Windows 11 をインストールできるようにすることです。 これにより、ユーザーは、新しい OS が持続可能かどうかを評価できるため、意思決定において重要な新しい OS を試すことができます。基本的に、デュアルブートにより、ユーザーは古い OS バージョンと新しい OS バージョンを同じデバイスで同時に体験できます。 そうは言っても、デバイスが Windows 11 をインストールするためのシステム要件を満たしていることを確認することが重要で