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 .