VMware Cloud Community
ufo8mydog
Enthusiast
Enthusiast

Thin provisioning - confirmed crippling limitations in ESX4

Hi all

I've just gotten off the phone with VMWare support.

They've confirmed that TP has a serious limitation.

We have several guests with disks of say 150GB, 80GB free inside the guest, but when they are svmotioned to a new datastore using the TP option we will be lucky to reclaim 2 or 3GB. Apparently it is because those blocks, while free, have been 'dirtied' somehow, so the TP process sees those free blocks as 'occupied'.

This makes it impossible to plan migrations, LUNs, etc as there is no way of determining what can be TP and what is a dud, and essentially TP is a total dud for existing VMs.

That leads to my main question, does anyone know of a method of 'undirtying' blocks in linux and windows?

Tags (4)
Reply
0 Kudos
4 Replies
asp24
Enthusiast
Enthusiast

You just need to zero-out the free space first.

linux: http://communities.vmware.com/message/219433

Reply
0 Kudos
ufo8mydog
Enthusiast
Enthusiast

Interesting ... thanks asp24

You think that it would have been trivial to include that as part of the migration process! Just to confirm, the process would go something like this:

Linux (inside the guest)

#dd if=/dev/zero of=/empty_file; rm empty_file

(can that command be executed as one line?).

Followed by using vmkfstools inside the ESX host..? Does anyone know the correct syntax to use with vmkfstools?

Thanks for your assistance.

Reply
0 Kudos
okeedokee
Enthusiast
Enthusiast

I'm using the steps found in Gabe's article. Basically, for Windows guests:

- Run "sdelete -c" on each disk (sdelete as shipped, not customized)

- Migrate > Change Datastore > pick the new destination > select Thin Provisioned Format

Regards

Reply
0 Kudos
bertdb
Virtuoso
Virtuoso

For Windows, sdelete on every partition. For Linux, dd if=/dev/zero ... for every mount point, and for every LVM volume group:

http://virtwo.blogspot.com/2010/02/preparing-linux-for-optimal-thin.html

Reply
0 Kudos