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