Partilhar via


Save-SCVirtualMachine

Migra uma máquina virtual implantada num hospedeiro para a biblioteca 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 num hospedeiro para a biblioteca Virtual Machine Manager (VMM).

Este armazena uma máquina virtual para a biblioteca VMM utilizando um dos seguintes métodos de transferência:

  • Transferência SAN (Canal de Fibra, iSCSI ou NPIV). Se o servidor de anfitrião e biblioteca estiver ligado ao armazenamento SAN, o VMM pode utilizar uma transferência SAN para armazenar a máquina virtual na biblioteca. Numa transferência SAN, os LUNs alvo são rempeitados do anfitrião de origem para o servidor da biblioteca de destino. Este cmdlet não move ficheiros. A transferência de SAN é muito mais rápida do que mover ficheiros de máquinas virtuais de um hospedeiro para outro através de uma rede local (LAN). A VMM pode utilizar uma transferência NPIV SAN se estiver disponível um adaptador de autocarros anfitrião (HBA) com suporte NPIV.
  • Transferência de rede. Se não houver um método mais rápido disponível, o VMM utiliza uma transferência de rede para mover os ficheiros de máquinas virtuais do servidor anfitrião para o servidor da biblioteca sobre o LAN que liga os dois servidores. Especifique o caminho da partilha na biblioteca para armazenar a máquina virtual como o parâmetro SharePath .

Este cmdlet utiliza automaticamente o tipo de transferência mais rápido disponível. Se pretender forçar uma transferência de rede, especifique o parâmetro UseLAN . Se o servidor de anfitrião e o servidor da biblioteca forem o mesmo servidor, o comando não falha se especificar o UseLAN, mas a migração para a biblioteca ocorre mais rapidamente se não utilizar esse parâmetro.

Quando uma máquina virtual é armazenada na biblioteca, não pode ser iniciada. Antes de poder ligar a máquina virtual, tem de movê-la para um hospedeiro utilizando o cmdlet Move-SCVirtualMachine .

Exemplos

Exemplo 1: Guarde uma máquina virtual para a 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 recebe o objeto da máquina virtual chamado VM01, e depois armazena esse objeto na variável $VM.

O segundo comando obtém o objeto do servidor da biblioteca chamado LibServer01 e, em seguida, armazena esse objeto na variável $Library.

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

Exemplo 2: Armazenar uma máquina virtual na biblioteca assíncroneamente

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 recebe o objeto de máquina virtual chamado VM02, e depois armazena esse objeto na variável $VM.

O segundo comando recebe o objeto do servidor da biblioteca chamado LibServer02 e, em seguida, armazena esse objeto na variável $Library.

O terceiro comando migra vM02 para a localização \LibServer02.Contoso.com\Library02\VMs. O comando especifica o parâmetro RunAsynchronously para devolver o controlo à concha de comando imediatamente. O comando especifica que o parâmetro JobVariable acompanha o progresso do trabalho e armazena um registo do seu progresso em $SaveVMJob. Para JobVariable, não especifica o sinal de dólar ($) para criar a variável.

O último comando mostra o conteúdo de $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 recebe a máquina virtual chamada VM03, e depois armazena esse objeto na variável $VM.

O segundo comando recebe o objeto do servidor da biblioteca chamado LibServer01 e, em seguida, armazena esse objeto na variável $LibServer.

O último comando armazena VM03 até à localização \LibServer01.Contoso.com\Library01\VMs. O parâmetro UseLAN força uma transferência de rede sobre a LAN mesmo que esteja disponível um mecanismo de transferência mais rápido.

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 VMM.

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

-OnBehalfOfUser

Especifica um nome de utilizador. Este cmdlet funciona em nome do utilizador que este parâmetro especifica.

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

-OnBehalfOfUserRole

Especifica uma função de utilizador. Para obter uma função de utilizador, utilize o cmdlet Get-SCUserRole . Este cmdlet funciona em nome da função de utilizador que este parâmetro especifica.

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

-PROTipID

Especifica o ID da ponta de otimização de desempenho e recursos (ponta PRO) que desencadeou esta ação. Este parâmetro permite-lhe auditar dicas PRO.

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

-RunAsynchronously

Indica que o trabalho funciona assíncronamente para que o controlo volte imediatamente à concha de comando.

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

-SharePath

Especifica um caminho para uma partilha de biblioteca válida num servidor de biblioteca existente onde este cmdlet guarda a máquina virtual. Especifique um caminho da Convenção Universal de Nomeação (UNC).

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

-UseLAN

Indica que este cmdlet utiliza transferência sobre a LAN mesmo que exista um mecanismo de transferência mais rápido.

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 para guardar.

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

Saídas

VirtualMachine

Este cmdlet devolve um objeto VirtualMachine .

Notas

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