Hyper-V: een virtuele machine klonen. VMWare virtuele machines converteren naar Hyper-V en terug

Windows-server 2008 Hyper-V heeft geen optie om een ​​kloon van een bestaande virtuele machine te maken. Dit betekent echter niet dat het onmogelijk of moeilijk is om te doen. In feite bestaat zo'n mogelijkheid en het is vrij eenvoudig te gebruiken.

Er zijn twee manieren om te klonen virtuele machine in Hyper-V.

1. Gebruik de export-/importfunctie van virtuele machines
2. Kopiëren virtueel moeilijk schijf en maak een nieuwe virtuele machine met deze schijf.

1. Gebruik de export-/importfunctie in Hyper-V

Deze methode is de eenvoudigste en goedkoopste manier om een ​​virtuele machine te klonen.

Een virtuele machine exporteren

Klik in Hyper-V Manager op klik met de rechtermuisknop naar de gewenste virtuele machine en selecteer Exporteren. Geef op waar de virtuele machine wordt geïmporteerd. Het is belangrijk om te weten dat wanneer u de virtuele machine terug importeert, de locatie van de virtuele machine en de virtuele schijf naar deze locatie zullen verwijzen.

Tijdens het exporteren kunt u kiezen wat u wilt exporteren: de gehele virtuele machine of alleen de configuratie van de virtuele machine.

Een virtuele machine importeren

Om een ​​virtuele machine te importeren, klikt u op “Virtuele machine importeren” in het actiemenu. Geef de map met de geëxporteerde virtuele machine op en klik op Importeren.

Het is belangrijk om precies de map van de geëxporteerde machine aan te geven, en niet een van de submappen ervan.

Nadat de virtuele machine is geïmporteerd, kunt u de instellingen ervan wijzigen, zoals het IP-adres, de hostnaam, enz.

2. Kopieer de VHD en maak een nieuwe virtuele machine

Kopieer gewoon VHD-bestand originele virtuele machine en maak vervolgens een nieuwe virtuele machine, maar als harde schijf specificeer het gekopieerde bestand. In het menu, wanneer u het venster "Connect Virtual" bereikt Harde schijf”, selecteer de optie “Gebruik een bestaande virtuele harde schijf” en geef de locatie op.

Bewaker

Chinees betekent niet altijd slecht. Chinese voorladers worden hier tegen fabrieksprijzen verkocht.

Heeft u een hek nodig voor uw datsja, huisje of huis? Neem contact op met "Profzabor" - productie van op maat gemaakte hekken van alle materialen.

Bij het werken met virtualisatie is het periodiek nodig om virtuele machines van het ene type hypervisor naar het andere over te zetten. Omdat elk virtualisatiesysteem met zijn eigen formaten werkt, is het niet mogelijk om de machine zomaar over te zetten; u zult deze moeten converteren naar het formaat van de gewenste hypervisor. Vandaag vertellen we je hoe je dit voor de twee meesten kunt doen populaire systemen VMWare-virtualisatie en Hyper-V.

Elke virtuele machine, ongeacht het platform, bestaat uit twee hoofdonderdelen: de virtuele machine zelf - een tekst- of XML-bestand dat de configuratie beschrijft, en een virtuele harde schijf. Het heeft geen zin om de virtuele machine zelf over te zetten; we hoeven de hardware niet over te dragen; we moeten het systeem op een andere pc draaien, het is voldoende om over te zetten virtuele schijf.

Formaten virtuele schijven Ze zijn ook verschillend voor verschillende hypervisors, maar dit is niet moeilijk: u hoeft alleen maar gespecialiseerde software voor conversie te gebruiken. De enige subtiliteit is dat het gastbesturingssysteem door beide soorten hypervisors moet worden ondersteund. Anders zullen aanvullende maatregelen moeten worden genomen om dit te garanderen normale operatie Dit onderwerp valt echter buiten het bestek van dit artikel.

