Bagikan melalui


Move-SCVirtualMachine

Memindahkan komputer virtual yang disimpan di pustaka VMM atau disebarkan pada host ke lokasi baru pada host.

Sintaks

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>]

Deskripsi

Cmdlet Move-SCVirtualMachine memindahkan komputer virtual yang disimpan di pustaka Virtual Machine Manager (VMM) atau disebarkan pada host ke lokasi baru pada host.

Di System Center 2019, Anda dapat memanfaatkan kemampuan migrasi baru yang disertakan dalam Windows Server 2016. Kemampuan ini termasuk migrasi langsung komputer virtual antara dua komputer yang berdiri sendiri dan migrasi langsung antara komputer yang berdiri sendiri dan node kluster. Selain itu, beberapa migrasi langsung bersamaan didukung. Untuk informasi selengkapnya tentang cara memigrasikan komputer virtual di System Center 2019, lihat Memigrasikan Virtual Machines dan Penyimpanan di VMMhttps://technet.microsoft.com/en-us/library/mt710321(v=sc.16).aspx (https://technet.microsoft.com/en-us/library/mt710321(v=sc.16).aspx) di TechNet Library.

Jika Anda memindahkan komputer virtual yang disebarkan pada host yang menjalankan Windows Server 2008 R2 ke host yang menjalankan Windows Server 2016, Anda tidak dapat memindahkan komputer virtual kembali ke host yang menjalankan Windows Server 2008 R2.

VMM menyertakan fitur migrasi penyimpanan yang memungkinkan Anda memindahkan satu atau beberapa hard disk virtual dari komputer virtual yang sedang berjalan ke lokasi yang berbeda. Anda dapat menggunakan cmdlet saat ini dan cmdlet Move-SCVirtualHardDisk untuk memindahkan file hard disk virtual (.vhd) berbasis Windows dan file hard disk virtual (.vmdk) berbasis VMware ke lokasi di host yang berbeda. Anda juga dapat menggunakan cmdlet Move-SCVirtualHardDisk untuk memindahkan file .vhd atau file .vmdk dari satu lokasi ke lokasi lain pada host yang sama.

Untuk memindahkan komputer virtual dari host dan menyimpannya di pustaka, Anda harus menggunakan cmdlet Save-SCVirtualMachine.

VMM dapat menggunakan salah satu metode transfer berikut, yang tercantum dalam urutan di mana VMM mencoba menggunakannya:

  • Migrasi langsung Hyper-V. Jika komputer virtual berjalan dan disebarkan pada host Hyper-V yang merupakan simpul kluster host Windows Server 2008 R2 atau Windows Server 2016, secara default, VMM menggunakan migrasi langsung Hyper-V untuk memindahkan komputer virtual ke simpul lain di kluster tanpa gangguan layanan. Memindahkan komputer virtual yang sedang berjalan tidak memutuskan sambungannya dari jaringan. Komputer virtual mempertahankan atribut ketersediaan tingginya. Anda tidak perlu menentukan jalur. Anda dapat memulai migrasi langsung beberapa komputer virtual secara bersamaan.
  • Migrasi Kluster Windows Server 2008. Pusat Sistem terus mendukung Migrasi Kluster Windows 2008, yang terkadang disebut Migrasi Cepat. Migrasi Kluster memindahkan komputer virtual yang sedang berjalan pada node Hyper-V dari kluster host. Ini juga memungkinkan Anda memindahkan komputer virtual yang dalam keadaan berhenti atau disimpan, dan yang disebarkan ke node lain di kluster. Anda dapat menggunakan Migrasi Kluster untuk memindahkan komputer virtual dalam status dihentikan atau disimpan jika komputer virtual disebarkan pada salah satu simpul berikut:

----A di kluster Windows Server 2008 ----A simpul di kluster Windows Server 2008 R2

