2016-07-28
Guide

Så flyttar du från KVM till VMware

Efter att ha kört KVM under ett års tid så började jag fundera på alternativ. Jag gillar KVM men det strular lite för mycket när man vill virtualisera andra plattformar som Windows eller FreeBSD (eller OpenBSD för den delen, som i princip inte går att få att boota).

En sak jag velat kunna göra är att kunna migrera virtuella maskiner under drift mellan olika storagenoder eller virtualiseringsnoder i min (lilla) driftmiljö. Man kan göra det med KVM men då krävs det att man sätter upp ett kluster för ändamålet, vilket inte är gjort i en handvändning direkt. Ett annat alternativ är att titta på exempelvis oVirt men där finns det prestandaproblem med exempelvis iSCSI vilket gör att jag inte vill köra det.

Så jag gjorde den vanliga utvärderingsrundan: något nytt jag aldrig kört, Hyper-V och slutligen VMware. Det blev det sistnämnda.

Hur konverterar man då en maskin som är installerad under KVM till att köras på VMware ESXi? Läser man alla guider så är det enkelt. Man kör kommandot qemu-img:

qemu-img convert -f raw -i serverdisk.img -O vmdk konverteradserver.vmdk

Om disken är en .qcow2-disk så ändrar du filtypen till -f qcow2, och så vidare.

Beroende på filens storlek och hur snabb lagring du har så tar detta en stund.

Är du klar sen då? Icke – att skapa en ny server och lägga till din till VMDK konverterade fil kommer troligen inte att fungera. Detta beroende på att KVM som standard använder IDE som busstyp när den skapar hårddiskar. Det kan även strula om du valt andra format, men misströsta icke, hjälpen är ganska enkel.

Slå på SSH på din ESXi-server och ssh:a in till maskinen. Se till att du är ansluten via NFS eller iSCSI mot lagringen där din konverterade VMDK-fil ligger. Du finner katalogen under /vmfs/volumes/.... När du hittat katalogen och filen ger du följande kommando:

vmkfstools -i konverteradfil.vmdk nyfil.vmdk

Detta kommer, också, ta en stund beroende på hur stor filen är och hur snabb lagring du har. Det är en god ide att inte döpa infilen och utfilen till samma saker, för övrigt, eftersom du efter konverteringen kommer ha två filer för den tidigare konverterade hårddisken. Den senare kan du för övrigt radera efter att du kört detta kommando.

Är du klar nu då? Nästan!

Öppna den vmdk-fil som skapades med kommandot ovan med editorn vi. Du kan inte göra detta innan du konverterat filen med kommandot ovan.

vi nyfil.vmdk

Du kommer då få ut en del information:


# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=69699772
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 104857600 VMFS “ubnt-flat.vmdk”

# The Disk Data Base
#DDB

ddb.adapterType = “ide”
ddb.deletable = “true”
ddb.encoding = “UTF-8”
ddb.geometry.cylinders = “104025”
ddb.geometry.heads = “16”
ddb.geometry.sectors = “63”
ddb.longContentID = “271f15cafe1c0e7dabf5207c69699772”
ddb.thinProvisioned = “1”
ddb.uuid = “60 00 C2 99 91 02 53 34-5a 78 70 60 1a 10 94 ba”
ddb.virtualHWVersion = “4”

Raden du behöver ändra är följande:

ddb.adapterType = "ide"

Denna ska ändras till:

ddb.adapterType = "lsilogic"

Spara filen och skapa sedan din virtuella server med custom-inställningar där du lägger till vmdk-filen du just redigerat och vips så kommer din virtuella maskin starta utan problem.


Macpro är annonsfri för att göra din läsupplevelse bättre.
Läs mer här om hur du hjälper Macpro förbli annonsfri

© 2004 - 2016 Joacim Melin