Laten we naar het proces kijken echt voorbeeld. Eén van onze klanten kocht verpakte versie"Megaplan", dat de ontwikkelaars zeer verspreiden op een originele manier: in de vorm van een virtuele machine-image van het formaat Open virtualisatieformaat (OVF) die wordt ondersteund VMWare En VirtueleBox. Eigenlijk bevat de virtuele machine Ubuntu 12.04 met een geconfigureerde webserver, DBMS en andere componenten die nodig zijn voor de werking van Megaplan, een reguliere webapplicatie. Waarin licentieovereenkomst verbiedt toegang tot het gastbesturingssysteem.

Laten we het licentiebeleid achter de schermen laten en het zal ons alleen maar verbazen dat ontwikkelaars, terwijl ze tegen een dure prijs serversoftware op ondernemingsniveau verkopen, serieuze hypervisors in het algemeen volledig negeren en aanbieden desktop-hypervisors van het tweede type te gebruiken.

Als de virtuele machine al op het VMWare-platform draaide (zoals meestal het geval is), verwijder dan VMWare Tools ervan en schakel de machine uit.

Nu kunt u beginnen met het converteren van de virtuele schijf. Hiervoor zullen we gebruiken gratis hulpprogramma StarWind V2V-converter. De interface en het gebruik zijn uiterst eenvoudig. Laten we de virtuele bronschijf selecteren (bestand met de extensie vmdk).

Zodra de conversie is voltooid, gaat u opnieuw naar de eigenschappen van de harde schijf en selecteert u daar de VHDX-afbeelding, bevestigt u de wijzigingen en start u de virtuele machine. Ervoor zorgen dat alles goed werkt, oud VHD-schijf kan worden verwijderd.

Conversie Hyper-V virtueel machines in VMWare worden op een vergelijkbare manier gedaan. We converteren de virtuele schijf naar VMDK; er is een schijf in VHDX-formaat gebruikt, daarna moet deze eerst worden geconverteerd naar VHD met behulp van Hyper-V op dezelfde manier als hierboven. Dan creëren we erin VMWare virtueel machine voor het gastsysteem dat wordt gebruikt met identieke parameters en in de schijfinstellingen geven we aan om degene te gebruiken die door ons is geconverteerd VMDK-schijf. Vergeet na het starten van de virtuele machine niet het daarvoor benodigde VMWare Tools-pakket te installeren volwaardig werk gast systeem.

  • Tags:

Schakel JavaScript in om de

Het export-importmechanisme in de Hyper-V-hypervisor is ontworpen om virtuele machines van de ene computer of server naar de andere te verplaatsen. Exporteren is in wezen het kopiëren van een virtuele machine, terwijl de configuratie ervan volledig behouden blijft. Bij het exporteren wordt het virtuele HDD, hardware-instellingen, opgeslagen momenten van het gast-besturingssysteem, gemaakt (momentopnamen).

Exportmechanisme- Hyper-V-import kan ook worden gebruikt om een ​​virtuele kloonmachine op dezelfde server of op dezelfde computer te maken voor testen en interactie met de originele virtuele machine. Een kloonmachine kan een andere ID (identifier), een ander intern IP-adres op het Hyper-V-netwerk ontvangen, waardoor deze in feite niet zal verschillen van virtuele machines die helemaal opnieuw zijn gemaakt.

Hieronder zullen we het proces van het exporteren en importeren van een virtuele machine bekijken aan de hand van het voorbeeld in Windows-compositie 10, meer details.

Onderwerpen die aan bod komen:

1. Exporteer een virtuele machine

Een van de voordelen van het nieuwe Hyper-V-versies meegeleverd met Windows Server 2012 R2, client Windows-systemen 8.1 en 10 is de mogelijkheid om een ​​aantal resource-intensieve taken uit te voeren, in het bijzonder het on-the-fly exporteren, terwijl de virtuele machine draait, zonder deze te stoppen, zelfs zonder deze te pauzeren. Er wordt geëxporteerd naar achtergrond, het gaat niet snel voorbij omdat het om een ​​klein bedrag gaat systeembronnen, waardoor de gebruiker de mogelijkheid heeft om met de virtuele machine te blijven werken.

Hoe wordt een virtuele machine geëxporteerd? Selecteer de gewenste virtuele machine in de Hyper-V-manager en bel contextmenu. We hebben een opdracht "Exporteren" nodig.

2. Exporteer een momentopname van de virtuele machine

