Move-SCVirtualMachine
VMM kitaplığında depolanan veya konakta dağıtılan bir sanal makineyi konaktaki yeni bir konuma taşır.
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
Move-SCVirtualMachine cmdlet'i Virtual Machine Manager (VMM) kitaplığında depolanan veya konakta dağıtılan bir sanal makineyi konaktaki yeni bir konuma taşır.
System Center 2019'da, Windows Server 2016 eklenen yeni geçiş özelliklerinden yararlanabilirsiniz. Bu özellikler, sanal makinelerin iki bağımsız bilgisayar arasında dinamik geçişini ve tek başına bilgisayarlar ile küme düğümü arasında dinamik geçişi içerir. Ayrıca, birden çok eşzamanlı dinamik geçiş desteklenir. System Center 2019'da sanal makineleri geçirme hakkında daha fazla bilgi için TechNet Kitaplığı'ndaki VMM'dehttps://technet.microsoft.com/en-us/library/mt710321(v=sc.16).aspx (https://technet.microsoft.com/en-us/library/mt710321(v=sc.16).aspx) Sanal Makineler ve Depolamayı Geçirme bölümüne bakın.
Windows Server 2008 R2 çalıştıran bir konakta dağıtılan bir sanal makineyi Windows Server 2016 çalıştıran bir konağa taşırsanız, sanal makineyi Windows Server 2008 R2 çalıştıran bir konağa geri taşıyamazsınız.
VMM, çalışan bir sanal makinenin bir veya daha fazla sanal sabit diskini farklı bir konuma taşımanıza olanak sağlayan depolama geçiş özellikleri içerir. Windows tabanlı sanal sabit disk (.vhd) dosyalarını ve VMware tabanlı sanal sabit disk (.vmdk) dosyalarını farklı bir konakta bir konuma taşımak için geçerli cmdlet'i ve Move-SCVirtualHardDisk cmdlet'ini kullanabilirsiniz. Bir .vhd dosyasını veya .vmdk dosyasını aynı konakta bir konumdan diğerine taşımak için Move-SCVirtualHardDisk cmdlet'ini de kullanabilirsiniz.
Bir sanal makineyi konaktan taşımak ve kitaplıkta depolamak için Save-SCVirtualMachine cmdlet'ini kullanmanız gerekir.
VMM, VMM'nin bunları kullanmaya çalıştığı sırada listelenen aşağıdaki aktarım yöntemlerinden herhangi birini kullanabilir:
- Hyper-V dinamik geçişi. Bir sanal makine çalışıyorsa ve Windows Server 2008 R2 veya Windows Server 2016 konak kümesinin düğümü olan bir Hyper-V konağına dağıtılıyorsa, VMM varsayılan olarak hizmet kesintisi olmadan sanal makineyi kümedeki başka bir düğüme taşımak için Hyper-V dinamik geçişini kullanır. Çalışan bir sanal makinenin taşınması, makinenin ağ bağlantısını kesmez. Sanal makine yüksek kullanılabilirlik özniteliğini korur. Yol belirtmeniz gerekmez. Aynı anda birden çok sanal makinenin dinamik geçişini başlatabilirsiniz.
- Windows Server 2008 Küme Geçişi. System Center, bazen Hızlı Geçiş olarak adlandırılan Windows 2008 Küme Geçişi'ni desteklemeye devam eder. Küme Geçişi, bir konak kümesinin Hyper-V düğümünde çalışan bir sanal makineyi taşır. Ayrıca durdurulmuş veya kaydedilmiş durumda olan ve kümedeki başka bir düğüme dağıtılan bir sanal makineyi taşımanıza da olanak tanır. Sanal makine aşağıdaki düğümlerden birinde dağıtılmışsa, sanal makineyi durdurulmuş veya kaydedilmiş durumda taşımak için Küme Geçişi'ni kullanabilirsiniz:
---- Windows Server 2008 kümesindeki bir düğüm ----Bir Windows Server 2008 R2 kümesindeki bir düğüm
Yol belirtmeniz gerekmez. Windows Server 2008 Küme Geçişi, geçiş sırasında sanal makineyi kaydedilmiş duruma getirir. Bu işlem, bu sanal makinenin tüm kullanıcılarına geçici bir hizmet kaybına neden olur.
- VMware dinamik geçişi. VMware ESX konağına dağıtılan bir sanal makine paylaşılan depolamayı kullanıyorsa, VMM sanal makineyi yeni bir konağa taşımak için VMware dinamik geçiş özelliğini kullanabilir. Bu özelliğe VMware VMotion adı verilir. Yol belirtmeniz gerekmez. Geçerli cmdlet, bir sanal makineyi bir ESX konağından diğerine taşımak için VMware VMotion'ı kullanabilir, ancak her iki ESX konağı da vCenter Server'daki aynı Datacenter kapsayıcısındaysa.
- Citrix XenServer XenMotion. Citrix XenServer konağına dağıtılan bir sanal makine paylaşılan depolamayı kullanıyorsa ve aynı Kaynak Havuzunun parçasıysa, VMM sanal makineyi farklı bir XenServer konağına taşımak için XenServer dinamik geçiş özelliğini kullanabilir. Dinamik geçiş özelliği Citrix XenMotion olarak adlandırılır.
- SAN geçişi (Fiber Kanal, iSCSI veya NPIV). Sanal makine SAN'a bağlı bir konaktaysa ve sanal makine SAN LUN'daysa, bu ana bilgisayarın aynı SAN'a erişimi varsa, VMM bu sanal makineyi başka bir konağa taşıyabilir. SAN aktarımında, hedef LUN'lar kaynak konaktan hedef konağa yönlendirilir. Bu geçiş dosyaları taşımaz. SAN aktarımı, sanal makine dosyalarını yerel ağ (LAN) üzerinden bir konaktan diğerine taşımaktan çok daha hızlıdır. VMM, sanal makinelerin küme içine ve dışına SAN geçişini destekler. Bir yol belirtmelisiniz. NPIV desteğine sahip bir konak veri yolu bağdaştırıcısı (HBA) varsa, VMM bir NPIV SAN aktarımı kullanabilir.
- Ağ Geçişi. Daha hızlı bir yöntem yoksa, VMM sanal makine dosyalarını iki konağı bağlayan LAN üzerinden bir konaktan diğerine taşımak için bir ağ aktarımı kullanır. SAN aktarım türü kullanılabilir olsa bile bu aktarım türünü kullanmaya karar vekleyebilirsiniz. Bir yol belirtmelisiniz.
Birden fazla aktarım türü kullanılabilir olduğunda, bu cmdlet otomatik olarak bir sanal makineyi taşımak için en hızlı kullanılabilir aktarım türünü kullanır. Taşımak istediğiniz sanal makine için uygun veya kullanılabilir bir yöntem yoksa, VMM listedeki bir sonraki yöntemi kullanmayı dener. Ağ aktarımı kullanımını zorlamak istiyorsanız UseLAN parametresini belirtin.
Örnekler
Örnek 1: Bir sanal makineyi kitaplıktan konağa taşıma
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"
İlk komut komutu VM01 adlı sanal makine nesnesini alır ve ardından bu nesneyi $VM değişkeninde depolar. Bu örnekte, LibServer01 adlı kitaplık sunucusundaki VMM kitaplığında depolanan sanal makine. Bu örnekte, şu anda LibServer01 üzerinde VM01 adlı tek bir sanal makinenin depolandığı varsayılır.
İkinci komut, VMHost01 adlı konak nesnesini alır ve bu nesneyi $VMHost değişkeninde depolar.
Son komut, sanal makineyi kitaplıktaki geçerli konumundan $VMHost'de depolanan konaktaki D:\VirtualMachinePath konumuna taşır. Komut otomatik olarak en hızlı kullanılabilir aktarım türünü kullanır. Komut tamamlandığında, taşınan sanal makine hakkındaki bilgileri döndürür.
Örnek 2: Bir sanal makineyi kitaplıktan zaman uyumsuz olarak bir konağa taşıma
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
Bu örnekteki ilk iki komut, sanal makine konağı adı dışında ilk örnekteki komutlar ile aynıdır.
Üçüncü komut, sanal makineyi geçerli konumundan VMHost02 üzerinde D:\VirtualMachinePath konumuna taşır. komutu, denetimi komut kabuğuna hemen döndürmek için RunAsynchronously parametresini belirtir. komutu, işin ilerleme durumunu izlemek için JobVariable parametresini belirtir. komut, $MoveVMJob değişkeninde işin ilerleme durumunun kaydını depolar. JobVariable parametresi için değişkeni oluşturmak için dolar işaretini ($) belirtmezsiniz.
Son komut, taşıma işinin açıklamasını, durumunu, ilerleme durumunu ve diğer bilgileri içeren $MoveVMJob içeriğini görüntüler.
Örnek 3: LAN aktarımını zorlayarak bir sanal makineyi kitaplıktan konağa taşıma
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
İlk komut, LibServer01 kitaplık sunucusundaki VM03 adlı sanal makine nesnesini alır ve bu nesneyi $VM değişkeninde depolar.
İkinci komut VMHost03 adlı konak nesnesini alır ve bu nesneyi $VMHost değişkeninde depolar.
Son komut, VM03 sanal makinesini kitaplıktaki geçerli konumundan VMHost03 üzerinde D:\VirtualMachinePath konumuna taşır. komutu, daha hızlı aktarım mekanizmaları kullanılabilse bile aktarımın bir ağ aktarımı kullandığını belirtmek için UseLAN parametresini belirtir.
Örnek 4: VMware VMotion kullanarak bir sanal makineyi konaklar arasında taşıma
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]"
İlk komut, ESXHost01 üzerinde VM04 adlı sanal makine nesnesini alır ve ardından bu nesneyi $VM değişkeninde depolar.
İkinci komut ESXHost02 adlı ESX konak nesnesini alır ve bu nesneyi $VMHost değişkeninde depolar.
Son komut, sanal makineyi geçerli ESX konağından diğer ESX konağına taşımak için VMware VMotion kullanır.
NOT: Move-SCVirtualMachine cmdlet'i, bir sanal makineyi bir ESX konağından diğerine taşımak için VMware VMotion özelliğini yalnızca her iki ESX sunucusu da vCenter Server'daki aynı Datacenter kapsayıcısında yer alırsa kullanabilir.
Örnek 5: Hyper-V dinamik geçiş kullanarak yüksek oranda kullanılabilir bir sanal makineyi konak kümesindeki düğümler arasında taşıma
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\"
İlk komut, VMHVHostNode05A üzerinde HAVM05 adlı sanal makine nesnesini alır ve bu nesneyi $VM değişkeninde depolar. Bu örnekte HAVM05 yüksek oranda kullanılabilir bir sanal makinedir. VMHVHostNode05A ve VMHVHostNode05B, Hyper-V konak kümesindeki düğümlerdir.
İkinci komut VMHVHostNode05B adlı konak nesnesini alır ve bu nesneyi $VMHost değişkeninde depolar.
Son komut, sanal makineyi VMHVHostNode05A'dan VMHVHostNode05B'ye taşımak için dinamik geçişi kullanır.
Örnek 6: Hyper-V konağındaki çalışan bir sanal makineyi aynı konakta yeni bir konuma taşıma
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
İlk komut, E:\VHDs dizesini $MoveVhdPath içinde depolar. Bu, sanal makinenin sanal sabit diskinin taşındığı yoldur.
İkinci komut, VM06 adlı sanal makine nesnesini alır ve ardından bu nesneyi $VM değişkenini depolar.
Üçüncü komut VMHost06 adlı konak nesnesini alır ve bu nesneyi $VMHost değişkeninde depolar. Bu örnekte, VMHost06 bir Hyper-V konağıdır.
Dördüncü komut, E:\VirtualMachinePath dizesini $HostPath değişkeninde depolar. Bu, VM06'nın taşınacak yoludur.
Beşinci komut yeni bir GUID dizesi oluşturur ve bunu $JobGroupID değişkeninde depolar. Bu GUID, bu tanımlayıcıyı içeren sonraki komutları tek bir iş grubu halinde gruplandıran bir tanımlayıcı olarak işlev gösteren bir iş grubu kimliğidir.
Altıncı komut, $MoveVhdPath depolanan değerin sanal sabit disk yolunu ayarlar ve sanal sabit diski sanal makinedeki sanal IDE denetleyicisinde Bus 1 ve LUN 1'e bağlar. Bu komut JobGroup parametresini belirtir, böylece Move-SCVirtualMachine iş grubu listesindeki komutların çalıştırılmasını tetikleyene kadar gerçekten çalışmaz.
Son komut, VM06'yi aynı konakta E:\VirtualMachinePath'e taşır. Cmdlet, $JobGroupID parçası olarak Move-SCVirtualHardDisk çalıştırır. komutu, sanal makinenin sanal sabit diskini E:\VHD'lere taşır.
Parametreler
-BlockLiveMigrationIfHostBusy
Kaynak konak veya hedef konak zaten başka bir dinamik geçişe katıldığı için geçiş başarısız olduysa cmdlet'in Hyper-V dinamik geçişini yeniden denemeyi engellediğini gösterir.
Type: | SwitchParameter |
Aliases: | BlockLMIfHostBusy |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DiscardSavedState
Bu cmdlet'in bir sanal makine veya hizmetle ilişkili kaydedilmiş durumu sildiğini gösterir.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HighlyAvailable
Bir konak kümesinin parçası olan bir Hyper-V konağına sanal makine yerleştirilip yerleştirmeyeceğini belirtir.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobGroup
Aynı iş grubu tanımlayıcısını içeren son komutun çalıştırılmasından hemen önce küme olarak çalışan bir dizi komut için tanımlayıcı belirtir.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
İş ilerleme durumu için bir değişkenin adını belirtir.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUser
Bir kullanıcı adı belirtir. Bu cmdlet, bu parametrenin belirttiği kullanıcı adına çalışır.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUserRole
Kullanıcı rolünü belirtir. Kullanıcı rolü almak için Get-SCUserRole cmdlet'ini kullanın. Bu cmdlet, bu parametrenin belirttiği kullanıcı rolü adına çalışır.
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Taşınan sanal makinenin yolunu belirtir.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
Bu eylemi tetikleyen Performans ve Kaynak İyileştirme ipucunun (PRO ipucu) kimliğini belirtir. Bu parametre PRO ipuçlarını denetlemenize olanak tanır.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReplicationGroup
Çoğaltma grubunu belirtir.
Type: | ReplicationGroup |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
Denetimin komut kabuğuna hemen döndürülmesi için işin zaman uyumsuz olarak çalıştığını gösterir.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartVMOnTarget
Bu cmdlet onu hedef konağına taşır taşımaz bir sanal makinenin başlatıldığını belirtir.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseCluster
Bu cmdlet'in, küme Hyper-V dinamik geçişini desteklese bile kaydedilmiş durumdaki bir sanal makinenin bir konağa aktarılması için Küme Geçişi'ni kullandığını gösterir.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseDiffDiskOptimization
Cmdlet'in fark kayıt diski iyileştirmesi kullandığını gösterir.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseLAN
Bu cmdlet'in daha hızlı bir aktarım mekanizması kullanılabilir olsa bile LAN üzerinden aktarım kullandığını gösterir.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VM
Bir sanal makine nesnesi belirtir.
Type: | VM |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMHost
Bir sanal makine konak nesnesi belirtir. VMM, Hyper-V konaklarını, VMware ESX konaklarını ve Citrix XenServer konaklarını destekler.
Her konak türü hakkında daha fazla bilgi için Add-SCVMHost cmdlet'ine bakın.
Type: | Host |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Çıkışlar
VirtualMachine
Bu cmdlet bir VirtualMachine nesnesi döndürür.
İlişkili Bağlantılar
- 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