Anda tidak perlu menentukan jalur. Migrasi Kluster Windows Server 2008 menempatkan komputer virtual dalam keadaan tersimpan selama migrasi. Operasi ini menyebabkan hilangnya layanan sementara bagi setiap pengguna komputer virtual tersebut.

  • Migrasi langsung VMware. Jika komputer virtual yang disebarkan pada host VMware ESX menggunakan penyimpanan bersama, VMM dapat menggunakan fitur migrasi langsung VMware untuk memindahkan komputer virtual ke host baru. Fitur ini disebut VMware VMotion. Anda tidak perlu menentukan jalur. Cmdlet saat ini dapat menggunakan VMware VMotion untuk memindahkan komputer virtual dari satu host ESX ke host ESX lainnya hanya jika kedua host ESX berada dalam kontainer Pusat Data yang sama di vCenter Server.
  • Citrix XenServer XenMotion. Jika komputer virtual yang disebarkan pada host Citrix XenServer menggunakan penyimpanan bersama dan merupakan bagian dari Kumpulan Sumber Daya yang sama, VMM dapat menggunakan fitur migrasi langsung XenServer untuk memindahkan komputer virtual ke host XenServer yang berbeda. Fitur migrasi langsung disebut Citrix XenMotion.
  • Migrasi SAN (Fibre Channel, iSCSI, atau NPIV). Jika komputer virtual berada di host yang terhubung ke SAN dan komputer virtual berada di SAN LUN, VMM dapat memindahkan komputer virtual tersebut ke host lain jika host tersebut memiliki akses ke SAN yang sama. Dalam transfer SAN, LUN target dialihkan dari host sumber ke host tujuan. Migrasi ini tidak memindahkan file. Transfer SAN jauh lebih cepat daripada memindahkan file komputer virtual dari satu host ke host lain melalui jaringan area lokal (LAN). VMM mendukung migrasi SAN komputer virtual ke dalam dan ke luar kluster. Anda harus menentukan jalur. VMM dapat menggunakan transfer NPIV SAN jika adaptor bus host (HBA) dengan dukungan NPIV tersedia.
  • Migrasi Jaringan. Jika tidak ada metode yang lebih cepat yang tersedia, VMM menggunakan transfer jaringan untuk memindahkan file komputer virtual dari satu host ke host lain melalui LAN yang menghubungkan kedua host. Anda dapat memutuskan untuk menggunakan jenis transfer ini meskipun jenis transfer SAN tersedia. Anda harus menentukan jalur.

Ketika lebih dari satu jenis transfer tersedia, cmdlet ini secara otomatis menggunakan jenis transfer tercepat yang tersedia untuk memindahkan komputer virtual. Jika metode tidak sesuai atau tersedia untuk komputer virtual yang ingin Anda pindahkan, VMM mencoba menggunakan metode berikutnya dalam daftar. Jika Anda ingin memaksa penggunaan transfer jaringan, tentukan parameter UseLAN .

Contoh

Contoh 1: Memindahkan komputer virtual dari pustaka ke host

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"

Perintah pertama mendapatkan objek komputer virtual bernama VM01, lalu menyimpan objek tersebut dalam variabel $VM. Dalam contoh ini, komputer virtual yang disimpan di pustaka VMM di server pustaka bernama LibServer01. Contoh ini mengasumsikan bahwa hanya satu komputer virtual bernama VM01 yang saat ini disimpan di LibServer01.

Perintah kedua mendapatkan objek host bernama VMHost01, lalu menyimpan objek tersebut dalam variabel $VMHost.

Perintah terakhir memindahkan komputer virtual dari lokasinya saat ini di pustaka ke lokasi D:\VirtualMachinePath pada host yang disimpan di $VMHost. Perintah secara otomatis menggunakan jenis transfer tercepat yang tersedia. Ketika perintah selesai, perintah mengembalikan informasi tentang komputer virtual yang dipindahkan.

Contoh 2: Memindahkan komputer virtual dari pustaka ke host secara asinkron

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

