Link to home
Start Free TrialLog in
Avatar of blentz
blentz

asked on

Migrating from VMware Server to VMware ESXi

Greetings. I am trying to migrate the .vmdk file from a powered-off virtual machine from a VMware Server system to a new VMware ESXi system. I can upload the file to the VMware ESXi system using Datastore Browser, but it appears that ESXi doesn't like Server's vmdk format. What the hell? I thought all this stuff was compatible?

How do I convert a perfectly good .vmdk file from VMware Server format to VMware ESXi format?

I tried using vmkfstools.pl from the VMware VI Remote CLI package, which didn't help, and I've tried using VMware Converter, but I can't get that to open any .vmdk files, so that's useless, too. I don't want to perform any hot migrations, that seems highly unnecessary, since I have the .vmdk file ready to go.

Help!
Avatar of larstr
larstr
Flag of Norway image

You're correct in that the vmdk file format is different in VMware Server and ESX. You would normally use either vmkfstools (to convert a disk) or VMware Converter (to migrate/import a VM). What was the error message you got when you used vmkfstools? As you have already copied the disk file(s) to your server, vmkfstools will probably be the fastest solution. Keep in mind that you will need to import it to a new file name so you will need double disk space available on your server.

Lars
Avatar of blentz
blentz

ASKER

From a management workstation with VMware VI Remote CLI (Windows) installed, I ran:

perl bin/vmkfstools.pl --server vm1 -i /vmfs/volumes/datastore1/SAV01.vmdk /vmfs/volumes/datastore1/SAV01_new.vmdk

authenticated as root, and it gave me:

Unable to clone virtual disk : A general system error occurred: Internal error

I've googled all morning and can't find anything useful. Supposedly this works from the service console of an ESX machine, but since I'm running ESXi, I have to run this remotely off the box. Also, I'm not clear if that path is correct... the --help screen of vmkfstools.pl kind of sucks and of course there's no man page. For example, I can't make heads or tails of the --diskformat section... what do I want, if anything, from there to do a Server-to-ESXi conversion?

I'm obviously small-scale at this point... no Virtual Center or anything like that. I think I can do this with VMware Converter, but I have to install the agent on the management workstation (which makes NO sense since I'm not cloning the local machine) and THEN it'll let me open .vmx files. We'll that's good, but really all I want is to convert the .vmdk file... and I upload using Datastore Browser and create a new VM in ESXi "using existing disk."

Sorry for the rant. VMware products are SOOOOO GOOD! However, the seemingly simple process of copying a .vmdk from one product to another seems overly convoluted.

Thanks for the help and if you've got any other suggestions, I'm all ears.
You could have used VMware Converter and pointed it to the .vmx file (the VM config file) from VMware Server. It would then have converted the disk files and converted it to your ESX host.

As you want to use the cli instead, but are in doubt of the paths, you could do it from the hidden console or the remote cli as you have tried to do.

With the error you're getting from the ESXi side I'm wondering if you're running the latest version of ESXi as the first version had a bug that made it stop working at August 12th.

Lars
Avatar of blentz

ASKER

I'm running VMware EST Server 3i 3.5.0 build-110271. The previous build suffered from the August 12th bug, so that's not it.

I tried using the VMware Converter option, too. It only seems to work when it wants to. For example, I'm getting some terrible error message "Unable to determine Guest Operating System" when migrating Windows 2000 VMs. I've googled about that, too, and I'm getting no help. My boot.ini file is intact, very simple, I have no utility partitions, and I"m not using mirroring. In fact, since this is a V2V, most of that stuff doesn't apply.

So, I'm guessing that VMware Converter is pretty broken and I'm still interested in a working console option. I've been refraining from enabling ssh access, since I understand that's totally unsupported by VMware. But, I guess I've got no choice?

Any other ideas, I'd love you hear them. Thanks for the help so far.
Maybe this could be your issue with vmkfstools.pl (from VMTN):
"It turns out that I discovered a bug in the RCLI. The command requiresthat you specify the destination file format. There are a few to choosefrom but the command was only coded with three, thick not being one ofthem. There is a workaround for now to import to the thick format andthat is to use the -d option with one double quote."
Lars
Avatar of blentz