Nog eentje over nieuwe functie Hyper-V, die in oude serverruimtes niet aanwezig was Windows-versies– de mogelijkheid om een ​​afzonderlijk controlepunt te exporteren, dat wil zeggen de toestand van de virtuele machine op het moment dat dit controlepunt werd gemaakt. Voorheen zorgde de Microsoft-hypervisor alleen voor export-import van de gehele virtuele machine. En als de status van een bepaald controlepunt nodig was, was het nodig om de virtuele machine met al zijn controlepunten te exporteren en na het importeren terug te keren naar het gewenste controlepunt. Met Hyper-V kunt u nu elk afzonderlijk controlepunt exporteren. Nadat een enkele momentopname is geëxporteerd, kan deze vervolgens worden geïmporteerd als een nieuwe virtuele machine, specifiek met zijn eigen unieke ID, op dezelfde server of computer.

Om een ​​virtuele machine vanaf een controlepunt te exporteren, selecteert u zowel de machine als het controlepunt in Hyper-V-beheer. Roep bij de laatste het contextmenu op en selecteer "Exporteren".

3. Betrouwbaarheid van het Hyper-V-exportformaat

Het exporteren van een virtuele Hyper-V-machine wordt niet uitgevoerd in een afzonderlijk gecomprimeerd bestandsformaat, waar de virtuele harde schijf, configuratiebestanden en de opgeslagen status van het gastbesturingssysteem worden geplaatst, zoals bijvoorbeeld wordt aangeboden door de export-import mechanisme erin VirtualBox-programma. In het geval van virtuele machines VirtualBox export-import is mogelijk met de deelname van een tussenpersoon - een OVA-bestand. Als dit bestand beschadigd is, importeer dan het virtuele VirtualBox-machines gebeurt misschien niet. Maar in het geval van Hyper-V betekent het exporteren van een virtuele machine: volledige kopie virtuele harde schijf in het originele formaat – VHDX (of VHD).

Op deze manier kan de virtuele machine nog steeds opnieuw worden gemaakt als andere exportgegevens beschadigd raken. U moet een nieuwe virtuele machine maken met behulp van Hyper-V met behulp van bestaand bestand VHDX (VHD).

4. Importeer een virtuele machine

De geëxporteerde virtuele machine kan later worden geïmporteerd in compatibele versie Hyper-V als onderdeel van servers Windows-edities En Windows-client 8.1 en 10.

Om een ​​virtuele machine te importeren, selecteert u de juiste functie in Hyper-V Manager.

Gebruik in het volgende venster de bladerknop en geef het pad op naar de map met de geëxporteerde virtuele machine. Klik volgende".

Selecteer de gewenste virtuele machine als er meerdere in de opgegeven map staan. Klik volgende".

Vervolgens moet u een keuze maken over hoe de virtuele machine wordt geïmporteerd. Als het vanaf een andere server of computer is overgebracht, kunt u het eerste type import gebruiken, waarbij u het registreert met de oorspronkelijke ID. Deze optie registreert de virtuele machine in dezelfde map waarin de exportbestanden zijn opgeslagen, zodat er geen tijd wordt verspild met het kopiëren van bestanden.

Het tweede type import is ook geschikt voor het overbrengen van een virtuele machine vanaf een andere server of computer, maar bij gebruik ervan worden de geëxporteerde bestanden overgebracht naar de opgegeven map. De virtuele machine-ID blijft hetzelfde.

Als de virtuele machine binnen dezelfde server of computer wordt verplaatst, moet u het derde importtype gebruiken, waarbij een nieuwe identificatie wordt gegenereerd. Op één tenslotte fysieke computer er kunnen geen virtuele Hyper-V-machines zijn met dezelfde ID.

In ons geval kopiëren we een virtuele machine; dit is het derde type import. Klik volgende".

Pad om configuratiebestanden op te slaan, controle punten en andere gegevens van de geïmporteerde virtuele machine, kan de standaardwaarde die door Hyper-V is opgegeven, worden gewijzigd. U moet het vakje aanvinken voor het wijzigen van de opslaglocatie en dit handmatig opgeven de juiste paden.