Dua perintah pertama dalam contoh ini identik dengan perintah dalam contoh pertama, kecuali untuk nama host komputer virtual.

Perintah ketiga memindahkan komputer virtual dari lokasinya saat ini ke D:\VirtualMachinePath di VMHost02. Perintah menentukan parameter RunAsynchronously untuk segera mengembalikan kontrol ke shell perintah. Perintah menentukan parameter JobVariable untuk melacak kemajuan pekerjaan. Perintah menyimpan catatan kemajuan pekerjaan dalam variabel $MoveVMJob. Untuk parameter JobVariable , Anda tidak menentukan tanda dolar ($) untuk membuat variabel.

Perintah terakhir menampilkan konten $MoveVMJob, yang mencakup deskripsi pekerjaan pemindahan, statusnya, kemajuannya, dan informasi lainnya.

Contoh 3: Memindahkan komputer virtual dari pustaka ke host dengan memaksa transfer 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

Perintah pertama mendapatkan objek komputer virtual bernama VM03 di server pustaka LibServer01, lalu menyimpan objek tersebut dalam variabel $VM.

Perintah kedua mendapatkan objek host bernama VMHost03, lalu menyimpan objek tersebut dalam variabel $VMHost.

Perintah terakhir memindahkan komputer virtual VM03 dari lokasinya saat ini di pustaka ke D:\VirtualMachinePath di VMHost03. Perintah menentukan parameter UseLAN untuk menentukan bahwa transfer menggunakan transfer jaringan, bahkan jika mekanisme transfer yang lebih cepat tersedia.

Contoh 4: Memindahkan komputer virtual antar host dengan menggunakan 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]"

Perintah pertama mendapatkan objek komputer virtual bernama VM04 di ESXHost01, lalu menyimpan objek tersebut dalam variabel $VM.

Perintah kedua mendapatkan objek host ESX bernama ESXHost02, lalu menyimpan objek tersebut dalam variabel $VMHost.

Perintah akhir menggunakan VMware VMotion untuk memindahkan komputer virtual dari host ESX saat ini ke host ESX lainnya.

CATATAN: Cmdlet Move-SCVirtualMachine dapat menggunakan fitur VMware VMotion untuk memindahkan komputer virtual dari satu host ESX ke host LAIN hanya jika kedua server ESX berada dalam kontainer Pusat Data yang sama di vCenter Server.

Contoh 5: Memindahkan komputer virtual yang sangat tersedia di antara simpul dalam kluster host dengan menggunakan migrasi langsung 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\"

Perintah pertama mendapatkan objek komputer virtual bernama HAVM05 di VMHVHostNode05A, lalu menyimpan objek tersebut dalam variabel $VM. Dalam contoh ini, HAVM05 adalah komputer virtual yang sangat tersedia. VMHVHostNode05A dan VMHVHostNode05B adalah simpul dalam kluster host Hyper-V.

Perintah kedua mendapatkan objek host bernama VMHVHostNode05B, lalu menyimpan objek tersebut dalam variabel $VMHost.

Perintah akhir menggunakan migrasi langsung untuk memindahkan komputer virtual dari VMHVHostNode05A ke VMHVHostNode05B.

Contoh 6: Memindahkan komputer virtual yang sedang berjalan pada host Hyper-V ke lokasi baru pada host yang sama

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

Perintah pertama menyimpan string E:\VHD dalam $MoveVhdPath. Ini adalah jalur untuk memindahkan hard disk virtual komputer virtual.

Perintah kedua mendapatkan objek komputer virtual bernama VM06, lalu menyimpan objek tersebut variabel $VM.

Perintah ketiga mendapatkan objek host bernama VMHost06, lalu menyimpan objek tersebut dalam variabel $VMHost. Dalam contoh ini, VMHost06 adalah host Hyper-V.

Perintah keempat menyimpan string E:\VirtualMachinePath dalam variabel $HostPath. Ini adalah jalur untuk memindahkan VM06.

