Old Stuf‎ > ‎cloud‎ > ‎Amazon‎ > ‎

VMware image importeren

Vanaf heden is het mogelijk om servers vanuit vmware te exporteren naar amazon EC2.
Helaas is het vinden van bruikbare voorbeelden cq stappen om dit te doen moeilijker dan het importeren zelf.

Daarom hier een voorbeeld hoe je een Windows 2008 server kan omzetten van een vmware ESX omgeving naar amazon.
In dit voorbeeld ga ik er vanuit dat je jave en de amazon tools al geïnstalleerd hebt.  (amazone api tools kun je hier http://aws.amazon.com/developertools/351?_encoding=UTF8&jiveRedirect=1 downloaden)

Stap 1: Exporteren van de server uit vmware.

Ga in vcenter naar de server die je wil exporteren en selecteer deze.
Ga file -> Export -> Export ovf template.


in dit voorbeeld ga ik er vanuit dat je het image exporteert naar c:\voorbeeld\server1
En dat je de tools op c: geinstalleerd hebt

Ga naar de url: http://aws.amazon.com/account/ en klik hier op Security Credentials, hier kun je een access key en een x.509 certificate maken deze heb je nodig in de api tools.
Sla de x.509 keys op in een directory (als voorbeeld c:\cert).

Maak nu een paar omgevings variabelen aan op de pc die je gaat gebruiken voor uploaden van de vmware images.

 Variable name variable name 
 EC2_CERT C:\CERT\je cert file.pem (deze heb je zojuist gedownload).
 EC2_PRIVATE_KEY C:\CERT\je cert file.pem (deze heb je zojuist gedownload).
 EC2_HOME  C:\ec2-api-tools-1.3-62308 (Dit is de locatie waar je de amazon API tools geinstallerd hebt)
 EC2_URL  https://ec2.eu-west-1.amazonaws.com  (voor als je de servers in europa wilt opslaan).
 JAVA_HOME  C:\Program Files\Java\jre6  (De locatie van je java runtime omgeving (de plek waar je java geinstallerd hebt dus).
 

Nu ben je eigenlijk klaar voor het echte werk :-)

Ga naar C:\ec2-api-tools-1.3-62308\bin>
type eerst ec2-import-instance -h om te kijken wat de opties zijn, het volgende voorbeeld gaat er vanuit dat je een 64 bit Windows 2008 server wil uploaden/aanmaken
ec2-import-instance -a x86_64 -b <een bucked in S3 dit je hiervoor gemaakt hebt> -d "<omschrijving die je zelf aan de server wil geven" --instance-initiated-shutdown-behavior stop --private-ip-address <het ip dat de server moet krijgen> --subnet <het gewenste subnet als je een VPC gebruikt> -f VMDK -o <je amazon S3 access key ID> -w <je Secret Access Key>  -U https://eu-west-1.ec2.amazonaws.com "c:\voorbeeld\server1\vmwareOSdisk.vmdk"

Met dit commando krijg je de volgende info terug

Requesting volume size: 40 GB
https://ec2-bucket-cp2011.s3.amazonaws.com/f0f255a3-5e27-426d-adc9-d6a35493f873/
NL-S-AP00210-AlterianTest-disk1.vmdkmanifest.xml?AWSAccessKeyId=AKIAJOCK537NQAPF
I6FA&Expires=1298811603&Signature=HdPbXugLOYXxmqZ6IAdvEq0VZPc%3D
TaskType        IMPORTINSTANCE  TaskId  import-i-fhb155ld       ExpirationTime
2011-02-04T13:01:03+00:00       Status  active  InstanceID      i-fb9c798d
Description     Voorbeeld server
DISKIMAGE       DiskImageFormat VMDK    DiskImageSize   7812102144      VolumeSi
ze      40      AvailabilityZone        eu-west-1b      ApproximateBytesConverte
d       0       Status  active

Nu kun je het volgende commando geven

ec2-upload-disk-image -t import-i-fhb188ld -o <je amazon S3 access key ID> -w <je Secret Access Key> "c:\voorbeeld\server1\vmwareOSdisk.vmdk"

Je ziet nu iets als

Disk image size: 7812102144 bytes (7.28 GiB)
Disk image format: Stream-optimized VMDK
Converted volume size: 42949672960 bytes (40.00 GiB)
Requested EBS volume size: 42949672960 bytes (40.00 GiB)
Creating new manifest at <je s3 bucked>/<soort guid>/
vmwareOSdisk.vmdkmanifest.xml
Uploading the manifest file
Uploading 7812102144 bytes across 746 parts
0% |--------------------------------------------------| 100%
   |===========


Nu moet amazon de disk nog omzetten, de status kun je zien met het commando

ec2-describe-conversion-tasks

Je ziet dan zoiets als

TaskType        IMPORTINSTANCE  TaskId  import-i-fg3j5910       ExpirationTime
2011-02-04T11:53:15+00:00       Status  active  InstanceID      i-eb85899d
Description     <je omschrijving>
DISKIMAGE       DiskImageFormat VMDK    DiskImageSize   7812102144      VolumeSi
ze      40      AvailabilityZone        eu-west-1b      ApproximateBytesConverte
d       268484096       Status  active

Zelf heb ik al vaker meegemaakt dat je eindigt met een server en een volume alleen kun je de server niet starten, je krijgt de melding dat er geen root device is.
Geef dan dit commando

ec2-attach-volume --instance  <InstanceID (nummer van je server, deze kun je vinden als antwoord van je eerdere commando ec2-import-instance of in de AWS console)> --device /dev/sda1<volume ID, deze is te vinden in de AWS console>


























Comments