source :
https://forum.huawei.com/enterprise/en/difference-between-thick-and-thin-provisioning/thread/523761-893
Thick Provisioning
Thick provisioning is a type of storage
pre-allocation. With thick provisioning, the complete amount of virtual disk
storage capacity is pre-allocated on the physical storage when the virtual disk
is created. A thick-provisioned virtual disk consumes all the space allocated
to it in the datastore right from the start, so the space is unavailable for
use by other virtual machines.
There are two sub-types of thick-provisioned
virtual disks:
A Lazy zeroed disk is a disk that takes all of
its space at the time of its creation, but this space may contain some old data
on the physical media. This old data is not erased or written over, so it needs
to be "zeroed out" before new data can be written to the blocks. This
type of disk can be created more quickly, but its performance will be lower for
the first writes due to the increased IOPS (input/output operations per second)
for new blocks;
An Eager zeroed disk is a disk that gets all
of the required space still at the time of its creation, and the space is wiped
clean of any previous data on the physical media. Creating eager zeroed disks
takes longer, because zeroes are written to the entire disk, but their
performance is faster during the first writes. This sub-type of
thick-provisioned virtual disk supports clustering features, such as fault
tolerance.
For data security reasons, eager zeroing is
more common than lazy zeroing with thick-provisioned virtual disks. Why? When
you delete a VM disk, the data on the datastore is not totally erased; the
blocks are simply marked as available, until the operating system overwrites
them. If you create an eager zeroed virtual disk on this datastore, the disk
area will be totally erased (i.e., zeroed), thus preventing anyone with bad
intentions from being able to recover the previous data – even if they use
specialized third-party software.
Thin Provisioning
Thin provisioning is another type of storage
pre-allocation. A thin-provisioned virtual disk consumes only the space that it
needs initially and grows with time according to demand.
For example, if you create a new thin-provisioned
30GB virtual disk and copy 10 GB of files to it, the size of the resulting VM
disk file will be 10 GB, whereas you would have a 30GB VM disk file if you had
chosen to use a thick-provisioned disk.
Thin-provisioned virtual disks are quick to
create and useful for saving storage space. The performance of a
thin-provisioned disk is not higher than that of a lazy zeroed
thick-provisioned disk, because for both of these disk types, zeroes have to be
written before writing data to a new block. Note that when you delete your data
from a thin-provisioned virtual disk, the disk size is not reduced
automatically. This is because the operating system deletes only the indexes
from the file table that refer to the file body in the file system; it marks
the blocks that belonged to "deleted" files as free and accessible
for new data to be written onto. This is why we see file removal as instant. If
it were a full deletion, where zeroes were written over the blocks that the
deleted files occupied, it would take about the same amount of time as copying
the files in question. See the simplified illustration below.