Move-SCVirtualMachine
Přesune virtuální počítač uložený v knihovně VMM nebo nasazený na hostiteli do nového umístění na hostiteli.
Syntax
Move-SCVirtualMachine
[-VM] <VM>
[-VMHost <Host>]
[-ReplicationGroup <ReplicationGroup>]
[-BlockLiveMigrationIfHostBusy]
[-UseDiffDiskOptimization]
[-StartVMOnTarget]
[-DiscardSavedState]
[-UseLAN]
[-UseCluster]
[-HighlyAvailable <Boolean>]
[-Path <String>]
[-JobGroup <Guid>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Description
Rutina Move-SCVirtualMachine přesune virtuální počítač uložený v knihovně nástroje Virtual Machine Manager (VMM) nebo nasazený na hostiteli do nového umístění na hostiteli.
V nástroji System Center 2019 můžete využít nové možnosti migrace, které jsou součástí Windows Server 2016. Mezi tyto možnosti patří migrace virtuálních počítačů za provozu mezi dvěma samostatnými počítači a migrací za provozu mezi samostatnými počítači a uzlem clusteru. Kromě toho se podporuje několik souběžných migrací za provozu. Další informace o migraci virtuálních počítačů v nástroji System Center 2019 najdete v tématu Migrace Virtual Machines a úložiště v nástroji VMMhttps://technet.microsoft.com/en-us/library/mt710321(v=sc.16).aspx (https://technet.microsoft.com/en-us/library/mt710321(v=sc.16).aspx) v knihovně TechNet.
Pokud přesunete virtuální počítač nasazený na hostiteli se systémem Windows Server 2008 R2 na hostitele, na kterém běží Windows Server 2016, nemůžete virtuální počítač přesunout zpět na hostitele se systémem Windows Server 2008 R2.
Nástroj VMM obsahuje funkce migrace úložiště, které umožňují přesunout jeden nebo více virtuálních pevných disků spuštěného virtuálního počítače do jiného umístění. Aktuální rutinu a rutinu Move-SCVirtualHardDisk můžete použít k přesunu souborů virtuálního pevného disku (.vhd) založených na Windows a souborů virtuálního pevného disku založeného na VMware (.vmdk) do umístění na jiném hostiteli. Pomocí rutiny Move-SCVirtualHardDisk můžete také přesunout soubor .vhd nebo soubor .vmdk z jednoho umístění do druhého na stejném hostiteli.
Pokud chcete přesunout virtuální počítač z hostitele a uložit ho do knihovny, musíte použít rutinu Save-SCVirtualMachine.
Nástroj VMM může použít některou z následujících metod přenosu uvedených v pořadí, ve kterém se nástroj VMM pokusí tyto metody použít:
- Migrace za provozu technologie Hyper-V Pokud je virtuální počítač spuštěný a je nasazený na hostiteli Hyper-V, který je uzlem hostitelského clusteru Windows Serveru 2008 R2 nebo Windows Server 2016, nástroj VMM ve výchozím nastavení používá migraci za provozu hyper-V k přesunutí virtuálního počítače do jiného uzlu v clusteru bez přerušení služby. Přesunutí spuštěného virtuálního počítače se neodpojí od sítě. Virtuální počítač si zachová atribut vysoké dostupnosti. Nemusíte zadávat cestu. Migraci za provozu více virtuálních počítačů můžete spustit současně.
- Migrace clusteru s Windows Serverem 2008 System Center nadále podporuje migraci clusteru s Windows 2008, která se někdy nazývá Rychlá migrace. Migrace clusteru přesune spuštěný virtuální počítač na uzlu Hyper-V hostitelského clusteru. Umožňuje také přesunout virtuální počítač, který je v zastaveném nebo uloženém stavu a který je nasazený do jiného uzlu v clusteru. Migraci clusteru můžete použít k přesunutí virtuálního počítače v zastaveném nebo uloženém stavu, pokud je virtuální počítač nasazený na některém z následujících uzlů:
uzel ----A v clusteru s Windows Serverem 2008 ----A v clusteru s Windows Serverem 2008 R2
Nemusíte zadávat cestu. Migrace clusteru s Windows Serverem 2008 umístí virtuální počítač do uloženého stavu během migrace. Tato operace způsobí dočasnou ztrátu služby všem uživatelům tohoto virtuálního počítače.
- Migrace za provozu VMware Pokud virtuální počítač nasazený na hostiteli VMware ESX používá sdílené úložiště, nástroj VMM může pomocí funkce migrace za provozu VMware přesunout virtuální počítač na nového hostitele. Tato funkce se nazývá VMware VMotion. Nemusíte zadávat cestu. Aktuální rutina může použít VMware VMotion k přesunutí virtuálního počítače z jednoho hostitele ESX do jiného pouze v případě, že oba hostitelé ESX jsou ve stejném kontejneru Datacenter na vCenter Serveru.
- Citrix XenServer XenMotion. Pokud virtuální počítač nasazený na hostiteli Citrix XenServer používá sdílené úložiště a je součástí stejného fondu zdrojů, nástroj VMM může pomocí funkce migrace za provozu XenServer přesunout virtuální počítač na jiného hostitele XenServer. Funkce migrace za provozu se nazývá Citrix XenMotion.
- Migrace sítě SAN (Fibre Channel, iSCSI nebo NPIV) Pokud je virtuální počítač na hostiteli připojeném k síti SAN a virtuální počítač je v logické jednotce SAN, nástroj VMM může tento virtuální počítač přesunout do jiného hostitele, pokud má tento hostitel přístup ke stejné síti SAN. V přenosu sítě SAN se cílové logické jednotky přesměrují ze zdrojového hostitele na cílového hostitele. Tato migrace nepřesune soubory. Přenos sítě SAN je mnohem rychlejší než přesun souborů virtuálních počítačů z jednoho hostitele do druhého přes síť LAN (Local Area Network). Nástroj VMM podporuje migraci virtuálních počítačů do clusteru a mimo cluster. Musíte zadat cestu. Nástroj VMM může použít přenos sítě SAN NPIV, pokud je k dispozici adaptér hostitelské sběrnice (HBA) s podporou NPIV.
- Migrace sítě Pokud není k dispozici žádná rychlejší metoda, nástroj VMM použije síťový přenos k přesunu souborů virtuálního počítače z jednoho hostitele do druhého přes síť LAN, která tyto dva hostitele spojuje. Tento typ přenosu můžete použít i v případě, že je k dispozici typ přenosu sítě SAN. Musíte zadat cestu.
Pokud je k dispozici více než jeden typ přenosu, tato rutina k přesunutí virtuálního počítače automaticky používá nejrychlejší dostupný typ přenosu. Pokud není metoda vhodná nebo dostupná pro virtuální počítač, který chcete přesunout, nástroj VMM se pokusí použít další metodu v seznamu. Pokud chcete vynutit použití síťového přenosu, zadejte parametr UseLAN .
Příklady
Příklad 1: Přesunutí virtuálního počítače z knihovny na hostitele
PS C:\> $VM = Get-SCVirtualMachine | Where-Object { $_.Name -Eq "VM01" -And $_.LibraryServer -Eq "LibServer01.Contoso.com" }
PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost01.Contoso.com"
PS C:\> Move-SCVirtualMachine -VMHost $VMHost -VM $VM -Path "D:\VirtualMachinePath"
První příkaz příkazu získá objekt virtuálního počítače s názvem VM01 a pak tento objekt uloží do proměnné $VM. V tomto příkladu je virtuální počítač uložený v knihovně VMM na serveru knihovny s názvem LibServer01. V tomto příkladu se předpokládá, že na LibServer01 je aktuálně uložený jenom jeden virtuální počítač s názvem VM01.
Druhý příkaz získá objekt hostitele s názvem VMHost01 a pak tento objekt uloží do proměnné $VMHost.
Poslední příkaz přesune virtuální počítač z aktuálního umístění v knihovně do umístění D:\VirtualMachinePath na hostiteli uloženém v $VMHost. Příkaz automaticky používá nejrychlejší dostupný typ přenosu. Po dokončení příkazu vrátí informace o přesunutého virtuálním počítači.
Příklad 2: Asynchronní přesun virtuálního počítače z knihovny do hostitele
PS C:\> $VM = Get-SCVirtualMachine | Where-Object { $_.Name -Eq "VM01" -And $_.LibraryServer -Eq "LibServer01.Contoso.com" }
PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost02.Contoso.com"
PS C:\> Move-SCVirtualMachine -VMHost $VMHost -VM $VM -Path "D:\VirtualMachinePath" -RunAsynchronously -JobVariable "MoveVMJob"
PS C:\> $MoveVMJob
První dva příkazy v tomto příkladu jsou stejné jako příkazy v prvním příkladu s výjimkou názvu hostitele virtuálního počítače.
Třetí příkaz přesune virtuální počítač z aktuálního umístění do D:\VirtualMachinePath na VMHost02. Příkaz určuje parametr RunAsynchronously, který okamžitě vrátí řízení do příkazového prostředí. Příkaz určuje parametr JobVariable pro sledování průběhu úlohy. Příkaz uloží záznam o průběhu úlohy v proměnné $MoveVMJob. Pro parametr JobVariable nezadáte znak dolaru ($) pro vytvoření proměnné.
Poslední příkaz zobrazí obsah $MoveVMJob, který obsahuje popis úlohy přesunutí, jeho stav, průběh a další informace.
Příklad 3: Přesunutí virtuálního počítače z knihovny na hostitele vynucením přenosu v síti LAN
PS C:\> $VM = Get-SCVirtualMachine | Where-Object { $_.Name -Eq "VM03" -And $_.LibraryServer -Eq "LibServer01.Contoso.com" }
PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost03.Contoso.com"
PS C:\> Move-SCVirtualMachine -VMHost $VMHost -VM $VM -Path "D:\VirtualMachinePath" -UseLAN
První příkaz získá objekt virtuálního počítače s názvem VM03 na serveru knihovny LibServer01 a pak tento objekt uloží do proměnné $VM.
Druhý příkaz získá objekt hostitele s názvem VMHost03 a pak tento objekt uloží do proměnné $VMHost.
Poslední příkaz přesune virtuální počítač VM03 z jeho aktuálního umístění v knihovně do D:\VirtualMachinePath na VMHost03. Příkaz určuje parametr UseLAN , který určuje, že přenos používá síťový přenos, i když jsou k dispozici rychlejší mechanismy přenosu.
Příklad 4: Přesunutí virtuálního počítače mezi hostiteli pomocí VMware VMotion
PS C:\> $VM = Get-SCVirtualMachine -Name "VM04" | Where-Object {$_.VMHost.Name -Eq "ESXHost01"}
PS C:\> $VMHost = Get-SCVMHost | Where-Object {$_.Name -Eq "ESXHost02"}
PS C:\> Move-SCVirtualMachine -VM $VM -VMHost $VMHost -Path "[Storage2]"
První příkaz získá objekt virtuálního počítače s názvem VM04 v ESXHost01 a pak tento objekt uloží do proměnné $VM.
Druhý příkaz získá objekt hostitele ESX s názvem ESXHost02 a pak tento objekt uloží do proměnné $VMHost.
Poslední příkaz používá VMware VMotion k přesunutí virtuálního počítače z aktuálního hostitele ESX na druhého hostitele ESX.
POZNÁMKA: Rutina Move-SCVirtualMachine může pomocí funkce VMware VMotion přesunout virtuální počítač z jednoho hostitele ESX do jiného, pouze pokud jsou oba servery ESX ve stejném kontejneru Datacenter na vCenter Serveru.
Příklad 5: Přesun vysoce dostupného virtuálního počítače mezi uzly v hostitelském clusteru pomocí migrace za provozu Hyper-V
PS C:\> $VM = Get-SCVirtualMachine -Name "HAVM05" | Where-Object {$_.VMHost.Name -Eq "VMHVHostNode05A.Contoso.com"}
PS C:\> $VMHost = Get-SCVMHost | Where-Object {$_.Name -Eq "VMHVHostNode05B.Contoso.com"}
PS C:\> Move-SCVirtualMachine -VM $VM -VMHost $VMHost -Path "D:\VMs\"
První příkaz získá objekt virtuálního počítače s názvem HAVM05 ve VMHVHostNode05A a pak tento objekt uloží do proměnné $VM. V tomto příkladu je HAVM05 vysoce dostupný virtuální počítač. VMHVHostNode05A a VMHVHostNode05B jsou uzly v hostitelském clusteru Hyper-V.
Druhý příkaz získá hostitelský objekt s názvem VMHVHostNode05B a pak tento objekt uloží do proměnné $VMHost.
Poslední příkaz použije migraci za provozu k přesunutí virtuálního počítače z VMHVHostNode05A do VMHVHostNode05B.
Příklad 6: Přesunutí spuštěného virtuálního počítače na hostiteli Hyper-V do nového umístění na stejném hostiteli
PS C:\> $MoveVhdPath = "E:\VHDs"
PS C:\> $VM = Get-SCVirtualMachine "VM06"
PS C:\> $VMHost = Get-SCVMHost "VMHost06"
PS C:\> $HostPath = "E:\VirtualMachinePath"
PS C:\> $JobGroupID = [System.Guid]::NewGuid().ToString()
PS C:\> Move-SCVirtualHardDisk -IDE -Bus 1 -Lun 1 -Path $MoveVhdPath -JobGroup $JobGroupID
PS C:\> Move-SCVirtualMachine -VM $VM -VMHost $VMHost -Path $HostPath -JobGroup $JobGroupID
První příkaz uloží řetězec E:\VHD v $MoveVhdPath. Jedná se o cestu, ze které se má virtuální pevný disk virtuálního počítače přesunout.
Druhý příkaz získá objekt virtuálního počítače s názvem VM06 a pak tento objekt uloží $VM proměnnou.
Třetí příkaz získá hostitelský objekt s názvem VMHost06 a pak tento objekt uloží do proměnné $VMHost. V tomto příkladu je hostitel VMHost06 hostitelem Hyper-V.
Čtvrtý příkaz uloží řetězec E:\VirtualMachinePath do proměnné $HostPath. Jedná se o cestu, ze které se má přesunout virtuální počítač VM06.
Pátý příkaz vytvoří nový řetězec GUID a uloží ho do proměnné $JobGroupID. Tento identifikátor GUID je ID skupiny úloh, které funguje jako identifikátor, který seskupuje následné příkazy, které tento identifikátor obsahují do jedné skupiny úloh.
Šestý příkaz nastaví cestu virtuálního pevného disku hodnoty uložené v $MoveVhdPath a připojí virtuální pevný disk ke sběrnici 1 a logické jednotce 1 na virtuálním řadiči IDE na virtuálním počítači. Tento příkaz určuje parametr JobGroup , aby se ve skutečnosti nespustí, dokud Move-SCVirtualMachine neaktivuje spuštění všech příkazů v seznamu skupin úloh.
Poslední příkaz přesune virtuální počítač VM06 na E:\VirtualMachinePath na stejném hostiteli. Rutina se spouští Move-SCVirtualHardDisk jako součást $JobGroupID. Příkaz přesune virtuální pevný disk virtuálního počítače na E:\VHD.
Parametry
-BlockLiveMigrationIfHostBusy
Označuje, že rutina blokuje opakování migrace hyper-V za provozu, pokud migrace selhala, protože zdrojový hostitel nebo cílový hostitel se již účastní jiné migrace za provozu.
Type: | SwitchParameter |
Aliases: | BlockLMIfHostBusy |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DiscardSavedState
Označuje, že tato rutina odstraní uložený stav přidružený k virtuálnímu počítači nebo službě.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HighlyAvailable
Určuje, jestli se má virtuální počítač umístit na hostitele Hyper-V, který je součástí hostitelského clusteru.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobGroup
Určuje identifikátor řady příkazů, které běží jako sada těsně před posledním příkazem, který obsahuje stejné spuštění identifikátoru skupiny úloh.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
Určuje název proměnné pro průběh úlohy.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUser
Určuje uživatelské jméno. Tato rutina funguje jménem uživatele, který tento parametr určuje.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUserRole
Určuje roli uživatele. K získání role uživatele použijte rutinu Get-SCUserRole . Tato rutina funguje jménem role uživatele, kterou tento parametr určuje.
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Určuje cestu přesunutého virtuálního počítače.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
Určuje ID tipu pro optimalizaci výkonu a prostředků (tip PRO), který tuto akci aktivoval. Tento parametr umožňuje auditovat tipy PRO.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReplicationGroup
Určuje skupinu replikace.
Type: | ReplicationGroup |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
Označuje, že úloha se spouští asynchronně, aby se ovládací prvek okamžitě vrátil do příkazového prostředí.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartVMOnTarget
Určuje, že se virtuální počítač spustí, jakmile ji tato rutina přesune do cílového hostitele.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseCluster
Označuje, že tato rutina používá migraci clusteru k přenosu virtuálního počítače, který je v uloženém stavu do hostitele, i když cluster podporuje migraci za provozu Technologie Hyper-V.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseDiffDiskOptimization
Označuje, že rutina používá rozdílové optimalizace disku.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseLAN
Označuje, že tato rutina používá přenos přes síť LAN, i když je k dispozici rychlejší mechanismus přenosu.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VM
Určuje objekt virtuálního počítače.
Type: | VM |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMHost
Určuje hostitelský objekt virtuálního počítače. Nástroj VMM podporuje hostitele Hyper-V, hostitele VMware ESX a hostitele Citrix XenServer.
Další informace o jednotlivých typech hostitelů najdete v rutině Add-SCVMHost .
Type: | Host |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Výstupy
VirtualMachine
Tato rutina vrátí objekt VirtualMachine .
Související odkazy
- Add-SCVMHost
- Get-SCUserRole
- Get-SCVirtualMachine
- Get-SCVMHost
- Move-SCVirtualHardDisk
- New-SCVirtualMachine
- Read-SCVirtualMachine
- Register-SCVirtualMachine
- Repair-SCVirtualMachine
- Reset-SCVirtualMachine
- Resume-SCVirtualMachine
- Save-SCVirtualMachine
- Set-SCVirtualMachine
- Start-SCVirtualMachine
- Suspend-SCVirtualMachine
- Stop-SCVirtualMachine