Sdílet prostřednictvím


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 .