In ons geval voegen we eenvoudigweg creatie toe aan het pad (via een schuine streep) aparte map"Kopiëren". Klik volgende".

We zullen hetzelfde pad aangeven voor het VHDX-bestand, zodat alles op één plek staat. Klik volgende".

De laatste stap van de wizard is een samenvatting van de importgegevens. Klik op “Voltooien”.

In ons geval zijn er twee identieke virtuele machines in de Hyper-V Manager. Ze hebben verschillende ID's, maar ze hebben dezelfde naam. Laten we de naam van de nieuw geïmporteerde virtuele machine wijzigen.

Dat is alles: het importproces is voltooid. De geïmporteerde virtuele machine kan worden gestart en getest.

Een fijne dag verder!

Symptomen van het probleem

Als u een virtuele machine van een Hyper-V 2008 R2-server naar een Hyper-V 2012 R2-server wilt migreren, zult u problemen tegenkomen: na het exporteren van de virtuele machine van Hyper-V 2008 R2 en het kopiëren van de bestanden naar nieuwe server, wanneer u probeert te importeren in Hyper-V 2012 R2, ontvangt u een bericht als:
Hyper-V heeft geen virtuele machines gevonden om te importeren vanaf locatie d:\..
of
Hyper-V kon geen virtuele machines vinden om te importeren vanaf locatie d:\..

Oorzaken van het probleem

Hyper-V wordt in 2012 R2 gebruikt nieuwe versie WMI 2.0, dat geen .EXP-bestanden ondersteunt die zijn verkregen na het exporteren van een Hyper-V 2008 R2-machine die WMI 1.0 gebruikt. Daarom de oplossing in in dit geval: kopiëren+importeren, omdat importeren zonder export van een virtuele machine wordt ondersteund op Server 2012 R2-niveau en deze .exp zijn simpelweg niet aanwezig tijdens het importeren, dus alles verloopt soepel).
@De naamruimte voor versie 1.0 van WMI is verouderd. Bereid u voor op het aanpassen van scripts voor een herziene naamruimte.@
@De WMI root\virtualization-naamruimte is verouderd. De nieuwe naamruimte is root\virtualization\v2.@
http://technet.microsoft.com/en-us/library/hh831568.aspx

Oplossing

Het is noodzakelijk om niet export+import te gebruiken, maar kopiëren+import. Doe het volgende:

  1. Stop de virtuele machine (VM) die moet worden gemigreerd.
  2. Kopieer het .XML-bestand met de configuratie van de virtuele machine, evenals de .VHD- of .VHDX-bestanden harde schijven virtuele machine naar de nieuwe server.
  3. Importeer een virtuele machine in Hyper-V 2012 R2
  4. Als u al een virtuele machine hebt geëxporteerd, verwijdert (of hernoemt) u eenvoudigweg het bestand met de extensie .EXP dat zich in de map met de geëxporteerde VM bevindt.
  1. Wanneer u exporteert (of een virtuele machine voorbereidt voor overdracht), schakelt u de virtuele machine uit, gaat u naar de configuratie ervan en schakelt u over Mac adres netwerkkaart van dynamisch naar statisch. In dit geval wordt het oude standaard aangeboden als een statisch MAC-adres MAC-netwerk kaarten.
    Hierdoor kunt u de TCP/IP-parameters in de virtuele machine na de overdracht niet opnieuw configureren, omdat het MAC-adres van de kaart niet verandert en besturingssysteem zal dat overwegen LAN-kaart hetzelfde.
  2. U kunt (dit wordt aanbevolen door Microsoft) (tijdens de overdracht van de virtuele machine) het type gebruik wijzigen werkgeheugen: Statische RAM-toewijzing toewijzen. Na het importeren van de virtuele machine (op de nieuwe server) kunt u deze opnieuw installeren dynamische selectie RAM.
  3. Als u meerdere virtuele machines op dezelfde host heeft, kan het soms lastig zijn om te achterhalen welk .XML-bestand bij de gewenste virtuele machine hoort: alle XML-bestanden kunnen in dezelfde map terechtkomen. Het is ok! Kopieer ze allemaal! Wanneer u een virtuele machine importeert, geeft u hiermee de map op XML-bestanden, en Hyper-V 2012 R2 zal u vragen de gewenste virtuele machine te selecteren die u wilt importeren.
  4. Bij het importeren (als u een virtuele machine overdraagt ​​- dat wil zeggen dat deze op de oude server als gevolg daarvan wordt verwijderd en dezelfde VM op de nieuwe zou moeten draaien), selecteert u hoe u wilt importeren:
    1. Registreer de virtuele machine ter plaatse - registreer een VM op een locatie met dezelfde ID;
    2. Herstel de virtuele machine - kopieer de VM naar een andere map, laat de ID ongewijzigd;
      Selecteer deze optie om een ​​VM te migreren.
    3. Kopieer de virtuele machine - kopieer de VM naar een andere map en genereer er een nieuwe ID voor.
  5. Omdat voor het importeren (onder andere) bestanden op de harde schijf moeten worden gekopieerd, voor het geval dat grote bestanden VHD(X) Ik wil dit proces versnellen. Kopieer (of verplaats) daartoe het VHD-bestand rechtstreeks naar de map waar het zich zal bevinden na het importeren van de virtuele machine. Vervolgens zal Hyper-V 2012 R2 u tijdens het importproces vragen in welke map u de bestanden op de harde schijf van de geïmporteerde virtuele machine wilt ophalen, en waar u ze tijdens het importproces wilt kopiëren. Geef voor beide vragen de map op waarin u het VHD-bestand van de geïmporteerde VM hebt geplaatst. Dat wil zeggen, je zult het hebben dezelfde map“waar de virtuele schijf vandaan moet worden gekopieerd” en “waar de virtuele schijf moet worden opgeslagen”.

