VMware Communities
ReVeLaTeD
Contributor
Contributor

Virtual Disk/OS Question.

Unfortunately, VMware has not created a "General Virtualization Questions" board.  So I post this here in the hopes that Workstation users are greater in count than others.  My question is not product specific.

Challenge:

A PC was migrated, P2V, directly into a VMware VM using the vCenter Converter over Gigabit Ethernet.  Works fine.  However, the virtual disk was created in the most sloppy manner possible and the tool does not allow you to do too many changes when attempting to migrate an existing drive.

  1. It's split into 2GB files, which is not needed and not desired, as this VM will basically live on a single machine forever as a reference tool from the previous computer it came from.  If I do move it, it will be across to an external drive, but the probability of that is low at this point due to the slow access speeds.
  2. It's set to IDE, not SCSI.  This was a Windows 7 machine, SATA drive.
  3. It's not pre-allocated, which means any file activity in the VM swells the VMDK files to an unacceptable degree.  In other words, if I copy a 30 GB file into it, it will increase in size by 30 GB, even if the internal drive shows that 100GB is available.  That is totally not going to work.  I need to be able to temporarily load large files into the VM to be used  by these programs before moving them out again, but without having the  VM swell to an unacceptable size.  Unity requires certain sharing to be enabled in order to access the files directly from the source, but then it creates all sorts of havoc with improper mapping (long story, not relevant here.  Just know that I need to copy the file to the VM folder, sharing is not an option).
  4. The drive of the previous computer was 120GB in total capacity.  The VM doesn't need but half of that and it never needs to grow, because all key files exist outside of the VM.  The VM itself is used primarily in Unity mode for access to programs without having to relicense them. 

Desired Solution:

Here's where I need help.  I had a thought that I might be able to create a new virtual disk the way I want it, partition it, set it as a primary disk, create the boot record, and then somehow migrate the existing solution over to it.  Problem is I've never done it.  So my question is, has anyone been able to successfully do this, and if so, what tool(s) did you use?  I'm also open to any other way of achieving the objective - which is to end up with a bootable, pre-allocated SCSI disk that does not exceed 60GB from within an existing VM.

Anyone have any suggestions?

0 Kudos
8 Replies
kingneutron
Expert
Expert

--From experience, I highly recommend Acronis for stuff like this.  It can migrate IDE to SCSI and reverse.

However, I'm not sure I understand your point #3:

[[

It's not pre-allocated, which means any file activity in the VM swells the VMDK files to an unacceptable degree.  In other words, if I copy a 30 GB file into it, it will increase in size by 30 GB, even if the internal drive shows that 100GB is available.  That is totally not going to work.  I need to be able to temporarily load large files into the VM to be used  by these programs before moving them out again, but without having the  VM swell to an unacceptable size.

]]

--That's the way " thin-provisioned / non-preallocated " VMDK disks work.   By design.

--What I would recommend is that you obtain Acronis, create a 60GB preallocated non-split SCSI disk, attach it to the VM, boot Acronis and do a Clone Disk in-VM.  Easiest way I can think of.  Then once you detach the original 2GB-split disk and verify everything boots OK, you can delete the old diskset.

--Lemme know how it goes...

/ std. disclaimer applies, I have no affiliation with Acronis, just happy 1sthand experience with their software

./. If you have appreciated my response, please remember to apply Helpful/Correct points. TIA
AureusStone
Expert
Expert

VMware converter should be able to fix all of those issues.  Just V2V it.

ReVeLaTeD
Contributor
Contributor

I know that's how non-pre-allocated disks work.  That's why it's a problem.  I want it pre-allocated to stop that behavior, because it's not nor will ever be a true "thin" client.  It's still a full computer that will have constant activity, and as such I need to effect that traffic with no appreciable size changes or additional host disk consumption.  Thus the request.

So I've got two suggestions - Acronis True Image (I assume) and V2V Converter, which I seem to remember trying and it wouldn't let me redo the disk the way I wanted.  But I'll check again.

0 Kudos
RDPetruska
Leadership
Leadership

"I want it pre-allocated to stop that behavior"

You can use the VMware-vdiskmanager utility to convert the virtual disk from sparse to preallocated.

0 Kudos
kingneutron
Expert
Expert

--True, but he also needs to convert it from IDE to SCSI - and have it boot afterward.

./. If you have appreciated my response, please remember to apply Helpful/Correct points. TIA
0 Kudos
continuum
Immortal
Immortal

changing an existing Windows 7 VM from IDE to LSI-SAS scsi is very easy.

Set LSI-SAS driver in registry to start-type 0
Power down the VM
edit vmx-file and vmdk - done


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
ReVeLaTeD
Contributor
Contributor

So I can't mark a post as helpful AND mark it as the solution?

I'm still testing the in-place V2V over vCenter Converter.  I ran into one issue I can't resolve.  I'm doing the new VM to a MyBook Live drive which is the only drive I have that can handle the capacity, temporarily (since I'm doing in-place the existing VM is eating up the host's storage).  It keeps yelling that "The destination file system might not support large files.  The destination virtual disks will be divided into 2GB sections."  The drive does support large files, it's an NTFS partition more than capable of handling large sized files.

I can go Advanced and force it to pre-allocate, but I'd prefer not to have the 2GB files, since I'm going to be using this on Fusion 3.x.  I had hoped I could tell it to create a single file instead.  It won't let me override that setting anywhere.

If this conversion fails then I'll fall back to Acronis.

EDIT: So it let me convert to a non-pre-allocated disk fine, didn't yell.  But when I tried to pre-allocate it, it creates the 2GB VMDK files, and the vmx file.  But then it throws "A general system error occurred: Operation timed out".  So apparently there is some arbitrary timeout to creating the job.  Problem is I can't pre-create the empty VM and point the job to it; it wants to create a new VM every time.  Haven't figured out a way around this.

0 Kudos
ReVeLaTeD
Contributor
Contributor

Alright.  Well unfortunately I did not get the solution I was hoping for.  None of the solutions tried worked.  The only one I didn't try was converting the disk using vdiskmanager, because I figured that may not necessarily be a hard and fast requirement.

I think I may have figured out a rather messy workaround though, by using GParted to drop the partition down to the desired size and then just leaving the other space unallocated.  In theory, if the guest can't use more than 60GB based on the partition size, VMWare can't allocate more than 60GB.  Right now there's only 50GB worth of file in there, so I think that will do.  As long as it doesn't get out of control.

When and if I need the extra storage which is quite rare, I will create a standalone vmdk that will sit on an external drive and only attach it when I need to.


Thanks for the suggestions.

0 Kudos