Udostępnij przez


Save-SCVirtualMachine

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

Składnia

Default (Domyślna)

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

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

  • Transfer w 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 zapisania maszyny wirtualnej w bibliotece. W przypadku transferu w sieci SAN docelowe jednostki LUN są ponownie mapowane z hosta źródłowego na docelowy serwer biblioteki. To polecenie cmdlet nie przenosi żadnych plików. Transfer SAN jest znacznie szybszy niż przenoszenie plików maszyny wirtualnej z jednego hosta na drugi przez sieć lokalną (LAN). Program VMM może korzystać z transferu sieci SAN NPIV, jeśli dostępna jest karta magistrali hosta (HBA) z obsługą NPIV.
  • Transfer sieciowy. Jeśli żadna szybsza metoda nie jest dostępna, program VMM używa transferu sieciowego w celu przeniesienia plików maszyny wirtualnej z serwera hosta do serwera biblioteki za pośrednictwem sieci LAN łączącej dwa serwery. Określ ścieżkę udziału w bibliotece, w której ma być przechowywana maszyna wirtualna, jako parametr 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, jeśli określisz UseLAN, ale migracja do biblioteki będzie przebiegać szybciej, jeśli nie użyjesz tego parametru.

Gdy maszyna wirtualna jest przechowywana w bibliotece, nie można jej uruchomić. Przed uruchomieniem maszyny wirtualnej 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 zapisuje ten obiekt w zmiennej $VM.

Drugie polecenie pobiera obiekt serwera biblioteki o nazwie LibServer01, a następnie zapisuje 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 zapisuje ten obiekt w zmiennej $VM.

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

Trzecie polecenie migruje maszynę wirtualną VM02 do lokalizacji \LibServer02.Contoso.com\Library02\VMs. Polecenie określa parametr RunAsynchronously w celu natychmiastowego zwrócenia kontroli do powłoki poleceń. Polecenie określa, że parametr JobVariable śledzi postęp zadania i przechowuje rekord jego postępu w $SaveVMJob. W przypadku zmiennej JobVariable nie należy określać znaku dolara ($) w celu utworzenia zmiennej.

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 zapisuje ten obiekt w zmiennej $VM.

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

Ostatnie polecenie przechowuje 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 dla postępu zadania.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-LibraryServer

Określa obiekt serwera biblioteki programu VMM.

Właściwości parametru

Typ:LibraryServer
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-OnBehalfOfUser

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

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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 określonej przez ten parametr.

Właściwości parametru

Typ:UserRole
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:Guid
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-RunAsynchronously

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

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-SharePath

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

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-UseLAN

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

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-VM

Określa obiekt maszyny wirtualnej do zapisania.

Właściwości parametru

Typ:VM
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:0
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wyjściowe

VirtualMachine

To polecenie cmdlet zwraca obiekt VirtualMachine .

Uwagi

  • Wymaga obiektu maszyny wirtualnej programu VMM, który można pobrać przy użyciu polecenia cmdlet Get-SCVirtualMachine .