Bij de vervaardiging van het artikel zijn materialen gebruikt.

3 juni 2011 om 20:40 uur

PowerShell+Hyper-V

  • Virtualisatie

Ik kan gui niet meer gebruiken...

Dit is ongeveer hoe mijn gesprek begon met een vriend die binnen korte tijd meerdere keren achter elkaar virtuele machines uit Hyper-V moest exporteren. Meestal gebeurt dit met behulp van Hyper-V Manager (HVM), dat samen met de Hyper-V-rol onder Windows Server 2008 R2 wordt geïnstalleerd. Ik moet toegeven dat de interface van dit programma bij mij geen negatieve emoties oproept. Van alle beheerprogramma's die Microsoft voor Server levert, lijkt dit mij het handigst en begrijpelijkst (ik vergelijk bijvoorbeeld met IIS Manager, dat verwarring veroorzaakt bij nieuwe gebruikers en gewelddadige verontwaardiging bij degenen die IIS 6 in 2003 Server gebruikten) . Als u echter een virtuele machine in een hoeveelheid van N-stukken in een periode van t-tijd moet exporteren of importeren, kunt u met Hyper-V Manager de muisknop breken en Hyper-V vreselijk haten. Dit is waar PowerShell te hulp komt.
Importmodule HyperV
... En standaard is er geen dergelijke module in PowerShell. Microsoft besloot dat niemand cmdlets zou schrijven om Hyper-V te beheren (een werkelijk wild idee). Aan de andere kant is deze wereld vol met mensen die weten hoe en klaar zijn om het leven voor zichzelf en andere gebruikers te vereenvoudigen. Dit is hoe PowerShell-beheerbibliotheek voor Hyper-V werd geboren.
Het eerste wat u hoeft te doen is deze module + documentatie downloaden, naar uw smaak. (Beide beschikbaar op: http://pshyperv.codeplex.com/releases)
Dan moet u deze module installeren. Het proces is niet ingewikkeld (run installatiebestand geeft zichzelf weg).
Nu kun je werken. We starten PowerShell, importeren de module (wat er in de ondertitel staat).
En we hebben toegang tot alle functies die we via HVM zouden kunnen gebruiken, hier zijn er enkele:

Verbinding maken met een virtuele machine
Nieuwe VMConnectSession

Het manipuleren van de status van virtuele machines
Get-VMState, Set-VMState, Convert-VmState,
Ping-VM, Test-VMHeartBeat, Shutdown-VM, Start-VM, Stop-VM, Suspend-VM
Get-VMKVP, Add-KVP, Remove-KVP, Get-VMJPEG

Mogelijkheid om back-ups te maken, virtuele machines te exporteren en snapshots te maken
Exporteren-VM, Importeren-VM, Get-VMSnapshot, Kies-VMSnapshot, Toepassen-VMSnapshot, Nieuwe-VMSnapshot, Verwijderen-VMSnapshot, Hernoemen-VMSnapShot, Update-VMSnapshot, Get-VMSnapshotTree, Get-VmBackupScript

Virtueel toevoegen en verwijderen. machines, waarbij hun eigenschappen worden ingesteld
Nieuwe VM, Verwijder-VM, Set-VM, Get-VMCPUCount, Set-VMCPUCount, Get-VMMemory, Set-VMMemory, Set-VMSerialPort

Schijfcontrollers beheren
Get-VMDiskController
Voeg VMSCSIController toe, verwijder VMSCSIcontroller
Get-VMDriveByController, Add-VMDRIVE, Remove-VMdrive
Get-VMDiskByDrive, Add-VMDISK, Set-VMDisk, Get-VMDisk
Get-VMFloppyDisk, Add-VMFloppyDisk
Voeg VMNewHardDisk toe

Netwerkinterfacebeheer
Get-VMNic, Lijst-VMNic, Kies-VMNIC, Toevoegen-VMNIC, Verwijderen-VMNIC, Set-VMNICAddress, Set-VMNICConnection, Get-VMNicport,
Get-VMnicSwitch, Kies-VMSwitch, Nieuwe-VMSwitchPort, Get-VMByMACaddress, Kies-VMExternalEthernet,
Nieuwe VMExternalSwitch, nieuwe VMInternalSwitch, nieuwe VmPrivateSwitch

Werken met VHD-bestanden
Get-VHDDefaultPath, Get-VHDInfo, New-VHD, Compact-VHD, Test-VHD, Convert-VHD, Merge-VHD, Mount-VHD, Unmount-VHD

Alle gegeven commando's spreken voor zich.
Als u bijvoorbeeld de status van een virtuele machine wilt opvragen, voert u gewoon het volgende in:
Lijst-VMState naam virt. auto's
en als een resultaat:

In mijn voorbeeld is er maar één virtuele machine => Ik heb geen parameters opgegeven, maar als je er veel hebt, moet je waarschijnlijk expliciet de naam opgeven als je later niet door de console-uitvoer wilt bladeren.
Ook is het bijvoorbeeld gemakkelijk om meer te weten te komen over de gebruikte Netwerk interfaces voor virtuele machines voert u gewoon het volgende in:
Get-VMNic
en wij krijgen:

Nou, het beste is wat ik nodig had vriend - kans Exporteer op de achtergrond, volgens een schema. Om dit te doen, kunt u een cmdlet schrijven die u vervolgens in Scheduler kunt pushen. Voor mij stopt deze cmdlet bijvoorbeeld de virtuele machine, exporteert deze, start hem opnieuw en stuurt mij een brief over de fout of het succes van de cmdlet. Hierna wordt de besturing overgedragen aan een ander script dat archiveert en een back-up naar een externe ftp verzendt.
Exporteren: export-vm -vm MijnVM1 -pad D:\backups\VM -copystate -wait -force
De parameter -copystate zegt dat alles moet worden gekopieerd (inclusief de virtuele schijf => de uitvoerexportgrootte kan erg groot zijn)

In plaats van een conclusie
Zoals u kunt zien, kan het beheren van uw virtuele machines vanuit PowerShell erg handig en stressvrij zijn. U hoeft alleen maar de parameters van de opdrachten die u nodig hebt te lezen en uw script te schrijven.

P.S. Ik pretendeer helemaal niet dat ik “Amerika ontdek”; ik besloot gewoon dat iemand de informatie over deze nuttige module nuttig zou vinden. Ik heb alleen het meest beschreven eenvoudige opties waarvoor u de PowerShell-beheerbibliotheek voor Hyper-V kunt gebruiken. Als iemand er meer weet of heeft geschreven handig gereedschap om het werken met Hyper-V te optimaliseren, zal ik er graag meer over leren.