Perintah kelima membuat string GUID baru dan menyimpannya dalam variabel $JobGroupID. GUID ini adalah ID grup pekerjaan yang berfungsi sebagai pengidentifikasi yang mengelompokkan perintah berikutnya yang menyertakan pengidentifikasi ini ke dalam satu grup pekerjaan.

Perintah keenam mengatur jalur hard disk virtual dari nilai yang disimpan dalam $MoveVhdPath dan menghubungkan hard disk virtual ke Bus 1 dan LUN 1 pada pengontrol IDE virtual pada komputer virtual. Perintah ini menentukan parameter JobGroup sehingga tidak benar-benar berjalan sampai Move-SCVirtualMachine memicu berjalannya perintah apa pun dalam daftar grup pekerjaan.

Perintah terakhir memindahkan VM06 ke E:\VirtualMachinePath pada host yang sama. Cmdlet berjalan Move-SCVirtualHardDisk sebagai bagian dari $JobGroupID. Perintah memindahkan hard disk virtual komputer virtual ke E:\VHD.

Parameter

-BlockLiveMigrationIfHostBusy

Menunjukkan bahwa blok cmdlet mencoba kembali migrasi langsung Hyper-V jika migrasi gagal karena host sumber atau host tujuan sudah berpartisipasi dalam migrasi langsung lainnya.

Type:SwitchParameter
Aliases:BlockLMIfHostBusy
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DiscardSavedState

Menunjukkan bahwa cmdlet ini menghapus status tersimpan yang terkait dengan komputer atau layanan virtual.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HighlyAvailable

Menentukan apakah akan menempatkan komputer virtual pada host Hyper-V yang merupakan bagian dari kluster host.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobGroup

Menentukan pengidentifikasi untuk serangkaian perintah yang berjalan sebagai set tepat sebelum perintah akhir yang menyertakan pengidentifikasi grup pekerjaan yang sama berjalan.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobVariable

Menentukan nama variabel untuk kemajuan pekerjaan.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUser

Menentukan nama pengguna. Cmdlet ini beroperasi atas nama pengguna yang ditentukan parameter ini.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUserRole

Menentukan peran pengguna. Untuk mendapatkan peran pengguna, gunakan cmdlet Get-SCUserRole . Cmdlet ini beroperasi atas nama peran pengguna yang ditentukan parameter ini.

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Menentukan jalur komputer virtual yang dipindahkan.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

Menentukan ID tip Performa dan Pengoptimalan Sumber Daya (pro tip) yang memicu tindakan ini. Parameter ini memungkinkan Anda mengaudit tips PRO.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReplicationGroup

Menentukan grup replikasi.

Type:ReplicationGroup
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

Menunjukkan bahwa pekerjaan berjalan secara asinkron sehingga kontrol segera kembali ke shell perintah.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartVMOnTarget

Menentukan bahwa komputer virtual dimulai segera setelah cmdlet ini memindahkannya ke host tujuannya.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseCluster

Menunjukkan bahwa cmdlet ini menggunakan Migrasi Kluster untuk transfer komputer virtual yang dalam keadaan tersimpan ke host, bahkan jika kluster mendukung migrasi langsung Hyper-V.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseDiffDiskOptimization

Menunjukkan bahwa cmdlet menggunakan pengoptimalan disk yang berbeda.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseLAN

Menunjukkan bahwa cmdlet ini menggunakan transfer melalui LAN meskipun mekanisme transfer yang lebih cepat tersedia.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Menentukan objek komputer virtual.

Type:VM
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMHost

Menentukan objek host komputer virtual. VMM mendukung host Hyper-V, host VMware ESX, dan host Citrix XenServer.

Untuk informasi selengkapnya tentang setiap jenis host, lihat cmdlet Add-SCVMHost .

Type:Host
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Output

VirtualMachine

Cmdlet ini mengembalikan objek VirtualMachine .