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

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 servidor host y 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 de 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 falla 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: Almacenar 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. Para 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 forzando 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 de optimización de recursos y rendimiento (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 inmediatamente al shell de comandos.

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 .