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 .