Save-SCVirtualMachine
ホストにデプロイされた仮想マシンを VMM ライブラリに移行します。
構文
Save-SCVirtualMachine
[-VM] <VM>
[-LibraryServer <LibraryServer>]
[-UseLAN]
[-SharePath <String>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
説明
Save-SCVirtualMachine コマンドレットは、ホストにデプロイされた仮想マシンを仮想マシン マネージャー (VMM) ライブラリに移行します。
これにより、次のいずれかの転送方法を使用して、VMM ライブラリに仮想マシンが格納されます。
- SAN 転送 (ファイバー チャネル、iSCSI、または NPIV)。 ホスト サーバーとライブラリ サーバーの両方が SAN ストレージに接続されている場合、VMM は SAN 転送を使用して仮想マシンをライブラリに格納できます。 SAN 転送では、転送元のホストから転送先のライブラリ サーバーにターゲット LUN が再マップされます。 このコマンドレットは、ファイルを移動しません。 SAN 転送は、仮想マシン ファイルをローカル エリア ネットワーク (LAN) 経由でホスト間で移動するよりもはるかに高速です。 NPIV でのホスト バス アダプタ (HBA) がサポートされる場合、VMM では NPIV SAN 転送を使用できます。
- ネットワーク転送。 高速な方法がない場合、VMM はネットワーク転送を使用して、2 つのサーバーを接続する LAN 経由でホスト サーバーからライブラリ サーバーに仮想マシン ファイルを移動します。 SharePath パラメーターとして仮想マシンを格納するライブラリ内の 共有 のパスを指定します。
このコマンドレットは、最も高速に利用可能な転送の種類を自動的に使用します。 ネットワーク転送を強制する場合は、 UseLAN パラメーターを指定します。 ホスト サーバーとライブラリ サーバーが同じサーバーの場合、 UseLAN を指定してもコマンドは失敗しませんが、そのパラメーターを使用しないと、ライブラリへの移行が高速になります。
仮想マシンは、ライブラリに保管しただけでは起動できません。 仮想マシンを起動する前に、 Move-SCVirtualMachine コマンドレットを使用して仮想マシンをホストに移動する必要があります。
例
例 1: 仮想マシンをライブラリに保存する
PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $LibServer = Get-SCLibraryServer -ComputerName "LibServer01"
PS C:\> Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer01.Contoso.com\Library01\VMs"
最初のコマンドは、VM01 という名前の仮想マシン オブジェクトを取得し、そのオブジェクトを$VM変数に格納します。
2 番目のコマンドは LibServer01 という名前のライブラリ サーバー オブジェクトを取得し、そのオブジェクトを $Library 変数に格納します。
最後のコマンドは、VM01 をホストから移行し、それを場所 \LibServer01.Contoso.com\Library01\VM に格納します。 このコマンドは、使用可能な転送方法のうちで最も迅速な方法を自動的に使用します。
例 2: ライブラリに仮想マシンを非同期的に格納する
PS C:\> $VM = Get-SCVirtualMachine -Name "VM02"
PS C:\> $LibServer = Get-SCLibraryServer -ComputerName "LibServer02"
PS C:\> Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer02.Contoso.com\Library02\VMs" -RunAsynchronously -JobVariable "SaveVMJob"
PS C:\> $SaveVMJob
最初のコマンドは、VM02 という名前の仮想マシン オブジェクトを取得し、そのオブジェクトを $VM 変数に格納します。
2 番目のコマンドは LibServer02 という名前のライブラリ サーバー オブジェクトを取得し、そのオブジェクトを $Library 変数に格納します。
3 番目のコマンドは、VM02 を場所 \LibServer02.Contoso.com\Library02\VM に移行します。 コマンドは、コマンド シェルにコントロールをすぐに返す RunAsynchronously パラメーターを指定します。 このコマンドは、ジョブの進行状況を追跡する JobVariable パラメーターを指定し、その進行状況のレコードを$SaveVMJobに格納します。 JobVariable の場合、変数を作成するドル記号 ($) は指定しません。
最後のコマンドは、$SaveVMJobの内容を表示します。
例 3: ネットワーク転送を強制して、ライブラリに仮想マシンを格納する
PS C:\> $VM = Get-SCVirtualMachine -Name "VM03"
PS C:\> $LibServer = Get-SCLibraryServer -ComputerName "LibServer01"
PS C:\> Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer01.Contoso.com\Library01\VMs" -UseLAN
最初のコマンドは、VM03 という名前の仮想マシンを取得し、そのオブジェクトを$VM変数に格納します。
2 番目のコマンドは、LibServer01 という名前のライブラリ サーバー オブジェクトを取得し、そのオブジェクトを$LibServer変数に格納します。
最後のコマンドは、VM03 を場所 \LibServer01.Contoso.com\Library01\VM に格納します。 UseLAN パラメーターは、高速転送メカニズムが使用可能な場合でも、LAN 経由でネットワーク転送を強制します。
パラメーター
-JobVariable
ジョブの進行状況の変数の名前を指定します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LibraryServer
VMM ライブラリ サーバー オブジェクトを指定します。
Type: | LibraryServer |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OnBehalfOfUser
ユーザー名を指定します。 このコマンドレットは、このパラメーターで指定されたユーザーの代わりに動作します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUserRole
ユーザー ロールを指定します。 ユーザー ロールを取得するには、 Get-SCUserRole コマンドレットを 使用します。 このコマンドレットは、このパラメーターが指定するユーザー ロールの代わりに動作します。
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
このアクションをトリガーしたパフォーマンスとリソース最適化のヒント (PRO ヒント) の ID を指定します。 このパラメーターを使用すると、PRO のヒントを監査できます。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
コントロールがコマンド シェルに直ちに戻るように、ジョブが非同期的に実行されることを示します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SharePath
このコマンドレットによって仮想マシンが保存される既存のライブラリ サーバー上の有効なライブラリ共有へのパスを指定します。 汎用名前付け規則 (UNC) パスを指定します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseLAN
高速転送メカニズムが使用可能な場合でも、このコマンドレットが LAN 経由の転送を使用することを示します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VM
保存する仮想マシン オブジェクトを指定します。
Type: | VM |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
出力
VirtualMachine
このコマンドレットは 、VirtualMachine オブジェクトを返します。
メモ
- Get-SCVirtualMachine コマンドレットを使用して取得できる VMM 仮想マシン オブジェクトが必要です。