Save-SCVirtualMachine
Migra una máquina virtual implementada en un host a la biblioteca VMM.
Syntax
Save-SCVirtualMachine
[-VM] <VM>
[-LibraryServer <LibraryServer>]
[-UseLAN]
[-SharePath <String>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Description
El cmdlet Save-SCVirtualMachine migra una máquina virtual implementada en un host a la biblioteca de Virtual Machine Manager (VMM).
Esto almacena una máquina virtual en la biblioteca VMM mediante uno de los métodos de transferencia siguientes:
- Transferencia SAN (Canal de fibra, iSCSI o NPIV). Si el host y el servidor de biblioteca están conectados al almacenamiento SAN, VMM puede usar una transferencia SAN para almacenar la máquina virtual en la biblioteca. En una transferencia SAN, los LUN de destino se reasignan del host de origen al servidor de biblioteca de destino. Este cmdlet no mueve ningún archivo. La transferencia san es mucho más rápida que mover archivos de máquina virtual de un host a otro a través de una red de área local (LAN). VMM puede usar una transferencia SAN NPIV si el adaptador de bus host (HBA) compatible con NPIV está disponible.
- Transferencia de red. Si no hay ningún método más rápido disponible, VMM usa una transferencia de red para mover los archivos de máquina virtual del servidor host al servidor de biblioteca a través de la LAN que conecta los dos servidores. Especifique la ruta de acceso del recurso compartido en la biblioteca para almacenar la máquina virtual como el parámetro SharePath .
Este cmdlet usa automáticamente el tipo de transferencia más rápido disponible. Si desea forzar una transferencia de red, especifique el parámetro UseLAN . Si el servidor host y el servidor de biblioteca son el mismo servidor, el comando no produce un error si especifica UseLAN, pero la migración a la biblioteca se produce más rápido si no usa ese parámetro.
Cuando una máquina virtual está almacenada en la biblioteca, no se puede iniciar. Para poder iniciar la máquina virtual, debe moverla a un host mediante el cmdlet Move-SCVirtualMachine .
Ejemplos
Ejemplo 1: Guardar una máquina virtual en la 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"
El primer comando obtiene el objeto de máquina virtual denominado VM01 y, a continuación, almacena ese objeto en la variable $VM.
El segundo comando obtiene el objeto de servidor de biblioteca denominado LibServer01 y, a continuación, almacena ese objeto en la variable $Library.
El último comando migra VM01 desde su host y lo almacena en la ubicación \LibServer01.Contoso.com\Library01\VMs. El comando usa automáticamente el tipo de transferencia más rápido que está disponible.
Ejemplo 2: Almacenamiento de una máquina virtual en la biblioteca de forma asincrónica
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
El primer comando obtiene el objeto de máquina virtual denominado VM02 y, a continuación, almacena ese objeto en la variable $VM.
El segundo comando obtiene el objeto de servidor de biblioteca denominado LibServer02 y, a continuación, almacena ese objeto en la variable $Library.
El tercer comando migra VM02 a la ubicación \LibServer02.Contoso.com\Library02\VMs. El comando especifica el parámetro RunAsynchronously para devolver el control al shell de comandos inmediatamente. El comando especifica el parámetro JobVariable realiza un seguimiento del progreso del trabajo y almacena un registro de su progreso en $SaveVMJob. En JobVariable, no se especifica el signo de dólar ($) para crear la variable.
El último comando muestra el contenido de $SaveVMJob.
Ejemplo 3: Almacenamiento de una máquina virtual en la biblioteca al forzar una transferencia de red
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
El primer comando obtiene la máquina virtual denominada VM03 y, a continuación, almacena ese objeto en la variable $VM.
El segundo comando obtiene el objeto de servidor de biblioteca denominado LibServer01 y, a continuación, almacena ese objeto en la variable $LibServer.
El último comando almacena VM03 en la ubicación \LibServer01.Contoso.com\Library01\VMs. El parámetro UseLAN fuerza una transferencia de red a través de la LAN incluso si hay disponible un mecanismo de transferencia más rápido.
Parámetros
-JobVariable
Especifica el nombre de una variable para el progreso del trabajo.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LibraryServer
Especifica un 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 un nombre de usuario. Este cmdlet funciona en nombre del usuario que especifica este parámetro.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUserRole
Especifica un rol de usuario. Para obtener un rol de usuario, use el cmdlet Get-SCUserRole . Este cmdlet funciona en nombre del rol de usuario que especifica este parámetro.
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
Especifica el identificador de la sugerencia rendimiento y optimización de recursos (sugerencia PRO) que desencadenó esta acción. Este parámetro le permite auditar sugerencias PRO.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
Indica que el trabajo se ejecuta de forma asincrónica para que el control vuelva al shell de comandos inmediatamente.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SharePath
Especifica una ruta de acceso a un recurso compartido de biblioteca válido en un servidor de biblioteca existente donde este cmdlet guarda la máquina virtual. Especifique una ruta de acceso de convención de nomenclatura universal (UNC).
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseLAN
Indica que este cmdlet usa la transferencia a través de la LAN incluso si hay disponible un mecanismo de transferencia más rápido.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VM
Especifica un objeto de máquina virtual que se va a guardar.
Type: | VM |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Salidas
VirtualMachine
Este cmdlet devuelve un objeto VirtualMachine .
Notas
- Requiere un objeto de máquina virtual VMM, que se puede recuperar mediante el cmdlet Get-SCVirtualMachine .