Condividi tramite


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 alla libreria VMM (Virtual Machine Manager).

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

  • Trasferimento SAN (Fibre Channel, iSCSI o NPIV). Se l'host e il server di libreria sono entrambi connessi all'archiviazione SAN, VMM può usare un trasferimento SAN per archiviare la macchina virtuale nella libreria. In un trasferimento SAN, i LUN di destinazione vengono mappati dall'host di origine al server di libreria di destinazione. Questo cmdlet non sposta alcun file. Il trasferimento SAN è molto più veloce rispetto allo spostamento di file di macchine virtuali da un host a un altro tramite una rete locale (LAN). VMM può usare un trasferimento SAN NPIV se è disponibile un adattatore bus host (HBA) con supporto NPIV.
  • Trasferimento di rete. Se non è disponibile alcun metodo più veloce, VMM usa un trasferimento di rete per spostare i file della 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 desidera 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 può essere avviata. Prima di avviare la macchina virtuale, è necessario spostarla 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\VMs. Il comando usa 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 al percorso \LibServer02.Contoso.com\Library02\VM. Il comando specifica il parametro RunAsynchronously per restituire immediatamente il controllo alla shell dei comandi. Il comando specifica il parametro JobVariable tiene traccia dell'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 l'oggetto nella variabile $VM.

Il secondo comando ottiene l'oggetto 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 tramite LAN anche se è disponibile un meccanismo di trasferimento più veloce.

Parametri

-JobVariable

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

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-LibraryServer

Specifica un oggetto server di libreria VMM.

Tipo:LibraryServer
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-OnBehalfOfUser

Specifica un nome utente. Questo cmdlet opera per conto dell'utente specificato da questo parametro.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:UserRole
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PROTipID

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

Tipo:Guid
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-RunAsynchronously

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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).

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-UseLAN

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-VM

Specifica un oggetto macchina virtuale da salvare.

Tipo:VM
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly: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 .