System Center 2016 – Virtual Machine Manager (SCVMM 2016) に触れる機会が多くなり、Virtual Machine Manager Command Shell を使った設定や、情報取得、および管理することが増えてきたので、備忘録として各コマンドレットの概要を日本語化 (意訳) しました。
ここでは Save-SCVirtualMachine コマンドレットのヘルプ情報について、SCVMM2016 UR5 の Virtual Machine Manager Command Shell 上で「Save-SCVirtualMachine」コマンドレットの -Full オプションを用いて実行した結果を元に記載しています。
※SCVMM 2016 UR5 で利用可能なコマンドレット一覧については、「System Center 2016 – Virtual Machine Manager で利用できるコマンドレットについて」を参照。
Save-SCVirtualMachine コマンドレット
名前
Save-SCVirtualMachine
概要
VMM ライブラリにホストに展開された仮想マシンを移行します。
構文
Save-SCVirtualMachine [-VM] <VM> [-JobVariable <String>] [-LibraryServer <LibraryServer>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-SharePath <String>] [-UseLAN] [<CommonParameters>] |
説明
Save-SCVirtualMachine コマンドレットは、Virtual Machine Manager (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 コマンドレットを用いてホストに移動する必要があります。
パラメーター
-JobVariable <String>
ジョブの進行状況を示す変数名を指定します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-LibraryServer <LibraryServer>
VMM ライブラリ サーバー オブジェクトを指定します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | True (ByValue) |
ワイルドカード文字を許可する | false |
-OnBehalfOfUser <String>
ユーザー名を指定します。このコマンドレットは、このパラメーターが指定するユーザーの代わりに操作します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-OnBehalfOfUserRole <UserRole>
ユーザー ロールを指定します。ユーザー ロールを取得するには、Get-SCUserRole コマンドレットを用います。このコマンドレットは、このパラメーターで指定するユーザー ロールの代わりに操作します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-PROTipID <Guid>
このアクションにトリガーされるパフォーマンスとリソースの最適化のヒント (PRO ヒント) を指定します。このパラメーターは、PRO ヒントを監査することができます。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-RunAsynchronously [<SwitchParameter>]
ジョブが非同期で実行、制御がすぐにコマンド シェルに戻されるかどうかを指定します。
必須 | false |
---|---|
位置 | named |
既定値 | False |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-SharePath <String>
このコマンドレットが仮想マシンを保存する既存のライブラリ サーバー上の有効なライブラリ共有へのパスを指定します。汎用名前付け規則 (UNC) パスを指定します。
必須 | false |
---|---|
位置 | named |
既定値 | None |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-UseLAN [<SwitchParameter>]
このコマンドレットは、より高速な転送メカニズムが利用可能であっても LAN 経由での転送を使用する場合に指定します。
必須 | false |
---|---|
位置 | named |
既定値 | False |
パイプライン入力を許可する | False |
ワイルドカード文字を許可する | false |
-VM <VM>
保存する仮想マシン オブジェクトを指定します。
必須 | true |
---|---|
位置 | 0 |
既定値 | None |
パイプライン入力を許可する | True (ByValue) |
ワイルドカード文字を許可する | false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: Verbose、Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、OutBuffer, PipelineVariable、および OutVariable。詳細については、about_CommonParameters を参照してください。
入力
出力
- VirtualMachine
- このコマンドレットは、VirtualMachine オブジェクトを返します。
メモ
Get-SCVirtualMachine コマンドレットを用いて取得可能な VMM 仮想マシン オブジェクトが必要となります。
例
例 1 : ライブラリに仮想マシンを保存する
コマンド
$VM = Get-SCVirtualMachine -Name "VM01" $LibServer = Get-SCLibraryServer -ComputerName "LibServer01" Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer01.Contoso.com\Library01\VMs"
コマンドの説明
最初のコマンドは、仮想マシン オブジェクト “VM01” を取得し、そのオブジェクトを $VM 変数に格納します。
2 番目のコマンドは、ライブラリ サーバー オブジェクト “LibServer01” を取得し、そのオブジェクトを $LibServer 変数に格納します。
最後のコマンドは、ホストから VM01 を移行し、\\LibServer01.Contoso.com\Library01\VMs に保存します。このコマンドは、使用可能な最速の転送の種類を自動的に使用します。
例 2 : ライブラリに非同期に仮想マシンを格納する
コマンド
$VM = Get-SCVirtualMachine -Name "VM02" $LibServer = Get-SCLibraryServer -ComputerName "LibServer02" Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer02.Contoso.com\Library02\VMs" -RunAsynchronously -JobVariable "SaveVMJob" $SaveVMJob
コマンドの説明
最初のコマンドは、仮想マシン オブジェクト “VM02” を取得し、そのオブジェクトを $VM 変数に格納します。
2 番目のコマンドは、ライブラリ サーバー オブジェクト “LibServer02” を取得し、そのオブジェクトを $LibServer 変数に格納します。
3 番目のコマンドは、VM02 を \\LibServer02.Contoso.com\Library02\VMs の場所に移行します。コマンドはすぐにコマンド シェルに制御を戻すために RunAsynchronously パラメーターを指定します。このコマンドは、JobVariable パラメーターがジョブの進行状況を追跡するように指定し、進行状況のレコードを $SaveVMJob に格納します。JobVariable では、変数を作成するためにドル記号 ($) を指定しません。
最後のコマンドは、$SaveVMJob のコンテンツを表示します。
例 3 : ネットワーク転送を強制することでライブラリに仮想マシンを格納する
コマンド
$VM = Get-SCVirtualMachine -Name "VM03" $LibServer = Get-SCLibraryServer -ComputerName "LibServer01" Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer01.Contoso.com\Library01\VMs" -UseLAN
コマンドの説明
最初のコマンドは、仮想マシン オブジェクト “VM03” を取得し、そのオブジェクトを $VM 変数に格納します。
2 番目のコマンドは、ライブラリ サーバー オブジェクト “LibServer01” を取得し、そのオブジェクトを $LibServer 変数に格納します。
最後のコマンドは、VM03 を\\LibServer01.Contoso.com\Library01\VMs の場所に格納します。 UseLAN パラメーターは、より高速な転送メカニズムが利用可能であっても LAN 経由でネットワーク転送を強制します。
関連するリンク
- Get-SCUserRole
- Get-SCVirtualMachine
- Move-SCVirtualMachine
- Read-SCVirtualMachine
- Stop-SCVirtualMachine
参考
- System Center 2016 – データセンターの管理 | Microsoft
https://www.microsoft.com/ja-jp/cloud-platform/system-center - VirtualMachineManager | Microsoft Docs
https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/?view=systemcenter-ps-2016 - Save-SCVirtualMachine (VirtualMachineManager) | Microsoft Docs
https://docs.microsoft.com/en-us/powershell/module/virtualmachinemanager/save-scvirtualmachine?view=systemcenter-ps-2016