Re: reply: Thinly-Provisioned Logical Volumes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dne 23.9.2014 v 15:51 lilofile napsal(a):
when  I creating thin-pool with non-zeroing(-Zn),the ramdom performance can be greatly improved. what  is the difference in code  with non-zeroing and zeroing?



*Zeroing is set*

When you write to an unprovisioned chunk - certain amount of bytes in this chunk have known content (from your write BIO) and everything else gets zeroes
(that's zeroing on provisioning)

So when you read your thin device - you always get same content.
(since unprovisioned areas returns zero - and provisioned returns
what you have written - or zeros from unwritten part)
Of course zeroing i.e. 1MB chunks is quite slow compared with write of few single bytes on chunk provisioning.

*Zeroing is unset*

Unprovisioned data are still 'zeroes'

However when you first write to 'unprovisioned' chunk - then your data
are again in the place you wrote then - BUT remaining content is - what has been found on your disk in the provisioned chunk - so now when you read from 'unwritten' areas in provisioned chunk - you read some random garbage left on your disk.
This may have i.e. security impact.


So you need to pick what suits your needs best.

For filesystem that keep map of written space - go with -Zn
for improved security stay with -Zy and be prepared to pay some price with initial provisioning - since repeated write has then regular performance.

Zdenek





------------------------------------------------------------------
发件人:Zdenek Kabelac <zkabelac@xxxxxxxxxx>
发送时间:2014年9月22日(星期一) 15:02
收件人:lilofile <lilofile@xxxxxxxxxx>; device-mapper development <dm-devel@xxxxxxxxxx>; Mike Snitzer <msnitzer@xxxxxxxxxx>; Ondrej Kozina <okozina@xxxxxxxxxx>; Alasdair G. Kergon <agk@xxxxxxxxxx>
主 题:Re:  Thinly-Provisioned Logical Volumes

Dne 20.9.2014 v 16:19 lilofile napsal(a):
when I test Thinly-Provisioned Logical Volumes(use device thinprovison target),I found the random write performance is very low. What factors will influence the random write performance of  thin volume. how can i quickly understand dm-bufio.c?



In general 2 major factors -

1. - size of chunk/(provisioned block)

the bigger the block is - the better usually filesystem performs - since the
all the aggregation logic and optimization of fs works.

on the other - the bigger the block is - the less efficient snapshot you get
(since much bigger chunk needs to be copied for i.e. single byte write)


2. - zeroing on provisionsing.

when the block provisioned for the first time - it's (by default config) fully
zeroes - so you don't get random disk content from unwritten areas.

If you don't care about this - you could safely disable zeroing - number of
filesystem usually already manages unwritten space well so if you use block
device for ext4 so shouldn't normally be able to read unwritten areas.


So please try i.e.  256KB chunk size with non-zeroing (-c 256 -Zn) when
creating thin-pool  -  do you still fell you get poor performance ?

Zdenek


NOTE: you could change zeroing with existing pool, but not your thin-pool
chunk size for now (though future version might be less restrictive here).


--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel


--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux