Share via


Save-SCVirtualMachine

Esegue la migrazione di una macchina virtuale distribuita in un host alla libreria VMM.

Sintassi

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

Descrizione

Il cmdlet Save-SCVirtualMachine esegue la migrazione di una macchina virtuale distribuita in un host nella libreria VMM (Virtual Machine Manager).

In questo modo viene archiviata una macchina virtuale nella libreria VMM usando uno dei metodi di trasferimento seguenti:

  • Trasferimento SAN (Fibre Channel, iSCSI o NPIV). Se il server host e libreria sono entrambi connessi all'archiviazione SAN, VMM può usare un trasferimento SAN per archiviare la macchina virtuale nella libreria. In un trasferimento tramite SAN, i LUN di destinazione vengono rimappati dall'host di origine al server di libreria di destinazione. Questo cmdlet non viene spostato alcun file. Il trasferimento SAN è molto più veloce rispetto allo spostamento dei file di macchine virtuali da un host a un altro su una rete locale (LAN). Se è disponibile una scheda bus host (HBA) con supporto NPIV, VMM può utilizzare il trasferimento tramite SAN NPIV.
  • Trasferimento di rete. Se non è disponibile alcun metodo più veloce, VMM usa un trasferimento di rete per spostare i file di macchina virtuale dal server host al server di libreria tramite la LAN che connette i due server. Specificare il percorso della condivisione nella libreria per archiviare la macchina virtuale come parametro SharePath .

Questo cmdlet usa automaticamente il tipo di trasferimento più veloce disponibile. Se si vuole forzare un trasferimento di rete, specificare il parametro UseLAN . Se il server host e il server di libreria sono lo stesso server, il comando non riesce se si specifica UseLAN, ma la migrazione alla libreria si verifica più velocemente se non si usa tale parametro.

Quando una macchina virtuale viene archiviata nella libreria, non sarà possibile avviarla. Prima di avviare la macchina virtuale, è necessario spostarlo in un host usando il cmdlet Move-SCVirtualMachine .

Esempio

Esempio 1: Salvare una macchina virtuale nella libreria

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"

Il primo comando ottiene l'oggetto macchina virtuale denominato VM01 e quindi archivia tale oggetto nella variabile $VM.

Il secondo comando ottiene l'oggetto server di libreria denominato LibServer01 e quindi archivia tale oggetto nella variabile $Library.

L'ultimo comando esegue la migrazione di VM01 dall'host e lo archivia nel percorso \LibServer01.Contoso.com\Library01\VM. Per l'esecuzione del comando viene utilizzato automaticamente il tipo di trasferimento più veloce disponibile.

Esempio 2: Archiviare una macchina virtuale nella libreria in modo asincrono

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

Il primo comando ottiene l'oggetto macchina virtuale denominato VM02 e quindi archivia tale oggetto nella variabile $VM.

Il secondo comando ottiene l'oggetto server di libreria denominato LibServer02 e quindi archivia tale oggetto nella variabile $Library.

Il terzo comando esegue la migrazione di VM02 alla posizione \LibServer02.Contoso.com\Library02\VM. Il comando specifica immediatamente il parametro RunAsynchronously per restituire il controllo alla shell dei comandi. Il comando specifica il parametro JobVariable tiene traccia dello stato di avanzamento del processo e archivia un record dello stato di avanzamento in $SaveVMJob. Per JobVariable, non si specifica il segno di dollaro ($) per creare la variabile.

L'ultimo comando visualizza il contenuto di $SaveVMJob.

Esempio 3: Archiviare una macchina virtuale nella libreria forzando un trasferimento di rete

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

Il primo comando ottiene la macchina virtuale denominata VM03 e quindi archivia tale oggetto nella variabile $VM.

Il secondo comando ottiene l'oggetto del server di libreria denominato LibServer01 e quindi archivia tale oggetto nella variabile $LibServer.

L'ultimo comando archivia VM03 nel percorso \LibServer01.Contoso.com\Library01\VM. Il parametro UseLAN forza un trasferimento di rete sulla LAN anche se è disponibile un meccanismo di trasferimento più veloce.

Parametri

-JobVariable

Specifica il nome di una variabile per lo stato di avanzamento del processo.

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

-LibraryServer

Specifica un oggetto server di libreria VMM.

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

-OnBehalfOfUser

Specifica un nome utente. Questo cmdlet opera per conto dell'utente che specifica questo parametro.

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

-OnBehalfOfUserRole

Specifica un ruolo utente. Per ottenere un ruolo utente, usare il cmdlet Get-SCUserRole . Questo cmdlet opera per conto del ruolo utente specificato da questo parametro.

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

-PROTipID

Specifica l'ID del suggerimento prestazioni e ottimizzazione risorse (suggerimento PRO) che ha attivato questa azione. Questo parametro consente di controllare i suggerimenti PRO.

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

-RunAsynchronously

Indica che il processo viene eseguito in modo asincrono in modo che il controllo restituisca immediatamente alla shell dei comandi.

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

-SharePath

Specifica un percorso di una condivisione di libreria valida in un server di libreria esistente in cui questo cmdlet salva la macchina virtuale. Specificare un percorso UNC (Universal Naming Convention).

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

-UseLAN

Indica che questo cmdlet usa il trasferimento tramite LA LAN anche se è disponibile un meccanismo di trasferimento più veloce.

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

-VM

Specifica un oggetto macchina virtuale da salvare.

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

Output

VirtualMachine

Questo cmdlet restituisce un oggetto VirtualMachine .

Note

  • Richiede un oggetto macchina virtuale VMM, che può essere recuperato usando il cmdlet Get-SCVirtualMachine .