Thursday 11 September 2014

Cloning Virtual Machine with thin provisioned vmdks is slower than cloning Virtual Machine with thick provisioned vmdks

I encountered very interesting phenomenon during cloning VMs across the cluster. Cloning of VM with thick (eager or lazy zeroed)virtual disk (vmdk) is much faster than cloning VM with thin virtual disk (vmdk). I made some research to explain this behavior.

I made some experiments for cloning using GUI and command-line vmkfstools. As far as I know they are in different code branch of esxi.


Here we see network utilizaton during thin and thick cloning they are almost the same:



Here is disk utilization and we notice some difference, 'thick' cloning utilize more disk than 'thin' cloning:



   
Something interesting start to happend 'thin' cloning use much more CPU cycles than 'thick cloning':




Let's check if results are consistent from command-line. To simplify experiment I clone only on one datastore and one esxi host to bypass network overhead.

I run command below to clone 30GB (with data) thin vmdk to thin vmdk:

# time vmkfstools -v3 -i /vmfs/volumes/datastore1/thin.vmdk -d thin /vmfs/volumes/datastore1/thin_clone.vmdk

 
It took 1m 2.17s ~ 62 seconds

I run command below to clone the same 30GB converted to thick vmdk to thick vmdk:

# time vmkfstools -v3 -i /vmfs/volumes/datastore1/thick.vmdk -d zeroedthick /vmfs/volumes/datastore1/thick_clone.vmdk


It took 26.63 seconds

That's is much faster !

In esxtop we see that disk was clone with  231MB/s READ and 234MB/s WRITE:

  

For thick cloning we notice 416MB/s READ and 407MB/s WRITE:


How can we explain that ?

Cloning is heavily sequential reads workload. Sequential reads like data to be laid out sequentially on spinning disks in order to minimize head movement. As thin-provisioned virtual disk (or thin-provisioned volumes) consume drive space only on the backend as data is written to them, this data tends not to be from contiguous areas, leading to the address space of the virtual disk or volume being fragmented on the array's backend. This can lead to thin-provisioned virtual disks (or volumes) performing significantly lower than thick provisioned virtual disks (or volumes) for this particular workload type. 

Please bear in mind that this has nothing to do with workload inside virtual disk. Performance overhead of VM GuestOS on thin-provisioned virtual disk (vmdk) in negligible and comparable to thick-provisionend vmdk.

In another words we have sequential access versus random access.By definition random access - read or write I/O's that are distributed throughout the relevant address space; sequential access - read or write I/O's that are logically contiguous within the relevant address space.

The End.

Saturday 6 September 2014

Notes from presentation of Jack Ma - Alibaba Group founder.

* Nothing will happen to you if you don't act
* If you act, you may benefit from that action.
* The ignorant are not afraid.

* There were three reasons behind Alibaba success:


1.) no money 

* A lot of entrepreneurs didn't make a success not because they don't have money but because they had too much money. They tried to solve problems with $$$.

* Jack believes that money could not solve all the problems. Money is just an important tactic in problem solving.Alibaba might have one of China's and maybe even the world's largest cash reserves among Internet companies.  

* A company's assets are like a state's armed forces you cannot use it lightly, but if you ever need to mobilize it, you must win !!!

* Money cannot be spent recklessly.


2.) Jack didn't understand technology
 

* Jack doesn't understand the technology behind the Internet but it doesn't mean that he doesn't respect technology. It's a tragedy for engineers that their CEO knows nothing about technology, but they are lucky also. If CEO understands technology he will be looking over engineers shoulders every day and they won't be able to get any work done.

* Jack has a great respect for their technical team, he hasn't written even one line of code ;)

* If we cannot turn out vision into reality, it is not even worth a penny.

* Jack tested whether things were useful or not as end-user.

* They respect technology but they are afraid of it, they need it to be USEFUL.

* If you cannot use the technology - regardless of how good it is - it is USELESS.

* If people believed in technology, the technology becomes productive, innovative and can impact society.

* Jack doesn't think China or the world lacks technology, it lacks appreciation and reverence for it.    

3.) they never planned ;)

* Jack never have written a business plan. They wrote 'one' to seek founder.

* In 1996 nobody knows what happens.

* Plan is only useful if you execute your plan !

* Our life is a plan that is slowly unfolding.

* Change is the best plan, but you don't want to lose your own sense of direction.

* Other people in Alibaba have very good plans !!!

* Someone has to plan ;)

* We are living in a time of constant change. We have to adapt to an ever-evolving world.

* Change is what give young people opportunities.

Luck is very important. You can't wait for luck, because it won't come. 
Luck is like seeds that have to be sown. Luck and wealth are the same. Sow the seeds of good luck in other people's yards.That will likely bring you more luck.

The world is changing very fast and it's hard to gauge consumer's needs - focus on small business.

This is era of customization - P4P advertisement, big data.

It's hard to imagine there are 100 millions consumers daily on Taobao.

Nobody can guarantee that you will fail.

"Young people lie awake at night thinking of thousand paths, and get up in the morning to walk the same path."

The entire Jack's story sounds familiar to Allegro Group, internet company in Poland which is a Internet giant and leader in Eastern Europe.




The End.