Hyper-V'de Sanal Makineleri İçe Aktarın, Dışa Aktarın ve Klonlayın
VMWare'den farklı olarak Hyper-V, sanal makineleri klonlamak için yerleşik bir özelliğe sahip değildir (klonlama yalnızca Virtual Machine Manager'da mevcuttur). Mevcut bir VM'nin tam bir kopyasını oluşturmak için Hyper-V'nin içe ve dışa aktarma özelliklerini kullanmanız gerekecektir. Bu makalede, Hyper-V Manager GUI, PowerShell ve Windows Admin Center (WAC) ile içe ve dışa aktarmayı kullanarak Hyper-V'de bir sanal makinenin nasıl klonlanacağını göstereceğiz.
Windows çalıştıran bir sanal makineyi klonlarken, VM kopyasının kaynak kopyayla aynı SID'ye sahip olacağını unutmayın. Windows konuk SID'sini sıfırlamak için Sysprep aracını kullanmalısınız. Bir referans Windows görüntüsü oluşturduysanız, klonlamadan önce aşağıdaki komutu çalıştırın:
%WINDIR%\system32\sysprep\sysprep.exe /generalize /shutdown /oobeVM kapatılacak ve bir sonraki başlatmada hem kaynak VM'de hem de klon kopyasında yeni SID'ler üretilecek. Ayrıca, Active Directory etki alanına katılmış bir VM'nin klonlanması önerilmez.
Hyper-V Manager'da VM'leri Dışa ve İçe Aktarma
İlk olarak, bir VM'yi ayrı bir dizine aktarın. Hyper-V Manager konsolunu açın, bir VM'ye sağ tıklayın ve bağlam menüsünden Dışa Aktar'ı seçin.
Windows Server 2012 R2 ve daha yenisi (Ücretsiz Hyper-V Sunucusu dahil) üzerindeki Hyper-V'de, çalışan sanal makineleri bile durdurmadan dışa aktarabilirsiniz.
Sanal makineyi dışa aktarmak istediğiniz dizini belirtin.
VM dışa aktarma durumu, Hyper-V konsolunuzdaki VM durumu bölmesinde görüntülenecektir.
Birçok yönetici, Hyper-V'de bir VM'yi yedeklemenin en kolay yöntemi olarak VM dışa aktarmayı kullanır.
Bir sanal makinenin belirli bir kontrol noktasını (anlık görüntüsünü) dışa aktarabilirsiniz. Bunu yapmak için Kontrol Noktaları ağacında gerekli kontrol noktasını sağ tıklayın ve Dışa Aktar'ı seçin.
Bir VM'yi içe aktarmak için, Hyper-V Yöneticisi'nde bir ana bilgisayar adına tıklayın ve Sanal Makineyi İçe Aktar'ı seçin.
Ardından, içe aktarılan VM dosyalarına sahip klasörlerin bulunduğu dizine giden yolu belirtin. Hyper-V'de bir VM'yi içe aktardığınızda, size ana bilgisayarda 3 VM kaydı seçeneği sunulur:
Sanal makineyi yerinde kaydettirin (mevcut benzersiz kimliği kullanın) — içe aktarılan dosyaları içeren dizine bir VM kaydetmek için (VM kimliği aynı kalır)
Sanal makineyi geri yükleyin (mevcut benzersiz kimliği kullanın) — VM dosyalarını başka bir klasöre kopyalamak için (orijinal VM kimliği korunur)
Sanal makineyi kopyalayın (yeni bir benzersiz kimlik oluşturun) — bir sanal makineyi başka bir dizine kopyalamak ve yeni bir sanal makine kimliği oluşturmak için
Bir Hyper-V ana bilgisayarındaki her VM'nin, ana bilgisayar içinde benzersiz olması gereken bir kimliği vardır. Bir VM'yi başka bir ana bilgisayara aktarır veya klonlarsanız, VM kimliğini değiştirmeniz gerekmez.
Yinelenen bir kimliğe sahip bir VM'yi içe aktarmaya çalışırsanız, aşağıdaki hata oluşur:
The operation failed because a virtual machine with the same identifier already exists. Select a new identifier and try the operation again.Yeni bir kimliğe sahip bir VM klonu oluşturmak için üçüncü seçeneği seçtik. Sihirbaz, sanal makine dosyalarını yerleştirmek istediğiniz klasörü belirtmenizi ister. Varsayılan olarak, Hyper-V ana bilgisayar ayarlarında belirtilen klasörler kullanılır.
Ardından sanal makinenin sanal disklerinin (vhdx dosyaları) depolanacağı dizini seçin.
Ardından, Hyper-V konsolunuzda yeni bir klonlanmış sanal makine görünecektir.
PowerShell ile Hyper-V VM'lerini Dışa Aktarma, İçe Aktarma ve Klonlama Nasıl Yapılır?
PowerShell kullanarak dışa aktarma/içe aktarmayı kullanarak bir Hyper-V sanal makinesini nasıl klonlayacağımıza bir göz atalım.
Bir VM'yi dışa aktarmak için aşağıdaki komutu çalıştırın:
Export-VM -Name win10 -Path 'C:\VHD\export'Çalışan bir sanal makineyi dışa aktarmak istiyorsanız, sanal makine belleğinin nasıl dışa aktarılacağını belirleyen CaptuteLiveState seçeneğini kullanabilirsiniz. Üç seçenek mevcuttur:
CaptureSavedState- belleği dışa aktarmak için (varsayılan olarak)
CaptureDataConsistentState- Hyper-V Üretim Kontrol Noktasından bir VM durumunu dışa aktarmak için
CaptureCrashConsistentState- hafıza içeriğini kaydetme
Export-VM -Name win10 -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentStateVM durumunu belirli bir kontrol noktasından dışa aktarmak istiyorsanız adını belirtin.
İlk olarak, VM için mevcut kontrol noktalarının listesini görüntüleyin:
Get-VMSnapshot -VMName win10Ardından kontrol noktasını adına göre dışa aktarın:
Export-VMSnapshot -Name “win10 - (6/17/2021 - 3:12:205 PM) Standard” -VMName win10 -Path 'C:\VHD\export'VM dışa aktarıldıktan sonra içe aktarabilirsiniz. VM'yi yerinde kaydetmek istiyorsanız, aşağıdaki komutu çalıştırın:
Import-VM -Path "C:\VHD\export\win10\Virtual Machines\212cadd2-6543-bc2d-ca11-321ffa223f3b.vmcx"Yol seçeneğinde, VM yapılandırma dosyasının konumunu belirtin (VMCX dosya biçimi, Hyper-V Server 2016'da VM yapılandırma dosyalarının XML biçiminin yerini almıştır). Bir VM'yi aynı kimliğe sahip başka bir klasöre kopyalamak için
Copyseçenek. Yeni bir VM kimliği oluşturmak için şunu kullanın:
GenerateNewIdseçenek:
Import-VM -Path "C:\VHD\export\win10\Virtual Machines\212cadd2-6543-bc2d-ca11-321ffa223f3b.vmcx" -VhdDestinationPath "C:\VHD\win10_2" -VirtualMachinePath "C:\VHD\win10_2"VhdDestinationPathVM'nin VHDX dosyalarının kopyalanacağı dizini belirtir ve
VirtualMachinePathVM yapılandırma dosyalarının dizinini ayarlar. Seçenekler ayarlanmazsa, VM dosyaları Hyper-V ana bilgisayar ayarlarında belirtilen varsayılan dizine kopyalanacaktır (
C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\).
Kontrol noktalarını saklamak için klasörler de ayarlayabilirsiniz (
SnapshotFilePath) ve sayfa dosyası (
SmartPagingFilePath).
Klonlanan VM'nin Hyper-V konsolunda kaynak VM adıyla göründüğünü unutmayın. Yeniden adlandıralım, ancak önce VMID'sine ihtiyacımız var:
get-vm | select VMNAME,VMIdGördüğünüz gibi host üzerinde aynı ada ve farklı ID'lere sahip iki VM var. VM'yi, içe aktarılan VM'nin kimliğinden farklı bir kimlikle yeniden adlandırın. Yeni sanal makinenin kimliğini kopyalayın ve yeniden adlandırın:
get-vm | Where-Object {$_.VMId -eq "9a9d3332-f332-a231-8abc-9221aab32287"} | Rename-VM -NewName win10_2Ardından, sanal sabit disk dosyasını da yeniden adlandırabilirsiniz:
Get-VHD -VMId 9a9d3332-f332-a231-8abc-9221aab32287| Select Path | Rename-Item -NewName win10_2.vhdx
Remove-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0
Add-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "C:\VHD\win10_2\win10_2.vhdx"Sanal bağdaştırıcınızın MAC adresini değiştirin (yeni bir statik MAC adresi belirtebilir veya MAC adresini dinamik olarak almayı yapılandırabilirsiniz).
Set-VMNetworkAdapter -VMName win10_2 -DynamicMacAddress
Start-VM -Name win10_2Yeni sanal makinenizi ağa bağlamadan önce yeniden adlandırmanız ve IP adresini yenisiyle değiştirmeniz önerilir (LAN'ınızda DHCP kullanıyorsanız bu adımı atlayabilirsiniz). Ardından, Invoke-Command veya Enter-PSSession cmdlet'ini kullanarak PowerShell Direct aracılığıyla yeni VM'nize bağlanabileceksiniz:
Enter-PSSession -ComputerName win10_2 -Credential (Get-Credential)
Rename-Computer win10_2
Remove-NetIPAddress -InterfaceAlias “Ethernet” -AddressFamily IPV4
New-NetIPAddress -IPAddress 192.168.13.71 -InterfaceAlias “Ethernet” -AddressFamily IPv4 -PrefixLength 24
Restart-ComputerWindows Admin Center Kullanılarak Hyper-V Sanal Makineleri Nasıl Klonlanır?
Windows Admin Center v2009 veya daha yeni bir sürümde bir Hyper-V VM'yi dışa aktarma ve içe aktarma olmadan doğrudan kopyalayabilirsiniz.
WAC'ı çalıştırın, Sanal Makineler bölümünü seçin ve ardından VM -> Yönet -> Klonla'yı tıklayın.
Ardından, yeni VM'nizin adını belirtin ve dosyalarını yerleştirmek istediğiniz dizini seçin.
Klonlama sihirbazında "Sysprep'i sanal makinemde zaten çalıştırdım" seçeneğinin bulunduğunu unutmayın. Görüntüyü Sysprep kullanarak genelleştirmediyseniz ve bu seçeneği etkinleştirmediyseniz, Hyper-V kaynak VM'nin anlık görüntüsünü oluşturacak, Sysprep'i çalıştıracak ve bunu yeni bir VM'ye klonlayacaktır (kaynak VM birkaç kez yeniden başlatılacak ve işlem sırasında kullanılamaz). Ardından kaynak VM orijinal durumuna döndürülecek ve anlık görüntü kaldırılacaktır.
Herhangi bir VM'yi Windows olmayan konuk işletim sistemiyle klonlarken, her zaman yukarıda açıklanan seçeneği etkinleştirin.
VM klonlanana kadar bekleyin. Yeni kimlik otomatik olarak yeni bir VM'ye atanacaktır.
















