Udostępnij za pośrednictwem


Save-SCVirtualMachine

Migruje maszynę wirtualną wdrożona na hoście do biblioteki programu VMM.

Składnia

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

Opis

Polecenie cmdlet Save-SCVirtualMachine migruje maszynę wirtualną wdrożoną na hoście do biblioteki programu Virtual Machine Manager (VMM).

Spowoduje to zapisanie maszyny wirtualnej w bibliotece programu VMM przy użyciu jednej z następujących metod transferu:

  • Transfer sieci SAN (Fibre Channel, iSCSI lub NPIV). Jeśli zarówno host, jak i serwer biblioteki są połączone z magazynem SIECI SAN, program VMM może użyć transferu sieci SAN do przechowywania maszyny wirtualnej w bibliotece. W przypadku transferu sieci SAN docelowe lun są ponownie mapowane z hosta źródłowego na serwer biblioteki docelowej. To polecenie cmdlet nie przenosi żadnych plików. Transfer sieci SAN jest znacznie szybszy niż przenoszenie plików maszyny wirtualnej z jednego hosta do drugiego za pośrednictwem sieci lokalnej (LAN). Program VMM może używać transferu SIECI SAN NPIV, jeśli jest dostępna karta magistrali hosta (HBA) z obsługą npIV.
  • Transfer sieciowy. Jeśli nie jest dostępna szybsza metoda, program VMM używa transferu sieciowego do przenoszenia plików maszyny wirtualnej z serwera hosta na serwer biblioteki za pośrednictwem sieci LAN, która łączy dwa serwery. Określ ścieżkę udziału w bibliotece do przechowywania maszyny wirtualnej jako parametru SharePath .

To polecenie cmdlet automatycznie używa najszybszego dostępnego typu transferu. Jeśli chcesz wymusić transfer sieciowy, określ parametr UseLAN . Jeśli serwer hosta i serwer biblioteki są tym samym serwerem, polecenie nie zakończy się niepowodzeniem w przypadku określenia wartości UseLAN, ale migracja do biblioteki przebiega szybciej, jeśli nie używasz tego parametru.

Nie można uruchomić maszyny wirtualnej przechowywanej w bibliotece. Aby można było uruchomić maszynę wirtualną, należy przenieść ją do hosta przy użyciu polecenia cmdlet Move-SCVirtualMachine .

Przykłady

Przykład 1. Zapisywanie maszyny wirtualnej w bibliotece

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"

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM01, a następnie przechowuje ten obiekt w zmiennej $VM.

Drugie polecenie pobiera obiekt serwera biblioteki o nazwie LibServer01, a następnie przechowuje ten obiekt w zmiennej $Library.

Ostatnie polecenie migruje maszynę VM01 z hosta i zapisuje ją w lokalizacji \LibServer01.Contoso.com\Library01\VMs. Polecenie automatycznie używa najszybszego dostępnego typu transferu.

Przykład 2. Asynchroniczne przechowywanie maszyny wirtualnej w bibliotece

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

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM02, a następnie przechowuje ten obiekt w zmiennej $VM.

Drugie polecenie pobiera obiekt serwera biblioteki o nazwie LibServer02, a następnie przechowuje ten obiekt w zmiennej $Library.

Trzecie polecenie migruje maszynę wirtualną VM02 do lokalizacji \LibServer02.Contoso.com\Library02\VMs. Polecenie określa parametr RunAsynchronously , aby natychmiast zwrócić kontrolę do powłoki poleceń. Polecenie określa parametr JobVariable śledzi postęp zadania i zapisuje rekord postępu jego postępu w $SaveVMJob. W polu JobVariable nie określasz znaku dolara ($), aby utworzyć zmienną.

Ostatnie polecenie wyświetla zawartość $SaveVMJob.

Przykład 3: Przechowywanie maszyny wirtualnej w bibliotece przez wymuszenie transferu sieciowego

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

Pierwsze polecenie pobiera maszynę wirtualną o nazwie VM03, a następnie przechowuje ten obiekt w zmiennej $VM.

Drugie polecenie pobiera obiekt serwera biblioteki o nazwie LibServer01, a następnie przechowuje ten obiekt w zmiennej $LibServer.

Ostatnie polecenie przechowuje maszynę wirtualną VM03 w lokalizacji \LibServer01.Contoso.com\Library01\VMs. Parametr UseLAN wymusza transfer sieciowy przez sieć LAN, nawet jeśli dostępny jest szybszy mechanizm transferu.

Parametry

-JobVariable

Określa nazwę zmiennej postępu zadania.

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

-LibraryServer

Określa obiekt serwera biblioteki programu VMM.

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

-OnBehalfOfUser

Określa nazwę użytkownika. To polecenie cmdlet działa w imieniu użytkownika, który określa ten parametr.

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

-OnBehalfOfUserRole

Określa rolę użytkownika. Aby uzyskać rolę użytkownika, użyj polecenia cmdlet Get-SCUserRole . To polecenie cmdlet działa w imieniu roli użytkownika, którą określa ten parametr.

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

-PROTipID

Określa identyfikator porady wydajności i optymalizacji zasobów (porada PRO), która wyzwoliła tę akcję. Ten parametr umożliwia inspekcję porad PRO.

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

-RunAsynchronously

Wskazuje, że zadanie jest uruchamiane asynchronicznie, aby kontrolka natychmiast wracała do powłoki poleceń.

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

-SharePath

Określa ścieżkę do prawidłowego udziału biblioteki na istniejącym serwerze biblioteki, na którym to polecenie cmdlet zapisuje maszynę wirtualną. Określ ścieżkę Universal Naming Convention (UNC).

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

-UseLAN

Wskazuje, że to polecenie cmdlet używa transferu przez sieć LAN, nawet jeśli dostępny jest szybszy mechanizm transferu.

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

-VM

Określa obiekt maszyny wirtualnej do zapisania.

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

Dane wyjściowe

VirtualMachine

To polecenie cmdlet zwraca obiekt VirtualMachine .

Uwagi

  • Wymaga obiektu maszyny wirtualnej programu VMM, który można pobrać za pomocą polecenia cmdlet Get-SCVirtualMachine .