ASKER

Grrrr. Adding -d " to the vmkfstools.pl command line doesn't help, same error. -d thick doesn't work, either, even though the --help screen says so.

I ended up doing it from the unsupported console. Worked like a charm. I was even able to get my Windows 2000 image to work, which was broken in VMware Converter.

I can't believe I'm the first person to have experienced these issues!
I had the same problem but I had only tried VMWare converter.

It appears that the paths must be the same on the client running converter and the original host;

My VMware Server VMs were in V:\virtualmachines.  I received the errors you mentioned until I mapped a V drive on the client.  Then selecting the VM to convert pointed to V:\virtualmachines\ and selected the file.  Ran fine after that.

Hope that helps

blentz, I've had the same issue. Specifically, vmkfstools seems to have all sorts of issues via RemoteCLI on ESXi. Using the "unsupport" console on the box is the only way I've found to get it to work.

Cheers,
Daniel.
Avatar of Roshan Mohammed
In theory, VMware Convertor should is able to convert vmware server vm's to a ESX server compatible VM's. It omportant to note that the VM config file, esp the vmx structure is different for vmware server and vmware's esx/esxi server.

Please use the latest version of the vmware converter, v3.0.3 build 89816. What version of vmware convertoer are you using 9since you are havin gprobs with it)
I do not understand. With esxi  I only have the vmkfstools.pl available via the RemoteCLI. If I utilized the unsupported option at the console I do not have it on the filesystem. Obviously,I do not have it via ssh either, which I enabled.
Are you sure? I'm running ESXi 3.5 update 2 and I have vmkfstools in /sbin/...
~ # vmware -v
VMware ESX Server 3i 3.5.0 build-110180
 
~ # ls -l /sbin/vmkfstools 
-rwxr-xr-x    1 root     root       697648 Aug 12 11:33 /sbin/vmkfstools

Open in new window

You are correct, it is simply vmkfstools. I was searching for vmkfstools.pl, as I have it via RemoteCLI. Thanks.
I have another migration issue from Server to ESXi. I have IDE disks and thus they cannot be used.
I am also having the issue in using vmkfstools from RCLI (i have tried both the RCLI virtual appliance and the WIndows RCLI which I installed).  Both are giving me the same problem in my ESXi environment.  I have the latest Update 2 also...

"Unable to clone virtual disk : A general system error occurred: Internal error"

I do not have the issue when running it from SSH or on the unsupported console.
Avatar of blentz

ASKER

Okay, so bottom line, I'm not alone. VIC CLI tools sucks and the unsupported console is the way to go.

Please PAQ this question and refund my points. Thanks.
Hey blentz
Can you share the way you did it? I'm also trying to do the same thing. Just  "attach" the vmdk file from VMware server 2.0 to ESXi 3.5 update 2
I've already uploaded the files to the store. What next? I haven't tried VM converter or the other mkfstools but for what I understand above those tools doesn't work.
So how did you do it, can you provide some step by step moves? please
Thanx
Avatar of blentz

ASKER

1. Access the ESXi console
2. Press Alt+F1
3. Type the word "unsupported", and press enter
4. Enter the root password.
5. Run the vmkfstools command to convert your image:

# vmkfstools.pl -i /vmfs/volumes/datastore1/SAV01.vmdk /vmfs/volumes/datastore1/SAV01_new.vmdk

6. Move the resulting *two* files to the location you want on the datastore, with the name you want
SAV01_new.vmdk (small metadata file, text format)
SAV01_new-flat.vmdk (large disk file, binary format)
7. Type exit to log out of the unsupported console
8. Press ALT+F2 to get to the normal interface
9. Add the disk to an existing machine using an "existing disk", and reference the converted file (e.g. SAV01_new.vmdk)
ASKER CERTIFIED SOLUTION
Avatar of blentz
blentz

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanx! worked like a charm!