Save-SCVirtualMachine

Migra uma máquina virtual implantada em um host para a biblioteca do VMM.

Syntax

Save-SCVirtualMachine
    [-VM] <VM>
    [-LibraryServer <LibraryServer>]
    [-UseLAN]
    [-SharePath <String>]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]

Description

O cmdlet Save-SCVirtualMachine migra uma máquina virtual implantada em um host para a biblioteca do VMM (Virtual Machine Manager).

Isso armazena uma máquina virtual na biblioteca do VMM usando um dos seguintes métodos de transferência:

  • Transferência san (Fibre Channel, iSCSI ou NPIV). Se o servidor de host e biblioteca estiver conectado ao armazenamento SAN, o VMM poderá usar uma transferência san para armazenar a máquina virtual na biblioteca. Em uma transferência de SAN, os LUNs de destino são remapeados do host de origem para o servidor de biblioteca de destino. Esse cmdlet não move nenhum arquivo. A transferência de SAN é muito mais rápida do que mover arquivos de máquina virtual de um host para outro em uma LAN (rede de área local). O VMM poderá usar uma transferência NPIV SAN se um HBA (adaptador de barramento de host) com suporte de NPIV estiver disponível.
  • Transferência de rede. Se nenhum método mais rápido estiver disponível, o VMM usará uma transferência de rede para mover os arquivos de máquina virtual do servidor host para o servidor de biblioteca pela LAN que conecta os dois servidores. Especifique o caminho do compartilhamento na biblioteca para armazenar a máquina virtual como o parâmetro SharePath .

Esse cmdlet usa automaticamente o tipo de transferência disponível mais rápido. Se você quiser forçar uma transferência de rede, especifique o parâmetro UseLAN . Se o servidor host e o servidor de biblioteca forem o mesmo servidor, o comando não falhará se você especificar UseLAN, mas a migração para a biblioteca ocorrerá mais rapidamente se você não usar esse parâmetro.

Quando uma máquina virtual é armazenada na biblioteca, ela não pode ser iniciada. Antes de iniciar a máquina virtual, você deve movê-la para um host usando o cmdlet Move-SCVirtualMachine .

Exemplos

Exemplo 1: salvar uma máquina virtual na biblioteca

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"

O primeiro comando obtém o objeto de máquina virtual chamado VM01 e armazena esse objeto na variável $VM.

O segundo comando obtém o objeto de servidor de biblioteca chamado LibServer01 e armazena esse objeto na variável $Library.

O último comando migra a VM01 de seu host e o armazena para o local \LibServer01.Contoso.com\Library01\VMs. O comando usa automaticamente o tipo de transferência disponível mais rápido.

Exemplo 2: armazenar uma máquina virtual na biblioteca de forma assíncrona

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

O primeiro comando obtém o objeto de máquina virtual chamado VM02 e armazena esse objeto na variável $VM.

O segundo comando obtém o objeto do servidor de biblioteca chamado LibServer02 e armazena esse objeto na variável $Library.

O terceiro comando migra a VM02 para o local \LibServer02.Contoso.com\Library02\VMs. O comando especifica o parâmetro RunAsynchronously para retornar o controle ao shell de comando imediatamente. O comando especifica o parâmetro JobVariable acompanha o progresso do trabalho e armazena um registro de seu progresso em $SaveVMJob. Para JobVariable, você não especifica o sinal de dólar ($) para criar a variável.

O último comando exibe o conteúdo do $SaveVMJob.

Exemplo 3: armazenar uma máquina virtual na biblioteca forçando uma transferência de rede

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

O primeiro comando obtém a máquina virtual chamada VM03 e armazena esse objeto na variável $VM.

O segundo comando obtém o objeto do servidor de biblioteca chamado LibServer01 e armazena esse objeto na variável $LibServer.

O último comando armazena a VM03 no local \LibServer01.Contoso.com\Library01\VMs. O parâmetro UseLAN força uma transferência de rede pela LAN mesmo se um mecanismo de transferência mais rápido estiver disponível.

Parâmetros

-JobVariable

Especifica o nome de uma variável para o progresso do trabalho.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LibraryServer

Especifica um objeto de servidor de biblioteca do VMM.

Type:LibraryServer
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OnBehalfOfUser

Especifica um nome de usuário. Esse cmdlet opera em nome do usuário especificado por esse parâmetro.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUserRole

Especifica uma função de usuário. Para obter uma função de usuário, use o cmdlet Get-SCUserRole . Esse cmdlet opera em nome da função de usuário especificada por esse parâmetro.

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

Especifica a ID da dica de Desempenho e Otimização de Recursos (dica PRO) que disparou essa ação. Esse parâmetro permite que você audite dicas pro.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

Indica que o trabalho é executado de forma assíncrona para que o controle retorne imediatamente ao shell de comando.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SharePath

Especifica um caminho para um compartilhamento de biblioteca válido em um servidor de biblioteca existente em que esse cmdlet salva a máquina virtual. Especifique um caminho UNC (Convenção Universal de Nomenclatura).

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseLAN

Indica que esse cmdlet usa a transferência pela LAN mesmo se um mecanismo de transferência mais rápido estiver disponível.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Especifica um objeto de máquina virtual a ser salvo.

Type:VM
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Saídas

VirtualMachine

Esse cmdlet retorna um objeto VirtualMachine .

Observações

  • Requer um objeto de máquina virtual do VMM, que pode ser recuperado usando o cmdlet Get-SCVirtualMachine .